{
  "type": "File",
  "start": 0,
  "end": 6622,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 216,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 6622,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 216,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 17,
        "end": 65,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 48
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 24,
            "end": 34,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 17
              }
            },
            "local": {
              "type": "Identifier",
              "start": 24,
              "end": 34,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 7
                },
                "end": {
                  "line": 3,
                  "column": 17
                },
                "identifierName": "loadScript"
              },
              "name": "loadScript"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 40,
          "end": 64,
          "loc": {
            "start": {
              "line": 3,
              "column": 23
            },
            "end": {
              "line": 3,
              "column": 47
            }
          },
          "extra": {
            "rawValue": "./utils/load-script.js",
            "raw": "'./utils/load-script.js'"
          },
          "value": "./utils/load-script.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 66,
        "end": 112,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 46
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 73,
            "end": 82,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 16
              }
            },
            "local": {
              "type": "Identifier",
              "start": 73,
              "end": 82,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 7
                },
                "end": {
                  "line": 4,
                  "column": 16
                },
                "identifierName": "fireEvent"
              },
              "name": "fireEvent"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 88,
          "end": 111,
          "loc": {
            "start": {
              "line": 4,
              "column": 22
            },
            "end": {
              "line": 4,
              "column": 45
            }
          },
          "extra": {
            "rawValue": "./utils/fire-event.js",
            "raw": "'./utils/fire-event.js'"
          },
          "value": "./utils/fire-event.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 113,
        "end": 158,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 45
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 120,
            "end": 128,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 15
              }
            },
            "local": {
              "type": "Identifier",
              "start": 120,
              "end": 128,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 15
                },
                "identifierName": "toJsProp"
              },
              "name": "toJsProp"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 134,
          "end": 157,
          "loc": {
            "start": {
              "line": 5,
              "column": 21
            },
            "end": {
              "line": 5,
              "column": 44
            }
          },
          "extra": {
            "rawValue": "./utils/to-js-prop.js",
            "raw": "'./utils/to-js-prop.js'"
          },
          "value": "./utils/to-js-prop.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 159,
        "end": 211,
        "loc": {
          "start": {
            "line": 6,
            "column": 0
          },
          "end": {
            "line": 6,
            "column": 52
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 166,
            "end": 178,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 19
              }
            },
            "local": {
              "type": "Identifier",
              "start": 166,
              "end": 178,
              "loc": {
                "start": {
                  "line": 6,
                  "column": 7
                },
                "end": {
                  "line": 6,
                  "column": 19
                },
                "identifierName": "RenderStatus"
              },
              "name": "RenderStatus"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 184,
          "end": 210,
          "loc": {
            "start": {
              "line": 6,
              "column": 25
            },
            "end": {
              "line": 6,
              "column": 51
            }
          },
          "extra": {
            "rawValue": "./utils/render-status.js",
            "raw": "'./utils/render-status.js'"
          },
          "value": "./utils/render-status.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 213,
        "end": 257,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 7,
            "column": 44
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 220,
            "end": 226,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 13
              }
            },
            "local": {
              "type": "Identifier",
              "start": 220,
              "end": 226,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 7
                },
                "end": {
                  "line": 7,
                  "column": 13
                },
                "identifierName": "PubSub"
              },
              "name": "PubSub"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 232,
          "end": 256,
          "loc": {
            "start": {
              "line": 7,
              "column": 19
            },
            "end": {
              "line": 7,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "./internals/pub-sub.js",
            "raw": "'./internals/pub-sub.js'"
          },
          "value": "./internals/pub-sub.js"
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 261,
        "end": 321,
        "loc": {
          "start": {
            "line": 9,
            "column": 0
          },
          "end": {
            "line": 9,
            "column": 60
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 261,
          "end": 320,
          "loc": {
            "start": {
              "line": 9,
              "column": 0
            },
            "end": {
              "line": 9,
              "column": 59
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 261,
            "end": 286,
            "loc": {
              "start": {
                "line": 9,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 25
              }
            },
            "object": {
              "type": "Identifier",
              "start": 261,
              "end": 267,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 0
                },
                "end": {
                  "line": 9,
                  "column": 6
                },
                "identifierName": "window"
              },
              "name": "window"
            },
            "property": {
              "type": "Identifier",
              "start": 268,
              "end": 286,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 7
                },
                "end": {
                  "line": 9,
                  "column": 25
                },
                "identifierName": "registeredElements"
              },
              "name": "registeredElements"
            },
            "computed": false
          },
          "right": {
            "type": "LogicalExpression",
            "start": 289,
            "end": 320,
            "loc": {
              "start": {
                "line": 9,
                "column": 28
              },
              "end": {
                "line": 9,
                "column": 59
              }
            },
            "left": {
              "type": "MemberExpression",
              "start": 289,
              "end": 314,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 28
                },
                "end": {
                  "line": 9,
                  "column": 53
                }
              },
              "object": {
                "type": "Identifier",
                "start": 289,
                "end": 295,
                "loc": {
                  "start": {
                    "line": 9,
                    "column": 28
                  },
                  "end": {
                    "line": 9,
                    "column": 34
                  },
                  "identifierName": "window"
                },
                "name": "window"
              },
              "property": {
                "type": "Identifier",
                "start": 296,
                "end": 314,
                "loc": {
                  "start": {
                    "line": 9,
                    "column": 35
                  },
                  "end": {
                    "line": 9,
                    "column": 53
                  },
                  "identifierName": "registeredElements"
                },
                "name": "registeredElements"
              },
              "computed": false
            },
            "operator": "||",
            "right": {
              "type": "ArrayExpression",
              "start": 318,
              "end": 320,
              "loc": {
                "start": {
                  "line": 9,
                  "column": 57
                },
                "end": {
                  "line": 9,
                  "column": 59
                }
              },
              "elements": []
            }
          }
        }
      },
      {
        "type": "VariableDeclaration",
        "start": 325,
        "end": 437,
        "loc": {
          "start": {
            "line": 11,
            "column": 0
          },
          "end": {
            "line": 13,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 331,
            "end": 437,
            "loc": {
              "start": {
                "line": 11,
                "column": 6
              },
              "end": {
                "line": 13,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 331,
              "end": 341,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 6
                },
                "end": {
                  "line": 11,
                  "column": 16
                },
                "identifierName": "shouldShim"
              },
              "name": "shouldShim"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 344,
              "end": 437,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 19
                },
                "end": {
                  "line": 13,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 331,
                "end": 341,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 6
                  },
                  "end": {
                    "line": 11,
                    "column": 16
                  },
                  "identifierName": "shouldShim"
                },
                "name": "shouldShim"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 350,
                "end": 437,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 25
                  },
                  "end": {
                    "line": 13,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 355,
                    "end": 434,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 2
                      },
                      "end": {
                        "line": 12,
                        "column": 81
                      }
                    },
                    "argument": {
                      "type": "LogicalExpression",
                      "start": 362,
                      "end": 433,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 9
                        },
                        "end": {
                          "line": 12,
                          "column": 80
                        }
                      },
                      "left": {
                        "type": "CallExpression",
                        "start": 362,
                        "end": 394,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 9
                          },
                          "end": {
                            "line": 12,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 362,
                          "end": 373,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 9
                            },
                            "end": {
                              "line": 12,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "RegExpLiteral",
                            "start": 362,
                            "end": 368,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 9
                              },
                              "end": {
                                "line": 12,
                                "column": 15
                              }
                            },
                            "extra": {
                              "raw": "/Edge/"
                            },
                            "pattern": "Edge",
                            "flags": ""
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 369,
                            "end": 373,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 16
                              },
                              "end": {
                                "line": 12,
                                "column": 20
                              },
                              "identifierName": "test"
                            },
                            "name": "test"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 374,
                            "end": 393,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 21
                              },
                              "end": {
                                "line": 12,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 374,
                              "end": 383,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 21
                                },
                                "end": {
                                  "line": 12,
                                  "column": 30
                                },
                                "identifierName": "navigator"
                              },
                              "name": "navigator"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 384,
                              "end": 393,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 31
                                },
                                "end": {
                                  "line": 12,
                                  "column": 40
                                },
                                "identifierName": "userAgent"
                              },
                              "name": "userAgent"
                            },
                            "computed": false
                          }
                        ]
                      },
                      "operator": "||",
                      "right": {
                        "type": "CallExpression",
                        "start": 398,
                        "end": 433,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 45
                          },
                          "end": {
                            "line": 12,
                            "column": 80
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 398,
                          "end": 412,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 45
                            },
                            "end": {
                              "line": 12,
                              "column": 59
                            }
                          },
                          "object": {
                            "type": "RegExpLiteral",
                            "start": 398,
                            "end": 407,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 45
                              },
                              "end": {
                                "line": 12,
                                "column": 54
                              }
                            },
                            "extra": {
                              "raw": "/Firefox/"
                            },
                            "pattern": "Firefox",
                            "flags": ""
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 408,
                            "end": 412,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 55
                              },
                              "end": {
                                "line": 12,
                                "column": 59
                              },
                              "identifierName": "test"
                            },
                            "name": "test"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 413,
                            "end": 432,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 60
                              },
                              "end": {
                                "line": 12,
                                "column": 79
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 413,
                              "end": 422,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 60
                                },
                                "end": {
                                  "line": 12,
                                  "column": 69
                                },
                                "identifierName": "navigator"
                              },
                              "name": "navigator"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 423,
                              "end": 432,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 70
                                },
                                "end": {
                                  "line": 12,
                                  "column": 79
                                },
                                "identifierName": "userAgent"
                              },
                              "name": "userAgent"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 441,
        "end": 571,
        "loc": {
          "start": {
            "line": 15,
            "column": 0
          },
          "end": {
            "line": 20,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 447,
            "end": 571,
            "loc": {
              "start": {
                "line": 15,
                "column": 6
              },
              "end": {
                "line": 20,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 447,
              "end": 462,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 6
                },
                "end": {
                  "line": 15,
                  "column": 21
                },
                "identifierName": "isValidRenderer"
              },
              "name": "isValidRenderer"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 465,
              "end": 571,
              "loc": {
                "start": {
                  "line": 15,
                  "column": 24
                },
                "end": {
                  "line": 20,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 447,
                "end": 462,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 6
                  },
                  "end": {
                    "line": 15,
                    "column": 21
                  },
                  "identifierName": "isValidRenderer"
                },
                "name": "isValidRenderer"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 465,
                  "end": 473,
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 24
                    },
                    "end": {
                      "line": 15,
                      "column": 32
                    },
                    "identifierName": "renderer"
                  },
                  "name": "renderer"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 477,
                "end": 571,
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 36
                  },
                  "end": {
                    "line": 20,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 482,
                    "end": 516,
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 2
                      },
                      "end": {
                        "line": 18,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "UnaryExpression",
                      "start": 486,
                      "end": 495,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 6
                        },
                        "end": {
                          "line": 16,
                          "column": 15
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "Identifier",
                        "start": 487,
                        "end": 495,
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 7
                          },
                          "end": {
                            "line": 16,
                            "column": 15
                          },
                          "identifierName": "renderer"
                        },
                        "name": "renderer"
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 497,
                      "end": 516,
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 17
                        },
                        "end": {
                          "line": 18,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 504,
                          "end": 511,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 11
                            }
                          },
                          "argument": null
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 520,
                    "end": 568,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 2
                      },
                      "end": {
                        "line": 19,
                        "column": 50
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 527,
                      "end": 568,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 9
                        },
                        "end": {
                          "line": 19,
                          "column": 50
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 527,
                        "end": 552,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 9
                          },
                          "end": {
                            "line": 19,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 527,
                          "end": 543,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 9
                            },
                            "end": {
                              "line": 19,
                              "column": 25
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 527,
                            "end": 533,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 9
                              },
                              "end": {
                                "line": 19,
                                "column": 15
                              },
                              "identifierName": "String"
                            },
                            "name": "String"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 534,
                              "end": 542,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 16
                                },
                                "end": {
                                  "line": 19,
                                  "column": 24
                                },
                                "identifierName": "renderer"
                              },
                              "name": "renderer"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 544,
                          "end": 552,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 26
                            },
                            "end": {
                              "line": 19,
                              "column": 34
                            },
                            "identifierName": "includes"
                          },
                          "name": "includes"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "StringLiteral",
                          "start": 553,
                          "end": 567,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 35
                            },
                            "end": {
                              "line": 19,
                              "column": 49
                            }
                          },
                          "extra": {
                            "rawValue": "return html`",
                            "raw": "'return html`'"
                          },
                          "value": "return html`"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 575,
        "end": 986,
        "loc": {
          "start": {
            "line": 22,
            "column": 0
          },
          "end": {
            "line": 31,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 581,
            "end": 986,
            "loc": {
              "start": {
                "line": 22,
                "column": 6
              },
              "end": {
                "line": 31,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 581,
              "end": 597,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 6
                },
                "end": {
                  "line": 22,
                  "column": 22
                },
                "identifierName": "handleProperties"
              },
              "name": "handleProperties"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 600,
              "end": 986,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 25
                },
                "end": {
                  "line": 31,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 581,
                "end": 597,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 6
                  },
                  "end": {
                    "line": 22,
                    "column": 22
                  },
                  "identifierName": "handleProperties"
                },
                "name": "handleProperties"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 601,
                  "end": 607,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 26
                    },
                    "end": {
                      "line": 22,
                      "column": 32
                    },
                    "identifierName": "target"
                  },
                  "name": "target"
                },
                {
                  "type": "Identifier",
                  "start": 609,
                  "end": 619,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 34
                    },
                    "end": {
                      "line": 22,
                      "column": 44
                    },
                    "identifierName": "properties"
                  },
                  "name": "properties"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 624,
                "end": 986,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 49
                  },
                  "end": {
                    "line": 31,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 629,
                    "end": 983,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 2
                      },
                      "end": {
                        "line": 30,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 633,
                      "end": 643,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 6
                        },
                        "end": {
                          "line": 23,
                          "column": 16
                        },
                        "identifierName": "properties"
                      },
                      "name": "properties"
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 645,
                      "end": 983,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 18
                        },
                        "end": {
                          "line": 30,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ForOfStatement",
                          "start": 652,
                          "end": 978,
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 4
                            },
                            "end": {
                              "line": 29,
                              "column": 5
                            }
                          },
                          "left": {
                            "type": "VariableDeclaration",
                            "start": 657,
                            "end": 666,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 9
                              },
                              "end": {
                                "line": 24,
                                "column": 18
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 661,
                                "end": 666,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 18
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 661,
                                  "end": 666,
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 18
                                    },
                                    "identifierName": "entry"
                                  },
                                  "name": "entry"
                                },
                                "init": null
                              }
                            ],
                            "kind": "let"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 670,
                            "end": 696,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 22
                              },
                              "end": {
                                "line": 24,
                                "column": 48
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 670,
                              "end": 684,
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 22
                                },
                                "end": {
                                  "line": 24,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 670,
                                "end": 676,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 28
                                  },
                                  "identifierName": "Object"
                                },
                                "name": "Object"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 677,
                                "end": 684,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 36
                                  },
                                  "identifierName": "entries"
                                },
                                "name": "entries"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 685,
                                "end": 695,
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 47
                                  },
                                  "identifierName": "properties"
                                },
                                "name": "properties"
                              }
                            ]
                          },
                          "body": {
                            "type": "BlockStatement",
                            "start": 698,
                            "end": 978,
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 50
                              },
                              "end": {
                                "line": 29,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 707,
                                "end": 750,
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 49
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 707,
                                  "end": 749,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 25,
                                      "column": 48
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 707,
                                    "end": 721,
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 25,
                                        "column": 20
                                      },
                                      "identifierName": "handleProperty"
                                    },
                                    "name": "handleProperty"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 722,
                                      "end": 728,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 27
                                        },
                                        "identifierName": "target"
                                      },
                                      "name": "target"
                                    },
                                    {
                                      "type": "MemberExpression",
                                      "start": 730,
                                      "end": 738,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 37
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 730,
                                        "end": 735,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 34
                                          },
                                          "identifierName": "entry"
                                        },
                                        "name": "entry"
                                      },
                                      "property": {
                                        "type": "NumericLiteral",
                                        "start": 736,
                                        "end": 737,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 36
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      "computed": true
                                    },
                                    {
                                      "type": "MemberExpression",
                                      "start": 740,
                                      "end": 748,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 47
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 740,
                                        "end": 745,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 44
                                          },
                                          "identifierName": "entry"
                                        },
                                        "name": "entry"
                                      },
                                      "property": {
                                        "type": "NumericLiteral",
                                        "start": 746,
                                        "end": 747,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 46
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      },
                                      "computed": true
                                    }
                                  ]
                                },
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " TODO: are we ignoring stuff ...?",
                                    "start": 758,
                                    "end": 793,
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 41
                                      }
                                    }
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " check if attribute has value else pass default property value",
                                    "start": 801,
                                    "end": 865,
                                    "loc": {
                                      "start": {
                                        "line": 27,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 27,
                                        "column": 70
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 873,
                                "end": 971,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 104
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 873,
                                  "end": 970,
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 103
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 873,
                                    "end": 889,
                                    "loc": {
                                      "start": {
                                        "line": 28,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 873,
                                      "end": 879,
                                      "loc": {
                                        "start": {
                                          "line": 28,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 28,
                                          "column": 12
                                        },
                                        "identifierName": "target"
                                      },
                                      "name": "target",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "MemberExpression",
                                      "start": 880,
                                      "end": 888,
                                      "loc": {
                                        "start": {
                                          "line": 28,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 28,
                                          "column": 21
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 880,
                                        "end": 885,
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 18
                                          },
                                          "identifierName": "entry"
                                        },
                                        "name": "entry"
                                      },
                                      "property": {
                                        "type": "NumericLiteral",
                                        "start": 886,
                                        "end": 887,
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 20
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      "computed": true
                                    },
                                    "computed": true,
                                    "leadingComments": null
                                  },
                                  "right": {
                                    "type": "ConditionalExpression",
                                    "start": 892,
                                    "end": 970,
                                    "loc": {
                                      "start": {
                                        "line": 28,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 103
                                      }
                                    },
                                    "test": {
                                      "type": "CallExpression",
                                      "start": 892,
                                      "end": 921,
                                      "loc": {
                                        "start": {
                                          "line": 28,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 28,
                                          "column": 54
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 892,
                                        "end": 911,
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 44
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 892,
                                          "end": 898,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 31
                                            },
                                            "identifierName": "target"
                                          },
                                          "name": "target"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 899,
                                          "end": 911,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 44
                                            },
                                            "identifierName": "hasAttribute"
                                          },
                                          "name": "hasAttribute"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 912,
                                          "end": 920,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 53
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 912,
                                            "end": 917,
                                            "loc": {
                                              "start": {
                                                "line": 28,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 28,
                                                "column": 50
                                              },
                                              "identifierName": "entry"
                                            },
                                            "name": "entry"
                                          },
                                          "property": {
                                            "type": "NumericLiteral",
                                            "start": 918,
                                            "end": 919,
                                            "loc": {
                                              "start": {
                                                "line": 28,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 28,
                                                "column": 52
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          "computed": true
                                        }
                                      ]
                                    },
                                    "consequent": {
                                      "type": "CallExpression",
                                      "start": 924,
                                      "end": 953,
                                      "loc": {
                                        "start": {
                                          "line": 28,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 28,
                                          "column": 86
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 924,
                                        "end": 943,
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 76
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 924,
                                          "end": 930,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 57
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 63
                                            },
                                            "identifierName": "target"
                                          },
                                          "name": "target"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 931,
                                          "end": 943,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 76
                                            },
                                            "identifierName": "getAttribute"
                                          },
                                          "name": "getAttribute"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 944,
                                          "end": 952,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 77
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 85
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 944,
                                            "end": 949,
                                            "loc": {
                                              "start": {
                                                "line": 28,
                                                "column": 77
                                              },
                                              "end": {
                                                "line": 28,
                                                "column": 82
                                              },
                                              "identifierName": "entry"
                                            },
                                            "name": "entry"
                                          },
                                          "property": {
                                            "type": "NumericLiteral",
                                            "start": 950,
                                            "end": 951,
                                            "loc": {
                                              "start": {
                                                "line": 28,
                                                "column": 83
                                              },
                                              "end": {
                                                "line": 28,
                                                "column": 84
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          "computed": true
                                        }
                                      ]
                                    },
                                    "alternate": {
                                      "type": "MemberExpression",
                                      "start": 956,
                                      "end": 970,
                                      "loc": {
                                        "start": {
                                          "line": 28,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 28,
                                          "column": 103
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 956,
                                        "end": 964,
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 97
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 956,
                                          "end": 961,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 94
                                            },
                                            "identifierName": "entry"
                                          },
                                          "name": "entry"
                                        },
                                        "property": {
                                          "type": "NumericLiteral",
                                          "start": 962,
                                          "end": 963,
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 95
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 96
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "value": 1
                                        },
                                        "computed": true
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 965,
                                        "end": 970,
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 98
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 103
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "computed": false
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " TODO: are we ignoring stuff ...?",
                                    "start": 758,
                                    "end": 793,
                                    "loc": {
                                      "start": {
                                        "line": 26,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 26,
                                        "column": 41
                                      }
                                    }
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " check if attribute has value else pass default property value",
                                    "start": 801,
                                    "end": 865,
                                    "loc": {
                                      "start": {
                                        "line": 27,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 27,
                                        "column": 70
                                      }
                                    }
                                  }
                                ]
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 990,
        "end": 2372,
        "loc": {
          "start": {
            "line": 33,
            "column": 0
          },
          "end": {
            "line": 53,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 996,
            "end": 2372,
            "loc": {
              "start": {
                "line": 33,
                "column": 6
              },
              "end": {
                "line": 53,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 996,
              "end": 1010,
              "loc": {
                "start": {
                  "line": 33,
                  "column": 6
                },
                "end": {
                  "line": 33,
                  "column": 20
                },
                "identifierName": "handleProperty"
              },
              "name": "handleProperty"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 1013,
              "end": 2372,
              "loc": {
                "start": {
                  "line": 33,
                  "column": 23
                },
                "end": {
                  "line": 53,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 996,
                "end": 1010,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 6
                  },
                  "end": {
                    "line": 33,
                    "column": 20
                  },
                  "identifierName": "handleProperty"
                },
                "name": "handleProperty"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1014,
                  "end": 1017,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 24
                    },
                    "end": {
                      "line": 33,
                      "column": 27
                    },
                    "identifierName": "obj"
                  },
                  "name": "obj"
                },
                {
                  "type": "Identifier",
                  "start": 1019,
                  "end": 1027,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 29
                    },
                    "end": {
                      "line": 33,
                      "column": 37
                    },
                    "identifierName": "property"
                  },
                  "name": "property"
                },
                {
                  "type": "ObjectPattern",
                  "start": 1029,
                  "end": 1082,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 39
                    },
                    "end": {
                      "line": 33,
                      "column": 92
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 1030,
                      "end": 1038,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 40
                        },
                        "end": {
                          "line": 33,
                          "column": 48
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1030,
                        "end": 1038,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 40
                          },
                          "end": {
                            "line": 33,
                            "column": 48
                          },
                          "identifierName": "observer"
                        },
                        "name": "observer"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1030,
                        "end": 1038,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 40
                          },
                          "end": {
                            "line": 33,
                            "column": 48
                          },
                          "identifierName": "observer"
                        },
                        "name": "observer"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1040,
                      "end": 1046,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 50
                        },
                        "end": {
                          "line": 33,
                          "column": 56
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1040,
                        "end": 1046,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 50
                          },
                          "end": {
                            "line": 33,
                            "column": 56
                          },
                          "identifierName": "strict"
                        },
                        "name": "strict"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1040,
                        "end": 1046,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 50
                          },
                          "end": {
                            "line": 33,
                            "column": 56
                          },
                          "identifierName": "strict"
                        },
                        "name": "strict"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1048,
                      "end": 1054,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 58
                        },
                        "end": {
                          "line": 33,
                          "column": 64
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1048,
                        "end": 1054,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 58
                          },
                          "end": {
                            "line": 33,
                            "column": 64
                          },
                          "identifierName": "global"
                        },
                        "name": "global"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1048,
                        "end": 1054,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 58
                          },
                          "end": {
                            "line": 33,
                            "column": 64
                          },
                          "identifierName": "global"
                        },
                        "name": "global"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1056,
                      "end": 1063,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 66
                        },
                        "end": {
                          "line": 33,
                          "column": 73
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1056,
                        "end": 1063,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 66
                          },
                          "end": {
                            "line": 33,
                            "column": 73
                          },
                          "identifierName": "reflect"
                        },
                        "name": "reflect"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1056,
                        "end": 1063,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 66
                          },
                          "end": {
                            "line": 33,
                            "column": 73
                          },
                          "identifierName": "reflect"
                        },
                        "name": "reflect"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1065,
                      "end": 1073,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 75
                        },
                        "end": {
                          "line": 33,
                          "column": 83
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1065,
                        "end": 1073,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 75
                          },
                          "end": {
                            "line": 33,
                            "column": 83
                          },
                          "identifierName": "renderer"
                        },
                        "name": "renderer"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1065,
                        "end": 1073,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 75
                          },
                          "end": {
                            "line": 33,
                            "column": 83
                          },
                          "identifierName": "renderer"
                        },
                        "name": "renderer"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 1075,
                      "end": 1080,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 85
                        },
                        "end": {
                          "line": 33,
                          "column": 90
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 1075,
                        "end": 1080,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 85
                          },
                          "end": {
                            "line": 33,
                            "column": 90
                          },
                          "identifierName": "value"
                        },
                        "name": "value"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 1075,
                        "end": 1080,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 85
                          },
                          "end": {
                            "line": 33,
                            "column": 90
                          },
                          "identifierName": "value"
                        },
                        "name": "value"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    }
                  ]
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1087,
                "end": 2372,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 97
                  },
                  "end": {
                    "line": 53,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 1094,
                    "end": 2369,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 2
                      },
                      "end": {
                        "line": 52,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 1098,
                      "end": 1163,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 6
                        },
                        "end": {
                          "line": 35,
                          "column": 71
                        }
                      },
                      "left": {
                        "type": "CallExpression",
                        "start": 1098,
                        "end": 1125,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 6
                          },
                          "end": {
                            "line": 35,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 1098,
                          "end": 1105,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 6
                            },
                            "end": {
                              "line": 35,
                              "column": 13
                            },
                            "identifierName": "Boolean"
                          },
                          "name": "Boolean"
                        },
                        "arguments": [
                          {
                            "type": "LogicalExpression",
                            "start": 1106,
                            "end": 1124,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 14
                              },
                              "end": {
                                "line": 35,
                                "column": 32
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1106,
                              "end": 1114,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 14
                                },
                                "end": {
                                  "line": 35,
                                  "column": 22
                                },
                                "identifierName": "observer"
                              },
                              "name": "observer"
                            },
                            "operator": "||",
                            "right": {
                              "type": "Identifier",
                              "start": 1118,
                              "end": 1124,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 26
                                },
                                "end": {
                                  "line": 35,
                                  "column": 32
                                },
                                "identifierName": "global"
                              },
                              "name": "global"
                            }
                          }
                        ]
                      },
                      "operator": "&&",
                      "right": {
                        "type": "CallExpression",
                        "start": 1129,
                        "end": 1163,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 37
                          },
                          "end": {
                            "line": 35,
                            "column": 71
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 1129,
                          "end": 1148,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 37
                            },
                            "end": {
                              "line": 35,
                              "column": 56
                            },
                            "identifierName": "_needsObserverSetup"
                          },
                          "name": "_needsObserverSetup"
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 1149,
                            "end": 1152,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 57
                              },
                              "end": {
                                "line": 35,
                                "column": 60
                              },
                              "identifierName": "obj"
                            },
                            "name": "obj"
                          },
                          {
                            "type": "Identifier",
                            "start": 1154,
                            "end": 1162,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 62
                              },
                              "end": {
                                "line": 35,
                                "column": 70
                              },
                              "identifierName": "property"
                            },
                            "name": "property"
                          }
                        ]
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 1165,
                      "end": 2200,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 73
                        },
                        "end": {
                          "line": 50,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 1214,
                          "end": 1252,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 4
                            },
                            "end": {
                              "line": 37,
                              "column": 42
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 1214,
                            "end": 1251,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 4
                              },
                              "end": {
                                "line": 37,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1214,
                              "end": 1241,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 4
                                },
                                "end": {
                                  "line": 37,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1214,
                                "end": 1236,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1214,
                                  "end": 1217,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 4
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 7
                                    },
                                    "identifierName": "obj"
                                  },
                                  "name": "obj",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1218,
                                  "end": 1236,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 26
                                    },
                                    "identifierName": "observedProperties"
                                  },
                                  "name": "observedProperties"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1237,
                                "end": 1241,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 31
                                  },
                                  "identifierName": "push"
                                },
                                "name": "push"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1242,
                                "end": 1250,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 40
                                  },
                                  "identifierName": "property"
                                },
                                "name": "property"
                              }
                            ],
                            "leadingComments": null
                          },
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " Ensure we don't do duplicate work",
                              "start": 1172,
                              "end": 1208,
                              "loc": {
                                "start": {
                                  "line": 36,
                                  "column": 4
                                },
                                "end": {
                                  "line": 36,
                                  "column": 40
                                }
                              }
                            }
                          ],
                          "trailingComments": [
                            {
                              "type": "CommentLine",
                              "value": " subscribe only when a callback is defined, all other global options are still available ...",
                              "start": 1260,
                              "end": 1354,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 4
                                },
                                "end": {
                                  "line": 39,
                                  "column": 98
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "IfStatement",
                          "start": 1360,
                          "end": 2104,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 48,
                              "column": 5
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 1364,
                            "end": 1387,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 31
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1364,
                              "end": 1370,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 8
                                },
                                "end": {
                                  "line": 40,
                                  "column": 14
                                },
                                "identifierName": "global"
                              },
                              "name": "global",
                              "leadingComments": null
                            },
                            "operator": "&&",
                            "right": {
                              "type": "MemberExpression",
                              "start": 1374,
                              "end": 1387,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 18
                                },
                                "end": {
                                  "line": 40,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1374,
                                "end": 1377,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 21
                                  },
                                  "identifierName": "obj"
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1378,
                                "end": 1386,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 30
                                  },
                                  "identifierName": "observer"
                                },
                                "name": "observer"
                              },
                              "computed": true
                            },
                            "leadingComments": null
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 1389,
                            "end": 2104,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 33
                              },
                              "end": {
                                "line": 48,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 2033,
                                "end": 2097,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 70
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 2033,
                                  "end": 2096,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 69
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2033,
                                    "end": 2049,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2033,
                                      "end": 2039,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 12
                                        },
                                        "identifierName": "PubSub"
                                      },
                                      "name": "PubSub",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2040,
                                      "end": 2049,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 22
                                        },
                                        "identifierName": "subscribe"
                                      },
                                      "name": "subscribe"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "TemplateLiteral",
                                      "start": 2050,
                                      "end": 2070,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 43
                                        }
                                      },
                                      "expressions": [
                                        {
                                          "type": "Identifier",
                                          "start": 2060,
                                          "end": 2068,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 41
                                            },
                                            "identifierName": "property"
                                          },
                                          "name": "property"
                                        }
                                      ],
                                      "quasis": [
                                        {
                                          "type": "TemplateElement",
                                          "start": 2051,
                                          "end": 2058,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 31
                                            }
                                          },
                                          "value": {
                                            "raw": "global.",
                                            "cooked": "global."
                                          },
                                          "tail": false
                                        },
                                        {
                                          "type": "TemplateElement",
                                          "start": 2069,
                                          "end": 2069,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 42
                                            }
                                          },
                                          "value": {
                                            "raw": "",
                                            "cooked": ""
                                          },
                                          "tail": true
                                        }
                                      ]
                                    },
                                    {
                                      "type": "CallExpression",
                                      "start": 2072,
                                      "end": 2095,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 68
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 2072,
                                        "end": 2090,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 2072,
                                          "end": 2085,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 58
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 2072,
                                            "end": 2075,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 48
                                              },
                                              "identifierName": "obj"
                                            },
                                            "name": "obj"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2076,
                                            "end": 2084,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 57
                                              },
                                              "identifierName": "observer"
                                            },
                                            "name": "observer"
                                          },
                                          "computed": true
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2086,
                                          "end": 2090,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 63
                                            },
                                            "identifierName": "bind"
                                          },
                                          "name": "bind"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2091,
                                          "end": 2094,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 67
                                            },
                                            "identifierName": "obj"
                                          },
                                          "name": "obj"
                                        }
                                      ]
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Warning, global observers don't work the same like bindings, each observer has it's namespace created like global.name,",
                                    "start": 1398,
                                    "end": 1520,
                                    "loc": {
                                      "start": {
                                        "line": 41,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 41,
                                        "column": 128
                                      }
                                    }
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " so whenever another element has an global observer for name, they will subscribe to the same publisher !",
                                    "start": 1528,
                                    "end": 1635,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 113
                                      }
                                    }
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " TODO: Add local binding & improve global observers",
                                    "start": 1643,
                                    "end": 1696,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 59
                                      }
                                    }
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " {{name}} for normal bindings & {{global::name}} for global bindings(observers) (like Polymer does)",
                                    "start": 1704,
                                    "end": 1805,
                                    "loc": {
                                      "start": {
                                        "line": 44,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 44,
                                        "column": 107
                                      }
                                    }
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " this means we need to build a system that keeps track of each component it's bindings &",
                                    "start": 1813,
                                    "end": 1903,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 96
                                      }
                                    }
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " values should be set as property, so we know if a value needs to be set on attribute, rerender template, etc ..",
                                    "start": 1911,
                                    "end": 2025,
                                    "loc": {
                                      "start": {
                                        "line": 46,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 46,
                                        "column": 120
                                      }
                                    }
                                  }
                                ]
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null,
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " subscribe only when a callback is defined, all other global options are still available ...",
                              "start": 1260,
                              "end": 1354,
                              "loc": {
                                "start": {
                                  "line": 39,
                                  "column": 4
                                },
                                "end": {
                                  "line": 39,
                                  "column": 98
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 2110,
                          "end": 2195,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 4
                            },
                            "end": {
                              "line": 49,
                              "column": 89
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 2110,
                            "end": 2195,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 4
                              },
                              "end": {
                                "line": 49,
                                "column": 89
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2110,
                              "end": 2123,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 4
                                },
                                "end": {
                                  "line": 49,
                                  "column": 17
                                },
                                "identifierName": "setupObserver"
                              },
                              "name": "setupObserver"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 2124,
                                "end": 2127,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 21
                                  },
                                  "identifierName": "obj"
                                },
                                "name": "obj"
                              },
                              {
                                "type": "Identifier",
                                "start": 2129,
                                "end": 2137,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 31
                                  },
                                  "identifierName": "property"
                                },
                                "name": "property"
                              },
                              {
                                "type": "Identifier",
                                "start": 2139,
                                "end": 2147,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 41
                                  },
                                  "identifierName": "observer"
                                },
                                "name": "observer"
                              },
                              {
                                "type": "ObjectExpression",
                                "start": 2149,
                                "end": 2194,
                                "loc": {
                                  "start": {
                                    "line": 49,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 49,
                                    "column": 88
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "ObjectProperty",
                                    "start": 2150,
                                    "end": 2156,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 50
                                      }
                                    },
                                    "method": false,
                                    "shorthand": true,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 2150,
                                      "end": 2156,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 50
                                        },
                                        "identifierName": "strict"
                                      },
                                      "name": "strict"
                                    },
                                    "value": {
                                      "type": "Identifier",
                                      "start": 2150,
                                      "end": 2156,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 50
                                        },
                                        "identifierName": "strict"
                                      },
                                      "name": "strict"
                                    },
                                    "extra": {
                                      "shorthand": true
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 2158,
                                    "end": 2164,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 58
                                      }
                                    },
                                    "method": false,
                                    "shorthand": true,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 2158,
                                      "end": 2164,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 58
                                        },
                                        "identifierName": "global"
                                      },
                                      "name": "global"
                                    },
                                    "value": {
                                      "type": "Identifier",
                                      "start": 2158,
                                      "end": 2164,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 58
                                        },
                                        "identifierName": "global"
                                      },
                                      "name": "global"
                                    },
                                    "extra": {
                                      "shorthand": true
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 2166,
                                    "end": 2173,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 60
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 67
                                      }
                                    },
                                    "method": false,
                                    "shorthand": true,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 2166,
                                      "end": 2173,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 67
                                        },
                                        "identifierName": "reflect"
                                      },
                                      "name": "reflect"
                                    },
                                    "value": {
                                      "type": "Identifier",
                                      "start": 2166,
                                      "end": 2173,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 67
                                        },
                                        "identifierName": "reflect"
                                      },
                                      "name": "reflect"
                                    },
                                    "extra": {
                                      "shorthand": true
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 2175,
                                    "end": 2193,
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 69
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 87
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 2175,
                                      "end": 2183,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 77
                                        },
                                        "identifierName": "renderer"
                                      },
                                      "name": "renderer"
                                    },
                                    "value": {
                                      "type": "Identifier",
                                      "start": 2185,
                                      "end": 2193,
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 79
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 87
                                        },
                                        "identifierName": "renderer"
                                      },
                                      "name": "renderer"
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "start": 2206,
                      "end": 2369,
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 9
                        },
                        "end": {
                          "line": 52,
                          "column": 3
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 2210,
                        "end": 2270,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 13
                          },
                          "end": {
                            "line": 50,
                            "column": 73
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 2210,
                          "end": 2238,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 13
                            },
                            "end": {
                              "line": 50,
                              "column": 41
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "CallExpression",
                            "start": 2211,
                            "end": 2238,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 14
                              },
                              "end": {
                                "line": 50,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2211,
                              "end": 2218,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 14
                                },
                                "end": {
                                  "line": 50,
                                  "column": 21
                                },
                                "identifierName": "Boolean"
                              },
                              "name": "Boolean"
                            },
                            "arguments": [
                              {
                                "type": "LogicalExpression",
                                "start": 2219,
                                "end": 2237,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 40
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 2219,
                                  "end": 2227,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 30
                                    },
                                    "identifierName": "observer"
                                  },
                                  "name": "observer"
                                },
                                "operator": "||",
                                "right": {
                                  "type": "Identifier",
                                  "start": 2231,
                                  "end": 2237,
                                  "loc": {
                                    "start": {
                                      "line": 50,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 50,
                                      "column": 40
                                    },
                                    "identifierName": "global"
                                  },
                                  "name": "global"
                                }
                              }
                            ]
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 2242,
                          "end": 2270,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 45
                            },
                            "end": {
                              "line": 50,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2242,
                            "end": 2249,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 45
                              },
                              "end": {
                                "line": 50,
                                "column": 52
                              },
                              "identifierName": "Boolean"
                            },
                            "name": "Boolean"
                          },
                          "arguments": [
                            {
                              "type": "LogicalExpression",
                              "start": 2250,
                              "end": 2269,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 53
                                },
                                "end": {
                                  "line": 50,
                                  "column": 72
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 2250,
                                "end": 2257,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 60
                                  },
                                  "identifierName": "reflect"
                                },
                                "name": "reflect"
                              },
                              "operator": "||",
                              "right": {
                                "type": "Identifier",
                                "start": 2261,
                                "end": 2269,
                                "loc": {
                                  "start": {
                                    "line": 50,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 50,
                                    "column": 72
                                  },
                                  "identifierName": "renderer"
                                },
                                "name": "renderer"
                              }
                            }
                          ]
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 2272,
                        "end": 2369,
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 75
                          },
                          "end": {
                            "line": 52,
                            "column": 3
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2279,
                            "end": 2364,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 4
                              },
                              "end": {
                                "line": 51,
                                "column": 89
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2279,
                              "end": 2364,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 4
                                },
                                "end": {
                                  "line": 51,
                                  "column": 89
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 2279,
                                "end": 2292,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 17
                                  },
                                  "identifierName": "setupObserver"
                                },
                                "name": "setupObserver"
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 2293,
                                  "end": 2296,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 21
                                    },
                                    "identifierName": "obj"
                                  },
                                  "name": "obj"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 2298,
                                  "end": 2306,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 31
                                    },
                                    "identifierName": "property"
                                  },
                                  "name": "property"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 2308,
                                  "end": 2316,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 41
                                    },
                                    "identifierName": "observer"
                                  },
                                  "name": "observer"
                                },
                                {
                                  "type": "ObjectExpression",
                                  "start": 2318,
                                  "end": 2363,
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 43
                                    },
                                    "end": {
                                      "line": 51,
                                      "column": 88
                                    }
                                  },
                                  "properties": [
                                    {
                                      "type": "ObjectProperty",
                                      "start": 2319,
                                      "end": 2325,
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 51,
                                          "column": 50
                                        }
                                      },
                                      "method": false,
                                      "shorthand": true,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 2319,
                                        "end": 2325,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 50
                                          },
                                          "identifierName": "strict"
                                        },
                                        "name": "strict"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 2319,
                                        "end": 2325,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 50
                                          },
                                          "identifierName": "strict"
                                        },
                                        "name": "strict"
                                      },
                                      "extra": {
                                        "shorthand": true
                                      }
                                    },
                                    {
                                      "type": "ObjectProperty",
                                      "start": 2327,
                                      "end": 2333,
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 51,
                                          "column": 58
                                        }
                                      },
                                      "method": false,
                                      "shorthand": true,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 2327,
                                        "end": 2333,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 58
                                          },
                                          "identifierName": "global"
                                        },
                                        "name": "global"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 2327,
                                        "end": 2333,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 58
                                          },
                                          "identifierName": "global"
                                        },
                                        "name": "global"
                                      },
                                      "extra": {
                                        "shorthand": true
                                      }
                                    },
                                    {
                                      "type": "ObjectProperty",
                                      "start": 2335,
                                      "end": 2342,
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 60
                                        },
                                        "end": {
                                          "line": 51,
                                          "column": 67
                                        }
                                      },
                                      "method": false,
                                      "shorthand": true,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 2335,
                                        "end": 2342,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 67
                                          },
                                          "identifierName": "reflect"
                                        },
                                        "name": "reflect"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 2335,
                                        "end": 2342,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 60
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 67
                                          },
                                          "identifierName": "reflect"
                                        },
                                        "name": "reflect"
                                      },
                                      "extra": {
                                        "shorthand": true
                                      }
                                    },
                                    {
                                      "type": "ObjectProperty",
                                      "start": 2344,
                                      "end": 2362,
                                      "loc": {
                                        "start": {
                                          "line": 51,
                                          "column": 69
                                        },
                                        "end": {
                                          "line": 51,
                                          "column": 87
                                        }
                                      },
                                      "method": false,
                                      "shorthand": false,
                                      "computed": false,
                                      "key": {
                                        "type": "Identifier",
                                        "start": 2344,
                                        "end": 2352,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 69
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 77
                                          },
                                          "identifierName": "renderer"
                                        },
                                        "name": "renderer"
                                      },
                                      "value": {
                                        "type": "Identifier",
                                        "start": 2354,
                                        "end": 2362,
                                        "loc": {
                                          "start": {
                                            "line": 51,
                                            "column": 79
                                          },
                                          "end": {
                                            "line": 51,
                                            "column": 87
                                          },
                                          "identifierName": "renderer"
                                        },
                                        "name": "renderer"
                                      }
                                    }
                                  ]
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 2376,
        "end": 2692,
        "loc": {
          "start": {
            "line": 55,
            "column": 0
          },
          "end": {
            "line": 67,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 2382,
            "end": 2692,
            "loc": {
              "start": {
                "line": 55,
                "column": 6
              },
              "end": {
                "line": 67,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2382,
              "end": 2401,
              "loc": {
                "start": {
                  "line": 55,
                  "column": 6
                },
                "end": {
                  "line": 55,
                  "column": 25
                },
                "identifierName": "_needsObserverSetup"
              },
              "name": "_needsObserverSetup"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 2404,
              "end": 2692,
              "loc": {
                "start": {
                  "line": 55,
                  "column": 28
                },
                "end": {
                  "line": 67,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 2382,
                "end": 2401,
                "loc": {
                  "start": {
                    "line": 55,
                    "column": 6
                  },
                  "end": {
                    "line": 55,
                    "column": 25
                  },
                  "identifierName": "_needsObserverSetup"
                },
                "name": "_needsObserverSetup"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 2405,
                  "end": 2408,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 29
                    },
                    "end": {
                      "line": 55,
                      "column": 32
                    },
                    "identifierName": "obj"
                  },
                  "name": "obj"
                },
                {
                  "type": "Identifier",
                  "start": 2410,
                  "end": 2418,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 34
                    },
                    "end": {
                      "line": 55,
                      "column": 42
                    },
                    "identifierName": "property"
                  },
                  "name": "property"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2423,
                "end": 2692,
                "loc": {
                  "start": {
                    "line": 55,
                    "column": 47
                  },
                  "end": {
                    "line": 67,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 2428,
                    "end": 2497,
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 2
                      },
                      "end": {
                        "line": 58,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "UnaryExpression",
                      "start": 2432,
                      "end": 2455,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 6
                        },
                        "end": {
                          "line": 56,
                          "column": 29
                        }
                      },
                      "operator": "!",
                      "prefix": true,
                      "argument": {
                        "type": "MemberExpression",
                        "start": 2433,
                        "end": 2455,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 7
                          },
                          "end": {
                            "line": 56,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2433,
                          "end": 2436,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 7
                            },
                            "end": {
                              "line": 56,
                              "column": 10
                            },
                            "identifierName": "obj"
                          },
                          "name": "obj"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2437,
                          "end": 2455,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 11
                            },
                            "end": {
                              "line": 56,
                              "column": 29
                            },
                            "identifierName": "observedProperties"
                          },
                          "name": "observedProperties"
                        },
                        "computed": false
                      },
                      "extra": {
                        "parenthesizedArgument": false
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 2457,
                      "end": 2497,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 31
                        },
                        "end": {
                          "line": 58,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 2464,
                          "end": 2492,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 4
                            },
                            "end": {
                              "line": 57,
                              "column": 32
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 2464,
                            "end": 2491,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 4
                              },
                              "end": {
                                "line": 57,
                                "column": 31
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 2464,
                              "end": 2486,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 4
                                },
                                "end": {
                                  "line": 57,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2464,
                                "end": 2467,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 7
                                  },
                                  "identifierName": "obj"
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2468,
                                "end": 2486,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 26
                                  },
                                  "identifierName": "observedProperties"
                                },
                                "name": "observedProperties"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "ArrayExpression",
                              "start": 2489,
                              "end": 2491,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 29
                                },
                                "end": {
                                  "line": 57,
                                  "column": 31
                                }
                              },
                              "elements": []
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 2501,
                    "end": 2689,
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 2
                      },
                      "end": {
                        "line": 66,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "MemberExpression",
                      "start": 2505,
                      "end": 2537,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 6
                        },
                        "end": {
                          "line": 59,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 2505,
                        "end": 2527,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 6
                          },
                          "end": {
                            "line": 59,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2505,
                          "end": 2508,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 6
                            },
                            "end": {
                              "line": 59,
                              "column": 9
                            },
                            "identifierName": "obj"
                          },
                          "name": "obj"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2509,
                          "end": 2527,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 10
                            },
                            "end": {
                              "line": 59,
                              "column": 28
                            },
                            "identifierName": "observedProperties"
                          },
                          "name": "observedProperties"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2528,
                        "end": 2536,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 29
                          },
                          "end": {
                            "line": 59,
                            "column": 37
                          },
                          "identifierName": "property"
                        },
                        "name": "property"
                      },
                      "computed": true
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 2539,
                      "end": 2659,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 40
                        },
                        "end": {
                          "line": 64,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 2546,
                          "end": 2635,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 4
                            },
                            "end": {
                              "line": 62,
                              "column": 6
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 2546,
                            "end": 2634,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 4
                              },
                              "end": {
                                "line": 62,
                                "column": 5
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2546,
                              "end": 2558,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 4
                                },
                                "end": {
                                  "line": 60,
                                  "column": 16
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2546,
                                "end": 2553,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 11
                                  },
                                  "identifierName": "console"
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2554,
                                "end": 2558,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 16
                                  },
                                  "identifierName": "warn"
                                },
                                "name": "warn"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "start": 2567,
                                "end": 2627,
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 66
                                  }
                                },
                                "left": {
                                  "type": "StringLiteral",
                                  "start": 2567,
                                  "end": 2616,
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 55
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "observer::ignoring duplicate property observer ",
                                    "raw": "'observer::ignoring duplicate property observer '"
                                  },
                                  "value": "observer::ignoring duplicate property observer "
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 2619,
                                  "end": 2627,
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 58
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 66
                                    },
                                    "identifierName": "property"
                                  },
                                  "name": "property"
                                }
                              }
                            ]
                          }
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 2641,
                          "end": 2654,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 4
                            },
                            "end": {
                              "line": 63,
                              "column": 17
                            }
                          },
                          "argument": {
                            "type": "BooleanLiteral",
                            "start": 2648,
                            "end": 2653,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 11
                              },
                              "end": {
                                "line": 63,
                                "column": 16
                              }
                            },
                            "value": false
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 2665,
                      "end": 2689,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 9
                        },
                        "end": {
                          "line": 66,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 2672,
                          "end": 2684,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 4
                            },
                            "end": {
                              "line": 65,
                              "column": 16
                            }
                          },
                          "argument": {
                            "type": "BooleanLiteral",
                            "start": 2679,
                            "end": 2683,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 11
                              },
                              "end": {
                                "line": 65,
                                "column": 15
                              }
                            },
                            "value": true
                          }
                        }
                      ],
                      "directives": []
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 2696,
        "end": 3092,
        "loc": {
          "start": {
            "line": 69,
            "column": 0
          },
          "end": {
            "line": 83,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 2702,
            "end": 3092,
            "loc": {
              "start": {
                "line": 69,
                "column": 6
              },
              "end": {
                "line": 83,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 2702,
              "end": 2714,
              "loc": {
                "start": {
                  "line": 69,
                  "column": 6
                },
                "end": {
                  "line": 69,
                  "column": 18
                },
                "identifierName": "forObservers"
              },
              "name": "forObservers"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 2717,
              "end": 3092,
              "loc": {
                "start": {
                  "line": 69,
                  "column": 21
                },
                "end": {
                  "line": 83,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 2702,
                "end": 2714,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 6
                  },
                  "end": {
                    "line": 69,
                    "column": 18
                  },
                  "identifierName": "forObservers"
                },
                "name": "forObservers"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 2718,
                  "end": 2724,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 22
                    },
                    "end": {
                      "line": 69,
                      "column": 28
                    },
                    "identifierName": "target"
                  },
                  "name": "target"
                },
                {
                  "type": "Identifier",
                  "start": 2726,
                  "end": 2735,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 30
                    },
                    "end": {
                      "line": 69,
                      "column": 39
                    },
                    "identifierName": "observers"
                  },
                  "name": "observers"
                },
                {
                  "type": "AssignmentPattern",
                  "start": 2737,
                  "end": 2751,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 41
                    },
                    "end": {
                      "line": 69,
                      "column": 55
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 2737,
                    "end": 2745,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 41
                      },
                      "end": {
                        "line": 69,
                        "column": 49
                      },
                      "identifierName": "isGlobal"
                    },
                    "name": "isGlobal"
                  },
                  "right": {
                    "type": "BooleanLiteral",
                    "start": 2746,
                    "end": 2751,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 50
                      },
                      "end": {
                        "line": 69,
                        "column": 55
                      }
                    },
                    "value": false
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2756,
                "end": 3092,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 60
                  },
                  "end": {
                    "line": 83,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "ForOfStatement",
                    "start": 2761,
                    "end": 3089,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 2
                      },
                      "end": {
                        "line": 82,
                        "column": 3
                      }
                    },
                    "left": {
                      "type": "VariableDeclaration",
                      "start": 2766,
                      "end": 2777,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 7
                        },
                        "end": {
                          "line": 70,
                          "column": 18
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2770,
                          "end": 2777,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 11
                            },
                            "end": {
                              "line": 70,
                              "column": 18
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2770,
                            "end": 2777,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 11
                              },
                              "end": {
                                "line": 70,
                                "column": 18
                              },
                              "identifierName": "observe"
                            },
                            "name": "observe"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 2781,
                      "end": 2790,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 22
                        },
                        "end": {
                          "line": 70,
                          "column": 31
                        },
                        "identifierName": "observers"
                      },
                      "name": "observers"
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 2792,
                      "end": 3089,
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 33
                        },
                        "end": {
                          "line": 82,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 2799,
                          "end": 2835,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 4
                            },
                            "end": {
                              "line": 71,
                              "column": 40
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 2803,
                              "end": 2834,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 39
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 2803,
                                "end": 2808,
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 13
                                  },
                                  "identifierName": "parts"
                                },
                                "name": "parts"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 2811,
                                "end": 2834,
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 39
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2811,
                                  "end": 2824,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2811,
                                    "end": 2818,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 23
                                      },
                                      "identifierName": "observe"
                                    },
                                    "name": "observe"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2819,
                                    "end": 2824,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 29
                                      },
                                      "identifierName": "split"
                                    },
                                    "name": "split"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "RegExpLiteral",
                                    "start": 2825,
                                    "end": 2833,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 38
                                      }
                                    },
                                    "extra": {
                                      "raw": "/\\(|\\)/g"
                                    },
                                    "pattern": "\\(|\\)",
                                    "flags": "g"
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 2841,
                          "end": 2859,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 4
                            },
                            "end": {
                              "line": 72,
                              "column": 22
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 2845,
                              "end": 2858,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 8
                                },
                                "end": {
                                  "line": 72,
                                  "column": 21
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 2845,
                                "end": 2847,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 10
                                  },
                                  "identifierName": "fn"
                                },
                                "name": "fn"
                              },
                              "init": {
                                "type": "MemberExpression",
                                "start": 2850,
                                "end": 2858,
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2850,
                                  "end": 2855,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 18
                                    },
                                    "identifierName": "parts"
                                  },
                                  "name": "parts"
                                },
                                "property": {
                                  "type": "NumericLiteral",
                                  "start": 2856,
                                  "end": 2857,
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 20
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 0,
                                    "raw": "0"
                                  },
                                  "value": 0
                                },
                                "computed": true
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 2865,
                          "end": 2888,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 4
                            },
                            "end": {
                              "line": 73,
                              "column": 27
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 2865,
                            "end": 2887,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 4
                              },
                              "end": {
                                "line": 73,
                                "column": 26
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 2865,
                              "end": 2870,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 4
                                },
                                "end": {
                                  "line": 73,
                                  "column": 9
                                },
                                "identifierName": "parts"
                              },
                              "name": "parts"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 2873,
                              "end": 2887,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 12
                                },
                                "end": {
                                  "line": 73,
                                  "column": 26
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2873,
                                "end": 2884,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 23
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2873,
                                  "end": 2878,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 17
                                    },
                                    "identifierName": "parts"
                                  },
                                  "name": "parts"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2879,
                                  "end": 2884,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 23
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "NumericLiteral",
                                  "start": 2885,
                                  "end": 2886,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 25
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "ForOfStatement",
                          "start": 2894,
                          "end": 3084,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 81,
                              "column": 5
                            }
                          },
                          "left": {
                            "type": "VariableDeclaration",
                            "start": 2899,
                            "end": 2911,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 9
                              },
                              "end": {
                                "line": 74,
                                "column": 21
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 2903,
                                "end": 2911,
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 21
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 2903,
                                  "end": 2911,
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 21
                                    },
                                    "identifierName": "property"
                                  },
                                  "name": "property"
                                },
                                "init": null
                              }
                            ],
                            "kind": "let"
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 2915,
                            "end": 2920,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 25
                              },
                              "end": {
                                "line": 74,
                                "column": 30
                              },
                              "identifierName": "parts"
                            },
                            "name": "parts"
                          },
                          "body": {
                            "type": "BlockStatement",
                            "start": 2922,
                            "end": 3084,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 32
                              },
                              "end": {
                                "line": 81,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 2931,
                                "end": 3077,
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 7
                                  }
                                },
                                "test": {
                                  "type": "MemberExpression",
                                  "start": 2935,
                                  "end": 2950,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 25
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2935,
                                    "end": 2943,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 18
                                      },
                                      "identifierName": "property"
                                    },
                                    "name": "property"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2944,
                                    "end": 2950,
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 25
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 2952,
                                  "end": 3077,
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 7
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2963,
                                      "end": 3068,
                                      "loc": {
                                        "start": {
                                          "line": 76,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 11
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2963,
                                        "end": 3067,
                                        "loc": {
                                          "start": {
                                            "line": 76,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 10
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 2963,
                                          "end": 2977,
                                          "loc": {
                                            "start": {
                                              "line": 76,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 76,
                                              "column": 22
                                            },
                                            "identifierName": "handleProperty"
                                          },
                                          "name": "handleProperty"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 2978,
                                            "end": 2984,
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 29
                                              },
                                              "identifierName": "target"
                                            },
                                            "name": "target"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2986,
                                            "end": 2994,
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 39
                                              },
                                              "identifierName": "property"
                                            },
                                            "name": "property"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2996,
                                            "end": 2998,
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 41
                                              },
                                              "end": {
                                                "line": 76,
                                                "column": 43
                                              },
                                              "identifierName": "fn"
                                            },
                                            "name": "fn"
                                          },
                                          {
                                            "type": "ObjectExpression",
                                            "start": 3000,
                                            "end": 3066,
                                            "loc": {
                                              "start": {
                                                "line": 76,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 9
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "ObjectProperty",
                                                "start": 3013,
                                                "end": 3026,
                                                "loc": {
                                                  "start": {
                                                    "line": 77,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 77,
                                                    "column": 23
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3013,
                                                  "end": 3019,
                                                  "loc": {
                                                    "start": {
                                                      "line": 77,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 77,
                                                      "column": 16
                                                    },
                                                    "identifierName": "strict"
                                                  },
                                                  "name": "strict"
                                                },
                                                "value": {
                                                  "type": "BooleanLiteral",
                                                  "start": 3021,
                                                  "end": 3026,
                                                  "loc": {
                                                    "start": {
                                                      "line": 77,
                                                      "column": 18
                                                    },
                                                    "end": {
                                                      "line": 77,
                                                      "column": 23
                                                    }
                                                  },
                                                  "value": false
                                                }
                                              },
                                              {
                                                "type": "ObjectProperty",
                                                "start": 3039,
                                                "end": 3055,
                                                "loc": {
                                                  "start": {
                                                    "line": 78,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 78,
                                                    "column": 26
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 3039,
                                                  "end": 3045,
                                                  "loc": {
                                                    "start": {
                                                      "line": 78,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 78,
                                                      "column": 16
                                                    },
                                                    "identifierName": "global"
                                                  },
                                                  "name": "global"
                                                },
                                                "value": {
                                                  "type": "Identifier",
                                                  "start": 3047,
                                                  "end": 3055,
                                                  "loc": {
                                                    "start": {
                                                      "line": 78,
                                                      "column": 18
                                                    },
                                                    "end": {
                                                      "line": 78,
                                                      "column": 26
                                                    },
                                                    "identifierName": "isGlobal"
                                                  },
                                                  "name": "isGlobal"
                                                }
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ],
                                  "directives": []
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "trailingComments": null
            },
            "trailingComments": null
          }
        ],
        "kind": "const",
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * Runs a method on target whenever given property changes\r\n *\r\n * example:\r\n * change(change) {\r\n *  change.property // name of the property\r\n *  change.value // value of the property\r\n * }\r\n *\r\n * @arg {object} obj target\r\n * @arg {string} property name\r\n * @arg {boolean} strict\r\n * @arg {method} fn The method to run on change\r\n ",
            "start": 3096,
            "end": 3436,
            "loc": {
              "start": {
                "line": 85,
                "column": 0
              },
              "end": {
                "line": 98,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 3438,
        "end": 4651,
        "loc": {
          "start": {
            "line": 99,
            "column": 0
          },
          "end": {
            "line": 142,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 3444,
            "end": 4651,
            "loc": {
              "start": {
                "line": 99,
                "column": 6
              },
              "end": {
                "line": 142,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 3444,
              "end": 3457,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 6
                },
                "end": {
                  "line": 99,
                  "column": 19
                },
                "identifierName": "setupObserver"
              },
              "name": "setupObserver",
              "leadingComments": null
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 3460,
              "end": 4651,
              "loc": {
                "start": {
                  "line": 99,
                  "column": 22
                },
                "end": {
                  "line": 142,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 3444,
                "end": 3457,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 6
                  },
                  "end": {
                    "line": 99,
                    "column": 19
                  },
                  "identifierName": "setupObserver"
                },
                "name": "setupObserver",
                "leadingComments": null
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3461,
                  "end": 3464,
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 23
                    },
                    "end": {
                      "line": 99,
                      "column": 26
                    },
                    "identifierName": "obj"
                  },
                  "name": "obj"
                },
                {
                  "type": "Identifier",
                  "start": 3466,
                  "end": 3474,
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 28
                    },
                    "end": {
                      "line": 99,
                      "column": 36
                    },
                    "identifierName": "property"
                  },
                  "name": "property"
                },
                {
                  "type": "Identifier",
                  "start": 3476,
                  "end": 3478,
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 38
                    },
                    "end": {
                      "line": 99,
                      "column": 40
                    },
                    "identifierName": "fn"
                  },
                  "name": "fn"
                },
                {
                  "type": "ObjectPattern",
                  "start": 3480,
                  "end": 3515,
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 42
                    },
                    "end": {
                      "line": 99,
                      "column": 77
                    }
                  },
                  "properties": [
                    {
                      "type": "ObjectProperty",
                      "start": 3481,
                      "end": 3487,
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 43
                        },
                        "end": {
                          "line": 99,
                          "column": 49
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 3481,
                        "end": 3487,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 43
                          },
                          "end": {
                            "line": 99,
                            "column": 49
                          },
                          "identifierName": "strict"
                        },
                        "name": "strict"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 3481,
                        "end": 3487,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 43
                          },
                          "end": {
                            "line": 99,
                            "column": 49
                          },
                          "identifierName": "strict"
                        },
                        "name": "strict"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 3489,
                      "end": 3495,
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 51
                        },
                        "end": {
                          "line": 99,
                          "column": 57
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 3489,
                        "end": 3495,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 51
                          },
                          "end": {
                            "line": 99,
                            "column": 57
                          },
                          "identifierName": "global"
                        },
                        "name": "global"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 3489,
                        "end": 3495,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 51
                          },
                          "end": {
                            "line": 99,
                            "column": 57
                          },
                          "identifierName": "global"
                        },
                        "name": "global"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 3497,
                      "end": 3504,
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 59
                        },
                        "end": {
                          "line": 99,
                          "column": 66
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 3497,
                        "end": 3504,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 59
                          },
                          "end": {
                            "line": 99,
                            "column": 66
                          },
                          "identifierName": "reflect"
                        },
                        "name": "reflect"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 3497,
                        "end": 3504,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 59
                          },
                          "end": {
                            "line": 99,
                            "column": 66
                          },
                          "identifierName": "reflect"
                        },
                        "name": "reflect"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    },
                    {
                      "type": "ObjectProperty",
                      "start": 3506,
                      "end": 3514,
                      "loc": {
                        "start": {
                          "line": 99,
                          "column": 68
                        },
                        "end": {
                          "line": 99,
                          "column": 76
                        }
                      },
                      "method": false,
                      "shorthand": true,
                      "computed": false,
                      "key": {
                        "type": "Identifier",
                        "start": 3506,
                        "end": 3514,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 68
                          },
                          "end": {
                            "line": 99,
                            "column": 76
                          },
                          "identifierName": "renderer"
                        },
                        "name": "renderer"
                      },
                      "value": {
                        "type": "Identifier",
                        "start": 3506,
                        "end": 3514,
                        "loc": {
                          "start": {
                            "line": 99,
                            "column": 68
                          },
                          "end": {
                            "line": 99,
                            "column": 76
                          },
                          "identifierName": "renderer"
                        },
                        "name": "renderer"
                      },
                      "extra": {
                        "shorthand": true
                      }
                    }
                  ]
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3520,
                "end": 4651,
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 82
                  },
                  "end": {
                    "line": 142,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 3525,
                    "end": 3602,
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 2
                      },
                      "end": {
                        "line": 102,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 3529,
                      "end": 3556,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 6
                        },
                        "end": {
                          "line": 100,
                          "column": 33
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 3529,
                        "end": 3537,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 6
                          },
                          "end": {
                            "line": 100,
                            "column": 14
                          },
                          "identifierName": "renderer"
                        },
                        "name": "renderer"
                      },
                      "operator": "&&",
                      "right": {
                        "type": "UnaryExpression",
                        "start": 3541,
                        "end": 3556,
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 18
                          },
                          "end": {
                            "line": 100,
                            "column": 33
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 3542,
                          "end": 3556,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 19
                            },
                            "end": {
                              "line": 100,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3542,
                            "end": 3545,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 19
                              },
                              "end": {
                                "line": 100,
                                "column": 22
                              },
                              "identifierName": "obj"
                            },
                            "name": "obj"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3546,
                            "end": 3556,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 23
                              },
                              "end": {
                                "line": 100,
                                "column": 33
                              },
                              "identifierName": "shadowRoot"
                            },
                            "name": "shadowRoot"
                          },
                          "computed": false
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 3558,
                      "end": 3602,
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 35
                        },
                        "end": {
                          "line": 102,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 3565,
                          "end": 3597,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 4
                            },
                            "end": {
                              "line": 101,
                              "column": 36
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 3565,
                            "end": 3597,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 4
                              },
                              "end": {
                                "line": 101,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 3565,
                              "end": 3581,
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 4
                                },
                                "end": {
                                  "line": 101,
                                  "column": 20
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 3565,
                                "end": 3568,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 7
                                  },
                                  "identifierName": "obj"
                                },
                                "name": "obj"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 3569,
                                "end": 3581,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 20
                                  },
                                  "identifierName": "attachShadow"
                                },
                                "name": "attachShadow"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 3582,
                                "end": 3596,
                                "loc": {
                                  "start": {
                                    "line": 101,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 101,
                                    "column": 35
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "ObjectProperty",
                                    "start": 3583,
                                    "end": 3595,
                                    "loc": {
                                      "start": {
                                        "line": 101,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 101,
                                        "column": 34
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 3583,
                                      "end": 3587,
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 26
                                        },
                                        "identifierName": "mode"
                                      },
                                      "name": "mode"
                                    },
                                    "value": {
                                      "type": "StringLiteral",
                                      "start": 3589,
                                      "end": 3595,
                                      "loc": {
                                        "start": {
                                          "line": 101,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 101,
                                          "column": 34
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "open",
                                        "raw": "'open'"
                                      },
                                      "value": "open"
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 3606,
                    "end": 4648,
                    "loc": {
                      "start": {
                        "line": 103,
                        "column": 2
                      },
                      "end": {
                        "line": 141,
                        "column": 5
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 3606,
                      "end": 4647,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 2
                        },
                        "end": {
                          "line": 141,
                          "column": 4
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 3606,
                        "end": 3627,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 2
                          },
                          "end": {
                            "line": 103,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3606,
                          "end": 3612,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 2
                            },
                            "end": {
                              "line": 103,
                              "column": 8
                            },
                            "identifierName": "Object"
                          },
                          "name": "Object"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3613,
                          "end": 3627,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 9
                            },
                            "end": {
                              "line": 103,
                              "column": 23
                            },
                            "identifierName": "defineProperty"
                          },
                          "name": "defineProperty"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3628,
                          "end": 3631,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 24
                            },
                            "end": {
                              "line": 103,
                              "column": 27
                            },
                            "identifierName": "obj"
                          },
                          "name": "obj"
                        },
                        {
                          "type": "Identifier",
                          "start": 3633,
                          "end": 3641,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 29
                            },
                            "end": {
                              "line": 103,
                              "column": 37
                            },
                            "identifierName": "property"
                          },
                          "name": "property"
                        },
                        {
                          "type": "ObjectExpression",
                          "start": 3643,
                          "end": 4646,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 39
                            },
                            "end": {
                              "line": 141,
                              "column": 3
                            }
                          },
                          "properties": [
                            {
                              "type": "ObjectMethod",
                              "start": 3650,
                              "end": 4542,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 4
                                },
                                "end": {
                                  "line": 136,
                                  "column": 5
                                }
                              },
                              "method": true,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 3650,
                                "end": 3653,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 7
                                  },
                                  "identifierName": "set"
                                },
                                "name": "set"
                              },
                              "kind": "method",
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 3654,
                                  "end": 3659,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 13
                                    },
                                    "identifierName": "value"
                                  },
                                  "name": "value"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 3661,
                                "end": 4542,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 136,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "IfStatement",
                                    "start": 3670,
                                    "end": 3721,
                                    "loc": {
                                      "start": {
                                        "line": 105,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 7
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 3674,
                                      "end": 3693,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 105,
                                          "column": 29
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 3674,
                                        "end": 3679,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 15
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 3684,
                                        "end": 3693,
                                        "loc": {
                                          "start": {
                                            "line": 105,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 105,
                                            "column": 29
                                          },
                                          "identifierName": "undefined"
                                        },
                                        "name": "undefined"
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 3695,
                                      "end": 3721,
                                      "loc": {
                                        "start": {
                                          "line": 105,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 7
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ReturnStatement",
                                          "start": 3706,
                                          "end": 3712,
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 14
                                            }
                                          },
                                          "argument": null
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 3729,
                                    "end": 3792,
                                    "loc": {
                                      "start": {
                                        "line": 108,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 7
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 3733,
                                      "end": 3763,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 108,
                                          "column": 40
                                        }
                                      },
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 3733,
                                        "end": 3753,
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 3733,
                                          "end": 3737,
                                          "loc": {
                                            "start": {
                                              "line": 108,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 108,
                                              "column": 14
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "TemplateLiteral",
                                          "start": 3738,
                                          "end": 3752,
                                          "loc": {
                                            "start": {
                                              "line": 108,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 108,
                                              "column": 29
                                            }
                                          },
                                          "expressions": [
                                            {
                                              "type": "Identifier",
                                              "start": 3742,
                                              "end": 3750,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 27
                                                },
                                                "identifierName": "property"
                                              },
                                              "name": "property"
                                            }
                                          ],
                                          "quasis": [
                                            {
                                              "type": "TemplateElement",
                                              "start": 3739,
                                              "end": 3740,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 17
                                                }
                                              },
                                              "value": {
                                                "raw": "_",
                                                "cooked": "_"
                                              },
                                              "tail": false
                                            },
                                            {
                                              "type": "TemplateElement",
                                              "start": 3751,
                                              "end": 3751,
                                              "loc": {
                                                "start": {
                                                  "line": 108,
                                                  "column": 28
                                                },
                                                "end": {
                                                  "line": 108,
                                                  "column": 28
                                                }
                                              },
                                              "value": {
                                                "raw": "",
                                                "cooked": ""
                                              },
                                              "tail": true
                                            }
                                          ]
                                        },
                                        "computed": true
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "Identifier",
                                        "start": 3758,
                                        "end": 3763,
                                        "loc": {
                                          "start": {
                                            "line": 108,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 108,
                                            "column": 40
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      }
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 3765,
                                      "end": 3792,
                                      "loc": {
                                        "start": {
                                          "line": 108,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 7
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ReturnStatement",
                                          "start": 3776,
                                          "end": 3783,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 15
                                            }
                                          },
                                          "argument": null
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 3800,
                                    "end": 3829,
                                    "loc": {
                                      "start": {
                                        "line": 111,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 111,
                                        "column": 35
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 3800,
                                      "end": 3828,
                                      "loc": {
                                        "start": {
                                          "line": 111,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 111,
                                          "column": 34
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "MemberExpression",
                                        "start": 3800,
                                        "end": 3820,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 26
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 3800,
                                          "end": 3804,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 10
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "TemplateLiteral",
                                          "start": 3805,
                                          "end": 3819,
                                          "loc": {
                                            "start": {
                                              "line": 111,
                                              "column": 11
                                            },
                                            "end": {
                                              "line": 111,
                                              "column": 25
                                            }
                                          },
                                          "expressions": [
                                            {
                                              "type": "Identifier",
                                              "start": 3809,
                                              "end": 3817,
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 23
                                                },
                                                "identifierName": "property"
                                              },
                                              "name": "property"
                                            }
                                          ],
                                          "quasis": [
                                            {
                                              "type": "TemplateElement",
                                              "start": 3806,
                                              "end": 3807,
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 13
                                                }
                                              },
                                              "value": {
                                                "raw": "_",
                                                "cooked": "_"
                                              },
                                              "tail": false
                                            },
                                            {
                                              "type": "TemplateElement",
                                              "start": 3818,
                                              "end": 3818,
                                              "loc": {
                                                "start": {
                                                  "line": 111,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 111,
                                                  "column": 24
                                                }
                                              },
                                              "value": {
                                                "raw": "",
                                                "cooked": ""
                                              },
                                              "tail": true
                                            }
                                          ]
                                        },
                                        "computed": true
                                      },
                                      "right": {
                                        "type": "Identifier",
                                        "start": 3823,
                                        "end": 3828,
                                        "loc": {
                                          "start": {
                                            "line": 111,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 111,
                                            "column": 34
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      }
                                    }
                                  },
                                  {
                                    "type": "VariableDeclaration",
                                    "start": 3837,
                                    "end": 3910,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 115,
                                        "column": 8
                                      }
                                    },
                                    "declarations": [
                                      {
                                        "type": "VariableDeclarator",
                                        "start": 3841,
                                        "end": 3909,
                                        "loc": {
                                          "start": {
                                            "line": 112,
                                            "column": 10
                                          },
                                          "end": {
                                            "line": 115,
                                            "column": 7
                                          }
                                        },
                                        "id": {
                                          "type": "Identifier",
                                          "start": 3841,
                                          "end": 3845,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 112,
                                              "column": 14
                                            },
                                            "identifierName": "data"
                                          },
                                          "name": "data"
                                        },
                                        "init": {
                                          "type": "ObjectExpression",
                                          "start": 3848,
                                          "end": 3909,
                                          "loc": {
                                            "start": {
                                              "line": 112,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 115,
                                              "column": 7
                                            }
                                          },
                                          "properties": [
                                            {
                                              "type": "ObjectProperty",
                                              "start": 3859,
                                              "end": 3877,
                                              "loc": {
                                                "start": {
                                                  "line": 113,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 113,
                                                  "column": 26
                                                }
                                              },
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 3859,
                                                "end": 3867,
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 16
                                                  },
                                                  "identifierName": "property"
                                                },
                                                "name": "property"
                                              },
                                              "value": {
                                                "type": "Identifier",
                                                "start": 3869,
                                                "end": 3877,
                                                "loc": {
                                                  "start": {
                                                    "line": 113,
                                                    "column": 18
                                                  },
                                                  "end": {
                                                    "line": 113,
                                                    "column": 26
                                                  },
                                                  "identifierName": "property"
                                                },
                                                "name": "property"
                                              }
                                            },
                                            {
                                              "type": "ObjectProperty",
                                              "start": 3888,
                                              "end": 3900,
                                              "loc": {
                                                "start": {
                                                  "line": 114,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 114,
                                                  "column": 20
                                                }
                                              },
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 3888,
                                                "end": 3893,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 13
                                                  },
                                                  "identifierName": "value"
                                                },
                                                "name": "value"
                                              },
                                              "value": {
                                                "type": "Identifier",
                                                "start": 3895,
                                                "end": 3900,
                                                "loc": {
                                                  "start": {
                                                    "line": 114,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 114,
                                                    "column": 20
                                                  },
                                                  "identifierName": "value"
                                                },
                                                "name": "value"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ],
                                    "kind": "let"
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 3918,
                                    "end": 4051,
                                    "loc": {
                                      "start": {
                                        "line": 116,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 119,
                                        "column": 7
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 3922,
                                      "end": 3929,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 116,
                                          "column": 17
                                        },
                                        "identifierName": "reflect"
                                      },
                                      "name": "reflect"
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 3931,
                                      "end": 4051,
                                      "loc": {
                                        "start": {
                                          "line": 116,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 119,
                                          "column": 7
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "IfStatement",
                                          "start": 3942,
                                          "end": 4042,
                                          "loc": {
                                            "start": {
                                              "line": 117,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 118,
                                              "column": 44
                                            }
                                          },
                                          "test": {
                                            "type": "Identifier",
                                            "start": 3946,
                                            "end": 3951,
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 17
                                              },
                                              "identifierName": "value"
                                            },
                                            "name": "value"
                                          },
                                          "consequent": {
                                            "type": "ExpressionStatement",
                                            "start": 3953,
                                            "end": 3996,
                                            "loc": {
                                              "start": {
                                                "line": 117,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 117,
                                                "column": 62
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 3953,
                                              "end": 3995,
                                              "loc": {
                                                "start": {
                                                  "line": 117,
                                                  "column": 19
                                                },
                                                "end": {
                                                  "line": 117,
                                                  "column": 61
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3953,
                                                "end": 3970,
                                                "loc": {
                                                  "start": {
                                                    "line": 117,
                                                    "column": 19
                                                  },
                                                  "end": {
                                                    "line": 117,
                                                    "column": 36
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 3953,
                                                  "end": 3957,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 23
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3958,
                                                  "end": 3970,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 36
                                                    },
                                                    "identifierName": "setAttribute"
                                                  },
                                                  "name": "setAttribute"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 3971,
                                                  "end": 3979,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 37
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 45
                                                    },
                                                    "identifierName": "property"
                                                  },
                                                  "name": "property"
                                                },
                                                {
                                                  "type": "CallExpression",
                                                  "start": 3981,
                                                  "end": 3994,
                                                  "loc": {
                                                    "start": {
                                                      "line": 117,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 117,
                                                      "column": 60
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "Identifier",
                                                    "start": 3981,
                                                    "end": 3987,
                                                    "loc": {
                                                      "start": {
                                                        "line": 117,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 117,
                                                        "column": 53
                                                      },
                                                      "identifierName": "String"
                                                    },
                                                    "name": "String"
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 3988,
                                                      "end": 3993,
                                                      "loc": {
                                                        "start": {
                                                          "line": 117,
                                                          "column": 54
                                                        },
                                                        "end": {
                                                          "line": 117,
                                                          "column": 59
                                                        },
                                                        "identifierName": "value"
                                                      },
                                                      "name": "value"
                                                    }
                                                  ]
                                                }
                                              ]
                                            }
                                          },
                                          "alternate": {
                                            "type": "ExpressionStatement",
                                            "start": 4011,
                                            "end": 4042,
                                            "loc": {
                                              "start": {
                                                "line": 118,
                                                "column": 13
                                              },
                                              "end": {
                                                "line": 118,
                                                "column": 44
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 4011,
                                              "end": 4041,
                                              "loc": {
                                                "start": {
                                                  "line": 118,
                                                  "column": 13
                                                },
                                                "end": {
                                                  "line": 118,
                                                  "column": 43
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 4011,
                                                "end": 4031,
                                                "loc": {
                                                  "start": {
                                                    "line": 118,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 118,
                                                    "column": 33
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4011,
                                                  "end": 4015,
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 17
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4016,
                                                  "end": 4031,
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 18
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 33
                                                    },
                                                    "identifierName": "removeAttribute"
                                                  },
                                                  "name": "removeAttribute"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 4032,
                                                  "end": 4040,
                                                  "loc": {
                                                    "start": {
                                                      "line": 118,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 118,
                                                      "column": 42
                                                    },
                                                    "identifierName": "property"
                                                  },
                                                  "name": "property"
                                                }
                                              ]
                                            }
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 4059,
                                    "end": 4245,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 125,
                                        "column": 7
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 4063,
                                      "end": 4071,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 18
                                        },
                                        "identifierName": "renderer"
                                      },
                                      "name": "renderer"
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 4073,
                                      "end": 4245,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 125,
                                          "column": 7
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "VariableDeclaration",
                                          "start": 4135,
                                          "end": 4152,
                                          "loc": {
                                            "start": {
                                              "line": 122,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 122,
                                              "column": 27
                                            }
                                          },
                                          "declarations": [
                                            {
                                              "type": "VariableDeclarator",
                                              "start": 4141,
                                              "end": 4152,
                                              "loc": {
                                                "start": {
                                                  "line": 122,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 122,
                                                  "column": 27
                                                }
                                              },
                                              "id": {
                                                "type": "Identifier",
                                                "start": 4141,
                                                "end": 4147,
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 22
                                                  },
                                                  "identifierName": "object"
                                                },
                                                "name": "object",
                                                "leadingComments": null
                                              },
                                              "init": {
                                                "type": "ObjectExpression",
                                                "start": 4150,
                                                "end": 4152,
                                                "loc": {
                                                  "start": {
                                                    "line": 122,
                                                    "column": 25
                                                  },
                                                  "end": {
                                                    "line": 122,
                                                    "column": 27
                                                  }
                                                },
                                                "properties": []
                                              },
                                              "leadingComments": null
                                            }
                                          ],
                                          "kind": "const",
                                          "leadingComments": [
                                            {
                                              "type": "CommentLine",
                                              "value": " adds support for multiple renderers",
                                              "start": 4086,
                                              "end": 4124,
                                              "loc": {
                                                "start": {
                                                  "line": 121,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 121,
                                                  "column": 48
                                                }
                                              }
                                            }
                                          ]
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4163,
                                          "end": 4188,
                                          "loc": {
                                            "start": {
                                              "line": 123,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 123,
                                              "column": 35
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 4163,
                                            "end": 4187,
                                            "loc": {
                                              "start": {
                                                "line": 123,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 123,
                                                "column": 34
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4163,
                                              "end": 4179,
                                              "loc": {
                                                "start": {
                                                  "line": 123,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 123,
                                                  "column": 26
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4163,
                                                "end": 4169,
                                                "loc": {
                                                  "start": {
                                                    "line": 123,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 123,
                                                    "column": 16
                                                  },
                                                  "identifierName": "object"
                                                },
                                                "name": "object"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4170,
                                                "end": 4178,
                                                "loc": {
                                                  "start": {
                                                    "line": 123,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 123,
                                                    "column": 25
                                                  },
                                                  "identifierName": "property"
                                                },
                                                "name": "property"
                                              },
                                              "computed": true
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "start": 4182,
                                              "end": 4187,
                                              "loc": {
                                                "start": {
                                                  "line": 123,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 123,
                                                  "column": 34
                                                },
                                                "identifierName": "value"
                                              },
                                              "name": "value"
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4200,
                                          "end": 4236,
                                          "loc": {
                                            "start": {
                                              "line": 124,
                                              "column": 10
                                            },
                                            "end": {
                                              "line": 124,
                                              "column": 46
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4200,
                                            "end": 4235,
                                            "loc": {
                                              "start": {
                                                "line": 124,
                                                "column": 10
                                              },
                                              "end": {
                                                "line": 124,
                                                "column": 45
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4200,
                                              "end": 4211,
                                              "loc": {
                                                "start": {
                                                  "line": 124,
                                                  "column": 10
                                                },
                                                "end": {
                                                  "line": 124,
                                                  "column": 21
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 4200,
                                                "end": 4204,
                                                "loc": {
                                                  "start": {
                                                    "line": 124,
                                                    "column": 10
                                                  },
                                                  "end": {
                                                    "line": 124,
                                                    "column": 14
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4205,
                                                "end": 4211,
                                                "loc": {
                                                  "start": {
                                                    "line": 124,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 124,
                                                    "column": 21
                                                  },
                                                  "identifierName": "render"
                                                },
                                                "name": "render"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 4212,
                                                "end": 4218,
                                                "loc": {
                                                  "start": {
                                                    "line": 124,
                                                    "column": 22
                                                  },
                                                  "end": {
                                                    "line": 124,
                                                    "column": 28
                                                  },
                                                  "identifierName": "object"
                                                },
                                                "name": "object"
                                              },
                                              {
                                                "type": "MemberExpression",
                                                "start": 4220,
                                                "end": 4234,
                                                "loc": {
                                                  "start": {
                                                    "line": 124,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 124,
                                                    "column": 44
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 4220,
                                                  "end": 4224,
                                                  "loc": {
                                                    "start": {
                                                      "line": 124,
                                                      "column": 30
                                                    },
                                                    "end": {
                                                      "line": 124,
                                                      "column": 34
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4225,
                                                  "end": 4233,
                                                  "loc": {
                                                    "start": {
                                                      "line": 124,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 124,
                                                      "column": 43
                                                    },
                                                    "identifierName": "renderer"
                                                  },
                                                  "name": "renderer"
                                                },
                                                "computed": true
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": null
                                  },
                                  {
                                    "type": "IfStatement",
                                    "start": 4253,
                                    "end": 4535,
                                    "loc": {
                                      "start": {
                                        "line": 126,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 135,
                                        "column": 7
                                      }
                                    },
                                    "test": {
                                      "type": "Identifier",
                                      "start": 4257,
                                      "end": 4263,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 10
                                        },
                                        "end": {
                                          "line": 126,
                                          "column": 16
                                        },
                                        "identifierName": "global"
                                      },
                                      "name": "global"
                                    },
                                    "consequent": {
                                      "type": "BlockStatement",
                                      "start": 4265,
                                      "end": 4359,
                                      "loc": {
                                        "start": {
                                          "line": 126,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 129,
                                          "column": 7
                                        }
                                      },
                                      "body": [
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4276,
                                          "end": 4297,
                                          "loc": {
                                            "start": {
                                              "line": 127,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 127,
                                              "column": 29
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 4276,
                                            "end": 4296,
                                            "loc": {
                                              "start": {
                                                "line": 127,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 127,
                                                "column": 28
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4276,
                                              "end": 4289,
                                              "loc": {
                                                "start": {
                                                  "line": 127,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 127,
                                                  "column": 21
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4276,
                                                "end": 4280,
                                                "loc": {
                                                  "start": {
                                                    "line": 127,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 127,
                                                    "column": 12
                                                  },
                                                  "identifierName": "data"
                                                },
                                                "name": "data"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4281,
                                                "end": 4289,
                                                "loc": {
                                                  "start": {
                                                    "line": 127,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 127,
                                                    "column": 21
                                                  },
                                                  "identifierName": "instance"
                                                },
                                                "name": "instance"
                                              },
                                              "computed": false
                                            },
                                            "right": {
                                              "type": "ThisExpression",
                                              "start": 4292,
                                              "end": 4296,
                                              "loc": {
                                                "start": {
                                                  "line": 127,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 127,
                                                  "column": 28
                                                }
                                              }
                                            }
                                          }
                                        },
                                        {
                                          "type": "ExpressionStatement",
                                          "start": 4307,
                                          "end": 4350,
                                          "loc": {
                                            "start": {
                                              "line": 128,
                                              "column": 8
                                            },
                                            "end": {
                                              "line": 128,
                                              "column": 51
                                            }
                                          },
                                          "expression": {
                                            "type": "CallExpression",
                                            "start": 4307,
                                            "end": 4349,
                                            "loc": {
                                              "start": {
                                                "line": 128,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 128,
                                                "column": 50
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 4307,
                                              "end": 4321,
                                              "loc": {
                                                "start": {
                                                  "line": 128,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 128,
                                                  "column": 22
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4307,
                                                "end": 4313,
                                                "loc": {
                                                  "start": {
                                                    "line": 128,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 128,
                                                    "column": 14
                                                  },
                                                  "identifierName": "PubSub"
                                                },
                                                "name": "PubSub"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4314,
                                                "end": 4321,
                                                "loc": {
                                                  "start": {
                                                    "line": 128,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 128,
                                                    "column": 22
                                                  },
                                                  "identifierName": "publish"
                                                },
                                                "name": "publish"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "TemplateLiteral",
                                                "start": 4322,
                                                "end": 4342,
                                                "loc": {
                                                  "start": {
                                                    "line": 128,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 128,
                                                    "column": 43
                                                  }
                                                },
                                                "expressions": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 4332,
                                                    "end": 4340,
                                                    "loc": {
                                                      "start": {
                                                        "line": 128,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 128,
                                                        "column": 41
                                                      },
                                                      "identifierName": "property"
                                                    },
                                                    "name": "property"
                                                  }
                                                ],
                                                "quasis": [
                                                  {
                                                    "type": "TemplateElement",
                                                    "start": 4323,
                                                    "end": 4330,
                                                    "loc": {
                                                      "start": {
                                                        "line": 128,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 128,
                                                        "column": 31
                                                      }
                                                    },
                                                    "value": {
                                                      "raw": "global.",
                                                      "cooked": "global."
                                                    },
                                                    "tail": false
                                                  },
                                                  {
                                                    "type": "TemplateElement",
                                                    "start": 4341,
                                                    "end": 4341,
                                                    "loc": {
                                                      "start": {
                                                        "line": 128,
                                                        "column": 42
                                                      },
                                                      "end": {
                                                        "line": 128,
                                                        "column": 42
                                                      }
                                                    },
                                                    "value": {
                                                      "raw": "",
                                                      "cooked": ""
                                                    },
                                                    "tail": true
                                                  }
                                                ]
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 4344,
                                                "end": 4348,
                                                "loc": {
                                                  "start": {
                                                    "line": 128,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 128,
                                                    "column": 49
                                                  },
                                                  "identifierName": "data"
                                                },
                                                "name": "data"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "directives": []
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "start": 4365,
                                      "end": 4535,
                                      "loc": {
                                        "start": {
                                          "line": 129,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 135,
                                          "column": 7
                                        }
                                      },
                                      "test": {
                                        "type": "Identifier",
                                        "start": 4368,
                                        "end": 4370,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 129,
                                            "column": 18
                                          },
                                          "identifierName": "fn"
                                        },
                                        "name": "fn"
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "start": 4372,
                                        "end": 4535,
                                        "loc": {
                                          "start": {
                                            "line": 129,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 135,
                                            "column": 7
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "IfStatement",
                                            "start": 4383,
                                            "end": 4526,
                                            "loc": {
                                              "start": {
                                                "line": 130,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 134,
                                                "column": 9
                                              }
                                            },
                                            "test": {
                                              "type": "MemberExpression",
                                              "start": 4387,
                                              "end": 4395,
                                              "loc": {
                                                "start": {
                                                  "line": 130,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 130,
                                                  "column": 20
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 4387,
                                                "end": 4391,
                                                "loc": {
                                                  "start": {
                                                    "line": 130,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 130,
                                                    "column": 16
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4392,
                                                "end": 4394,
                                                "loc": {
                                                  "start": {
                                                    "line": 130,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 130,
                                                    "column": 19
                                                  },
                                                  "identifierName": "fn"
                                                },
                                                "name": "fn"
                                              },
                                              "computed": true
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "start": 4397,
                                              "end": 4436,
                                              "loc": {
                                                "start": {
                                                  "line": 130,
                                                  "column": 22
                                                },
                                                "end": {
                                                  "line": 132,
                                                  "column": 9
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 4410,
                                                  "end": 4425,
                                                  "loc": {
                                                    "start": {
                                                      "line": 131,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 131,
                                                      "column": 25
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 4410,
                                                    "end": 4424,
                                                    "loc": {
                                                      "start": {
                                                        "line": 131,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 131,
                                                        "column": 24
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 4410,
                                                      "end": 4418,
                                                      "loc": {
                                                        "start": {
                                                          "line": 131,
                                                          "column": 10
                                                        },
                                                        "end": {
                                                          "line": 131,
                                                          "column": 18
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 4410,
                                                        "end": 4414,
                                                        "loc": {
                                                          "start": {
                                                            "line": 131,
                                                            "column": 10
                                                          },
                                                          "end": {
                                                            "line": 131,
                                                            "column": 14
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4415,
                                                        "end": 4417,
                                                        "loc": {
                                                          "start": {
                                                            "line": 131,
                                                            "column": 15
                                                          },
                                                          "end": {
                                                            "line": 131,
                                                            "column": 17
                                                          },
                                                          "identifierName": "fn"
                                                        },
                                                        "name": "fn"
                                                      },
                                                      "computed": true
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "start": 4419,
                                                        "end": 4423,
                                                        "loc": {
                                                          "start": {
                                                            "line": 131,
                                                            "column": 19
                                                          },
                                                          "end": {
                                                            "line": 131,
                                                            "column": 23
                                                          },
                                                          "identifierName": "data"
                                                        },
                                                        "name": "data"
                                                      }
                                                    ]
                                                  }
                                                }
                                              ],
                                              "directives": []
                                            },
                                            "alternate": {
                                              "type": "BlockStatement",
                                              "start": 4442,
                                              "end": 4526,
                                              "loc": {
                                                "start": {
                                                  "line": 132,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 134,
                                                  "column": 9
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 4455,
                                                  "end": 4515,
                                                  "loc": {
                                                    "start": {
                                                      "line": 133,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 133,
                                                      "column": 70
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 4455,
                                                    "end": 4514,
                                                    "loc": {
                                                      "start": {
                                                        "line": 133,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 133,
                                                        "column": 69
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 4455,
                                                      "end": 4467,
                                                      "loc": {
                                                        "start": {
                                                          "line": 133,
                                                          "column": 10
                                                        },
                                                        "end": {
                                                          "line": 133,
                                                          "column": 22
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 4455,
                                                        "end": 4462,
                                                        "loc": {
                                                          "start": {
                                                            "line": 133,
                                                            "column": 10
                                                          },
                                                          "end": {
                                                            "line": 133,
                                                            "column": 17
                                                          },
                                                          "identifierName": "console"
                                                        },
                                                        "name": "console"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 4463,
                                                        "end": 4467,
                                                        "loc": {
                                                          "start": {
                                                            "line": 133,
                                                            "column": 18
                                                          },
                                                          "end": {
                                                            "line": 133,
                                                            "column": 22
                                                          },
                                                          "identifierName": "warn"
                                                        },
                                                        "name": "warn"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "TemplateLiteral",
                                                        "start": 4468,
                                                        "end": 4513,
                                                        "loc": {
                                                          "start": {
                                                            "line": 133,
                                                            "column": 23
                                                          },
                                                          "end": {
                                                            "line": 133,
                                                            "column": 68
                                                          }
                                                        },
                                                        "expressions": [
                                                          {
                                                            "type": "Identifier",
                                                            "start": 4491,
                                                            "end": 4493,
                                                            "loc": {
                                                              "start": {
                                                                "line": 133,
                                                                "column": 46
                                                              },
                                                              "end": {
                                                                "line": 133,
                                                                "column": 48
                                                              },
                                                              "identifierName": "fn"
                                                            },
                                                            "name": "fn"
                                                          }
                                                        ],
                                                        "quasis": [
                                                          {
                                                            "type": "TemplateElement",
                                                            "start": 4469,
                                                            "end": 4489,
                                                            "loc": {
                                                              "start": {
                                                                "line": 133,
                                                                "column": 24
                                                              },
                                                              "end": {
                                                                "line": 133,
                                                                "column": 44
                                                              }
                                                            },
                                                            "value": {
                                                              "raw": "observer undefined::",
                                                              "cooked": "observer undefined::"
                                                            },
                                                            "tail": false
                                                          },
                                                          {
                                                            "type": "TemplateElement",
                                                            "start": 4494,
                                                            "end": 4512,
                                                            "loc": {
                                                              "start": {
                                                                "line": 133,
                                                                "column": 49
                                                              },
                                                              "end": {
                                                                "line": 133,
                                                                "column": 67
                                                              }
                                                            },
                                                            "value": {
                                                              "raw": " is not a function",
                                                              "cooked": " is not a function"
                                                            },
                                                            "tail": true
                                                          }
                                                        ]
                                                      }
                                                    ]
                                                  }
                                                }
                                              ],
                                              "directives": []
                                            }
                                          }
                                        ],
                                        "directives": []
                                      },
                                      "alternate": null
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            },
                            {
                              "type": "ObjectMethod",
                              "start": 4549,
                              "end": 4599,
                              "loc": {
                                "start": {
                                  "line": 137,
                                  "column": 4
                                },
                                "end": {
                                  "line": 139,
                                  "column": 5
                                }
                              },
                              "method": true,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4549,
                                "end": 4552,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 137,
                                    "column": 7
                                  },
                                  "identifierName": "get"
                                },
                                "name": "get"
                              },
                              "kind": "method",
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [],
                              "body": {
                                "type": "BlockStatement",
                                "start": 4555,
                                "end": 4599,
                                "loc": {
                                  "start": {
                                    "line": 137,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 139,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ReturnStatement",
                                    "start": 4564,
                                    "end": 4592,
                                    "loc": {
                                      "start": {
                                        "line": 138,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 138,
                                        "column": 34
                                      }
                                    },
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 4571,
                                      "end": 4591,
                                      "loc": {
                                        "start": {
                                          "line": 138,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 138,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4571,
                                        "end": 4575,
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 17
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "TemplateLiteral",
                                        "start": 4576,
                                        "end": 4590,
                                        "loc": {
                                          "start": {
                                            "line": 138,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 138,
                                            "column": 32
                                          }
                                        },
                                        "expressions": [
                                          {
                                            "type": "Identifier",
                                            "start": 4580,
                                            "end": 4588,
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 30
                                              },
                                              "identifierName": "property"
                                            },
                                            "name": "property"
                                          }
                                        ],
                                        "quasis": [
                                          {
                                            "type": "TemplateElement",
                                            "start": 4577,
                                            "end": 4578,
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 20
                                              }
                                            },
                                            "value": {
                                              "raw": "_",
                                              "cooked": "_"
                                            },
                                            "tail": false
                                          },
                                          {
                                            "type": "TemplateElement",
                                            "start": 4589,
                                            "end": 4589,
                                            "loc": {
                                              "start": {
                                                "line": 138,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 138,
                                                "column": 31
                                              }
                                            },
                                            "value": {
                                              "raw": "",
                                              "cooked": ""
                                            },
                                            "tail": true
                                          }
                                        ]
                                      },
                                      "computed": true
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            },
                            {
                              "type": "ObjectProperty",
                              "start": 4606,
                              "end": 4641,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 4
                                },
                                "end": {
                                  "line": 140,
                                  "column": 39
                                }
                              },
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "key": {
                                "type": "Identifier",
                                "start": 4606,
                                "end": 4618,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 16
                                  },
                                  "identifierName": "configurable"
                                },
                                "name": "configurable"
                              },
                              "value": {
                                "type": "ConditionalExpression",
                                "start": 4620,
                                "end": 4641,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 39
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 4620,
                                  "end": 4626,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 24
                                    },
                                    "identifierName": "strict"
                                  },
                                  "name": "strict"
                                },
                                "consequent": {
                                  "type": "BooleanLiteral",
                                  "start": 4629,
                                  "end": 4634,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 32
                                    }
                                  },
                                  "value": false
                                },
                                "alternate": {
                                  "type": "BooleanLiteral",
                                  "start": 4637,
                                  "end": 4641,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 39
                                    }
                                  },
                                  "value": true
                                }
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            },
            "leadingComments": null
          }
        ],
        "kind": "const",
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * Runs a method on target whenever given property changes\r\n *\r\n * example:\r\n * change(change) {\r\n *  change.property // name of the property\r\n *  change.value // value of the property\r\n * }\r\n *\r\n * @arg {object} obj target\r\n * @arg {string} property name\r\n * @arg {boolean} strict\r\n * @arg {method} fn The method to run on change\r\n ",
            "start": 3096,
            "end": 3436,
            "loc": {
              "start": {
                "line": 85,
                "column": 0
              },
              "end": {
                "line": 98,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "VariableDeclaration",
        "start": 4657,
        "end": 4826,
        "loc": {
          "start": {
            "line": 145,
            "column": 0
          },
          "end": {
            "line": 150,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 4663,
            "end": 4826,
            "loc": {
              "start": {
                "line": 145,
                "column": 6
              },
              "end": {
                "line": 150,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 4663,
              "end": 4678,
              "loc": {
                "start": {
                  "line": 145,
                  "column": 6
                },
                "end": {
                  "line": 145,
                  "column": 21
                },
                "identifierName": "handleObservers"
              },
              "name": "handleObservers"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 4681,
              "end": 4826,
              "loc": {
                "start": {
                  "line": 145,
                  "column": 24
                },
                "end": {
                  "line": 150,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 4663,
                "end": 4678,
                "loc": {
                  "start": {
                    "line": 145,
                    "column": 6
                  },
                  "end": {
                    "line": 145,
                    "column": 21
                  },
                  "identifierName": "handleObservers"
                },
                "name": "handleObservers"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 4682,
                  "end": 4688,
                  "loc": {
                    "start": {
                      "line": 145,
                      "column": 25
                    },
                    "end": {
                      "line": 145,
                      "column": 31
                    },
                    "identifierName": "target"
                  },
                  "name": "target"
                },
                {
                  "type": "AssignmentPattern",
                  "start": 4690,
                  "end": 4702,
                  "loc": {
                    "start": {
                      "line": 145,
                      "column": 33
                    },
                    "end": {
                      "line": 145,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 4690,
                    "end": 4699,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 33
                      },
                      "end": {
                        "line": 145,
                        "column": 42
                      },
                      "identifierName": "observers"
                    },
                    "name": "observers"
                  },
                  "right": {
                    "type": "ArrayExpression",
                    "start": 4700,
                    "end": 4702,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 43
                      },
                      "end": {
                        "line": 145,
                        "column": 45
                      }
                    },
                    "elements": []
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 4704,
                  "end": 4722,
                  "loc": {
                    "start": {
                      "line": 145,
                      "column": 47
                    },
                    "end": {
                      "line": 145,
                      "column": 65
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 4704,
                    "end": 4719,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 47
                      },
                      "end": {
                        "line": 145,
                        "column": 62
                      },
                      "identifierName": "globalObservers"
                    },
                    "name": "globalObservers"
                  },
                  "right": {
                    "type": "ArrayExpression",
                    "start": 4720,
                    "end": 4722,
                    "loc": {
                      "start": {
                        "line": 145,
                        "column": 63
                      },
                      "end": {
                        "line": 145,
                        "column": 65
                      }
                    },
                    "elements": []
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 4727,
                "end": 4826,
                "loc": {
                  "start": {
                    "line": 145,
                    "column": 70
                  },
                  "end": {
                    "line": 150,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 4732,
                    "end": 4787,
                    "loc": {
                      "start": {
                        "line": 146,
                        "column": 2
                      },
                      "end": {
                        "line": 148,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 4736,
                      "end": 4766,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 6
                        },
                        "end": {
                          "line": 146,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "UnaryExpression",
                        "start": 4736,
                        "end": 4746,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 6
                          },
                          "end": {
                            "line": 146,
                            "column": 16
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 4737,
                          "end": 4746,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 7
                            },
                            "end": {
                              "line": 146,
                              "column": 16
                            },
                            "identifierName": "observers"
                          },
                          "name": "observers"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "operator": "&&",
                      "right": {
                        "type": "UnaryExpression",
                        "start": 4750,
                        "end": 4766,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 20
                          },
                          "end": {
                            "line": 146,
                            "column": 36
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 4751,
                          "end": 4766,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 21
                            },
                            "end": {
                              "line": 146,
                              "column": 36
                            },
                            "identifierName": "globalObservers"
                          },
                          "name": "globalObservers"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 4768,
                      "end": 4787,
                      "loc": {
                        "start": {
                          "line": 146,
                          "column": 38
                        },
                        "end": {
                          "line": 148,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 4775,
                          "end": 4782,
                          "loc": {
                            "start": {
                              "line": 147,
                              "column": 4
                            },
                            "end": {
                              "line": 147,
                              "column": 11
                            }
                          },
                          "argument": null
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 4791,
                    "end": 4823,
                    "loc": {
                      "start": {
                        "line": 149,
                        "column": 2
                      },
                      "end": {
                        "line": 149,
                        "column": 34
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 4791,
                      "end": 4822,
                      "loc": {
                        "start": {
                          "line": 149,
                          "column": 2
                        },
                        "end": {
                          "line": 149,
                          "column": 33
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 4791,
                        "end": 4803,
                        "loc": {
                          "start": {
                            "line": 149,
                            "column": 2
                          },
                          "end": {
                            "line": 149,
                            "column": 14
                          },
                          "identifierName": "forObservers"
                        },
                        "name": "forObservers"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 4804,
                          "end": 4810,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 15
                            },
                            "end": {
                              "line": 149,
                              "column": 21
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        {
                          "type": "Identifier",
                          "start": 4812,
                          "end": 4821,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 23
                            },
                            "end": {
                              "line": 149,
                              "column": 32
                            },
                            "identifierName": "observers"
                          },
                          "name": "observers"
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 4830,
        "end": 5363,
        "loc": {
          "start": {
            "line": 152,
            "column": 0
          },
          "end": {
            "line": 169,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 4836,
            "end": 5363,
            "loc": {
              "start": {
                "line": 152,
                "column": 6
              },
              "end": {
                "line": 169,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 4836,
              "end": 4851,
              "loc": {
                "start": {
                  "line": 152,
                  "column": 6
                },
                "end": {
                  "line": 152,
                  "column": 21
                },
                "identifierName": "handleListeners"
              },
              "name": "handleListeners"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 4854,
              "end": 5363,
              "loc": {
                "start": {
                  "line": 152,
                  "column": 24
                },
                "end": {
                  "line": 169,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 4836,
                "end": 4851,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 6
                  },
                  "end": {
                    "line": 152,
                    "column": 21
                  },
                  "identifierName": "handleListeners"
                },
                "name": "handleListeners"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 4854,
                  "end": 4860,
                  "loc": {
                    "start": {
                      "line": 152,
                      "column": 24
                    },
                    "end": {
                      "line": 152,
                      "column": 30
                    },
                    "identifierName": "target"
                  },
                  "name": "target"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 4864,
                "end": 5363,
                "loc": {
                  "start": {
                    "line": 152,
                    "column": 34
                  },
                  "end": {
                    "line": 169,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 4869,
                    "end": 4906,
                    "loc": {
                      "start": {
                        "line": 153,
                        "column": 2
                      },
                      "end": {
                        "line": 153,
                        "column": 39
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 4875,
                        "end": 4905,
                        "loc": {
                          "start": {
                            "line": 153,
                            "column": 8
                          },
                          "end": {
                            "line": 153,
                            "column": 38
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 4875,
                          "end": 4885,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 8
                            },
                            "end": {
                              "line": 153,
                              "column": 18
                            },
                            "identifierName": "attributes"
                          },
                          "name": "attributes"
                        },
                        "init": {
                          "type": "MemberExpression",
                          "start": 4888,
                          "end": 4905,
                          "loc": {
                            "start": {
                              "line": 153,
                              "column": 21
                            },
                            "end": {
                              "line": 153,
                              "column": 38
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4888,
                            "end": 4894,
                            "loc": {
                              "start": {
                                "line": 153,
                                "column": 21
                              },
                              "end": {
                                "line": 153,
                                "column": 27
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4895,
                            "end": 4905,
                            "loc": {
                              "start": {
                                "line": 153,
                                "column": 28
                              },
                              "end": {
                                "line": 153,
                                "column": 38
                              },
                              "identifierName": "attributes"
                            },
                            "name": "attributes"
                          },
                          "computed": false
                        }
                      }
                    ],
                    "kind": "const"
                  },
                  {
                    "type": "ForOfStatement",
                    "start": 4910,
                    "end": 5360,
                    "loc": {
                      "start": {
                        "line": 154,
                        "column": 2
                      },
                      "end": {
                        "line": 168,
                        "column": 3
                      }
                    },
                    "left": {
                      "type": "VariableDeclaration",
                      "start": 4915,
                      "end": 4930,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 7
                        },
                        "end": {
                          "line": 154,
                          "column": 22
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4921,
                          "end": 4930,
                          "loc": {
                            "start": {
                              "line": 154,
                              "column": 13
                            },
                            "end": {
                              "line": 154,
                              "column": 22
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4921,
                            "end": 4930,
                            "loc": {
                              "start": {
                                "line": 154,
                                "column": 13
                              },
                              "end": {
                                "line": 154,
                                "column": 22
                              },
                              "identifierName": "attribute"
                            },
                            "name": "attribute"
                          },
                          "init": null
                        }
                      ],
                      "kind": "const"
                    },
                    "right": {
                      "type": "Identifier",
                      "start": 4934,
                      "end": 4944,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 26
                        },
                        "end": {
                          "line": 154,
                          "column": 36
                        },
                        "identifierName": "attributes"
                      },
                      "name": "attributes"
                    },
                    "body": {
                      "type": "BlockStatement",
                      "start": 4946,
                      "end": 5360,
                      "loc": {
                        "start": {
                          "line": 154,
                          "column": 38
                        },
                        "end": {
                          "line": 168,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 4953,
                          "end": 5355,
                          "loc": {
                            "start": {
                              "line": 155,
                              "column": 4
                            },
                            "end": {
                              "line": 167,
                              "column": 5
                            }
                          },
                          "test": {
                            "type": "CallExpression",
                            "start": 4957,
                            "end": 4995,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 8
                              },
                              "end": {
                                "line": 155,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4957,
                              "end": 4988,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 8
                                },
                                "end": {
                                  "line": 155,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 4957,
                                "end": 4979,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 30
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 4957,
                                  "end": 4963,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 14
                                    },
                                    "identifierName": "String"
                                  },
                                  "name": "String"
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 4964,
                                    "end": 4978,
                                    "loc": {
                                      "start": {
                                        "line": 155,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 155,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4964,
                                      "end": 4973,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 24
                                        },
                                        "identifierName": "attribute"
                                      },
                                      "name": "attribute"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4974,
                                      "end": 4978,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 29
                                        },
                                        "identifierName": "name"
                                      },
                                      "name": "name"
                                    },
                                    "computed": false
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4980,
                                "end": 4988,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 39
                                  },
                                  "identifierName": "includes"
                                },
                                "name": "includes"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 4989,
                                "end": 4994,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 45
                                  }
                                },
                                "extra": {
                                  "rawValue": "on-",
                                  "raw": "'on-'"
                                },
                                "value": "on-"
                              }
                            ]
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 4997,
                            "end": 5355,
                            "loc": {
                              "start": {
                                "line": 155,
                                "column": 48
                              },
                              "end": {
                                "line": 167,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 5006,
                                "end": 5033,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 33
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 5012,
                                    "end": 5032,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 32
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 5012,
                                      "end": 5014,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 14
                                        },
                                        "identifierName": "fn"
                                      },
                                      "name": "fn"
                                    },
                                    "init": {
                                      "type": "MemberExpression",
                                      "start": 5017,
                                      "end": 5032,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 32
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5017,
                                        "end": 5026,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 26
                                          },
                                          "identifierName": "attribute"
                                        },
                                        "name": "attribute"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5027,
                                        "end": 5032,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 32
                                          },
                                          "identifierName": "value"
                                        },
                                        "name": "value"
                                      },
                                      "computed": false
                                    }
                                  }
                                ],
                                "kind": "const"
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 5041,
                                "end": 5088,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 157,
                                    "column": 53
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 5047,
                                    "end": 5087,
                                    "loc": {
                                      "start": {
                                        "line": 157,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 157,
                                        "column": 52
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 5047,
                                      "end": 5051,
                                      "loc": {
                                        "start": {
                                          "line": 157,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 157,
                                          "column": 16
                                        },
                                        "identifierName": "name"
                                      },
                                      "name": "name"
                                    },
                                    "init": {
                                      "type": "CallExpression",
                                      "start": 5054,
                                      "end": 5087,
                                      "loc": {
                                        "start": {
                                          "line": 157,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 157,
                                          "column": 52
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 5054,
                                        "end": 5076,
                                        "loc": {
                                          "start": {
                                            "line": 157,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 157,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 5054,
                                          "end": 5068,
                                          "loc": {
                                            "start": {
                                              "line": 157,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 157,
                                              "column": 33
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 5054,
                                            "end": 5063,
                                            "loc": {
                                              "start": {
                                                "line": 157,
                                                "column": 19
                                              },
                                              "end": {
                                                "line": 157,
                                                "column": 28
                                              },
                                              "identifierName": "attribute"
                                            },
                                            "name": "attribute"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 5064,
                                            "end": 5068,
                                            "loc": {
                                              "start": {
                                                "line": 157,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 157,
                                                "column": 33
                                              },
                                              "identifierName": "name"
                                            },
                                            "name": "name"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5069,
                                          "end": 5076,
                                          "loc": {
                                            "start": {
                                              "line": 157,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 157,
                                              "column": 41
                                            },
                                            "identifierName": "replace"
                                          },
                                          "name": "replace"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "StringLiteral",
                                          "start": 5077,
                                          "end": 5082,
                                          "loc": {
                                            "start": {
                                              "line": 157,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 157,
                                              "column": 47
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "on-",
                                            "raw": "'on-'"
                                          },
                                          "value": "on-"
                                        },
                                        {
                                          "type": "StringLiteral",
                                          "start": 5084,
                                          "end": 5086,
                                          "loc": {
                                            "start": {
                                              "line": 157,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 157,
                                              "column": 51
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "",
                                            "raw": "''"
                                          },
                                          "value": ""
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "const"
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 5096,
                                "end": 5348,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 166,
                                    "column": 9
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 5096,
                                  "end": 5347,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 166,
                                      "column": 8
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 5096,
                                    "end": 5119,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 5096,
                                      "end": 5102,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 12
                                        },
                                        "identifierName": "target"
                                      },
                                      "name": "target"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5103,
                                      "end": 5119,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 29
                                        },
                                        "identifierName": "addEventListener"
                                      },
                                      "name": "addEventListener"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 5120,
                                      "end": 5132,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 42
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 5120,
                                        "end": 5126,
                                        "loc": {
                                          "start": {
                                            "line": 158,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 158,
                                            "column": 36
                                          },
                                          "identifierName": "String"
                                        },
                                        "name": "String"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 5127,
                                          "end": 5131,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 37
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 41
                                            },
                                            "identifierName": "name"
                                          },
                                          "name": "name"
                                        }
                                      ]
                                    },
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 5134,
                                      "end": 5346,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 166,
                                          "column": 7
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 5134,
                                          "end": 5139,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 49
                                            },
                                            "identifierName": "event"
                                          },
                                          "name": "event"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 5143,
                                        "end": 5346,
                                        "loc": {
                                          "start": {
                                            "line": 158,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 166,
                                            "column": 7
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 5154,
                                            "end": 5177,
                                            "loc": {
                                              "start": {
                                                "line": 159,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 31
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 5154,
                                              "end": 5176,
                                              "loc": {
                                                "start": {
                                                  "line": 159,
                                                  "column": 8
                                                },
                                                "end": {
                                                  "line": 159,
                                                  "column": 30
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5154,
                                                "end": 5160,
                                                "loc": {
                                                  "start": {
                                                    "line": 159,
                                                    "column": 8
                                                  },
                                                  "end": {
                                                    "line": 159,
                                                    "column": 14
                                                  },
                                                  "identifierName": "target"
                                                },
                                                "name": "target"
                                              },
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 5163,
                                                "end": 5176,
                                                "loc": {
                                                  "start": {
                                                    "line": 159,
                                                    "column": 17
                                                  },
                                                  "end": {
                                                    "line": 159,
                                                    "column": 30
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 5163,
                                                  "end": 5173,
                                                  "loc": {
                                                    "start": {
                                                      "line": 159,
                                                      "column": 17
                                                    },
                                                    "end": {
                                                      "line": 159,
                                                      "column": 27
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5163,
                                                    "end": 5168,
                                                    "loc": {
                                                      "start": {
                                                        "line": 159,
                                                        "column": 17
                                                      },
                                                      "end": {
                                                        "line": 159,
                                                        "column": 22
                                                      },
                                                      "identifierName": "event"
                                                    },
                                                    "name": "event"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5169,
                                                    "end": 5173,
                                                    "loc": {
                                                      "start": {
                                                        "line": 159,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 159,
                                                        "column": 27
                                                      },
                                                      "identifierName": "path"
                                                    },
                                                    "name": "path"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "NumericLiteral",
                                                  "start": 5174,
                                                  "end": 5175,
                                                  "loc": {
                                                    "start": {
                                                      "line": 159,
                                                      "column": 28
                                                    },
                                                    "end": {
                                                      "line": 159,
                                                      "column": 29
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": 0,
                                                    "raw": "0"
                                                  },
                                                  "value": 0
                                                },
                                                "computed": true
                                              }
                                            }
                                          },
                                          {
                                            "type": "WhileStatement",
                                            "start": 5187,
                                            "end": 5259,
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 9
                                              }
                                            },
                                            "test": {
                                              "type": "UnaryExpression",
                                              "start": 5194,
                                              "end": 5206,
                                              "loc": {
                                                "start": {
                                                  "line": 160,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 160,
                                                  "column": 27
                                                }
                                              },
                                              "operator": "!",
                                              "prefix": true,
                                              "argument": {
                                                "type": "MemberExpression",
                                                "start": 5195,
                                                "end": 5206,
                                                "loc": {
                                                  "start": {
                                                    "line": 160,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 160,
                                                    "column": 27
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 5195,
                                                  "end": 5201,
                                                  "loc": {
                                                    "start": {
                                                      "line": 160,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 160,
                                                      "column": 22
                                                    },
                                                    "identifierName": "target"
                                                  },
                                                  "name": "target"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5202,
                                                  "end": 5206,
                                                  "loc": {
                                                    "start": {
                                                      "line": 160,
                                                      "column": 23
                                                    },
                                                    "end": {
                                                      "line": 160,
                                                      "column": 27
                                                    },
                                                    "identifierName": "host"
                                                  },
                                                  "name": "host"
                                                },
                                                "computed": false
                                              },
                                              "extra": {
                                                "parenthesizedArgument": false
                                              }
                                            },
                                            "body": {
                                              "type": "BlockStatement",
                                              "start": 5208,
                                              "end": 5259,
                                              "loc": {
                                                "start": {
                                                  "line": 160,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 162,
                                                  "column": 9
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 5221,
                                                  "end": 5248,
                                                  "loc": {
                                                    "start": {
                                                      "line": 161,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 161,
                                                      "column": 37
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "AssignmentExpression",
                                                    "start": 5221,
                                                    "end": 5247,
                                                    "loc": {
                                                      "start": {
                                                        "line": 161,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 161,
                                                        "column": 36
                                                      }
                                                    },
                                                    "operator": "=",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 5221,
                                                      "end": 5227,
                                                      "loc": {
                                                        "start": {
                                                          "line": 161,
                                                          "column": 10
                                                        },
                                                        "end": {
                                                          "line": 161,
                                                          "column": 16
                                                        },
                                                        "identifierName": "target"
                                                      },
                                                      "name": "target"
                                                    },
                                                    "right": {
                                                      "type": "MemberExpression",
                                                      "start": 5230,
                                                      "end": 5247,
                                                      "loc": {
                                                        "start": {
                                                          "line": 161,
                                                          "column": 19
                                                        },
                                                        "end": {
                                                          "line": 161,
                                                          "column": 36
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 5230,
                                                        "end": 5236,
                                                        "loc": {
                                                          "start": {
                                                            "line": 161,
                                                            "column": 19
                                                          },
                                                          "end": {
                                                            "line": 161,
                                                            "column": 25
                                                          },
                                                          "identifierName": "target"
                                                        },
                                                        "name": "target"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 5237,
                                                        "end": 5247,
                                                        "loc": {
                                                          "start": {
                                                            "line": 161,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 161,
                                                            "column": 36
                                                          },
                                                          "identifierName": "parentNode"
                                                        },
                                                        "name": "parentNode"
                                                      },
                                                      "computed": false
                                                    }
                                                  }
                                                }
                                              ],
                                              "directives": []
                                            }
                                          },
                                          {
                                            "type": "IfStatement",
                                            "start": 5269,
                                            "end": 5337,
                                            "loc": {
                                              "start": {
                                                "line": 163,
                                                "column": 8
                                              },
                                              "end": {
                                                "line": 165,
                                                "column": 9
                                              }
                                            },
                                            "test": {
                                              "type": "MemberExpression",
                                              "start": 5273,
                                              "end": 5288,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 163,
                                                  "column": 27
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 5273,
                                                "end": 5284,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 23
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 5273,
                                                  "end": 5279,
                                                  "loc": {
                                                    "start": {
                                                      "line": 163,
                                                      "column": 12
                                                    },
                                                    "end": {
                                                      "line": 163,
                                                      "column": 18
                                                    },
                                                    "identifierName": "target"
                                                  },
                                                  "name": "target"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5280,
                                                  "end": 5284,
                                                  "loc": {
                                                    "start": {
                                                      "line": 163,
                                                      "column": 19
                                                    },
                                                    "end": {
                                                      "line": 163,
                                                      "column": 23
                                                    },
                                                    "identifierName": "host"
                                                  },
                                                  "name": "host"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5285,
                                                "end": 5287,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 26
                                                  },
                                                  "identifierName": "fn"
                                                },
                                                "name": "fn"
                                              },
                                              "computed": true
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "start": 5290,
                                              "end": 5337,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 9
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 5303,
                                                  "end": 5326,
                                                  "loc": {
                                                    "start": {
                                                      "line": 164,
                                                      "column": 10
                                                    },
                                                    "end": {
                                                      "line": 164,
                                                      "column": 33
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 5303,
                                                    "end": 5325,
                                                    "loc": {
                                                      "start": {
                                                        "line": 164,
                                                        "column": 10
                                                      },
                                                      "end": {
                                                        "line": 164,
                                                        "column": 32
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 5303,
                                                      "end": 5318,
                                                      "loc": {
                                                        "start": {
                                                          "line": 164,
                                                          "column": 10
                                                        },
                                                        "end": {
                                                          "line": 164,
                                                          "column": 25
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 5303,
                                                        "end": 5314,
                                                        "loc": {
                                                          "start": {
                                                            "line": 164,
                                                            "column": 10
                                                          },
                                                          "end": {
                                                            "line": 164,
                                                            "column": 21
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 5303,
                                                          "end": 5309,
                                                          "loc": {
                                                            "start": {
                                                              "line": 164,
                                                              "column": 10
                                                            },
                                                            "end": {
                                                              "line": 164,
                                                              "column": 16
                                                            },
                                                            "identifierName": "target"
                                                          },
                                                          "name": "target"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 5310,
                                                          "end": 5314,
                                                          "loc": {
                                                            "start": {
                                                              "line": 164,
                                                              "column": 17
                                                            },
                                                            "end": {
                                                              "line": 164,
                                                              "column": 21
                                                            },
                                                            "identifierName": "host"
                                                          },
                                                          "name": "host"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 5315,
                                                        "end": 5317,
                                                        "loc": {
                                                          "start": {
                                                            "line": 164,
                                                            "column": 22
                                                          },
                                                          "end": {
                                                            "line": 164,
                                                            "column": 24
                                                          },
                                                          "identifierName": "fn"
                                                        },
                                                        "name": "fn"
                                                      },
                                                      "computed": true
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "Identifier",
                                                        "start": 5319,
                                                        "end": 5324,
                                                        "loc": {
                                                          "start": {
                                                            "line": 164,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 164,
                                                            "column": 31
                                                          },
                                                          "identifierName": "event"
                                                        },
                                                        "name": "event"
                                                      }
                                                    ]
                                                  }
                                                }
                                              ],
                                              "directives": []
                                            },
                                            "alternate": null
                                          }
                                        ],
                                        "directives": []
                                      }
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        }
                      ],
                      "directives": []
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 5367,
        "end": 5474,
        "loc": {
          "start": {
            "line": 171,
            "column": 0
          },
          "end": {
            "line": 175,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 5373,
            "end": 5474,
            "loc": {
              "start": {
                "line": 171,
                "column": 6
              },
              "end": {
                "line": 175,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 5373,
              "end": 5378,
              "loc": {
                "start": {
                  "line": 171,
                  "column": 6
                },
                "end": {
                  "line": 171,
                  "column": 11
                },
                "identifierName": "ready"
              },
              "name": "ready"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 5381,
              "end": 5474,
              "loc": {
                "start": {
                  "line": 171,
                  "column": 14
                },
                "end": {
                  "line": 175,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 5373,
                "end": 5378,
                "loc": {
                  "start": {
                    "line": 171,
                    "column": 6
                  },
                  "end": {
                    "line": 171,
                    "column": 11
                  },
                  "identifierName": "ready"
                },
                "name": "ready"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 5381,
                  "end": 5387,
                  "loc": {
                    "start": {
                      "line": 171,
                      "column": 14
                    },
                    "end": {
                      "line": 171,
                      "column": 20
                    },
                    "identifierName": "target"
                  },
                  "name": "target"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 5391,
                "end": 5474,
                "loc": {
                  "start": {
                    "line": 171,
                    "column": 24
                  },
                  "end": {
                    "line": 175,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5396,
                    "end": 5471,
                    "loc": {
                      "start": {
                        "line": 172,
                        "column": 2
                      },
                      "end": {
                        "line": 174,
                        "column": 5
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 5396,
                      "end": 5470,
                      "loc": {
                        "start": {
                          "line": 172,
                          "column": 2
                        },
                        "end": {
                          "line": 174,
                          "column": 4
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 5396,
                        "end": 5417,
                        "loc": {
                          "start": {
                            "line": 172,
                            "column": 2
                          },
                          "end": {
                            "line": 172,
                            "column": 23
                          },
                          "identifierName": "requestAnimationFrame"
                        },
                        "name": "requestAnimationFrame"
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 5418,
                          "end": 5469,
                          "loc": {
                            "start": {
                              "line": 172,
                              "column": 24
                            },
                            "end": {
                              "line": 174,
                              "column": 3
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [],
                          "body": {
                            "type": "BlockStatement",
                            "start": 5424,
                            "end": 5469,
                            "loc": {
                              "start": {
                                "line": 172,
                                "column": 30
                              },
                              "end": {
                                "line": 174,
                                "column": 3
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 5431,
                                "end": 5464,
                                "loc": {
                                  "start": {
                                    "line": 173,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 173,
                                    "column": 37
                                  }
                                },
                                "test": {
                                  "type": "MemberExpression",
                                  "start": 5435,
                                  "end": 5447,
                                  "loc": {
                                    "start": {
                                      "line": 173,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 173,
                                      "column": 20
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 5435,
                                    "end": 5441,
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 14
                                      },
                                      "identifierName": "target"
                                    },
                                    "name": "target"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5442,
                                    "end": 5447,
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 20
                                      },
                                      "identifierName": "ready"
                                    },
                                    "name": "ready"
                                  },
                                  "computed": false
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 5449,
                                  "end": 5464,
                                  "loc": {
                                    "start": {
                                      "line": 173,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 173,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 5449,
                                    "end": 5463,
                                    "loc": {
                                      "start": {
                                        "line": 173,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 173,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 5449,
                                      "end": 5461,
                                      "loc": {
                                        "start": {
                                          "line": 173,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 173,
                                          "column": 34
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 5449,
                                        "end": 5455,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 28
                                          },
                                          "identifierName": "target"
                                        },
                                        "name": "target"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5456,
                                        "end": 5461,
                                        "loc": {
                                          "start": {
                                            "line": 173,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 173,
                                            "column": 34
                                          },
                                          "identifierName": "ready"
                                        },
                                        "name": "ready"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          }
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 5478,
        "end": 5938,
        "loc": {
          "start": {
            "line": 177,
            "column": 0
          },
          "end": {
            "line": 190,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 5484,
            "end": 5938,
            "loc": {
              "start": {
                "line": 177,
                "column": 6
              },
              "end": {
                "line": 190,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 5484,
              "end": 5503,
              "loc": {
                "start": {
                  "line": 177,
                  "column": 6
                },
                "end": {
                  "line": 177,
                  "column": 25
                },
                "identifierName": "constructorCallback"
              },
              "name": "constructorCallback"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 5506,
              "end": 5938,
              "loc": {
                "start": {
                  "line": 177,
                  "column": 28
                },
                "end": {
                  "line": 190,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 5484,
                "end": 5503,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 6
                  },
                  "end": {
                    "line": 177,
                    "column": 25
                  },
                  "identifierName": "constructorCallback"
                },
                "name": "constructorCallback"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "AssignmentPattern",
                  "start": 5507,
                  "end": 5525,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 29
                    },
                    "end": {
                      "line": 177,
                      "column": 47
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5507,
                    "end": 5513,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 29
                      },
                      "end": {
                        "line": 177,
                        "column": 35
                      },
                      "identifierName": "target"
                    },
                    "name": "target"
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 5514,
                    "end": 5525,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 36
                      },
                      "end": {
                        "line": 177,
                        "column": 47
                      },
                      "identifierName": "HTMLElement"
                    },
                    "name": "HTMLElement"
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 5527,
                  "end": 5541,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 49
                    },
                    "end": {
                      "line": 177,
                      "column": 63
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5527,
                    "end": 5532,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 49
                      },
                      "end": {
                        "line": 177,
                        "column": 54
                      },
                      "identifierName": "klass"
                    },
                    "name": "klass"
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 5533,
                    "end": 5541,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 55
                      },
                      "end": {
                        "line": 177,
                        "column": 63
                      },
                      "identifierName": "Function"
                    },
                    "name": "Function"
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 5543,
                  "end": 5558,
                  "loc": {
                    "start": {
                      "line": 177,
                      "column": 65
                    },
                    "end": {
                      "line": 177,
                      "column": 80
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5543,
                    "end": 5552,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 65
                      },
                      "end": {
                        "line": 177,
                        "column": 74
                      },
                      "identifierName": "hasWindow"
                    },
                    "name": "hasWindow"
                  },
                  "right": {
                    "type": "BooleanLiteral",
                    "start": 5553,
                    "end": 5558,
                    "loc": {
                      "start": {
                        "line": 177,
                        "column": 75
                      },
                      "end": {
                        "line": 177,
                        "column": 80
                      }
                    },
                    "value": false
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 5563,
                "end": 5938,
                "loc": {
                  "start": {
                    "line": 177,
                    "column": 85
                  },
                  "end": {
                    "line": 190,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 5570,
                    "end": 5632,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 2
                      },
                      "end": {
                        "line": 179,
                        "column": 64
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5570,
                      "end": 5631,
                      "loc": {
                        "start": {
                          "line": 179,
                          "column": 2
                        },
                        "end": {
                          "line": 179,
                          "column": 63
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 5570,
                        "end": 5586,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 2
                          },
                          "end": {
                            "line": 179,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5570,
                          "end": 5576,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 2
                            },
                            "end": {
                              "line": 179,
                              "column": 8
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5577,
                          "end": 5586,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 9
                            },
                            "end": {
                              "line": 179,
                              "column": 18
                            },
                            "identifierName": "fireEvent"
                          },
                          "name": "fireEvent"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "LogicalExpression",
                        "start": 5589,
                        "end": 5631,
                        "loc": {
                          "start": {
                            "line": 179,
                            "column": 21
                          },
                          "end": {
                            "line": 179,
                            "column": 63
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5589,
                          "end": 5605,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 21
                            },
                            "end": {
                              "line": 179,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5589,
                            "end": 5595,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 21
                              },
                              "end": {
                                "line": 179,
                                "column": 27
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5596,
                            "end": 5605,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 28
                              },
                              "end": {
                                "line": 179,
                                "column": 37
                              },
                              "identifierName": "fireEvent"
                            },
                            "name": "fireEvent"
                          },
                          "computed": false
                        },
                        "operator": "||",
                        "right": {
                          "type": "CallExpression",
                          "start": 5609,
                          "end": 5631,
                          "loc": {
                            "start": {
                              "line": 179,
                              "column": 41
                            },
                            "end": {
                              "line": 179,
                              "column": 63
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5609,
                            "end": 5623,
                            "loc": {
                              "start": {
                                "line": 179,
                                "column": 41
                              },
                              "end": {
                                "line": 179,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5609,
                              "end": 5618,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 41
                                },
                                "end": {
                                  "line": 179,
                                  "column": 50
                                },
                                "identifierName": "fireEvent"
                              },
                              "name": "fireEvent"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5619,
                              "end": 5623,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 51
                                },
                                "end": {
                                  "line": 179,
                                  "column": 55
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5624,
                              "end": 5630,
                              "loc": {
                                "start": {
                                  "line": 179,
                                  "column": 56
                                },
                                "end": {
                                  "line": 179,
                                  "column": 62
                                },
                                "identifierName": "target"
                              },
                              "name": "target"
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 5636,
                    "end": 5695,
                    "loc": {
                      "start": {
                        "line": 180,
                        "column": 2
                      },
                      "end": {
                        "line": 180,
                        "column": 61
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5636,
                      "end": 5694,
                      "loc": {
                        "start": {
                          "line": 180,
                          "column": 2
                        },
                        "end": {
                          "line": 180,
                          "column": 60
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 5636,
                        "end": 5651,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 2
                          },
                          "end": {
                            "line": 180,
                            "column": 17
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5636,
                          "end": 5642,
                          "loc": {
                            "start": {
                              "line": 180,
                              "column": 2
                            },
                            "end": {
                              "line": 180,
                              "column": 8
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5643,
                          "end": 5651,
                          "loc": {
                            "start": {
                              "line": 180,
                              "column": 9
                            },
                            "end": {
                              "line": 180,
                              "column": 17
                            },
                            "identifierName": "toJsProp"
                          },
                          "name": "toJsProp"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "LogicalExpression",
                        "start": 5654,
                        "end": 5694,
                        "loc": {
                          "start": {
                            "line": 180,
                            "column": 20
                          },
                          "end": {
                            "line": 180,
                            "column": 60
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5654,
                          "end": 5669,
                          "loc": {
                            "start": {
                              "line": 180,
                              "column": 20
                            },
                            "end": {
                              "line": 180,
                              "column": 35
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5654,
                            "end": 5660,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 20
                              },
                              "end": {
                                "line": 180,
                                "column": 26
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5661,
                            "end": 5669,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 27
                              },
                              "end": {
                                "line": 180,
                                "column": 35
                              },
                              "identifierName": "toJsProp"
                            },
                            "name": "toJsProp"
                          },
                          "computed": false
                        },
                        "operator": "||",
                        "right": {
                          "type": "CallExpression",
                          "start": 5673,
                          "end": 5694,
                          "loc": {
                            "start": {
                              "line": 180,
                              "column": 39
                            },
                            "end": {
                              "line": 180,
                              "column": 60
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5673,
                            "end": 5686,
                            "loc": {
                              "start": {
                                "line": 180,
                                "column": 39
                              },
                              "end": {
                                "line": 180,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5673,
                              "end": 5681,
                              "loc": {
                                "start": {
                                  "line": 180,
                                  "column": 39
                                },
                                "end": {
                                  "line": 180,
                                  "column": 47
                                },
                                "identifierName": "toJsProp"
                              },
                              "name": "toJsProp"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5682,
                              "end": 5686,
                              "loc": {
                                "start": {
                                  "line": 180,
                                  "column": 48
                                },
                                "end": {
                                  "line": 180,
                                  "column": 52
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5687,
                              "end": 5693,
                              "loc": {
                                "start": {
                                  "line": 180,
                                  "column": 53
                                },
                                "end": {
                                  "line": 180,
                                  "column": 59
                                },
                                "identifierName": "target"
                              },
                              "name": "target"
                            }
                          ]
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 5699,
                    "end": 5764,
                    "loc": {
                      "start": {
                        "line": 181,
                        "column": 2
                      },
                      "end": {
                        "line": 181,
                        "column": 67
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5699,
                      "end": 5763,
                      "loc": {
                        "start": {
                          "line": 181,
                          "column": 2
                        },
                        "end": {
                          "line": 181,
                          "column": 66
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 5699,
                        "end": 5716,
                        "loc": {
                          "start": {
                            "line": 181,
                            "column": 2
                          },
                          "end": {
                            "line": 181,
                            "column": 19
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5699,
                          "end": 5705,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 2
                            },
                            "end": {
                              "line": 181,
                              "column": 8
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5706,
                          "end": 5716,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 9
                            },
                            "end": {
                              "line": 181,
                              "column": 19
                            },
                            "identifierName": "loadScript"
                          },
                          "name": "loadScript"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "LogicalExpression",
                        "start": 5719,
                        "end": 5763,
                        "loc": {
                          "start": {
                            "line": 181,
                            "column": 22
                          },
                          "end": {
                            "line": 181,
                            "column": 66
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5719,
                          "end": 5736,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 22
                            },
                            "end": {
                              "line": 181,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5719,
                            "end": 5725,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 22
                              },
                              "end": {
                                "line": 181,
                                "column": 28
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5726,
                            "end": 5736,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 29
                              },
                              "end": {
                                "line": 181,
                                "column": 39
                              },
                              "identifierName": "loadScript"
                            },
                            "name": "loadScript"
                          },
                          "computed": false
                        },
                        "operator": "||",
                        "right": {
                          "type": "CallExpression",
                          "start": 5740,
                          "end": 5763,
                          "loc": {
                            "start": {
                              "line": 181,
                              "column": 43
                            },
                            "end": {
                              "line": 181,
                              "column": 66
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5740,
                            "end": 5755,
                            "loc": {
                              "start": {
                                "line": 181,
                                "column": 43
                              },
                              "end": {
                                "line": 181,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5740,
                              "end": 5750,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 43
                                },
                                "end": {
                                  "line": 181,
                                  "column": 53
                                },
                                "identifierName": "loadScript"
                              },
                              "name": "loadScript"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5751,
                              "end": 5755,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 54
                                },
                                "end": {
                                  "line": 181,
                                  "column": 58
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5756,
                              "end": 5762,
                              "loc": {
                                "start": {
                                  "line": 181,
                                  "column": 59
                                },
                                "end": {
                                  "line": 181,
                                  "column": 65
                                },
                                "identifierName": "target"
                              },
                              "name": "target"
                            }
                          ]
                        }
                      }
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " setup properties",
                        "start": 5772,
                        "end": 5791,
                        "loc": {
                          "start": {
                            "line": 184,
                            "column": 2
                          },
                          "end": {
                            "line": 184,
                            "column": 21
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 5797,
                    "end": 5856,
                    "loc": {
                      "start": {
                        "line": 186,
                        "column": 2
                      },
                      "end": {
                        "line": 186,
                        "column": 61
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 5801,
                      "end": 5837,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 6
                        },
                        "end": {
                          "line": 186,
                          "column": 42
                        }
                      },
                      "left": {
                        "type": "UnaryExpression",
                        "start": 5801,
                        "end": 5819,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 6
                          },
                          "end": {
                            "line": 186,
                            "column": 24
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 5802,
                          "end": 5819,
                          "loc": {
                            "start": {
                              "line": 186,
                              "column": 7
                            },
                            "end": {
                              "line": 186,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5802,
                            "end": 5808,
                            "loc": {
                              "start": {
                                "line": 186,
                                "column": 7
                              },
                              "end": {
                                "line": 186,
                                "column": 13
                              },
                              "identifierName": "target"
                            },
                            "name": "target",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5809,
                            "end": 5819,
                            "loc": {
                              "start": {
                                "line": 186,
                                "column": 14
                              },
                              "end": {
                                "line": 186,
                                "column": 24
                              },
                              "identifierName": "registered"
                            },
                            "name": "registered"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        },
                        "leadingComments": null
                      },
                      "operator": "&&",
                      "right": {
                        "type": "MemberExpression",
                        "start": 5823,
                        "end": 5837,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 28
                          },
                          "end": {
                            "line": 186,
                            "column": 42
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5823,
                          "end": 5829,
                          "loc": {
                            "start": {
                              "line": 186,
                              "column": 28
                            },
                            "end": {
                              "line": 186,
                              "column": 34
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5830,
                          "end": 5837,
                          "loc": {
                            "start": {
                              "line": 186,
                              "column": 35
                            },
                            "end": {
                              "line": 186,
                              "column": 42
                            },
                            "identifierName": "created"
                          },
                          "name": "created"
                        },
                        "computed": false
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "ExpressionStatement",
                      "start": 5839,
                      "end": 5856,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 44
                        },
                        "end": {
                          "line": 186,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 5839,
                        "end": 5855,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 44
                          },
                          "end": {
                            "line": 186,
                            "column": 60
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 5839,
                          "end": 5853,
                          "loc": {
                            "start": {
                              "line": 186,
                              "column": 44
                            },
                            "end": {
                              "line": 186,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 5839,
                            "end": 5845,
                            "loc": {
                              "start": {
                                "line": 186,
                                "column": 44
                              },
                              "end": {
                                "line": 186,
                                "column": 50
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5846,
                            "end": 5853,
                            "loc": {
                              "start": {
                                "line": 186,
                                "column": 51
                              },
                              "end": {
                                "line": 186,
                                "column": 58
                              },
                              "identifierName": "created"
                            },
                            "name": "created"
                          },
                          "computed": false
                        },
                        "arguments": []
                      },
                      "trailingComments": null
                    },
                    "alternate": null,
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " setup properties",
                        "start": 5772,
                        "end": 5791,
                        "loc": {
                          "start": {
                            "line": 184,
                            "column": 2
                          },
                          "end": {
                            "line": 184,
                            "column": 21
                          }
                        }
                      }
                    ],
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " let backed know the element is registered",
                        "start": 5862,
                        "end": 5906,
                        "loc": {
                          "start": {
                            "line": 188,
                            "column": 2
                          },
                          "end": {
                            "line": 188,
                            "column": 46
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 5910,
                    "end": 5935,
                    "loc": {
                      "start": {
                        "line": 189,
                        "column": 2
                      },
                      "end": {
                        "line": 189,
                        "column": 27
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 5910,
                      "end": 5934,
                      "loc": {
                        "start": {
                          "line": 189,
                          "column": 2
                        },
                        "end": {
                          "line": 189,
                          "column": 26
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 5910,
                        "end": 5927,
                        "loc": {
                          "start": {
                            "line": 189,
                            "column": 2
                          },
                          "end": {
                            "line": 189,
                            "column": 19
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 5910,
                          "end": 5916,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 2
                            },
                            "end": {
                              "line": 189,
                              "column": 8
                            },
                            "identifierName": "target"
                          },
                          "name": "target",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5917,
                          "end": 5927,
                          "loc": {
                            "start": {
                              "line": 189,
                              "column": 9
                            },
                            "end": {
                              "line": 189,
                              "column": 19
                            },
                            "identifierName": "registered"
                          },
                          "name": "registered"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "BooleanLiteral",
                        "start": 5930,
                        "end": 5934,
                        "loc": {
                          "start": {
                            "line": 189,
                            "column": 22
                          },
                          "end": {
                            "line": 189,
                            "column": 26
                          }
                        },
                        "value": true
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " let backed know the element is registered",
                        "start": 5862,
                        "end": 5906,
                        "loc": {
                          "start": {
                            "line": 188,
                            "column": 2
                          },
                          "end": {
                            "line": 188,
                            "column": 46
                          }
                        }
                      }
                    ]
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 5942,
        "end": 6272,
        "loc": {
          "start": {
            "line": 192,
            "column": 0
          },
          "end": {
            "line": 200,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 5948,
            "end": 6272,
            "loc": {
              "start": {
                "line": 192,
                "column": 6
              },
              "end": {
                "line": 200,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 5948,
              "end": 5965,
              "loc": {
                "start": {
                  "line": 192,
                  "column": 6
                },
                "end": {
                  "line": 192,
                  "column": 23
                },
                "identifierName": "connectedCallback"
              },
              "name": "connectedCallback"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 5968,
              "end": 6272,
              "loc": {
                "start": {
                  "line": 192,
                  "column": 26
                },
                "end": {
                  "line": 200,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 5948,
                "end": 5965,
                "loc": {
                  "start": {
                    "line": 192,
                    "column": 6
                  },
                  "end": {
                    "line": 192,
                    "column": 23
                  },
                  "identifierName": "connectedCallback"
                },
                "name": "connectedCallback"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "AssignmentPattern",
                  "start": 5969,
                  "end": 5987,
                  "loc": {
                    "start": {
                      "line": 192,
                      "column": 27
                    },
                    "end": {
                      "line": 192,
                      "column": 45
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5969,
                    "end": 5975,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 27
                      },
                      "end": {
                        "line": 192,
                        "column": 33
                      },
                      "identifierName": "target"
                    },
                    "name": "target"
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 5976,
                    "end": 5987,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 34
                      },
                      "end": {
                        "line": 192,
                        "column": 45
                      },
                      "identifierName": "HTMLElement"
                    },
                    "name": "HTMLElement"
                  }
                },
                {
                  "type": "AssignmentPattern",
                  "start": 5989,
                  "end": 6003,
                  "loc": {
                    "start": {
                      "line": 192,
                      "column": 47
                    },
                    "end": {
                      "line": 192,
                      "column": 61
                    }
                  },
                  "left": {
                    "type": "Identifier",
                    "start": 5989,
                    "end": 5994,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 47
                      },
                      "end": {
                        "line": 192,
                        "column": 52
                      },
                      "identifierName": "klass"
                    },
                    "name": "klass"
                  },
                  "right": {
                    "type": "Identifier",
                    "start": 5995,
                    "end": 6003,
                    "loc": {
                      "start": {
                        "line": 192,
                        "column": 53
                      },
                      "end": {
                        "line": 192,
                        "column": 61
                      },
                      "identifierName": "Function"
                    },
                    "name": "Function"
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 6008,
                "end": 6272,
                "loc": {
                  "start": {
                    "line": 192,
                    "column": 66
                  },
                  "end": {
                    "line": 200,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 6013,
                    "end": 6054,
                    "loc": {
                      "start": {
                        "line": 193,
                        "column": 2
                      },
                      "end": {
                        "line": 193,
                        "column": 43
                      }
                    },
                    "test": {
                      "type": "MemberExpression",
                      "start": 6017,
                      "end": 6033,
                      "loc": {
                        "start": {
                          "line": 193,
                          "column": 6
                        },
                        "end": {
                          "line": 193,
                          "column": 22
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 6017,
                        "end": 6023,
                        "loc": {
                          "start": {
                            "line": 193,
                            "column": 6
                          },
                          "end": {
                            "line": 193,
                            "column": 12
                          },
                          "identifierName": "target"
                        },
                        "name": "target"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6024,
                        "end": 6033,
                        "loc": {
                          "start": {
                            "line": 193,
                            "column": 13
                          },
                          "end": {
                            "line": 193,
                            "column": 22
                          },
                          "identifierName": "connected"
                        },
                        "name": "connected"
                      },
                      "computed": false
                    },
                    "consequent": {
                      "type": "ExpressionStatement",
                      "start": 6035,
                      "end": 6054,
                      "loc": {
                        "start": {
                          "line": 193,
                          "column": 24
                        },
                        "end": {
                          "line": 193,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 6035,
                        "end": 6053,
                        "loc": {
                          "start": {
                            "line": 193,
                            "column": 24
                          },
                          "end": {
                            "line": 193,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6035,
                          "end": 6051,
                          "loc": {
                            "start": {
                              "line": 193,
                              "column": 24
                            },
                            "end": {
                              "line": 193,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6035,
                            "end": 6041,
                            "loc": {
                              "start": {
                                "line": 193,
                                "column": 24
                              },
                              "end": {
                                "line": 193,
                                "column": 30
                              },
                              "identifierName": "target"
                            },
                            "name": "target"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6042,
                            "end": 6051,
                            "loc": {
                              "start": {
                                "line": 193,
                                "column": 31
                              },
                              "end": {
                                "line": 193,
                                "column": 40
                              },
                              "identifierName": "connected"
                            },
                            "name": "connected"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    "alternate": null
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6058,
                    "end": 6101,
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 2
                      },
                      "end": {
                        "line": 194,
                        "column": 45
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 6058,
                      "end": 6100,
                      "loc": {
                        "start": {
                          "line": 194,
                          "column": 2
                        },
                        "end": {
                          "line": 194,
                          "column": 44
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 6058,
                        "end": 6074,
                        "loc": {
                          "start": {
                            "line": 194,
                            "column": 2
                          },
                          "end": {
                            "line": 194,
                            "column": 18
                          },
                          "identifierName": "handleProperties"
                        },
                        "name": "handleProperties"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 6075,
                          "end": 6081,
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 19
                            },
                            "end": {
                              "line": 194,
                              "column": 25
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        {
                          "type": "MemberExpression",
                          "start": 6083,
                          "end": 6099,
                          "loc": {
                            "start": {
                              "line": 194,
                              "column": 27
                            },
                            "end": {
                              "line": 194,
                              "column": 43
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6083,
                            "end": 6088,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 27
                              },
                              "end": {
                                "line": 194,
                                "column": 32
                              },
                              "identifierName": "klass"
                            },
                            "name": "klass"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6089,
                            "end": 6099,
                            "loc": {
                              "start": {
                                "line": 194,
                                "column": 33
                              },
                              "end": {
                                "line": 194,
                                "column": 43
                              },
                              "identifierName": "properties"
                            },
                            "name": "properties"
                          },
                          "computed": false
                        }
                      ]
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6105,
                    "end": 6169,
                    "loc": {
                      "start": {
                        "line": 195,
                        "column": 2
                      },
                      "end": {
                        "line": 195,
                        "column": 66
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 6105,
                      "end": 6168,
                      "loc": {
                        "start": {
                          "line": 195,
                          "column": 2
                        },
                        "end": {
                          "line": 195,
                          "column": 65
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 6105,
                        "end": 6120,
                        "loc": {
                          "start": {
                            "line": 195,
                            "column": 2
                          },
                          "end": {
                            "line": 195,
                            "column": 17
                          },
                          "identifierName": "handleObservers"
                        },
                        "name": "handleObservers"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 6121,
                          "end": 6127,
                          "loc": {
                            "start": {
                              "line": 195,
                              "column": 18
                            },
                            "end": {
                              "line": 195,
                              "column": 24
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        },
                        {
                          "type": "MemberExpression",
                          "start": 6129,
                          "end": 6144,
                          "loc": {
                            "start": {
                              "line": 195,
                              "column": 26
                            },
                            "end": {
                              "line": 195,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6129,
                            "end": 6134,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 26
                              },
                              "end": {
                                "line": 195,
                                "column": 31
                              },
                              "identifierName": "klass"
                            },
                            "name": "klass"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6135,
                            "end": 6144,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 32
                              },
                              "end": {
                                "line": 195,
                                "column": 41
                              },
                              "identifierName": "observers"
                            },
                            "name": "observers"
                          },
                          "computed": false
                        },
                        {
                          "type": "MemberExpression",
                          "start": 6146,
                          "end": 6167,
                          "loc": {
                            "start": {
                              "line": 195,
                              "column": 43
                            },
                            "end": {
                              "line": 195,
                              "column": 64
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 6146,
                            "end": 6151,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 43
                              },
                              "end": {
                                "line": 195,
                                "column": 48
                              },
                              "identifierName": "klass"
                            },
                            "name": "klass"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6152,
                            "end": 6167,
                            "loc": {
                              "start": {
                                "line": 195,
                                "column": 49
                              },
                              "end": {
                                "line": 195,
                                "column": 64
                              },
                              "identifierName": "globalObservers"
                            },
                            "name": "globalObservers"
                          },
                          "computed": false
                        }
                      ]
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " setup listeners",
                        "start": 6173,
                        "end": 6191,
                        "loc": {
                          "start": {
                            "line": 196,
                            "column": 2
                          },
                          "end": {
                            "line": 196,
                            "column": 20
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6195,
                    "end": 6218,
                    "loc": {
                      "start": {
                        "line": 197,
                        "column": 2
                      },
                      "end": {
                        "line": 197,
                        "column": 25
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 6195,
                      "end": 6218,
                      "loc": {
                        "start": {
                          "line": 197,
                          "column": 2
                        },
                        "end": {
                          "line": 197,
                          "column": 25
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 6195,
                        "end": 6210,
                        "loc": {
                          "start": {
                            "line": 197,
                            "column": 2
                          },
                          "end": {
                            "line": 197,
                            "column": 17
                          },
                          "identifierName": "handleListeners"
                        },
                        "name": "handleListeners",
                        "leadingComments": null
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 6211,
                          "end": 6217,
                          "loc": {
                            "start": {
                              "line": 197,
                              "column": 18
                            },
                            "end": {
                              "line": 197,
                              "column": 24
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        }
                      ],
                      "leadingComments": null,
                      "trailingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " setup listeners",
                        "start": 6173,
                        "end": 6191,
                        "loc": {
                          "start": {
                            "line": 196,
                            "column": 2
                          },
                          "end": {
                            "line": 196,
                            "column": 20
                          }
                        }
                      }
                    ],
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " notify everything is ready",
                        "start": 6222,
                        "end": 6251,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 2
                          },
                          "end": {
                            "line": 198,
                            "column": 31
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 6255,
                    "end": 6269,
                    "loc": {
                      "start": {
                        "line": 199,
                        "column": 2
                      },
                      "end": {
                        "line": 199,
                        "column": 16
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 6255,
                      "end": 6268,
                      "loc": {
                        "start": {
                          "line": 199,
                          "column": 2
                        },
                        "end": {
                          "line": 199,
                          "column": 15
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 6255,
                        "end": 6260,
                        "loc": {
                          "start": {
                            "line": 199,
                            "column": 2
                          },
                          "end": {
                            "line": 199,
                            "column": 7
                          },
                          "identifierName": "ready"
                        },
                        "name": "ready",
                        "leadingComments": null
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 6261,
                          "end": 6267,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 8
                            },
                            "end": {
                              "line": 199,
                              "column": 14
                            },
                            "identifierName": "target"
                          },
                          "name": "target"
                        }
                      ],
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " notify everything is ready",
                        "start": 6222,
                        "end": 6251,
                        "loc": {
                          "start": {
                            "line": 198,
                            "column": 2
                          },
                          "end": {
                            "line": 198,
                            "column": 31
                          }
                        }
                      }
                    ]
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "VariableDeclaration",
        "start": 6276,
        "end": 6460,
        "loc": {
          "start": {
            "line": 202,
            "column": 0
          },
          "end": {
            "line": 208,
            "column": 1
          }
        },
        "declarations": [
          {
            "type": "VariableDeclarator",
            "start": 6282,
            "end": 6460,
            "loc": {
              "start": {
                "line": 202,
                "column": 6
              },
              "end": {
                "line": 208,
                "column": 1
              }
            },
            "id": {
              "type": "Identifier",
              "start": 6282,
              "end": 6296,
              "loc": {
                "start": {
                  "line": 202,
                  "column": 6
                },
                "end": {
                  "line": 202,
                  "column": 20
                },
                "identifierName": "shouldRegister"
              },
              "name": "shouldRegister"
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "start": 6299,
              "end": 6460,
              "loc": {
                "start": {
                  "line": 202,
                  "column": 23
                },
                "end": {
                  "line": 208,
                  "column": 1
                }
              },
              "id": {
                "type": "Identifier",
                "start": 6282,
                "end": 6296,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 6
                  },
                  "end": {
                    "line": 202,
                    "column": 20
                  },
                  "identifierName": "shouldRegister"
                },
                "name": "shouldRegister"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 6300,
                  "end": 6304,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 24
                    },
                    "end": {
                      "line": 202,
                      "column": 28
                    },
                    "identifierName": "name"
                  },
                  "name": "name"
                },
                {
                  "type": "Identifier",
                  "start": 6306,
                  "end": 6311,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 30
                    },
                    "end": {
                      "line": 202,
                      "column": 35
                    },
                    "identifierName": "klass"
                  },
                  "name": "klass"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 6316,
                "end": 6460,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 40
                  },
                  "end": {
                    "line": 208,
                    "column": 1
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 6321,
                    "end": 6440,
                    "loc": {
                      "start": {
                        "line": 203,
                        "column": 2
                      },
                      "end": {
                        "line": 206,
                        "column": 3
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 6325,
                      "end": 6371,
                      "loc": {
                        "start": {
                          "line": 203,
                          "column": 6
                        },
                        "end": {
                          "line": 203,
                          "column": 52
                        }
                      },
                      "left": {
                        "type": "CallExpression",
                        "start": 6325,
                        "end": 6364,
                        "loc": {
                          "start": {
                            "line": 203,
                            "column": 6
                          },
                          "end": {
                            "line": 203,
                            "column": 45
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 6325,
                          "end": 6358,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 6
                            },
                            "end": {
                              "line": 203,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6325,
                            "end": 6350,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 6
                              },
                              "end": {
                                "line": 203,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 6325,
                              "end": 6331,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 6
                                },
                                "end": {
                                  "line": 203,
                                  "column": 12
                                },
                                "identifierName": "window"
                              },
                              "name": "window"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6332,
                              "end": 6350,
                              "loc": {
                                "start": {
                                  "line": 203,
                                  "column": 13
                                },
                                "end": {
                                  "line": 203,
                                  "column": 31
                                },
                                "identifierName": "registeredElements"
                              },
                              "name": "registeredElements"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6351,
                            "end": 6358,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 32
                              },
                              "end": {
                                "line": 203,
                                "column": 39
                              },
                              "identifierName": "indexOf"
                            },
                            "name": "indexOf"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 6359,
                            "end": 6363,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 40
                              },
                              "end": {
                                "line": 203,
                                "column": 44
                              },
                              "identifierName": "name"
                            },
                            "name": "name"
                          }
                        ]
                      },
                      "operator": "===",
                      "right": {
                        "type": "UnaryExpression",
                        "start": 6369,
                        "end": 6371,
                        "loc": {
                          "start": {
                            "line": 203,
                            "column": 50
                          },
                          "end": {
                            "line": 203,
                            "column": 52
                          }
                        },
                        "operator": "-",
                        "prefix": true,
                        "argument": {
                          "type": "NumericLiteral",
                          "start": 6370,
                          "end": 6371,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 51
                            },
                            "end": {
                              "line": 203,
                              "column": 52
                            }
                          },
                          "extra": {
                            "rawValue": 1,
                            "raw": "1"
                          },
                          "value": 1
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 6373,
                      "end": 6440,
                      "loc": {
                        "start": {
                          "line": 203,
                          "column": 54
                        },
                        "end": {
                          "line": 206,
                          "column": 3
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 6380,
                          "end": 6417,
                          "loc": {
                            "start": {
                              "line": 204,
                              "column": 4
                            },
                            "end": {
                              "line": 204,
                              "column": 41
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 6380,
                            "end": 6416,
                            "loc": {
                              "start": {
                                "line": 204,
                                "column": 4
                              },
                              "end": {
                                "line": 204,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6380,
                              "end": 6410,
                              "loc": {
                                "start": {
                                  "line": 204,
                                  "column": 4
                                },
                                "end": {
                                  "line": 204,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6380,
                                "end": 6405,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6380,
                                  "end": 6386,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 4
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 10
                                    },
                                    "identifierName": "window"
                                  },
                                  "name": "window"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6387,
                                  "end": 6405,
                                  "loc": {
                                    "start": {
                                      "line": 204,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 204,
                                      "column": 29
                                    },
                                    "identifierName": "registeredElements"
                                  },
                                  "name": "registeredElements"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6406,
                                "end": 6410,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 34
                                  },
                                  "identifierName": "push"
                                },
                                "name": "push"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 6411,
                                "end": 6415,
                                "loc": {
                                  "start": {
                                    "line": 204,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 204,
                                    "column": 39
                                  },
                                  "identifierName": "name"
                                },
                                "name": "name"
                              }
                            ]
                          }
                        },
                        {
                          "type": "ReturnStatement",
                          "start": 6423,
                          "end": 6435,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 4
                            },
                            "end": {
                              "line": 205,
                              "column": 16
                            }
                          },
                          "argument": {
                            "type": "BooleanLiteral",
                            "start": 6430,
                            "end": 6434,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 11
                              },
                              "end": {
                                "line": 205,
                                "column": 15
                              }
                            },
                            "value": true
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 6444,
                    "end": 6457,
                    "loc": {
                      "start": {
                        "line": 207,
                        "column": 2
                      },
                      "end": {
                        "line": 207,
                        "column": 15
                      }
                    },
                    "argument": {
                      "type": "BooleanLiteral",
                      "start": 6451,
                      "end": 6456,
                      "loc": {
                        "start": {
                          "line": 207,
                          "column": 9
                        },
                        "end": {
                          "line": 207,
                          "column": 14
                        }
                      },
                      "value": false
                    }
                  }
                ],
                "directives": []
              }
            }
          }
        ],
        "kind": "const"
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 6464,
        "end": 6620,
        "loc": {
          "start": {
            "line": 210,
            "column": 0
          },
          "end": {
            "line": 215,
            "column": 1
          }
        },
        "declaration": {
          "type": "ObjectExpression",
          "start": 6479,
          "end": 6620,
          "loc": {
            "start": {
              "line": 210,
              "column": 15
            },
            "end": {
              "line": 215,
              "column": 1
            }
          },
          "properties": [
            {
              "type": "ObjectProperty",
              "start": 6484,
              "end": 6496,
              "loc": {
                "start": {
                  "line": 211,
                  "column": 2
                },
                "end": {
                  "line": 211,
                  "column": 14
                }
              },
              "method": false,
              "shorthand": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6484,
                "end": 6489,
                "loc": {
                  "start": {
                    "line": 211,
                    "column": 2
                  },
                  "end": {
                    "line": 211,
                    "column": 7
                  },
                  "identifierName": "ready"
                },
                "name": "ready"
              },
              "value": {
                "type": "Identifier",
                "start": 6491,
                "end": 6496,
                "loc": {
                  "start": {
                    "line": 211,
                    "column": 9
                  },
                  "end": {
                    "line": 211,
                    "column": 14
                  },
                  "identifierName": "ready"
                },
                "name": "ready"
              }
            },
            {
              "type": "ObjectProperty",
              "start": 6501,
              "end": 6537,
              "loc": {
                "start": {
                  "line": 212,
                  "column": 2
                },
                "end": {
                  "line": 212,
                  "column": 38
                }
              },
              "method": false,
              "shorthand": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6501,
                "end": 6518,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 2
                  },
                  "end": {
                    "line": 212,
                    "column": 19
                  },
                  "identifierName": "connectedCallback"
                },
                "name": "connectedCallback"
              },
              "value": {
                "type": "Identifier",
                "start": 6520,
                "end": 6537,
                "loc": {
                  "start": {
                    "line": 212,
                    "column": 21
                  },
                  "end": {
                    "line": 212,
                    "column": 38
                  },
                  "identifierName": "connectedCallback"
                },
                "name": "connectedCallback"
              }
            },
            {
              "type": "ObjectProperty",
              "start": 6542,
              "end": 6582,
              "loc": {
                "start": {
                  "line": 213,
                  "column": 2
                },
                "end": {
                  "line": 213,
                  "column": 42
                }
              },
              "method": false,
              "shorthand": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6542,
                "end": 6561,
                "loc": {
                  "start": {
                    "line": 213,
                    "column": 2
                  },
                  "end": {
                    "line": 213,
                    "column": 21
                  },
                  "identifierName": "constructorCallback"
                },
                "name": "constructorCallback"
              },
              "value": {
                "type": "Identifier",
                "start": 6563,
                "end": 6582,
                "loc": {
                  "start": {
                    "line": 213,
                    "column": 23
                  },
                  "end": {
                    "line": 213,
                    "column": 42
                  },
                  "identifierName": "constructorCallback"
                },
                "name": "constructorCallback"
              }
            },
            {
              "type": "ObjectProperty",
              "start": 6587,
              "end": 6617,
              "loc": {
                "start": {
                  "line": 214,
                  "column": 2
                },
                "end": {
                  "line": 214,
                  "column": 32
                }
              },
              "method": false,
              "shorthand": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6587,
                "end": 6601,
                "loc": {
                  "start": {
                    "line": 214,
                    "column": 2
                  },
                  "end": {
                    "line": 214,
                    "column": 16
                  },
                  "identifierName": "shouldRegister"
                },
                "name": "shouldRegister"
              },
              "value": {
                "type": "Identifier",
                "start": 6603,
                "end": 6617,
                "loc": {
                  "start": {
                    "line": 214,
                    "column": 18
                  },
                  "end": {
                    "line": 214,
                    "column": 32
                  },
                  "identifierName": "shouldRegister"
                },
                "name": "shouldRegister"
              }
            }
          ],
          "leadingComments": [],
          "trailingComments": []
        }
      }
    ],
    "directives": [
      {
        "type": "Directive",
        "start": 0,
        "end": 13,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 13
          }
        },
        "value": {
          "type": "DirectiveLiteral",
          "start": 0,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "value": "use strict",
          "extra": {
            "raw": "'use strict'",
            "rawValue": "use strict"
          }
        }
      }
    ]
  },
  "comments": [
    {
      "type": "CommentLine",
      "value": " TODO: are we ignoring stuff ...?",
      "start": 758,
      "end": 793,
      "loc": {
        "start": {
          "line": 26,
          "column": 6
        },
        "end": {
          "line": 26,
          "column": 41
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check if attribute has value else pass default property value",
      "start": 801,
      "end": 865,
      "loc": {
        "start": {
          "line": 27,
          "column": 6
        },
        "end": {
          "line": 27,
          "column": 70
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Ensure we don't do duplicate work",
      "start": 1172,
      "end": 1208,
      "loc": {
        "start": {
          "line": 36,
          "column": 4
        },
        "end": {
          "line": 36,
          "column": 40
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " subscribe only when a callback is defined, all other global options are still available ...",
      "start": 1260,
      "end": 1354,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 98
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Warning, global observers don't work the same like bindings, each observer has it's namespace created like global.name,",
      "start": 1398,
      "end": 1520,
      "loc": {
        "start": {
          "line": 41,
          "column": 6
        },
        "end": {
          "line": 41,
          "column": 128
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " so whenever another element has an global observer for name, they will subscribe to the same publisher !",
      "start": 1528,
      "end": 1635,
      "loc": {
        "start": {
          "line": 42,
          "column": 6
        },
        "end": {
          "line": 42,
          "column": 113
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: Add local binding & improve global observers",
      "start": 1643,
      "end": 1696,
      "loc": {
        "start": {
          "line": 43,
          "column": 6
        },
        "end": {
          "line": 43,
          "column": 59
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " {{name}} for normal bindings & {{global::name}} for global bindings(observers) (like Polymer does)",
      "start": 1704,
      "end": 1805,
      "loc": {
        "start": {
          "line": 44,
          "column": 6
        },
        "end": {
          "line": 44,
          "column": 107
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " this means we need to build a system that keeps track of each component it's bindings &",
      "start": 1813,
      "end": 1903,
      "loc": {
        "start": {
          "line": 45,
          "column": 6
        },
        "end": {
          "line": 45,
          "column": 96
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " values should be set as property, so we know if a value needs to be set on attribute, rerender template, etc ..",
      "start": 1911,
      "end": 2025,
      "loc": {
        "start": {
          "line": 46,
          "column": 6
        },
        "end": {
          "line": 46,
          "column": 120
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n * Runs a method on target whenever given property changes\r\n *\r\n * example:\r\n * change(change) {\r\n *  change.property // name of the property\r\n *  change.value // value of the property\r\n * }\r\n *\r\n * @arg {object} obj target\r\n * @arg {string} property name\r\n * @arg {boolean} strict\r\n * @arg {method} fn The method to run on change\r\n ",
      "start": 3096,
      "end": 3436,
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 98,
          "column": 3
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " adds support for multiple renderers",
      "start": 4086,
      "end": 4124,
      "loc": {
        "start": {
          "line": 121,
          "column": 10
        },
        "end": {
          "line": 121,
          "column": 48
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " setup properties",
      "start": 5772,
      "end": 5791,
      "loc": {
        "start": {
          "line": 184,
          "column": 2
        },
        "end": {
          "line": 184,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let backed know the element is registered",
      "start": 5862,
      "end": 5906,
      "loc": {
        "start": {
          "line": 188,
          "column": 2
        },
        "end": {
          "line": 188,
          "column": 46
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " setup listeners",
      "start": 6173,
      "end": 6191,
      "loc": {
        "start": {
          "line": 196,
          "column": 2
        },
        "end": {
          "line": 196,
          "column": 20
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " notify everything is ready",
      "start": 6222,
      "end": 6251,
      "loc": {
        "start": {
          "line": 198,
          "column": 2
        },
        "end": {
          "line": 198,
          "column": 31
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "use strict",
      "start": 0,
      "end": 12,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 12,
      "end": 13,
      "loc": {
        "start": {
          "line": 1,
          "column": 12
        },
        "end": {
          "line": 1,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 17,
      "end": 23,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "loadScript",
      "start": 24,
      "end": 34,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 35,
      "end": 39,
      "loc": {
        "start": {
          "line": 3,
          "column": 18
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./utils/load-script.js",
      "start": 40,
      "end": 64,
      "loc": {
        "start": {
          "line": 3,
          "column": 23
        },
        "end": {
          "line": 3,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 64,
      "end": 65,
      "loc": {
        "start": {
          "line": 3,
          "column": 47
        },
        "end": {
          "line": 3,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 66,
      "end": 72,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fireEvent",
      "start": 73,
      "end": 82,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 83,
      "end": 87,
      "loc": {
        "start": {
          "line": 4,
          "column": 17
        },
        "end": {
          "line": 4,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./utils/fire-event.js",
      "start": 88,
      "end": 111,
      "loc": {
        "start": {
          "line": 4,
          "column": 22
        },
        "end": {
          "line": 4,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 111,
      "end": 112,
      "loc": {
        "start": {
          "line": 4,
          "column": 45
        },
        "end": {
          "line": 4,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 113,
      "end": 119,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toJsProp",
      "start": 120,
      "end": 128,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 129,
      "end": 133,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./utils/to-js-prop.js",
      "start": 134,
      "end": 157,
      "loc": {
        "start": {
          "line": 5,
          "column": 21
        },
        "end": {
          "line": 5,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 157,
      "end": 158,
      "loc": {
        "start": {
          "line": 5,
          "column": 44
        },
        "end": {
          "line": 5,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 159,
      "end": 165,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "RenderStatus",
      "start": 166,
      "end": 178,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 179,
      "end": 183,
      "loc": {
        "start": {
          "line": 6,
          "column": 20
        },
        "end": {
          "line": 6,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./utils/render-status.js",
      "start": 184,
      "end": 210,
      "loc": {
        "start": {
          "line": 6,
          "column": 25
        },
        "end": {
          "line": 6,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 210,
      "end": 211,
      "loc": {
        "start": {
          "line": 6,
          "column": 51
        },
        "end": {
          "line": 6,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 213,
      "end": 219,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PubSub",
      "start": 220,
      "end": 226,
      "loc": {
        "start": {
          "line": 7,
          "column": 7
        },
        "end": {
          "line": 7,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 227,
      "end": 231,
      "loc": {
        "start": {
          "line": 7,
          "column": 14
        },
        "end": {
          "line": 7,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./internals/pub-sub.js",
      "start": 232,
      "end": 256,
      "loc": {
        "start": {
          "line": 7,
          "column": 19
        },
        "end": {
          "line": 7,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 256,
      "end": 257,
      "loc": {
        "start": {
          "line": 7,
          "column": 43
        },
        "end": {
          "line": 7,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "window",
      "start": 261,
      "end": 267,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 267,
      "end": 268,
      "loc": {
        "start": {
          "line": 9,
          "column": 6
        },
        "end": {
          "line": 9,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "registeredElements",
      "start": 268,
      "end": 286,
      "loc": {
        "start": {
          "line": 9,
          "column": 7
        },
        "end": {
          "line": 9,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 287,
      "end": 288,
      "loc": {
        "start": {
          "line": 9,
          "column": 26
        },
        "end": {
          "line": 9,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "window",
      "start": 289,
      "end": 295,
      "loc": {
        "start": {
          "line": 9,
          "column": 28
        },
        "end": {
          "line": 9,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 295,
      "end": 296,
      "loc": {
        "start": {
          "line": 9,
          "column": 34
        },
        "end": {
          "line": 9,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "registeredElements",
      "start": 296,
      "end": 314,
      "loc": {
        "start": {
          "line": 9,
          "column": 35
        },
        "end": {
          "line": 9,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 315,
      "end": 317,
      "loc": {
        "start": {
          "line": 9,
          "column": 54
        },
        "end": {
          "line": 9,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 318,
      "end": 319,
      "loc": {
        "start": {
          "line": 9,
          "column": 57
        },
        "end": {
          "line": 9,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 319,
      "end": 320,
      "loc": {
        "start": {
          "line": 9,
          "column": 58
        },
        "end": {
          "line": 9,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 320,
      "end": 321,
      "loc": {
        "start": {
          "line": 9,
          "column": 59
        },
        "end": {
          "line": 9,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 325,
      "end": 330,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "shouldShim",
      "start": 331,
      "end": 341,
      "loc": {
        "start": {
          "line": 11,
          "column": 6
        },
        "end": {
          "line": 11,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 342,
      "end": 343,
      "loc": {
        "start": {
          "line": 11,
          "column": 17
        },
        "end": {
          "line": 11,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 344,
      "end": 345,
      "loc": {
        "start": {
          "line": 11,
          "column": 19
        },
        "end": {
          "line": 11,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 345,
      "end": 346,
      "loc": {
        "start": {
          "line": 11,
          "column": 20
        },
        "end": {
          "line": 11,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 347,
      "end": 349,
      "loc": {
        "start": {
          "line": 11,
          "column": 22
        },
        "end": {
          "line": 11,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 350,
      "end": 351,
      "loc": {
        "start": {
          "line": 11,
          "column": 25
        },
        "end": {
          "line": 11,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 355,
      "end": 361,
      "loc": {
        "start": {
          "line": 12,
          "column": 2
        },
        "end": {
          "line": 12,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "Edge",
        "flags": ""
      },
      "start": 362,
      "end": 368,
      "loc": {
        "start": {
          "line": 12,
          "column": 9
        },
        "end": {
          "line": 12,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 368,
      "end": 369,
      "loc": {
        "start": {
          "line": 12,
          "column": 15
        },
        "end": {
          "line": 12,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "test",
      "start": 369,
      "end": 373,
      "loc": {
        "start": {
          "line": 12,
          "column": 16
        },
        "end": {
          "line": 12,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 373,
      "end": 374,
      "loc": {
        "start": {
          "line": 12,
          "column": 20
        },
        "end": {
          "line": 12,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "navigator",
      "start": 374,
      "end": 383,
      "loc": {
        "start": {
          "line": 12,
          "column": 21
        },
        "end": {
          "line": 12,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 383,
      "end": 384,
      "loc": {
        "start": {
          "line": 12,
          "column": 30
        },
        "end": {
          "line": 12,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "userAgent",
      "start": 384,
      "end": 393,
      "loc": {
        "start": {
          "line": 12,
          "column": 31
        },
        "end": {
          "line": 12,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 393,
      "end": 394,
      "loc": {
        "start": {
          "line": 12,
          "column": 40
        },
        "end": {
          "line": 12,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 395,
      "end": 397,
      "loc": {
        "start": {
          "line": 12,
          "column": 42
        },
        "end": {
          "line": 12,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "Firefox",
        "flags": ""
      },
      "start": 398,
      "end": 407,
      "loc": {
        "start": {
          "line": 12,
          "column": 45
        },
        "end": {
          "line": 12,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 407,
      "end": 408,
      "loc": {
        "start": {
          "line": 12,
          "column": 54
        },
        "end": {
          "line": 12,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "test",
      "start": 408,
      "end": 412,
      "loc": {
        "start": {
          "line": 12,
          "column": 55
        },
        "end": {
          "line": 12,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 412,
      "end": 413,
      "loc": {
        "start": {
          "line": 12,
          "column": 59
        },
        "end": {
          "line": 12,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "navigator",
      "start": 413,
      "end": 422,
      "loc": {
        "start": {
          "line": 12,
          "column": 60
        },
        "end": {
          "line": 12,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 422,
      "end": 423,
      "loc": {
        "start": {
          "line": 12,
          "column": 69
        },
        "end": {
          "line": 12,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "userAgent",
      "start": 423,
      "end": 432,
      "loc": {
        "start": {
          "line": 12,
          "column": 70
        },
        "end": {
          "line": 12,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 432,
      "end": 433,
      "loc": {
        "start": {
          "line": 12,
          "column": 79
        },
        "end": {
          "line": 12,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 433,
      "end": 434,
      "loc": {
        "start": {
          "line": 12,
          "column": 80
        },
        "end": {
          "line": 12,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 436,
      "end": 437,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 441,
      "end": 446,
      "loc": {
        "start": {
          "line": 15,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isValidRenderer",
      "start": 447,
      "end": 462,
      "loc": {
        "start": {
          "line": 15,
          "column": 6
        },
        "end": {
          "line": 15,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 463,
      "end": 464,
      "loc": {
        "start": {
          "line": 15,
          "column": 22
        },
        "end": {
          "line": 15,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 465,
      "end": 473,
      "loc": {
        "start": {
          "line": 15,
          "column": 24
        },
        "end": {
          "line": 15,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 474,
      "end": 476,
      "loc": {
        "start": {
          "line": 15,
          "column": 33
        },
        "end": {
          "line": 15,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 477,
      "end": 478,
      "loc": {
        "start": {
          "line": 15,
          "column": 36
        },
        "end": {
          "line": 15,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 482,
      "end": 484,
      "loc": {
        "start": {
          "line": 16,
          "column": 2
        },
        "end": {
          "line": 16,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 485,
      "end": 486,
      "loc": {
        "start": {
          "line": 16,
          "column": 5
        },
        "end": {
          "line": 16,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 486,
      "end": 487,
      "loc": {
        "start": {
          "line": 16,
          "column": 6
        },
        "end": {
          "line": 16,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 487,
      "end": 495,
      "loc": {
        "start": {
          "line": 16,
          "column": 7
        },
        "end": {
          "line": 16,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 495,
      "end": 496,
      "loc": {
        "start": {
          "line": 16,
          "column": 15
        },
        "end": {
          "line": 16,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 497,
      "end": 498,
      "loc": {
        "start": {
          "line": 16,
          "column": 17
        },
        "end": {
          "line": 16,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 504,
      "end": 510,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 510,
      "end": 511,
      "loc": {
        "start": {
          "line": 17,
          "column": 10
        },
        "end": {
          "line": 17,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 515,
      "end": 516,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 18,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 520,
      "end": 526,
      "loc": {
        "start": {
          "line": 19,
          "column": 2
        },
        "end": {
          "line": 19,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "String",
      "start": 527,
      "end": 533,
      "loc": {
        "start": {
          "line": 19,
          "column": 9
        },
        "end": {
          "line": 19,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 533,
      "end": 534,
      "loc": {
        "start": {
          "line": 19,
          "column": 15
        },
        "end": {
          "line": 19,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 534,
      "end": 542,
      "loc": {
        "start": {
          "line": 19,
          "column": 16
        },
        "end": {
          "line": 19,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 542,
      "end": 543,
      "loc": {
        "start": {
          "line": 19,
          "column": 24
        },
        "end": {
          "line": 19,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 543,
      "end": 544,
      "loc": {
        "start": {
          "line": 19,
          "column": 25
        },
        "end": {
          "line": 19,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 544,
      "end": 552,
      "loc": {
        "start": {
          "line": 19,
          "column": 26
        },
        "end": {
          "line": 19,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 552,
      "end": 553,
      "loc": {
        "start": {
          "line": 19,
          "column": 34
        },
        "end": {
          "line": 19,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return html`",
      "start": 553,
      "end": 567,
      "loc": {
        "start": {
          "line": 19,
          "column": 35
        },
        "end": {
          "line": 19,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 567,
      "end": 568,
      "loc": {
        "start": {
          "line": 19,
          "column": 49
        },
        "end": {
          "line": 19,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 570,
      "end": 571,
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 20,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 575,
      "end": 580,
      "loc": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 22,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleProperties",
      "start": 581,
      "end": 597,
      "loc": {
        "start": {
          "line": 22,
          "column": 6
        },
        "end": {
          "line": 22,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 598,
      "end": 599,
      "loc": {
        "start": {
          "line": 22,
          "column": 23
        },
        "end": {
          "line": 22,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 600,
      "end": 601,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 601,
      "end": 607,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 607,
      "end": 608,
      "loc": {
        "start": {
          "line": 22,
          "column": 32
        },
        "end": {
          "line": 22,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "properties",
      "start": 609,
      "end": 619,
      "loc": {
        "start": {
          "line": 22,
          "column": 34
        },
        "end": {
          "line": 22,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 619,
      "end": 620,
      "loc": {
        "start": {
          "line": 22,
          "column": 44
        },
        "end": {
          "line": 22,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 621,
      "end": 623,
      "loc": {
        "start": {
          "line": 22,
          "column": 46
        },
        "end": {
          "line": 22,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 624,
      "end": 625,
      "loc": {
        "start": {
          "line": 22,
          "column": 49
        },
        "end": {
          "line": 22,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 629,
      "end": 631,
      "loc": {
        "start": {
          "line": 23,
          "column": 2
        },
        "end": {
          "line": 23,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 632,
      "end": 633,
      "loc": {
        "start": {
          "line": 23,
          "column": 5
        },
        "end": {
          "line": 23,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "properties",
      "start": 633,
      "end": 643,
      "loc": {
        "start": {
          "line": 23,
          "column": 6
        },
        "end": {
          "line": 23,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 643,
      "end": 644,
      "loc": {
        "start": {
          "line": 23,
          "column": 16
        },
        "end": {
          "line": 23,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 645,
      "end": 646,
      "loc": {
        "start": {
          "line": 23,
          "column": 18
        },
        "end": {
          "line": 23,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 652,
      "end": 655,
      "loc": {
        "start": {
          "line": 24,
          "column": 4
        },
        "end": {
          "line": 24,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 656,
      "end": 657,
      "loc": {
        "start": {
          "line": 24,
          "column": 8
        },
        "end": {
          "line": 24,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 657,
      "end": 660,
      "loc": {
        "start": {
          "line": 24,
          "column": 9
        },
        "end": {
          "line": 24,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entry",
      "start": 661,
      "end": 666,
      "loc": {
        "start": {
          "line": 24,
          "column": 13
        },
        "end": {
          "line": 24,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 667,
      "end": 669,
      "loc": {
        "start": {
          "line": 24,
          "column": 19
        },
        "end": {
          "line": 24,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 670,
      "end": 676,
      "loc": {
        "start": {
          "line": 24,
          "column": 22
        },
        "end": {
          "line": 24,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 676,
      "end": 677,
      "loc": {
        "start": {
          "line": 24,
          "column": 28
        },
        "end": {
          "line": 24,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entries",
      "start": 677,
      "end": 684,
      "loc": {
        "start": {
          "line": 24,
          "column": 29
        },
        "end": {
          "line": 24,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 684,
      "end": 685,
      "loc": {
        "start": {
          "line": 24,
          "column": 36
        },
        "end": {
          "line": 24,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "properties",
      "start": 685,
      "end": 695,
      "loc": {
        "start": {
          "line": 24,
          "column": 37
        },
        "end": {
          "line": 24,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 695,
      "end": 696,
      "loc": {
        "start": {
          "line": 24,
          "column": 47
        },
        "end": {
          "line": 24,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 696,
      "end": 697,
      "loc": {
        "start": {
          "line": 24,
          "column": 48
        },
        "end": {
          "line": 24,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 698,
      "end": 699,
      "loc": {
        "start": {
          "line": 24,
          "column": 50
        },
        "end": {
          "line": 24,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleProperty",
      "start": 707,
      "end": 721,
      "loc": {
        "start": {
          "line": 25,
          "column": 6
        },
        "end": {
          "line": 25,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 721,
      "end": 722,
      "loc": {
        "start": {
          "line": 25,
          "column": 20
        },
        "end": {
          "line": 25,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 722,
      "end": 728,
      "loc": {
        "start": {
          "line": 25,
          "column": 21
        },
        "end": {
          "line": 25,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 728,
      "end": 729,
      "loc": {
        "start": {
          "line": 25,
          "column": 27
        },
        "end": {
          "line": 25,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entry",
      "start": 730,
      "end": 735,
      "loc": {
        "start": {
          "line": 25,
          "column": 29
        },
        "end": {
          "line": 25,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 735,
      "end": 736,
      "loc": {
        "start": {
          "line": 25,
          "column": 34
        },
        "end": {
          "line": 25,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 736,
      "end": 737,
      "loc": {
        "start": {
          "line": 25,
          "column": 35
        },
        "end": {
          "line": 25,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 737,
      "end": 738,
      "loc": {
        "start": {
          "line": 25,
          "column": 36
        },
        "end": {
          "line": 25,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 738,
      "end": 739,
      "loc": {
        "start": {
          "line": 25,
          "column": 37
        },
        "end": {
          "line": 25,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entry",
      "start": 740,
      "end": 745,
      "loc": {
        "start": {
          "line": 25,
          "column": 39
        },
        "end": {
          "line": 25,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 745,
      "end": 746,
      "loc": {
        "start": {
          "line": 25,
          "column": 44
        },
        "end": {
          "line": 25,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 746,
      "end": 747,
      "loc": {
        "start": {
          "line": 25,
          "column": 45
        },
        "end": {
          "line": 25,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 747,
      "end": 748,
      "loc": {
        "start": {
          "line": 25,
          "column": 46
        },
        "end": {
          "line": 25,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 748,
      "end": 749,
      "loc": {
        "start": {
          "line": 25,
          "column": 47
        },
        "end": {
          "line": 25,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 749,
      "end": 750,
      "loc": {
        "start": {
          "line": 25,
          "column": 48
        },
        "end": {
          "line": 25,
          "column": 49
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: are we ignoring stuff ...?",
      "start": 758,
      "end": 793,
      "loc": {
        "start": {
          "line": 26,
          "column": 6
        },
        "end": {
          "line": 26,
          "column": 41
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " check if attribute has value else pass default property value",
      "start": 801,
      "end": 865,
      "loc": {
        "start": {
          "line": 27,
          "column": 6
        },
        "end": {
          "line": 27,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 873,
      "end": 879,
      "loc": {
        "start": {
          "line": 28,
          "column": 6
        },
        "end": {
          "line": 28,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 879,
      "end": 880,
      "loc": {
        "start": {
          "line": 28,
          "column": 12
        },
        "end": {
          "line": 28,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entry",
      "start": 880,
      "end": 885,
      "loc": {
        "start": {
          "line": 28,
          "column": 13
        },
        "end": {
          "line": 28,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 885,
      "end": 886,
      "loc": {
        "start": {
          "line": 28,
          "column": 18
        },
        "end": {
          "line": 28,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 886,
      "end": 887,
      "loc": {
        "start": {
          "line": 28,
          "column": 19
        },
        "end": {
          "line": 28,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 887,
      "end": 888,
      "loc": {
        "start": {
          "line": 28,
          "column": 20
        },
        "end": {
          "line": 28,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 888,
      "end": 889,
      "loc": {
        "start": {
          "line": 28,
          "column": 21
        },
        "end": {
          "line": 28,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 890,
      "end": 891,
      "loc": {
        "start": {
          "line": 28,
          "column": 23
        },
        "end": {
          "line": 28,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 892,
      "end": 898,
      "loc": {
        "start": {
          "line": 28,
          "column": 25
        },
        "end": {
          "line": 28,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 898,
      "end": 899,
      "loc": {
        "start": {
          "line": 28,
          "column": 31
        },
        "end": {
          "line": 28,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasAttribute",
      "start": 899,
      "end": 911,
      "loc": {
        "start": {
          "line": 28,
          "column": 32
        },
        "end": {
          "line": 28,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 911,
      "end": 912,
      "loc": {
        "start": {
          "line": 28,
          "column": 44
        },
        "end": {
          "line": 28,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entry",
      "start": 912,
      "end": 917,
      "loc": {
        "start": {
          "line": 28,
          "column": 45
        },
        "end": {
          "line": 28,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 917,
      "end": 918,
      "loc": {
        "start": {
          "line": 28,
          "column": 50
        },
        "end": {
          "line": 28,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 918,
      "end": 919,
      "loc": {
        "start": {
          "line": 28,
          "column": 51
        },
        "end": {
          "line": 28,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 919,
      "end": 920,
      "loc": {
        "start": {
          "line": 28,
          "column": 52
        },
        "end": {
          "line": 28,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 920,
      "end": 921,
      "loc": {
        "start": {
          "line": 28,
          "column": 53
        },
        "end": {
          "line": 28,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 922,
      "end": 923,
      "loc": {
        "start": {
          "line": 28,
          "column": 55
        },
        "end": {
          "line": 28,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 924,
      "end": 930,
      "loc": {
        "start": {
          "line": 28,
          "column": 57
        },
        "end": {
          "line": 28,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 930,
      "end": 931,
      "loc": {
        "start": {
          "line": 28,
          "column": 63
        },
        "end": {
          "line": 28,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getAttribute",
      "start": 931,
      "end": 943,
      "loc": {
        "start": {
          "line": 28,
          "column": 64
        },
        "end": {
          "line": 28,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 943,
      "end": 944,
      "loc": {
        "start": {
          "line": 28,
          "column": 76
        },
        "end": {
          "line": 28,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entry",
      "start": 944,
      "end": 949,
      "loc": {
        "start": {
          "line": 28,
          "column": 77
        },
        "end": {
          "line": 28,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 949,
      "end": 950,
      "loc": {
        "start": {
          "line": 28,
          "column": 82
        },
        "end": {
          "line": 28,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 950,
      "end": 951,
      "loc": {
        "start": {
          "line": 28,
          "column": 83
        },
        "end": {
          "line": 28,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 951,
      "end": 952,
      "loc": {
        "start": {
          "line": 28,
          "column": 84
        },
        "end": {
          "line": 28,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 952,
      "end": 953,
      "loc": {
        "start": {
          "line": 28,
          "column": 85
        },
        "end": {
          "line": 28,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 954,
      "end": 955,
      "loc": {
        "start": {
          "line": 28,
          "column": 87
        },
        "end": {
          "line": 28,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "entry",
      "start": 956,
      "end": 961,
      "loc": {
        "start": {
          "line": 28,
          "column": 89
        },
        "end": {
          "line": 28,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 961,
      "end": 962,
      "loc": {
        "start": {
          "line": 28,
          "column": 94
        },
        "end": {
          "line": 28,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 962,
      "end": 963,
      "loc": {
        "start": {
          "line": 28,
          "column": 95
        },
        "end": {
          "line": 28,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 963,
      "end": 964,
      "loc": {
        "start": {
          "line": 28,
          "column": 96
        },
        "end": {
          "line": 28,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 964,
      "end": 965,
      "loc": {
        "start": {
          "line": 28,
          "column": 97
        },
        "end": {
          "line": 28,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 965,
      "end": 970,
      "loc": {
        "start": {
          "line": 28,
          "column": 98
        },
        "end": {
          "line": 28,
          "column": 103
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 970,
      "end": 971,
      "loc": {
        "start": {
          "line": 28,
          "column": 103
        },
        "end": {
          "line": 28,
          "column": 104
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 977,
      "end": 978,
      "loc": {
        "start": {
          "line": 29,
          "column": 4
        },
        "end": {
          "line": 29,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 982,
      "end": 983,
      "loc": {
        "start": {
          "line": 30,
          "column": 2
        },
        "end": {
          "line": 30,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 985,
      "end": 986,
      "loc": {
        "start": {
          "line": 31,
          "column": 0
        },
        "end": {
          "line": 31,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 990,
      "end": 995,
      "loc": {
        "start": {
          "line": 33,
          "column": 0
        },
        "end": {
          "line": 33,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleProperty",
      "start": 996,
      "end": 1010,
      "loc": {
        "start": {
          "line": 33,
          "column": 6
        },
        "end": {
          "line": 33,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1011,
      "end": 1012,
      "loc": {
        "start": {
          "line": 33,
          "column": 21
        },
        "end": {
          "line": 33,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1013,
      "end": 1014,
      "loc": {
        "start": {
          "line": 33,
          "column": 23
        },
        "end": {
          "line": 33,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 1014,
      "end": 1017,
      "loc": {
        "start": {
          "line": 33,
          "column": 24
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1017,
      "end": 1018,
      "loc": {
        "start": {
          "line": 33,
          "column": 27
        },
        "end": {
          "line": 33,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 1019,
      "end": 1027,
      "loc": {
        "start": {
          "line": 33,
          "column": 29
        },
        "end": {
          "line": 33,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1027,
      "end": 1028,
      "loc": {
        "start": {
          "line": 33,
          "column": 37
        },
        "end": {
          "line": 33,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1029,
      "end": 1030,
      "loc": {
        "start": {
          "line": 33,
          "column": 39
        },
        "end": {
          "line": 33,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 1030,
      "end": 1038,
      "loc": {
        "start": {
          "line": 33,
          "column": 40
        },
        "end": {
          "line": 33,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1038,
      "end": 1039,
      "loc": {
        "start": {
          "line": 33,
          "column": 48
        },
        "end": {
          "line": 33,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "strict",
      "start": 1040,
      "end": 1046,
      "loc": {
        "start": {
          "line": 33,
          "column": 50
        },
        "end": {
          "line": 33,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1046,
      "end": 1047,
      "loc": {
        "start": {
          "line": 33,
          "column": 56
        },
        "end": {
          "line": 33,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 1048,
      "end": 1054,
      "loc": {
        "start": {
          "line": 33,
          "column": 58
        },
        "end": {
          "line": 33,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1054,
      "end": 1055,
      "loc": {
        "start": {
          "line": 33,
          "column": 64
        },
        "end": {
          "line": 33,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reflect",
      "start": 1056,
      "end": 1063,
      "loc": {
        "start": {
          "line": 33,
          "column": 66
        },
        "end": {
          "line": 33,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1063,
      "end": 1064,
      "loc": {
        "start": {
          "line": 33,
          "column": 73
        },
        "end": {
          "line": 33,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 1065,
      "end": 1073,
      "loc": {
        "start": {
          "line": 33,
          "column": 75
        },
        "end": {
          "line": 33,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1073,
      "end": 1074,
      "loc": {
        "start": {
          "line": 33,
          "column": 83
        },
        "end": {
          "line": 33,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 1075,
      "end": 1080,
      "loc": {
        "start": {
          "line": 33,
          "column": 85
        },
        "end": {
          "line": 33,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1081,
      "end": 1082,
      "loc": {
        "start": {
          "line": 33,
          "column": 91
        },
        "end": {
          "line": 33,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1082,
      "end": 1083,
      "loc": {
        "start": {
          "line": 33,
          "column": 92
        },
        "end": {
          "line": 33,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1084,
      "end": 1086,
      "loc": {
        "start": {
          "line": 33,
          "column": 94
        },
        "end": {
          "line": 33,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1087,
      "end": 1088,
      "loc": {
        "start": {
          "line": 33,
          "column": 97
        },
        "end": {
          "line": 33,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1094,
      "end": 1096,
      "loc": {
        "start": {
          "line": 35,
          "column": 2
        },
        "end": {
          "line": 35,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1097,
      "end": 1098,
      "loc": {
        "start": {
          "line": 35,
          "column": 5
        },
        "end": {
          "line": 35,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Boolean",
      "start": 1098,
      "end": 1105,
      "loc": {
        "start": {
          "line": 35,
          "column": 6
        },
        "end": {
          "line": 35,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1105,
      "end": 1106,
      "loc": {
        "start": {
          "line": 35,
          "column": 13
        },
        "end": {
          "line": 35,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 1106,
      "end": 1114,
      "loc": {
        "start": {
          "line": 35,
          "column": 14
        },
        "end": {
          "line": 35,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 1115,
      "end": 1117,
      "loc": {
        "start": {
          "line": 35,
          "column": 23
        },
        "end": {
          "line": 35,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 1118,
      "end": 1124,
      "loc": {
        "start": {
          "line": 35,
          "column": 26
        },
        "end": {
          "line": 35,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1124,
      "end": 1125,
      "loc": {
        "start": {
          "line": 35,
          "column": 32
        },
        "end": {
          "line": 35,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1126,
      "end": 1128,
      "loc": {
        "start": {
          "line": 35,
          "column": 34
        },
        "end": {
          "line": 35,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_needsObserverSetup",
      "start": 1129,
      "end": 1148,
      "loc": {
        "start": {
          "line": 35,
          "column": 37
        },
        "end": {
          "line": 35,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1148,
      "end": 1149,
      "loc": {
        "start": {
          "line": 35,
          "column": 56
        },
        "end": {
          "line": 35,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 1149,
      "end": 1152,
      "loc": {
        "start": {
          "line": 35,
          "column": 57
        },
        "end": {
          "line": 35,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1152,
      "end": 1153,
      "loc": {
        "start": {
          "line": 35,
          "column": 60
        },
        "end": {
          "line": 35,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 1154,
      "end": 1162,
      "loc": {
        "start": {
          "line": 35,
          "column": 62
        },
        "end": {
          "line": 35,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1162,
      "end": 1163,
      "loc": {
        "start": {
          "line": 35,
          "column": 70
        },
        "end": {
          "line": 35,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1163,
      "end": 1164,
      "loc": {
        "start": {
          "line": 35,
          "column": 71
        },
        "end": {
          "line": 35,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1165,
      "end": 1166,
      "loc": {
        "start": {
          "line": 35,
          "column": 73
        },
        "end": {
          "line": 35,
          "column": 74
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Ensure we don't do duplicate work",
      "start": 1172,
      "end": 1208,
      "loc": {
        "start": {
          "line": 36,
          "column": 4
        },
        "end": {
          "line": 36,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 1214,
      "end": 1217,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 37,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1217,
      "end": 1218,
      "loc": {
        "start": {
          "line": 37,
          "column": 7
        },
        "end": {
          "line": 37,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observedProperties",
      "start": 1218,
      "end": 1236,
      "loc": {
        "start": {
          "line": 37,
          "column": 8
        },
        "end": {
          "line": 37,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1236,
      "end": 1237,
      "loc": {
        "start": {
          "line": 37,
          "column": 26
        },
        "end": {
          "line": 37,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 1237,
      "end": 1241,
      "loc": {
        "start": {
          "line": 37,
          "column": 27
        },
        "end": {
          "line": 37,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1241,
      "end": 1242,
      "loc": {
        "start": {
          "line": 37,
          "column": 31
        },
        "end": {
          "line": 37,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 1242,
      "end": 1250,
      "loc": {
        "start": {
          "line": 37,
          "column": 32
        },
        "end": {
          "line": 37,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1250,
      "end": 1251,
      "loc": {
        "start": {
          "line": 37,
          "column": 40
        },
        "end": {
          "line": 37,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1251,
      "end": 1252,
      "loc": {
        "start": {
          "line": 37,
          "column": 41
        },
        "end": {
          "line": 37,
          "column": 42
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " subscribe only when a callback is defined, all other global options are still available ...",
      "start": 1260,
      "end": 1354,
      "loc": {
        "start": {
          "line": 39,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1360,
      "end": 1362,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1363,
      "end": 1364,
      "loc": {
        "start": {
          "line": 40,
          "column": 7
        },
        "end": {
          "line": 40,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 1364,
      "end": 1370,
      "loc": {
        "start": {
          "line": 40,
          "column": 8
        },
        "end": {
          "line": 40,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1371,
      "end": 1373,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 1374,
      "end": 1377,
      "loc": {
        "start": {
          "line": 40,
          "column": 18
        },
        "end": {
          "line": 40,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1377,
      "end": 1378,
      "loc": {
        "start": {
          "line": 40,
          "column": 21
        },
        "end": {
          "line": 40,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 1378,
      "end": 1386,
      "loc": {
        "start": {
          "line": 40,
          "column": 22
        },
        "end": {
          "line": 40,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1386,
      "end": 1387,
      "loc": {
        "start": {
          "line": 40,
          "column": 30
        },
        "end": {
          "line": 40,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1387,
      "end": 1388,
      "loc": {
        "start": {
          "line": 40,
          "column": 31
        },
        "end": {
          "line": 40,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1389,
      "end": 1390,
      "loc": {
        "start": {
          "line": 40,
          "column": 33
        },
        "end": {
          "line": 40,
          "column": 34
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Warning, global observers don't work the same like bindings, each observer has it's namespace created like global.name,",
      "start": 1398,
      "end": 1520,
      "loc": {
        "start": {
          "line": 41,
          "column": 6
        },
        "end": {
          "line": 41,
          "column": 128
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " so whenever another element has an global observer for name, they will subscribe to the same publisher !",
      "start": 1528,
      "end": 1635,
      "loc": {
        "start": {
          "line": 42,
          "column": 6
        },
        "end": {
          "line": 42,
          "column": 113
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " TODO: Add local binding & improve global observers",
      "start": 1643,
      "end": 1696,
      "loc": {
        "start": {
          "line": 43,
          "column": 6
        },
        "end": {
          "line": 43,
          "column": 59
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " {{name}} for normal bindings & {{global::name}} for global bindings(observers) (like Polymer does)",
      "start": 1704,
      "end": 1805,
      "loc": {
        "start": {
          "line": 44,
          "column": 6
        },
        "end": {
          "line": 44,
          "column": 107
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " this means we need to build a system that keeps track of each component it's bindings &",
      "start": 1813,
      "end": 1903,
      "loc": {
        "start": {
          "line": 45,
          "column": 6
        },
        "end": {
          "line": 45,
          "column": 96
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " values should be set as property, so we know if a value needs to be set on attribute, rerender template, etc ..",
      "start": 1911,
      "end": 2025,
      "loc": {
        "start": {
          "line": 46,
          "column": 6
        },
        "end": {
          "line": 46,
          "column": 120
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PubSub",
      "start": 2033,
      "end": 2039,
      "loc": {
        "start": {
          "line": 47,
          "column": 6
        },
        "end": {
          "line": 47,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2039,
      "end": 2040,
      "loc": {
        "start": {
          "line": 47,
          "column": 12
        },
        "end": {
          "line": 47,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "subscribe",
      "start": 2040,
      "end": 2049,
      "loc": {
        "start": {
          "line": 47,
          "column": 13
        },
        "end": {
          "line": 47,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2049,
      "end": 2050,
      "loc": {
        "start": {
          "line": 47,
          "column": 22
        },
        "end": {
          "line": 47,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2050,
      "end": 2051,
      "loc": {
        "start": {
          "line": 47,
          "column": 23
        },
        "end": {
          "line": 47,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "global.",
      "start": 2051,
      "end": 2058,
      "loc": {
        "start": {
          "line": 47,
          "column": 24
        },
        "end": {
          "line": 47,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2058,
      "end": 2060,
      "loc": {
        "start": {
          "line": 47,
          "column": 31
        },
        "end": {
          "line": 47,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2060,
      "end": 2068,
      "loc": {
        "start": {
          "line": 47,
          "column": 33
        },
        "end": {
          "line": 47,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2068,
      "end": 2069,
      "loc": {
        "start": {
          "line": 47,
          "column": 41
        },
        "end": {
          "line": 47,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 2069,
      "end": 2069,
      "loc": {
        "start": {
          "line": 47,
          "column": 42
        },
        "end": {
          "line": 47,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2069,
      "end": 2070,
      "loc": {
        "start": {
          "line": 47,
          "column": 42
        },
        "end": {
          "line": 47,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2070,
      "end": 2071,
      "loc": {
        "start": {
          "line": 47,
          "column": 43
        },
        "end": {
          "line": 47,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2072,
      "end": 2075,
      "loc": {
        "start": {
          "line": 47,
          "column": 45
        },
        "end": {
          "line": 47,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2075,
      "end": 2076,
      "loc": {
        "start": {
          "line": 47,
          "column": 48
        },
        "end": {
          "line": 47,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 2076,
      "end": 2084,
      "loc": {
        "start": {
          "line": 47,
          "column": 49
        },
        "end": {
          "line": 47,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2084,
      "end": 2085,
      "loc": {
        "start": {
          "line": 47,
          "column": 57
        },
        "end": {
          "line": 47,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2085,
      "end": 2086,
      "loc": {
        "start": {
          "line": 47,
          "column": 58
        },
        "end": {
          "line": 47,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 2086,
      "end": 2090,
      "loc": {
        "start": {
          "line": 47,
          "column": 59
        },
        "end": {
          "line": 47,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2090,
      "end": 2091,
      "loc": {
        "start": {
          "line": 47,
          "column": 63
        },
        "end": {
          "line": 47,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2091,
      "end": 2094,
      "loc": {
        "start": {
          "line": 47,
          "column": 64
        },
        "end": {
          "line": 47,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2094,
      "end": 2095,
      "loc": {
        "start": {
          "line": 47,
          "column": 67
        },
        "end": {
          "line": 47,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2095,
      "end": 2096,
      "loc": {
        "start": {
          "line": 47,
          "column": 68
        },
        "end": {
          "line": 47,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2096,
      "end": 2097,
      "loc": {
        "start": {
          "line": 47,
          "column": 69
        },
        "end": {
          "line": 47,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2103,
      "end": 2104,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setupObserver",
      "start": 2110,
      "end": 2123,
      "loc": {
        "start": {
          "line": 49,
          "column": 4
        },
        "end": {
          "line": 49,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2123,
      "end": 2124,
      "loc": {
        "start": {
          "line": 49,
          "column": 17
        },
        "end": {
          "line": 49,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2124,
      "end": 2127,
      "loc": {
        "start": {
          "line": 49,
          "column": 18
        },
        "end": {
          "line": 49,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2127,
      "end": 2128,
      "loc": {
        "start": {
          "line": 49,
          "column": 21
        },
        "end": {
          "line": 49,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2129,
      "end": 2137,
      "loc": {
        "start": {
          "line": 49,
          "column": 23
        },
        "end": {
          "line": 49,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2137,
      "end": 2138,
      "loc": {
        "start": {
          "line": 49,
          "column": 31
        },
        "end": {
          "line": 49,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 2139,
      "end": 2147,
      "loc": {
        "start": {
          "line": 49,
          "column": 33
        },
        "end": {
          "line": 49,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2147,
      "end": 2148,
      "loc": {
        "start": {
          "line": 49,
          "column": 41
        },
        "end": {
          "line": 49,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2149,
      "end": 2150,
      "loc": {
        "start": {
          "line": 49,
          "column": 43
        },
        "end": {
          "line": 49,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "strict",
      "start": 2150,
      "end": 2156,
      "loc": {
        "start": {
          "line": 49,
          "column": 44
        },
        "end": {
          "line": 49,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2156,
      "end": 2157,
      "loc": {
        "start": {
          "line": 49,
          "column": 50
        },
        "end": {
          "line": 49,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 2158,
      "end": 2164,
      "loc": {
        "start": {
          "line": 49,
          "column": 52
        },
        "end": {
          "line": 49,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2164,
      "end": 2165,
      "loc": {
        "start": {
          "line": 49,
          "column": 58
        },
        "end": {
          "line": 49,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reflect",
      "start": 2166,
      "end": 2173,
      "loc": {
        "start": {
          "line": 49,
          "column": 60
        },
        "end": {
          "line": 49,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2173,
      "end": 2174,
      "loc": {
        "start": {
          "line": 49,
          "column": 67
        },
        "end": {
          "line": 49,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 2175,
      "end": 2183,
      "loc": {
        "start": {
          "line": 49,
          "column": 69
        },
        "end": {
          "line": 49,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2183,
      "end": 2184,
      "loc": {
        "start": {
          "line": 49,
          "column": 77
        },
        "end": {
          "line": 49,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 2185,
      "end": 2193,
      "loc": {
        "start": {
          "line": 49,
          "column": 79
        },
        "end": {
          "line": 49,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2193,
      "end": 2194,
      "loc": {
        "start": {
          "line": 49,
          "column": 87
        },
        "end": {
          "line": 49,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2194,
      "end": 2195,
      "loc": {
        "start": {
          "line": 49,
          "column": 88
        },
        "end": {
          "line": 49,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2199,
      "end": 2200,
      "loc": {
        "start": {
          "line": 50,
          "column": 2
        },
        "end": {
          "line": 50,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 2201,
      "end": 2205,
      "loc": {
        "start": {
          "line": 50,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2206,
      "end": 2208,
      "loc": {
        "start": {
          "line": 50,
          "column": 9
        },
        "end": {
          "line": 50,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2209,
      "end": 2210,
      "loc": {
        "start": {
          "line": 50,
          "column": 12
        },
        "end": {
          "line": 50,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2210,
      "end": 2211,
      "loc": {
        "start": {
          "line": 50,
          "column": 13
        },
        "end": {
          "line": 50,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Boolean",
      "start": 2211,
      "end": 2218,
      "loc": {
        "start": {
          "line": 50,
          "column": 14
        },
        "end": {
          "line": 50,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2218,
      "end": 2219,
      "loc": {
        "start": {
          "line": 50,
          "column": 21
        },
        "end": {
          "line": 50,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 2219,
      "end": 2227,
      "loc": {
        "start": {
          "line": 50,
          "column": 22
        },
        "end": {
          "line": 50,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2228,
      "end": 2230,
      "loc": {
        "start": {
          "line": 50,
          "column": 31
        },
        "end": {
          "line": 50,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 2231,
      "end": 2237,
      "loc": {
        "start": {
          "line": 50,
          "column": 34
        },
        "end": {
          "line": 50,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2237,
      "end": 2238,
      "loc": {
        "start": {
          "line": 50,
          "column": 40
        },
        "end": {
          "line": 50,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 2239,
      "end": 2241,
      "loc": {
        "start": {
          "line": 50,
          "column": 42
        },
        "end": {
          "line": 50,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Boolean",
      "start": 2242,
      "end": 2249,
      "loc": {
        "start": {
          "line": 50,
          "column": 45
        },
        "end": {
          "line": 50,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2249,
      "end": 2250,
      "loc": {
        "start": {
          "line": 50,
          "column": 52
        },
        "end": {
          "line": 50,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reflect",
      "start": 2250,
      "end": 2257,
      "loc": {
        "start": {
          "line": 50,
          "column": 53
        },
        "end": {
          "line": 50,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 2258,
      "end": 2260,
      "loc": {
        "start": {
          "line": 50,
          "column": 61
        },
        "end": {
          "line": 50,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 2261,
      "end": 2269,
      "loc": {
        "start": {
          "line": 50,
          "column": 64
        },
        "end": {
          "line": 50,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2269,
      "end": 2270,
      "loc": {
        "start": {
          "line": 50,
          "column": 72
        },
        "end": {
          "line": 50,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2270,
      "end": 2271,
      "loc": {
        "start": {
          "line": 50,
          "column": 73
        },
        "end": {
          "line": 50,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2272,
      "end": 2273,
      "loc": {
        "start": {
          "line": 50,
          "column": 75
        },
        "end": {
          "line": 50,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setupObserver",
      "start": 2279,
      "end": 2292,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 51,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2292,
      "end": 2293,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2293,
      "end": 2296,
      "loc": {
        "start": {
          "line": 51,
          "column": 18
        },
        "end": {
          "line": 51,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2296,
      "end": 2297,
      "loc": {
        "start": {
          "line": 51,
          "column": 21
        },
        "end": {
          "line": 51,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2298,
      "end": 2306,
      "loc": {
        "start": {
          "line": 51,
          "column": 23
        },
        "end": {
          "line": 51,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2306,
      "end": 2307,
      "loc": {
        "start": {
          "line": 51,
          "column": 31
        },
        "end": {
          "line": 51,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observer",
      "start": 2308,
      "end": 2316,
      "loc": {
        "start": {
          "line": 51,
          "column": 33
        },
        "end": {
          "line": 51,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2316,
      "end": 2317,
      "loc": {
        "start": {
          "line": 51,
          "column": 41
        },
        "end": {
          "line": 51,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2318,
      "end": 2319,
      "loc": {
        "start": {
          "line": 51,
          "column": 43
        },
        "end": {
          "line": 51,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "strict",
      "start": 2319,
      "end": 2325,
      "loc": {
        "start": {
          "line": 51,
          "column": 44
        },
        "end": {
          "line": 51,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2325,
      "end": 2326,
      "loc": {
        "start": {
          "line": 51,
          "column": 50
        },
        "end": {
          "line": 51,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 2327,
      "end": 2333,
      "loc": {
        "start": {
          "line": 51,
          "column": 52
        },
        "end": {
          "line": 51,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2333,
      "end": 2334,
      "loc": {
        "start": {
          "line": 51,
          "column": 58
        },
        "end": {
          "line": 51,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reflect",
      "start": 2335,
      "end": 2342,
      "loc": {
        "start": {
          "line": 51,
          "column": 60
        },
        "end": {
          "line": 51,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2342,
      "end": 2343,
      "loc": {
        "start": {
          "line": 51,
          "column": 67
        },
        "end": {
          "line": 51,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 2344,
      "end": 2352,
      "loc": {
        "start": {
          "line": 51,
          "column": 69
        },
        "end": {
          "line": 51,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2352,
      "end": 2353,
      "loc": {
        "start": {
          "line": 51,
          "column": 77
        },
        "end": {
          "line": 51,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 2354,
      "end": 2362,
      "loc": {
        "start": {
          "line": 51,
          "column": 79
        },
        "end": {
          "line": 51,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2362,
      "end": 2363,
      "loc": {
        "start": {
          "line": 51,
          "column": 87
        },
        "end": {
          "line": 51,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2363,
      "end": 2364,
      "loc": {
        "start": {
          "line": 51,
          "column": 88
        },
        "end": {
          "line": 51,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2368,
      "end": 2369,
      "loc": {
        "start": {
          "line": 52,
          "column": 2
        },
        "end": {
          "line": 52,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2371,
      "end": 2372,
      "loc": {
        "start": {
          "line": 53,
          "column": 0
        },
        "end": {
          "line": 53,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2376,
      "end": 2381,
      "loc": {
        "start": {
          "line": 55,
          "column": 0
        },
        "end": {
          "line": 55,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "_needsObserverSetup",
      "start": 2382,
      "end": 2401,
      "loc": {
        "start": {
          "line": 55,
          "column": 6
        },
        "end": {
          "line": 55,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2402,
      "end": 2403,
      "loc": {
        "start": {
          "line": 55,
          "column": 26
        },
        "end": {
          "line": 55,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2404,
      "end": 2405,
      "loc": {
        "start": {
          "line": 55,
          "column": 28
        },
        "end": {
          "line": 55,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2405,
      "end": 2408,
      "loc": {
        "start": {
          "line": 55,
          "column": 29
        },
        "end": {
          "line": 55,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2408,
      "end": 2409,
      "loc": {
        "start": {
          "line": 55,
          "column": 32
        },
        "end": {
          "line": 55,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2410,
      "end": 2418,
      "loc": {
        "start": {
          "line": 55,
          "column": 34
        },
        "end": {
          "line": 55,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2418,
      "end": 2419,
      "loc": {
        "start": {
          "line": 55,
          "column": 42
        },
        "end": {
          "line": 55,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2420,
      "end": 2422,
      "loc": {
        "start": {
          "line": 55,
          "column": 44
        },
        "end": {
          "line": 55,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2423,
      "end": 2424,
      "loc": {
        "start": {
          "line": 55,
          "column": 47
        },
        "end": {
          "line": 55,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2428,
      "end": 2430,
      "loc": {
        "start": {
          "line": 56,
          "column": 2
        },
        "end": {
          "line": 56,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2431,
      "end": 2432,
      "loc": {
        "start": {
          "line": 56,
          "column": 5
        },
        "end": {
          "line": 56,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 2432,
      "end": 2433,
      "loc": {
        "start": {
          "line": 56,
          "column": 6
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2433,
      "end": 2436,
      "loc": {
        "start": {
          "line": 56,
          "column": 7
        },
        "end": {
          "line": 56,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2436,
      "end": 2437,
      "loc": {
        "start": {
          "line": 56,
          "column": 10
        },
        "end": {
          "line": 56,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observedProperties",
      "start": 2437,
      "end": 2455,
      "loc": {
        "start": {
          "line": 56,
          "column": 11
        },
        "end": {
          "line": 56,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2455,
      "end": 2456,
      "loc": {
        "start": {
          "line": 56,
          "column": 29
        },
        "end": {
          "line": 56,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2457,
      "end": 2458,
      "loc": {
        "start": {
          "line": 56,
          "column": 31
        },
        "end": {
          "line": 56,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2464,
      "end": 2467,
      "loc": {
        "start": {
          "line": 57,
          "column": 4
        },
        "end": {
          "line": 57,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2467,
      "end": 2468,
      "loc": {
        "start": {
          "line": 57,
          "column": 7
        },
        "end": {
          "line": 57,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observedProperties",
      "start": 2468,
      "end": 2486,
      "loc": {
        "start": {
          "line": 57,
          "column": 8
        },
        "end": {
          "line": 57,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2487,
      "end": 2488,
      "loc": {
        "start": {
          "line": 57,
          "column": 27
        },
        "end": {
          "line": 57,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2489,
      "end": 2490,
      "loc": {
        "start": {
          "line": 57,
          "column": 29
        },
        "end": {
          "line": 57,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2490,
      "end": 2491,
      "loc": {
        "start": {
          "line": 57,
          "column": 30
        },
        "end": {
          "line": 57,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2491,
      "end": 2492,
      "loc": {
        "start": {
          "line": 57,
          "column": 31
        },
        "end": {
          "line": 57,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2496,
      "end": 2497,
      "loc": {
        "start": {
          "line": 58,
          "column": 2
        },
        "end": {
          "line": 58,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2501,
      "end": 2503,
      "loc": {
        "start": {
          "line": 59,
          "column": 2
        },
        "end": {
          "line": 59,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2504,
      "end": 2505,
      "loc": {
        "start": {
          "line": 59,
          "column": 5
        },
        "end": {
          "line": 59,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 2505,
      "end": 2508,
      "loc": {
        "start": {
          "line": 59,
          "column": 6
        },
        "end": {
          "line": 59,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2508,
      "end": 2509,
      "loc": {
        "start": {
          "line": 59,
          "column": 9
        },
        "end": {
          "line": 59,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observedProperties",
      "start": 2509,
      "end": 2527,
      "loc": {
        "start": {
          "line": 59,
          "column": 10
        },
        "end": {
          "line": 59,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2527,
      "end": 2528,
      "loc": {
        "start": {
          "line": 59,
          "column": 28
        },
        "end": {
          "line": 59,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2528,
      "end": 2536,
      "loc": {
        "start": {
          "line": 59,
          "column": 29
        },
        "end": {
          "line": 59,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2536,
      "end": 2537,
      "loc": {
        "start": {
          "line": 59,
          "column": 37
        },
        "end": {
          "line": 59,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2537,
      "end": 2538,
      "loc": {
        "start": {
          "line": 59,
          "column": 38
        },
        "end": {
          "line": 59,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2539,
      "end": 2540,
      "loc": {
        "start": {
          "line": 59,
          "column": 40
        },
        "end": {
          "line": 59,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 2546,
      "end": 2553,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2553,
      "end": 2554,
      "loc": {
        "start": {
          "line": 60,
          "column": 11
        },
        "end": {
          "line": 60,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "warn",
      "start": 2554,
      "end": 2558,
      "loc": {
        "start": {
          "line": 60,
          "column": 12
        },
        "end": {
          "line": 60,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2558,
      "end": 2559,
      "loc": {
        "start": {
          "line": 60,
          "column": 16
        },
        "end": {
          "line": 60,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "observer::ignoring duplicate property observer ",
      "start": 2567,
      "end": 2616,
      "loc": {
        "start": {
          "line": 61,
          "column": 6
        },
        "end": {
          "line": 61,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 2617,
      "end": 2618,
      "loc": {
        "start": {
          "line": 61,
          "column": 56
        },
        "end": {
          "line": 61,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2619,
      "end": 2627,
      "loc": {
        "start": {
          "line": 61,
          "column": 58
        },
        "end": {
          "line": 61,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2633,
      "end": 2634,
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2634,
      "end": 2635,
      "loc": {
        "start": {
          "line": 62,
          "column": 5
        },
        "end": {
          "line": 62,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2641,
      "end": 2647,
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 63,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2648,
      "end": 2653,
      "loc": {
        "start": {
          "line": 63,
          "column": 11
        },
        "end": {
          "line": 63,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2653,
      "end": 2654,
      "loc": {
        "start": {
          "line": 63,
          "column": 16
        },
        "end": {
          "line": 63,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2658,
      "end": 2659,
      "loc": {
        "start": {
          "line": 64,
          "column": 2
        },
        "end": {
          "line": 64,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 2660,
      "end": 2664,
      "loc": {
        "start": {
          "line": 64,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2665,
      "end": 2666,
      "loc": {
        "start": {
          "line": 64,
          "column": 9
        },
        "end": {
          "line": 64,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 2672,
      "end": 2678,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 2679,
      "end": 2683,
      "loc": {
        "start": {
          "line": 65,
          "column": 11
        },
        "end": {
          "line": 65,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2683,
      "end": 2684,
      "loc": {
        "start": {
          "line": 65,
          "column": 15
        },
        "end": {
          "line": 65,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2688,
      "end": 2689,
      "loc": {
        "start": {
          "line": 66,
          "column": 2
        },
        "end": {
          "line": 66,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2691,
      "end": 2692,
      "loc": {
        "start": {
          "line": 67,
          "column": 0
        },
        "end": {
          "line": 67,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 2696,
      "end": 2701,
      "loc": {
        "start": {
          "line": 69,
          "column": 0
        },
        "end": {
          "line": 69,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forObservers",
      "start": 2702,
      "end": 2714,
      "loc": {
        "start": {
          "line": 69,
          "column": 6
        },
        "end": {
          "line": 69,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2715,
      "end": 2716,
      "loc": {
        "start": {
          "line": 69,
          "column": 19
        },
        "end": {
          "line": 69,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2717,
      "end": 2718,
      "loc": {
        "start": {
          "line": 69,
          "column": 21
        },
        "end": {
          "line": 69,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 2718,
      "end": 2724,
      "loc": {
        "start": {
          "line": 69,
          "column": 22
        },
        "end": {
          "line": 69,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2724,
      "end": 2725,
      "loc": {
        "start": {
          "line": 69,
          "column": 28
        },
        "end": {
          "line": 69,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observers",
      "start": 2726,
      "end": 2735,
      "loc": {
        "start": {
          "line": 69,
          "column": 30
        },
        "end": {
          "line": 69,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2735,
      "end": 2736,
      "loc": {
        "start": {
          "line": 69,
          "column": 39
        },
        "end": {
          "line": 69,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isGlobal",
      "start": 2737,
      "end": 2745,
      "loc": {
        "start": {
          "line": 69,
          "column": 41
        },
        "end": {
          "line": 69,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2745,
      "end": 2746,
      "loc": {
        "start": {
          "line": 69,
          "column": 49
        },
        "end": {
          "line": 69,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 2746,
      "end": 2751,
      "loc": {
        "start": {
          "line": 69,
          "column": 50
        },
        "end": {
          "line": 69,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2751,
      "end": 2752,
      "loc": {
        "start": {
          "line": 69,
          "column": 55
        },
        "end": {
          "line": 69,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2753,
      "end": 2755,
      "loc": {
        "start": {
          "line": 69,
          "column": 57
        },
        "end": {
          "line": 69,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2756,
      "end": 2757,
      "loc": {
        "start": {
          "line": 69,
          "column": 60
        },
        "end": {
          "line": 69,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2761,
      "end": 2764,
      "loc": {
        "start": {
          "line": 70,
          "column": 2
        },
        "end": {
          "line": 70,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2765,
      "end": 2766,
      "loc": {
        "start": {
          "line": 70,
          "column": 6
        },
        "end": {
          "line": 70,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2766,
      "end": 2769,
      "loc": {
        "start": {
          "line": 70,
          "column": 7
        },
        "end": {
          "line": 70,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observe",
      "start": 2770,
      "end": 2777,
      "loc": {
        "start": {
          "line": 70,
          "column": 11
        },
        "end": {
          "line": 70,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 2778,
      "end": 2780,
      "loc": {
        "start": {
          "line": 70,
          "column": 19
        },
        "end": {
          "line": 70,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observers",
      "start": 2781,
      "end": 2790,
      "loc": {
        "start": {
          "line": 70,
          "column": 22
        },
        "end": {
          "line": 70,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2790,
      "end": 2791,
      "loc": {
        "start": {
          "line": 70,
          "column": 31
        },
        "end": {
          "line": 70,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2792,
      "end": 2793,
      "loc": {
        "start": {
          "line": 70,
          "column": 33
        },
        "end": {
          "line": 70,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2799,
      "end": 2802,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parts",
      "start": 2803,
      "end": 2808,
      "loc": {
        "start": {
          "line": 71,
          "column": 8
        },
        "end": {
          "line": 71,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2809,
      "end": 2810,
      "loc": {
        "start": {
          "line": 71,
          "column": 14
        },
        "end": {
          "line": 71,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observe",
      "start": 2811,
      "end": 2818,
      "loc": {
        "start": {
          "line": 71,
          "column": 16
        },
        "end": {
          "line": 71,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2818,
      "end": 2819,
      "loc": {
        "start": {
          "line": 71,
          "column": 23
        },
        "end": {
          "line": 71,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "split",
      "start": 2819,
      "end": 2824,
      "loc": {
        "start": {
          "line": 71,
          "column": 24
        },
        "end": {
          "line": 71,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2824,
      "end": 2825,
      "loc": {
        "start": {
          "line": 71,
          "column": 29
        },
        "end": {
          "line": 71,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "\\(|\\)",
        "flags": "g"
      },
      "start": 2825,
      "end": 2833,
      "loc": {
        "start": {
          "line": 71,
          "column": 30
        },
        "end": {
          "line": 71,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2833,
      "end": 2834,
      "loc": {
        "start": {
          "line": 71,
          "column": 38
        },
        "end": {
          "line": 71,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2834,
      "end": 2835,
      "loc": {
        "start": {
          "line": 71,
          "column": 39
        },
        "end": {
          "line": 71,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2841,
      "end": 2844,
      "loc": {
        "start": {
          "line": 72,
          "column": 4
        },
        "end": {
          "line": 72,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 2845,
      "end": 2847,
      "loc": {
        "start": {
          "line": 72,
          "column": 8
        },
        "end": {
          "line": 72,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2848,
      "end": 2849,
      "loc": {
        "start": {
          "line": 72,
          "column": 11
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parts",
      "start": 2850,
      "end": 2855,
      "loc": {
        "start": {
          "line": 72,
          "column": 13
        },
        "end": {
          "line": 72,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2855,
      "end": 2856,
      "loc": {
        "start": {
          "line": 72,
          "column": 18
        },
        "end": {
          "line": 72,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 2856,
      "end": 2857,
      "loc": {
        "start": {
          "line": 72,
          "column": 19
        },
        "end": {
          "line": 72,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2857,
      "end": 2858,
      "loc": {
        "start": {
          "line": 72,
          "column": 20
        },
        "end": {
          "line": 72,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2858,
      "end": 2859,
      "loc": {
        "start": {
          "line": 72,
          "column": 21
        },
        "end": {
          "line": 72,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parts",
      "start": 2865,
      "end": 2870,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 73,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2871,
      "end": 2872,
      "loc": {
        "start": {
          "line": 73,
          "column": 10
        },
        "end": {
          "line": 73,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parts",
      "start": 2873,
      "end": 2878,
      "loc": {
        "start": {
          "line": 73,
          "column": 12
        },
        "end": {
          "line": 73,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2878,
      "end": 2879,
      "loc": {
        "start": {
          "line": 73,
          "column": 17
        },
        "end": {
          "line": 73,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 2879,
      "end": 2884,
      "loc": {
        "start": {
          "line": 73,
          "column": 18
        },
        "end": {
          "line": 73,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2884,
      "end": 2885,
      "loc": {
        "start": {
          "line": 73,
          "column": 23
        },
        "end": {
          "line": 73,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 73,
          "column": 24
        },
        "end": {
          "line": 73,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2886,
      "end": 2887,
      "loc": {
        "start": {
          "line": 73,
          "column": 25
        },
        "end": {
          "line": 73,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2887,
      "end": 2888,
      "loc": {
        "start": {
          "line": 73,
          "column": 26
        },
        "end": {
          "line": 73,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 2894,
      "end": 2897,
      "loc": {
        "start": {
          "line": 74,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2898,
      "end": 2899,
      "loc": {
        "start": {
          "line": 74,
          "column": 8
        },
        "end": {
          "line": 74,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 2899,
      "end": 2902,
      "loc": {
        "start": {
          "line": 74,
          "column": 9
        },
        "end": {
          "line": 74,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2903,
      "end": 2911,
      "loc": {
        "start": {
          "line": 74,
          "column": 13
        },
        "end": {
          "line": 74,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 2912,
      "end": 2914,
      "loc": {
        "start": {
          "line": 74,
          "column": 22
        },
        "end": {
          "line": 74,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parts",
      "start": 2915,
      "end": 2920,
      "loc": {
        "start": {
          "line": 74,
          "column": 25
        },
        "end": {
          "line": 74,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2920,
      "end": 2921,
      "loc": {
        "start": {
          "line": 74,
          "column": 30
        },
        "end": {
          "line": 74,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2922,
      "end": 2923,
      "loc": {
        "start": {
          "line": 74,
          "column": 32
        },
        "end": {
          "line": 74,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 2931,
      "end": 2933,
      "loc": {
        "start": {
          "line": 75,
          "column": 6
        },
        "end": {
          "line": 75,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2934,
      "end": 2935,
      "loc": {
        "start": {
          "line": 75,
          "column": 9
        },
        "end": {
          "line": 75,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2935,
      "end": 2943,
      "loc": {
        "start": {
          "line": 75,
          "column": 10
        },
        "end": {
          "line": 75,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2943,
      "end": 2944,
      "loc": {
        "start": {
          "line": 75,
          "column": 18
        },
        "end": {
          "line": 75,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 2944,
      "end": 2950,
      "loc": {
        "start": {
          "line": 75,
          "column": 19
        },
        "end": {
          "line": 75,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2950,
      "end": 2951,
      "loc": {
        "start": {
          "line": 75,
          "column": 25
        },
        "end": {
          "line": 75,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2952,
      "end": 2953,
      "loc": {
        "start": {
          "line": 75,
          "column": 27
        },
        "end": {
          "line": 75,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleProperty",
      "start": 2963,
      "end": 2977,
      "loc": {
        "start": {
          "line": 76,
          "column": 8
        },
        "end": {
          "line": 76,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2977,
      "end": 2978,
      "loc": {
        "start": {
          "line": 76,
          "column": 22
        },
        "end": {
          "line": 76,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 2978,
      "end": 2984,
      "loc": {
        "start": {
          "line": 76,
          "column": 23
        },
        "end": {
          "line": 76,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2984,
      "end": 2985,
      "loc": {
        "start": {
          "line": 76,
          "column": 29
        },
        "end": {
          "line": 76,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 2986,
      "end": 2994,
      "loc": {
        "start": {
          "line": 76,
          "column": 31
        },
        "end": {
          "line": 76,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2994,
      "end": 2995,
      "loc": {
        "start": {
          "line": 76,
          "column": 39
        },
        "end": {
          "line": 76,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 2996,
      "end": 2998,
      "loc": {
        "start": {
          "line": 76,
          "column": 41
        },
        "end": {
          "line": 76,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2998,
      "end": 2999,
      "loc": {
        "start": {
          "line": 76,
          "column": 43
        },
        "end": {
          "line": 76,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3000,
      "end": 3001,
      "loc": {
        "start": {
          "line": 76,
          "column": 45
        },
        "end": {
          "line": 76,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "strict",
      "start": 3013,
      "end": 3019,
      "loc": {
        "start": {
          "line": 77,
          "column": 10
        },
        "end": {
          "line": 77,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3019,
      "end": 3020,
      "loc": {
        "start": {
          "line": 77,
          "column": 16
        },
        "end": {
          "line": 77,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 3021,
      "end": 3026,
      "loc": {
        "start": {
          "line": 77,
          "column": 18
        },
        "end": {
          "line": 77,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3026,
      "end": 3027,
      "loc": {
        "start": {
          "line": 77,
          "column": 23
        },
        "end": {
          "line": 77,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 3039,
      "end": 3045,
      "loc": {
        "start": {
          "line": 78,
          "column": 10
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3045,
      "end": 3046,
      "loc": {
        "start": {
          "line": 78,
          "column": 16
        },
        "end": {
          "line": 78,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isGlobal",
      "start": 3047,
      "end": 3055,
      "loc": {
        "start": {
          "line": 78,
          "column": 18
        },
        "end": {
          "line": 78,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3065,
      "end": 3066,
      "loc": {
        "start": {
          "line": 79,
          "column": 8
        },
        "end": {
          "line": 79,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3066,
      "end": 3067,
      "loc": {
        "start": {
          "line": 79,
          "column": 9
        },
        "end": {
          "line": 79,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3067,
      "end": 3068,
      "loc": {
        "start": {
          "line": 79,
          "column": 10
        },
        "end": {
          "line": 79,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3076,
      "end": 3077,
      "loc": {
        "start": {
          "line": 80,
          "column": 6
        },
        "end": {
          "line": 80,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3083,
      "end": 3084,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3088,
      "end": 3089,
      "loc": {
        "start": {
          "line": 82,
          "column": 2
        },
        "end": {
          "line": 82,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3091,
      "end": 3092,
      "loc": {
        "start": {
          "line": 83,
          "column": 0
        },
        "end": {
          "line": 83,
          "column": 1
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n * Runs a method on target whenever given property changes\r\n *\r\n * example:\r\n * change(change) {\r\n *  change.property // name of the property\r\n *  change.value // value of the property\r\n * }\r\n *\r\n * @arg {object} obj target\r\n * @arg {string} property name\r\n * @arg {boolean} strict\r\n * @arg {method} fn The method to run on change\r\n ",
      "start": 3096,
      "end": 3436,
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 98,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 3438,
      "end": 3443,
      "loc": {
        "start": {
          "line": 99,
          "column": 0
        },
        "end": {
          "line": 99,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setupObserver",
      "start": 3444,
      "end": 3457,
      "loc": {
        "start": {
          "line": 99,
          "column": 6
        },
        "end": {
          "line": 99,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3458,
      "end": 3459,
      "loc": {
        "start": {
          "line": 99,
          "column": 20
        },
        "end": {
          "line": 99,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3460,
      "end": 3461,
      "loc": {
        "start": {
          "line": 99,
          "column": 22
        },
        "end": {
          "line": 99,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 3461,
      "end": 3464,
      "loc": {
        "start": {
          "line": 99,
          "column": 23
        },
        "end": {
          "line": 99,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3464,
      "end": 3465,
      "loc": {
        "start": {
          "line": 99,
          "column": 26
        },
        "end": {
          "line": 99,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 3466,
      "end": 3474,
      "loc": {
        "start": {
          "line": 99,
          "column": 28
        },
        "end": {
          "line": 99,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3474,
      "end": 3475,
      "loc": {
        "start": {
          "line": 99,
          "column": 36
        },
        "end": {
          "line": 99,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 3476,
      "end": 3478,
      "loc": {
        "start": {
          "line": 99,
          "column": 38
        },
        "end": {
          "line": 99,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3478,
      "end": 3479,
      "loc": {
        "start": {
          "line": 99,
          "column": 40
        },
        "end": {
          "line": 99,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3480,
      "end": 3481,
      "loc": {
        "start": {
          "line": 99,
          "column": 42
        },
        "end": {
          "line": 99,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "strict",
      "start": 3481,
      "end": 3487,
      "loc": {
        "start": {
          "line": 99,
          "column": 43
        },
        "end": {
          "line": 99,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3487,
      "end": 3488,
      "loc": {
        "start": {
          "line": 99,
          "column": 49
        },
        "end": {
          "line": 99,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 3489,
      "end": 3495,
      "loc": {
        "start": {
          "line": 99,
          "column": 51
        },
        "end": {
          "line": 99,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3495,
      "end": 3496,
      "loc": {
        "start": {
          "line": 99,
          "column": 57
        },
        "end": {
          "line": 99,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reflect",
      "start": 3497,
      "end": 3504,
      "loc": {
        "start": {
          "line": 99,
          "column": 59
        },
        "end": {
          "line": 99,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3504,
      "end": 3505,
      "loc": {
        "start": {
          "line": 99,
          "column": 66
        },
        "end": {
          "line": 99,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 3506,
      "end": 3514,
      "loc": {
        "start": {
          "line": 99,
          "column": 68
        },
        "end": {
          "line": 99,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3514,
      "end": 3515,
      "loc": {
        "start": {
          "line": 99,
          "column": 76
        },
        "end": {
          "line": 99,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3515,
      "end": 3516,
      "loc": {
        "start": {
          "line": 99,
          "column": 77
        },
        "end": {
          "line": 99,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3517,
      "end": 3519,
      "loc": {
        "start": {
          "line": 99,
          "column": 79
        },
        "end": {
          "line": 99,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3520,
      "end": 3521,
      "loc": {
        "start": {
          "line": 99,
          "column": 82
        },
        "end": {
          "line": 99,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3525,
      "end": 3527,
      "loc": {
        "start": {
          "line": 100,
          "column": 2
        },
        "end": {
          "line": 100,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3528,
      "end": 3529,
      "loc": {
        "start": {
          "line": 100,
          "column": 5
        },
        "end": {
          "line": 100,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 3529,
      "end": 3537,
      "loc": {
        "start": {
          "line": 100,
          "column": 6
        },
        "end": {
          "line": 100,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 3538,
      "end": 3540,
      "loc": {
        "start": {
          "line": 100,
          "column": 15
        },
        "end": {
          "line": 100,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 3541,
      "end": 3542,
      "loc": {
        "start": {
          "line": 100,
          "column": 18
        },
        "end": {
          "line": 100,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 3542,
      "end": 3545,
      "loc": {
        "start": {
          "line": 100,
          "column": 19
        },
        "end": {
          "line": 100,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3545,
      "end": 3546,
      "loc": {
        "start": {
          "line": 100,
          "column": 22
        },
        "end": {
          "line": 100,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "shadowRoot",
      "start": 3546,
      "end": 3556,
      "loc": {
        "start": {
          "line": 100,
          "column": 23
        },
        "end": {
          "line": 100,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3556,
      "end": 3557,
      "loc": {
        "start": {
          "line": 100,
          "column": 33
        },
        "end": {
          "line": 100,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3558,
      "end": 3559,
      "loc": {
        "start": {
          "line": 100,
          "column": 35
        },
        "end": {
          "line": 100,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 3565,
      "end": 3568,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 101,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3568,
      "end": 3569,
      "loc": {
        "start": {
          "line": 101,
          "column": 7
        },
        "end": {
          "line": 101,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attachShadow",
      "start": 3569,
      "end": 3581,
      "loc": {
        "start": {
          "line": 101,
          "column": 8
        },
        "end": {
          "line": 101,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3581,
      "end": 3582,
      "loc": {
        "start": {
          "line": 101,
          "column": 20
        },
        "end": {
          "line": 101,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3582,
      "end": 3583,
      "loc": {
        "start": {
          "line": 101,
          "column": 21
        },
        "end": {
          "line": 101,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mode",
      "start": 3583,
      "end": 3587,
      "loc": {
        "start": {
          "line": 101,
          "column": 22
        },
        "end": {
          "line": 101,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3587,
      "end": 3588,
      "loc": {
        "start": {
          "line": 101,
          "column": 26
        },
        "end": {
          "line": 101,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "open",
      "start": 3589,
      "end": 3595,
      "loc": {
        "start": {
          "line": 101,
          "column": 28
        },
        "end": {
          "line": 101,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3595,
      "end": 3596,
      "loc": {
        "start": {
          "line": 101,
          "column": 34
        },
        "end": {
          "line": 101,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3596,
      "end": 3597,
      "loc": {
        "start": {
          "line": 101,
          "column": 35
        },
        "end": {
          "line": 101,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3601,
      "end": 3602,
      "loc": {
        "start": {
          "line": 102,
          "column": 2
        },
        "end": {
          "line": 102,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 3606,
      "end": 3612,
      "loc": {
        "start": {
          "line": 103,
          "column": 2
        },
        "end": {
          "line": 103,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3612,
      "end": 3613,
      "loc": {
        "start": {
          "line": 103,
          "column": 8
        },
        "end": {
          "line": 103,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "defineProperty",
      "start": 3613,
      "end": 3627,
      "loc": {
        "start": {
          "line": 103,
          "column": 9
        },
        "end": {
          "line": 103,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3627,
      "end": 3628,
      "loc": {
        "start": {
          "line": 103,
          "column": 23
        },
        "end": {
          "line": 103,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "obj",
      "start": 3628,
      "end": 3631,
      "loc": {
        "start": {
          "line": 103,
          "column": 24
        },
        "end": {
          "line": 103,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3631,
      "end": 3632,
      "loc": {
        "start": {
          "line": 103,
          "column": 27
        },
        "end": {
          "line": 103,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 3633,
      "end": 3641,
      "loc": {
        "start": {
          "line": 103,
          "column": 29
        },
        "end": {
          "line": 103,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3641,
      "end": 3642,
      "loc": {
        "start": {
          "line": 103,
          "column": 37
        },
        "end": {
          "line": 103,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3643,
      "end": 3644,
      "loc": {
        "start": {
          "line": 103,
          "column": 39
        },
        "end": {
          "line": 103,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "set",
      "start": 3650,
      "end": 3653,
      "loc": {
        "start": {
          "line": 104,
          "column": 4
        },
        "end": {
          "line": 104,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3653,
      "end": 3654,
      "loc": {
        "start": {
          "line": 104,
          "column": 7
        },
        "end": {
          "line": 104,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3654,
      "end": 3659,
      "loc": {
        "start": {
          "line": 104,
          "column": 8
        },
        "end": {
          "line": 104,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3659,
      "end": 3660,
      "loc": {
        "start": {
          "line": 104,
          "column": 13
        },
        "end": {
          "line": 104,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3661,
      "end": 3662,
      "loc": {
        "start": {
          "line": 104,
          "column": 15
        },
        "end": {
          "line": 104,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3670,
      "end": 3672,
      "loc": {
        "start": {
          "line": 105,
          "column": 6
        },
        "end": {
          "line": 105,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3673,
      "end": 3674,
      "loc": {
        "start": {
          "line": 105,
          "column": 9
        },
        "end": {
          "line": 105,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3674,
      "end": 3679,
      "loc": {
        "start": {
          "line": 105,
          "column": 10
        },
        "end": {
          "line": 105,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3680,
      "end": 3683,
      "loc": {
        "start": {
          "line": 105,
          "column": 16
        },
        "end": {
          "line": 105,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "undefined",
      "start": 3684,
      "end": 3693,
      "loc": {
        "start": {
          "line": 105,
          "column": 20
        },
        "end": {
          "line": 105,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3693,
      "end": 3694,
      "loc": {
        "start": {
          "line": 105,
          "column": 29
        },
        "end": {
          "line": 105,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3695,
      "end": 3696,
      "loc": {
        "start": {
          "line": 105,
          "column": 31
        },
        "end": {
          "line": 105,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3706,
      "end": 3712,
      "loc": {
        "start": {
          "line": 106,
          "column": 8
        },
        "end": {
          "line": 106,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3720,
      "end": 3721,
      "loc": {
        "start": {
          "line": 107,
          "column": 6
        },
        "end": {
          "line": 107,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3729,
      "end": 3731,
      "loc": {
        "start": {
          "line": 108,
          "column": 6
        },
        "end": {
          "line": 108,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3732,
      "end": 3733,
      "loc": {
        "start": {
          "line": 108,
          "column": 9
        },
        "end": {
          "line": 108,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3733,
      "end": 3737,
      "loc": {
        "start": {
          "line": 108,
          "column": 10
        },
        "end": {
          "line": 108,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3737,
      "end": 3738,
      "loc": {
        "start": {
          "line": 108,
          "column": 14
        },
        "end": {
          "line": 108,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3738,
      "end": 3739,
      "loc": {
        "start": {
          "line": 108,
          "column": 15
        },
        "end": {
          "line": 108,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "_",
      "start": 3739,
      "end": 3740,
      "loc": {
        "start": {
          "line": 108,
          "column": 16
        },
        "end": {
          "line": 108,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3740,
      "end": 3742,
      "loc": {
        "start": {
          "line": 108,
          "column": 17
        },
        "end": {
          "line": 108,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 3742,
      "end": 3750,
      "loc": {
        "start": {
          "line": 108,
          "column": 19
        },
        "end": {
          "line": 108,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3750,
      "end": 3751,
      "loc": {
        "start": {
          "line": 108,
          "column": 27
        },
        "end": {
          "line": 108,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 3751,
      "end": 3751,
      "loc": {
        "start": {
          "line": 108,
          "column": 28
        },
        "end": {
          "line": 108,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3751,
      "end": 3752,
      "loc": {
        "start": {
          "line": 108,
          "column": 28
        },
        "end": {
          "line": 108,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3752,
      "end": 3753,
      "loc": {
        "start": {
          "line": 108,
          "column": 29
        },
        "end": {
          "line": 108,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3754,
      "end": 3757,
      "loc": {
        "start": {
          "line": 108,
          "column": 31
        },
        "end": {
          "line": 108,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3758,
      "end": 3763,
      "loc": {
        "start": {
          "line": 108,
          "column": 35
        },
        "end": {
          "line": 108,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3763,
      "end": 3764,
      "loc": {
        "start": {
          "line": 108,
          "column": 40
        },
        "end": {
          "line": 108,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3765,
      "end": 3766,
      "loc": {
        "start": {
          "line": 108,
          "column": 42
        },
        "end": {
          "line": 108,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3776,
      "end": 3782,
      "loc": {
        "start": {
          "line": 109,
          "column": 8
        },
        "end": {
          "line": 109,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3782,
      "end": 3783,
      "loc": {
        "start": {
          "line": 109,
          "column": 14
        },
        "end": {
          "line": 109,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3791,
      "end": 3792,
      "loc": {
        "start": {
          "line": 110,
          "column": 6
        },
        "end": {
          "line": 110,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3800,
      "end": 3804,
      "loc": {
        "start": {
          "line": 111,
          "column": 6
        },
        "end": {
          "line": 111,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3804,
      "end": 3805,
      "loc": {
        "start": {
          "line": 111,
          "column": 10
        },
        "end": {
          "line": 111,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3805,
      "end": 3806,
      "loc": {
        "start": {
          "line": 111,
          "column": 11
        },
        "end": {
          "line": 111,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "_",
      "start": 3806,
      "end": 3807,
      "loc": {
        "start": {
          "line": 111,
          "column": 12
        },
        "end": {
          "line": 111,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3807,
      "end": 3809,
      "loc": {
        "start": {
          "line": 111,
          "column": 13
        },
        "end": {
          "line": 111,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 3809,
      "end": 3817,
      "loc": {
        "start": {
          "line": 111,
          "column": 15
        },
        "end": {
          "line": 111,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3817,
      "end": 3818,
      "loc": {
        "start": {
          "line": 111,
          "column": 23
        },
        "end": {
          "line": 111,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 3818,
      "end": 3818,
      "loc": {
        "start": {
          "line": 111,
          "column": 24
        },
        "end": {
          "line": 111,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3818,
      "end": 3819,
      "loc": {
        "start": {
          "line": 111,
          "column": 24
        },
        "end": {
          "line": 111,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3819,
      "end": 3820,
      "loc": {
        "start": {
          "line": 111,
          "column": 25
        },
        "end": {
          "line": 111,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3821,
      "end": 3822,
      "loc": {
        "start": {
          "line": 111,
          "column": 27
        },
        "end": {
          "line": 111,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3823,
      "end": 3828,
      "loc": {
        "start": {
          "line": 111,
          "column": 29
        },
        "end": {
          "line": 111,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3828,
      "end": 3829,
      "loc": {
        "start": {
          "line": 111,
          "column": 34
        },
        "end": {
          "line": 111,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3837,
      "end": 3840,
      "loc": {
        "start": {
          "line": 112,
          "column": 6
        },
        "end": {
          "line": 112,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 3841,
      "end": 3845,
      "loc": {
        "start": {
          "line": 112,
          "column": 10
        },
        "end": {
          "line": 112,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3846,
      "end": 3847,
      "loc": {
        "start": {
          "line": 112,
          "column": 15
        },
        "end": {
          "line": 112,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3848,
      "end": 3849,
      "loc": {
        "start": {
          "line": 112,
          "column": 17
        },
        "end": {
          "line": 112,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 3859,
      "end": 3867,
      "loc": {
        "start": {
          "line": 113,
          "column": 8
        },
        "end": {
          "line": 113,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3867,
      "end": 3868,
      "loc": {
        "start": {
          "line": 113,
          "column": 16
        },
        "end": {
          "line": 113,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 3869,
      "end": 3877,
      "loc": {
        "start": {
          "line": 113,
          "column": 18
        },
        "end": {
          "line": 113,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3877,
      "end": 3878,
      "loc": {
        "start": {
          "line": 113,
          "column": 26
        },
        "end": {
          "line": 113,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3888,
      "end": 3893,
      "loc": {
        "start": {
          "line": 114,
          "column": 8
        },
        "end": {
          "line": 114,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3893,
      "end": 3894,
      "loc": {
        "start": {
          "line": 114,
          "column": 13
        },
        "end": {
          "line": 114,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3895,
      "end": 3900,
      "loc": {
        "start": {
          "line": 114,
          "column": 15
        },
        "end": {
          "line": 114,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3908,
      "end": 3909,
      "loc": {
        "start": {
          "line": 115,
          "column": 6
        },
        "end": {
          "line": 115,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3909,
      "end": 3910,
      "loc": {
        "start": {
          "line": 115,
          "column": 7
        },
        "end": {
          "line": 115,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3918,
      "end": 3920,
      "loc": {
        "start": {
          "line": 116,
          "column": 6
        },
        "end": {
          "line": 116,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3921,
      "end": 3922,
      "loc": {
        "start": {
          "line": 116,
          "column": 9
        },
        "end": {
          "line": 116,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reflect",
      "start": 3922,
      "end": 3929,
      "loc": {
        "start": {
          "line": 116,
          "column": 10
        },
        "end": {
          "line": 116,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3929,
      "end": 3930,
      "loc": {
        "start": {
          "line": 116,
          "column": 17
        },
        "end": {
          "line": 116,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3931,
      "end": 3932,
      "loc": {
        "start": {
          "line": 116,
          "column": 19
        },
        "end": {
          "line": 116,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3942,
      "end": 3944,
      "loc": {
        "start": {
          "line": 117,
          "column": 8
        },
        "end": {
          "line": 117,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3945,
      "end": 3946,
      "loc": {
        "start": {
          "line": 117,
          "column": 11
        },
        "end": {
          "line": 117,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3946,
      "end": 3951,
      "loc": {
        "start": {
          "line": 117,
          "column": 12
        },
        "end": {
          "line": 117,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3951,
      "end": 3952,
      "loc": {
        "start": {
          "line": 117,
          "column": 17
        },
        "end": {
          "line": 117,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3953,
      "end": 3957,
      "loc": {
        "start": {
          "line": 117,
          "column": 19
        },
        "end": {
          "line": 117,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3957,
      "end": 3958,
      "loc": {
        "start": {
          "line": 117,
          "column": 23
        },
        "end": {
          "line": 117,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setAttribute",
      "start": 3958,
      "end": 3970,
      "loc": {
        "start": {
          "line": 117,
          "column": 24
        },
        "end": {
          "line": 117,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3970,
      "end": 3971,
      "loc": {
        "start": {
          "line": 117,
          "column": 36
        },
        "end": {
          "line": 117,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 3971,
      "end": 3979,
      "loc": {
        "start": {
          "line": 117,
          "column": 37
        },
        "end": {
          "line": 117,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3979,
      "end": 3980,
      "loc": {
        "start": {
          "line": 117,
          "column": 45
        },
        "end": {
          "line": 117,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "String",
      "start": 3981,
      "end": 3987,
      "loc": {
        "start": {
          "line": 117,
          "column": 47
        },
        "end": {
          "line": 117,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3987,
      "end": 3988,
      "loc": {
        "start": {
          "line": 117,
          "column": 53
        },
        "end": {
          "line": 117,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 3988,
      "end": 3993,
      "loc": {
        "start": {
          "line": 117,
          "column": 54
        },
        "end": {
          "line": 117,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3993,
      "end": 3994,
      "loc": {
        "start": {
          "line": 117,
          "column": 59
        },
        "end": {
          "line": 117,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3994,
      "end": 3995,
      "loc": {
        "start": {
          "line": 117,
          "column": 60
        },
        "end": {
          "line": 117,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3995,
      "end": 3996,
      "loc": {
        "start": {
          "line": 117,
          "column": 61
        },
        "end": {
          "line": 117,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4006,
      "end": 4010,
      "loc": {
        "start": {
          "line": 118,
          "column": 8
        },
        "end": {
          "line": 118,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4011,
      "end": 4015,
      "loc": {
        "start": {
          "line": 118,
          "column": 13
        },
        "end": {
          "line": 118,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4015,
      "end": 4016,
      "loc": {
        "start": {
          "line": 118,
          "column": 17
        },
        "end": {
          "line": 118,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeAttribute",
      "start": 4016,
      "end": 4031,
      "loc": {
        "start": {
          "line": 118,
          "column": 18
        },
        "end": {
          "line": 118,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4031,
      "end": 4032,
      "loc": {
        "start": {
          "line": 118,
          "column": 33
        },
        "end": {
          "line": 118,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 4032,
      "end": 4040,
      "loc": {
        "start": {
          "line": 118,
          "column": 34
        },
        "end": {
          "line": 118,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4040,
      "end": 4041,
      "loc": {
        "start": {
          "line": 118,
          "column": 42
        },
        "end": {
          "line": 118,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4041,
      "end": 4042,
      "loc": {
        "start": {
          "line": 118,
          "column": 43
        },
        "end": {
          "line": 118,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4050,
      "end": 4051,
      "loc": {
        "start": {
          "line": 119,
          "column": 6
        },
        "end": {
          "line": 119,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4059,
      "end": 4061,
      "loc": {
        "start": {
          "line": 120,
          "column": 6
        },
        "end": {
          "line": 120,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4062,
      "end": 4063,
      "loc": {
        "start": {
          "line": 120,
          "column": 9
        },
        "end": {
          "line": 120,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 4063,
      "end": 4071,
      "loc": {
        "start": {
          "line": 120,
          "column": 10
        },
        "end": {
          "line": 120,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4071,
      "end": 4072,
      "loc": {
        "start": {
          "line": 120,
          "column": 18
        },
        "end": {
          "line": 120,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4073,
      "end": 4074,
      "loc": {
        "start": {
          "line": 120,
          "column": 20
        },
        "end": {
          "line": 120,
          "column": 21
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " adds support for multiple renderers",
      "start": 4086,
      "end": 4124,
      "loc": {
        "start": {
          "line": 121,
          "column": 10
        },
        "end": {
          "line": 121,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4135,
      "end": 4140,
      "loc": {
        "start": {
          "line": 122,
          "column": 10
        },
        "end": {
          "line": 122,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 4141,
      "end": 4147,
      "loc": {
        "start": {
          "line": 122,
          "column": 16
        },
        "end": {
          "line": 122,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4148,
      "end": 4149,
      "loc": {
        "start": {
          "line": 122,
          "column": 23
        },
        "end": {
          "line": 122,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4150,
      "end": 4151,
      "loc": {
        "start": {
          "line": 122,
          "column": 25
        },
        "end": {
          "line": 122,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4151,
      "end": 4152,
      "loc": {
        "start": {
          "line": 122,
          "column": 26
        },
        "end": {
          "line": 122,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 4163,
      "end": 4169,
      "loc": {
        "start": {
          "line": 123,
          "column": 10
        },
        "end": {
          "line": 123,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4169,
      "end": 4170,
      "loc": {
        "start": {
          "line": 123,
          "column": 16
        },
        "end": {
          "line": 123,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 4170,
      "end": 4178,
      "loc": {
        "start": {
          "line": 123,
          "column": 17
        },
        "end": {
          "line": 123,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4178,
      "end": 4179,
      "loc": {
        "start": {
          "line": 123,
          "column": 25
        },
        "end": {
          "line": 123,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4180,
      "end": 4181,
      "loc": {
        "start": {
          "line": 123,
          "column": 27
        },
        "end": {
          "line": 123,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 4182,
      "end": 4187,
      "loc": {
        "start": {
          "line": 123,
          "column": 29
        },
        "end": {
          "line": 123,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4187,
      "end": 4188,
      "loc": {
        "start": {
          "line": 123,
          "column": 34
        },
        "end": {
          "line": 123,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4200,
      "end": 4204,
      "loc": {
        "start": {
          "line": 124,
          "column": 10
        },
        "end": {
          "line": 124,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4204,
      "end": 4205,
      "loc": {
        "start": {
          "line": 124,
          "column": 14
        },
        "end": {
          "line": 124,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "render",
      "start": 4205,
      "end": 4211,
      "loc": {
        "start": {
          "line": 124,
          "column": 15
        },
        "end": {
          "line": 124,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4211,
      "end": 4212,
      "loc": {
        "start": {
          "line": 124,
          "column": 21
        },
        "end": {
          "line": 124,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "object",
      "start": 4212,
      "end": 4218,
      "loc": {
        "start": {
          "line": 124,
          "column": 22
        },
        "end": {
          "line": 124,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4218,
      "end": 4219,
      "loc": {
        "start": {
          "line": 124,
          "column": 28
        },
        "end": {
          "line": 124,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4220,
      "end": 4224,
      "loc": {
        "start": {
          "line": 124,
          "column": 30
        },
        "end": {
          "line": 124,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4224,
      "end": 4225,
      "loc": {
        "start": {
          "line": 124,
          "column": 34
        },
        "end": {
          "line": 124,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "renderer",
      "start": 4225,
      "end": 4233,
      "loc": {
        "start": {
          "line": 124,
          "column": 35
        },
        "end": {
          "line": 124,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4233,
      "end": 4234,
      "loc": {
        "start": {
          "line": 124,
          "column": 43
        },
        "end": {
          "line": 124,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4234,
      "end": 4235,
      "loc": {
        "start": {
          "line": 124,
          "column": 44
        },
        "end": {
          "line": 124,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4235,
      "end": 4236,
      "loc": {
        "start": {
          "line": 124,
          "column": 45
        },
        "end": {
          "line": 124,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4244,
      "end": 4245,
      "loc": {
        "start": {
          "line": 125,
          "column": 6
        },
        "end": {
          "line": 125,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4253,
      "end": 4255,
      "loc": {
        "start": {
          "line": 126,
          "column": 6
        },
        "end": {
          "line": 126,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4256,
      "end": 4257,
      "loc": {
        "start": {
          "line": 126,
          "column": 9
        },
        "end": {
          "line": 126,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "global",
      "start": 4257,
      "end": 4263,
      "loc": {
        "start": {
          "line": 126,
          "column": 10
        },
        "end": {
          "line": 126,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4263,
      "end": 4264,
      "loc": {
        "start": {
          "line": 126,
          "column": 16
        },
        "end": {
          "line": 126,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4265,
      "end": 4266,
      "loc": {
        "start": {
          "line": 126,
          "column": 18
        },
        "end": {
          "line": 126,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 4276,
      "end": 4280,
      "loc": {
        "start": {
          "line": 127,
          "column": 8
        },
        "end": {
          "line": 127,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4280,
      "end": 4281,
      "loc": {
        "start": {
          "line": 127,
          "column": 12
        },
        "end": {
          "line": 127,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "instance",
      "start": 4281,
      "end": 4289,
      "loc": {
        "start": {
          "line": 127,
          "column": 13
        },
        "end": {
          "line": 127,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4290,
      "end": 4291,
      "loc": {
        "start": {
          "line": 127,
          "column": 22
        },
        "end": {
          "line": 127,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4292,
      "end": 4296,
      "loc": {
        "start": {
          "line": 127,
          "column": 24
        },
        "end": {
          "line": 127,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4296,
      "end": 4297,
      "loc": {
        "start": {
          "line": 127,
          "column": 28
        },
        "end": {
          "line": 127,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "PubSub",
      "start": 4307,
      "end": 4313,
      "loc": {
        "start": {
          "line": 128,
          "column": 8
        },
        "end": {
          "line": 128,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4313,
      "end": 4314,
      "loc": {
        "start": {
          "line": 128,
          "column": 14
        },
        "end": {
          "line": 128,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "publish",
      "start": 4314,
      "end": 4321,
      "loc": {
        "start": {
          "line": 128,
          "column": 15
        },
        "end": {
          "line": 128,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4321,
      "end": 4322,
      "loc": {
        "start": {
          "line": 128,
          "column": 22
        },
        "end": {
          "line": 128,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4322,
      "end": 4323,
      "loc": {
        "start": {
          "line": 128,
          "column": 23
        },
        "end": {
          "line": 128,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "global.",
      "start": 4323,
      "end": 4330,
      "loc": {
        "start": {
          "line": 128,
          "column": 24
        },
        "end": {
          "line": 128,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4330,
      "end": 4332,
      "loc": {
        "start": {
          "line": 128,
          "column": 31
        },
        "end": {
          "line": 128,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 4332,
      "end": 4340,
      "loc": {
        "start": {
          "line": 128,
          "column": 33
        },
        "end": {
          "line": 128,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4340,
      "end": 4341,
      "loc": {
        "start": {
          "line": 128,
          "column": 41
        },
        "end": {
          "line": 128,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 4341,
      "end": 4341,
      "loc": {
        "start": {
          "line": 128,
          "column": 42
        },
        "end": {
          "line": 128,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4341,
      "end": 4342,
      "loc": {
        "start": {
          "line": 128,
          "column": 42
        },
        "end": {
          "line": 128,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4342,
      "end": 4343,
      "loc": {
        "start": {
          "line": 128,
          "column": 43
        },
        "end": {
          "line": 128,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 4344,
      "end": 4348,
      "loc": {
        "start": {
          "line": 128,
          "column": 45
        },
        "end": {
          "line": 128,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4348,
      "end": 4349,
      "loc": {
        "start": {
          "line": 128,
          "column": 49
        },
        "end": {
          "line": 128,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4349,
      "end": 4350,
      "loc": {
        "start": {
          "line": 128,
          "column": 50
        },
        "end": {
          "line": 128,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4358,
      "end": 4359,
      "loc": {
        "start": {
          "line": 129,
          "column": 6
        },
        "end": {
          "line": 129,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4360,
      "end": 4364,
      "loc": {
        "start": {
          "line": 129,
          "column": 8
        },
        "end": {
          "line": 129,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4365,
      "end": 4367,
      "loc": {
        "start": {
          "line": 129,
          "column": 13
        },
        "end": {
          "line": 129,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4367,
      "end": 4368,
      "loc": {
        "start": {
          "line": 129,
          "column": 15
        },
        "end": {
          "line": 129,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 4368,
      "end": 4370,
      "loc": {
        "start": {
          "line": 129,
          "column": 16
        },
        "end": {
          "line": 129,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4370,
      "end": 4371,
      "loc": {
        "start": {
          "line": 129,
          "column": 18
        },
        "end": {
          "line": 129,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4372,
      "end": 4373,
      "loc": {
        "start": {
          "line": 129,
          "column": 20
        },
        "end": {
          "line": 129,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4383,
      "end": 4385,
      "loc": {
        "start": {
          "line": 130,
          "column": 8
        },
        "end": {
          "line": 130,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4386,
      "end": 4387,
      "loc": {
        "start": {
          "line": 130,
          "column": 11
        },
        "end": {
          "line": 130,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4387,
      "end": 4391,
      "loc": {
        "start": {
          "line": 130,
          "column": 12
        },
        "end": {
          "line": 130,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4391,
      "end": 4392,
      "loc": {
        "start": {
          "line": 130,
          "column": 16
        },
        "end": {
          "line": 130,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 4392,
      "end": 4394,
      "loc": {
        "start": {
          "line": 130,
          "column": 17
        },
        "end": {
          "line": 130,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4394,
      "end": 4395,
      "loc": {
        "start": {
          "line": 130,
          "column": 19
        },
        "end": {
          "line": 130,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4395,
      "end": 4396,
      "loc": {
        "start": {
          "line": 130,
          "column": 20
        },
        "end": {
          "line": 130,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4397,
      "end": 4398,
      "loc": {
        "start": {
          "line": 130,
          "column": 22
        },
        "end": {
          "line": 130,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4410,
      "end": 4414,
      "loc": {
        "start": {
          "line": 131,
          "column": 10
        },
        "end": {
          "line": 131,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4414,
      "end": 4415,
      "loc": {
        "start": {
          "line": 131,
          "column": 14
        },
        "end": {
          "line": 131,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 4415,
      "end": 4417,
      "loc": {
        "start": {
          "line": 131,
          "column": 15
        },
        "end": {
          "line": 131,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4417,
      "end": 4418,
      "loc": {
        "start": {
          "line": 131,
          "column": 17
        },
        "end": {
          "line": 131,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4418,
      "end": 4419,
      "loc": {
        "start": {
          "line": 131,
          "column": 18
        },
        "end": {
          "line": 131,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "data",
      "start": 4419,
      "end": 4423,
      "loc": {
        "start": {
          "line": 131,
          "column": 19
        },
        "end": {
          "line": 131,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4423,
      "end": 4424,
      "loc": {
        "start": {
          "line": 131,
          "column": 23
        },
        "end": {
          "line": 131,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4424,
      "end": 4425,
      "loc": {
        "start": {
          "line": 131,
          "column": 24
        },
        "end": {
          "line": 131,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4435,
      "end": 4436,
      "loc": {
        "start": {
          "line": 132,
          "column": 8
        },
        "end": {
          "line": 132,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4437,
      "end": 4441,
      "loc": {
        "start": {
          "line": 132,
          "column": 10
        },
        "end": {
          "line": 132,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4442,
      "end": 4443,
      "loc": {
        "start": {
          "line": 132,
          "column": 15
        },
        "end": {
          "line": 132,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 4455,
      "end": 4462,
      "loc": {
        "start": {
          "line": 133,
          "column": 10
        },
        "end": {
          "line": 133,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4462,
      "end": 4463,
      "loc": {
        "start": {
          "line": 133,
          "column": 17
        },
        "end": {
          "line": 133,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "warn",
      "start": 4463,
      "end": 4467,
      "loc": {
        "start": {
          "line": 133,
          "column": 18
        },
        "end": {
          "line": 133,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4467,
      "end": 4468,
      "loc": {
        "start": {
          "line": 133,
          "column": 22
        },
        "end": {
          "line": 133,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4468,
      "end": 4469,
      "loc": {
        "start": {
          "line": 133,
          "column": 23
        },
        "end": {
          "line": 133,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "observer undefined::",
      "start": 4469,
      "end": 4489,
      "loc": {
        "start": {
          "line": 133,
          "column": 24
        },
        "end": {
          "line": 133,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4489,
      "end": 4491,
      "loc": {
        "start": {
          "line": 133,
          "column": 44
        },
        "end": {
          "line": 133,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 4491,
      "end": 4493,
      "loc": {
        "start": {
          "line": 133,
          "column": 46
        },
        "end": {
          "line": 133,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4493,
      "end": 4494,
      "loc": {
        "start": {
          "line": 133,
          "column": 48
        },
        "end": {
          "line": 133,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " is not a function",
      "start": 4494,
      "end": 4512,
      "loc": {
        "start": {
          "line": 133,
          "column": 49
        },
        "end": {
          "line": 133,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4512,
      "end": 4513,
      "loc": {
        "start": {
          "line": 133,
          "column": 67
        },
        "end": {
          "line": 133,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4513,
      "end": 4514,
      "loc": {
        "start": {
          "line": 133,
          "column": 68
        },
        "end": {
          "line": 133,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4514,
      "end": 4515,
      "loc": {
        "start": {
          "line": 133,
          "column": 69
        },
        "end": {
          "line": 133,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4525,
      "end": 4526,
      "loc": {
        "start": {
          "line": 134,
          "column": 8
        },
        "end": {
          "line": 134,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4534,
      "end": 4535,
      "loc": {
        "start": {
          "line": 135,
          "column": 6
        },
        "end": {
          "line": 135,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4541,
      "end": 4542,
      "loc": {
        "start": {
          "line": 136,
          "column": 4
        },
        "end": {
          "line": 136,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4542,
      "end": 4543,
      "loc": {
        "start": {
          "line": 136,
          "column": 5
        },
        "end": {
          "line": 136,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 4549,
      "end": 4552,
      "loc": {
        "start": {
          "line": 137,
          "column": 4
        },
        "end": {
          "line": 137,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4552,
      "end": 4553,
      "loc": {
        "start": {
          "line": 137,
          "column": 7
        },
        "end": {
          "line": 137,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4553,
      "end": 4554,
      "loc": {
        "start": {
          "line": 137,
          "column": 8
        },
        "end": {
          "line": 137,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4555,
      "end": 4556,
      "loc": {
        "start": {
          "line": 137,
          "column": 10
        },
        "end": {
          "line": 137,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4564,
      "end": 4570,
      "loc": {
        "start": {
          "line": 138,
          "column": 6
        },
        "end": {
          "line": 138,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4571,
      "end": 4575,
      "loc": {
        "start": {
          "line": 138,
          "column": 13
        },
        "end": {
          "line": 138,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4575,
      "end": 4576,
      "loc": {
        "start": {
          "line": 138,
          "column": 17
        },
        "end": {
          "line": 138,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4576,
      "end": 4577,
      "loc": {
        "start": {
          "line": 138,
          "column": 18
        },
        "end": {
          "line": 138,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "_",
      "start": 4577,
      "end": 4578,
      "loc": {
        "start": {
          "line": 138,
          "column": 19
        },
        "end": {
          "line": 138,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4578,
      "end": 4580,
      "loc": {
        "start": {
          "line": 138,
          "column": 20
        },
        "end": {
          "line": 138,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "property",
      "start": 4580,
      "end": 4588,
      "loc": {
        "start": {
          "line": 138,
          "column": 22
        },
        "end": {
          "line": 138,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4588,
      "end": 4589,
      "loc": {
        "start": {
          "line": 138,
          "column": 30
        },
        "end": {
          "line": 138,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 4589,
      "end": 4589,
      "loc": {
        "start": {
          "line": 138,
          "column": 31
        },
        "end": {
          "line": 138,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4589,
      "end": 4590,
      "loc": {
        "start": {
          "line": 138,
          "column": 31
        },
        "end": {
          "line": 138,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4590,
      "end": 4591,
      "loc": {
        "start": {
          "line": 138,
          "column": 32
        },
        "end": {
          "line": 138,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4591,
      "end": 4592,
      "loc": {
        "start": {
          "line": 138,
          "column": 33
        },
        "end": {
          "line": 138,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4598,
      "end": 4599,
      "loc": {
        "start": {
          "line": 139,
          "column": 4
        },
        "end": {
          "line": 139,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4599,
      "end": 4600,
      "loc": {
        "start": {
          "line": 139,
          "column": 5
        },
        "end": {
          "line": 139,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "configurable",
      "start": 4606,
      "end": 4618,
      "loc": {
        "start": {
          "line": 140,
          "column": 4
        },
        "end": {
          "line": 140,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4618,
      "end": 4619,
      "loc": {
        "start": {
          "line": 140,
          "column": 16
        },
        "end": {
          "line": 140,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "strict",
      "start": 4620,
      "end": 4626,
      "loc": {
        "start": {
          "line": 140,
          "column": 18
        },
        "end": {
          "line": 140,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4627,
      "end": 4628,
      "loc": {
        "start": {
          "line": 140,
          "column": 25
        },
        "end": {
          "line": 140,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 4629,
      "end": 4634,
      "loc": {
        "start": {
          "line": 140,
          "column": 27
        },
        "end": {
          "line": 140,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4635,
      "end": 4636,
      "loc": {
        "start": {
          "line": 140,
          "column": 33
        },
        "end": {
          "line": 140,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 4637,
      "end": 4641,
      "loc": {
        "start": {
          "line": 140,
          "column": 35
        },
        "end": {
          "line": 140,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4645,
      "end": 4646,
      "loc": {
        "start": {
          "line": 141,
          "column": 2
        },
        "end": {
          "line": 141,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4646,
      "end": 4647,
      "loc": {
        "start": {
          "line": 141,
          "column": 3
        },
        "end": {
          "line": 141,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4647,
      "end": 4648,
      "loc": {
        "start": {
          "line": 141,
          "column": 4
        },
        "end": {
          "line": 141,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4650,
      "end": 4651,
      "loc": {
        "start": {
          "line": 142,
          "column": 0
        },
        "end": {
          "line": 142,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4657,
      "end": 4662,
      "loc": {
        "start": {
          "line": 145,
          "column": 0
        },
        "end": {
          "line": 145,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleObservers",
      "start": 4663,
      "end": 4678,
      "loc": {
        "start": {
          "line": 145,
          "column": 6
        },
        "end": {
          "line": 145,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4679,
      "end": 4680,
      "loc": {
        "start": {
          "line": 145,
          "column": 22
        },
        "end": {
          "line": 145,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4681,
      "end": 4682,
      "loc": {
        "start": {
          "line": 145,
          "column": 24
        },
        "end": {
          "line": 145,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 4682,
      "end": 4688,
      "loc": {
        "start": {
          "line": 145,
          "column": 25
        },
        "end": {
          "line": 145,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4688,
      "end": 4689,
      "loc": {
        "start": {
          "line": 145,
          "column": 31
        },
        "end": {
          "line": 145,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observers",
      "start": 4690,
      "end": 4699,
      "loc": {
        "start": {
          "line": 145,
          "column": 33
        },
        "end": {
          "line": 145,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4699,
      "end": 4700,
      "loc": {
        "start": {
          "line": 145,
          "column": 42
        },
        "end": {
          "line": 145,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4700,
      "end": 4701,
      "loc": {
        "start": {
          "line": 145,
          "column": 43
        },
        "end": {
          "line": 145,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4701,
      "end": 4702,
      "loc": {
        "start": {
          "line": 145,
          "column": 44
        },
        "end": {
          "line": 145,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4702,
      "end": 4703,
      "loc": {
        "start": {
          "line": 145,
          "column": 45
        },
        "end": {
          "line": 145,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "globalObservers",
      "start": 4704,
      "end": 4719,
      "loc": {
        "start": {
          "line": 145,
          "column": 47
        },
        "end": {
          "line": 145,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4719,
      "end": 4720,
      "loc": {
        "start": {
          "line": 145,
          "column": 62
        },
        "end": {
          "line": 145,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4720,
      "end": 4721,
      "loc": {
        "start": {
          "line": 145,
          "column": 63
        },
        "end": {
          "line": 145,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4721,
      "end": 4722,
      "loc": {
        "start": {
          "line": 145,
          "column": 64
        },
        "end": {
          "line": 145,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4722,
      "end": 4723,
      "loc": {
        "start": {
          "line": 145,
          "column": 65
        },
        "end": {
          "line": 145,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4724,
      "end": 4726,
      "loc": {
        "start": {
          "line": 145,
          "column": 67
        },
        "end": {
          "line": 145,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4727,
      "end": 4728,
      "loc": {
        "start": {
          "line": 145,
          "column": 70
        },
        "end": {
          "line": 145,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4732,
      "end": 4734,
      "loc": {
        "start": {
          "line": 146,
          "column": 2
        },
        "end": {
          "line": 146,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4735,
      "end": 4736,
      "loc": {
        "start": {
          "line": 146,
          "column": 5
        },
        "end": {
          "line": 146,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4736,
      "end": 4737,
      "loc": {
        "start": {
          "line": 146,
          "column": 6
        },
        "end": {
          "line": 146,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observers",
      "start": 4737,
      "end": 4746,
      "loc": {
        "start": {
          "line": 146,
          "column": 7
        },
        "end": {
          "line": 146,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4747,
      "end": 4749,
      "loc": {
        "start": {
          "line": 146,
          "column": 17
        },
        "end": {
          "line": 146,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4750,
      "end": 4751,
      "loc": {
        "start": {
          "line": 146,
          "column": 20
        },
        "end": {
          "line": 146,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "globalObservers",
      "start": 4751,
      "end": 4766,
      "loc": {
        "start": {
          "line": 146,
          "column": 21
        },
        "end": {
          "line": 146,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4766,
      "end": 4767,
      "loc": {
        "start": {
          "line": 146,
          "column": 36
        },
        "end": {
          "line": 146,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4768,
      "end": 4769,
      "loc": {
        "start": {
          "line": 146,
          "column": 38
        },
        "end": {
          "line": 146,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 4775,
      "end": 4781,
      "loc": {
        "start": {
          "line": 147,
          "column": 4
        },
        "end": {
          "line": 147,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4781,
      "end": 4782,
      "loc": {
        "start": {
          "line": 147,
          "column": 10
        },
        "end": {
          "line": 147,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4786,
      "end": 4787,
      "loc": {
        "start": {
          "line": 148,
          "column": 2
        },
        "end": {
          "line": 148,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "forObservers",
      "start": 4791,
      "end": 4803,
      "loc": {
        "start": {
          "line": 149,
          "column": 2
        },
        "end": {
          "line": 149,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4803,
      "end": 4804,
      "loc": {
        "start": {
          "line": 149,
          "column": 14
        },
        "end": {
          "line": 149,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 4804,
      "end": 4810,
      "loc": {
        "start": {
          "line": 149,
          "column": 15
        },
        "end": {
          "line": 149,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4810,
      "end": 4811,
      "loc": {
        "start": {
          "line": 149,
          "column": 21
        },
        "end": {
          "line": 149,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observers",
      "start": 4812,
      "end": 4821,
      "loc": {
        "start": {
          "line": 149,
          "column": 23
        },
        "end": {
          "line": 149,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4821,
      "end": 4822,
      "loc": {
        "start": {
          "line": 149,
          "column": 32
        },
        "end": {
          "line": 149,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4822,
      "end": 4823,
      "loc": {
        "start": {
          "line": 149,
          "column": 33
        },
        "end": {
          "line": 149,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4825,
      "end": 4826,
      "loc": {
        "start": {
          "line": 150,
          "column": 0
        },
        "end": {
          "line": 150,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4830,
      "end": 4835,
      "loc": {
        "start": {
          "line": 152,
          "column": 0
        },
        "end": {
          "line": 152,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleListeners",
      "start": 4836,
      "end": 4851,
      "loc": {
        "start": {
          "line": 152,
          "column": 6
        },
        "end": {
          "line": 152,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4852,
      "end": 4853,
      "loc": {
        "start": {
          "line": 152,
          "column": 22
        },
        "end": {
          "line": 152,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 4854,
      "end": 4860,
      "loc": {
        "start": {
          "line": 152,
          "column": 24
        },
        "end": {
          "line": 152,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4861,
      "end": 4863,
      "loc": {
        "start": {
          "line": 152,
          "column": 31
        },
        "end": {
          "line": 152,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4864,
      "end": 4865,
      "loc": {
        "start": {
          "line": 152,
          "column": 34
        },
        "end": {
          "line": 152,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4869,
      "end": 4874,
      "loc": {
        "start": {
          "line": 153,
          "column": 2
        },
        "end": {
          "line": 153,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attributes",
      "start": 4875,
      "end": 4885,
      "loc": {
        "start": {
          "line": 153,
          "column": 8
        },
        "end": {
          "line": 153,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4886,
      "end": 4887,
      "loc": {
        "start": {
          "line": 153,
          "column": 19
        },
        "end": {
          "line": 153,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 4888,
      "end": 4894,
      "loc": {
        "start": {
          "line": 153,
          "column": 21
        },
        "end": {
          "line": 153,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4894,
      "end": 4895,
      "loc": {
        "start": {
          "line": 153,
          "column": 27
        },
        "end": {
          "line": 153,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attributes",
      "start": 4895,
      "end": 4905,
      "loc": {
        "start": {
          "line": 153,
          "column": 28
        },
        "end": {
          "line": 153,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4905,
      "end": 4906,
      "loc": {
        "start": {
          "line": 153,
          "column": 38
        },
        "end": {
          "line": 153,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "for",
        "keyword": "for",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "for",
      "start": 4910,
      "end": 4913,
      "loc": {
        "start": {
          "line": 154,
          "column": 2
        },
        "end": {
          "line": 154,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4914,
      "end": 4915,
      "loc": {
        "start": {
          "line": 154,
          "column": 6
        },
        "end": {
          "line": 154,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 4915,
      "end": 4920,
      "loc": {
        "start": {
          "line": 154,
          "column": 7
        },
        "end": {
          "line": 154,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attribute",
      "start": 4921,
      "end": 4930,
      "loc": {
        "start": {
          "line": 154,
          "column": 13
        },
        "end": {
          "line": 154,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "of",
      "start": 4931,
      "end": 4933,
      "loc": {
        "start": {
          "line": 154,
          "column": 23
        },
        "end": {
          "line": 154,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attributes",
      "start": 4934,
      "end": 4944,
      "loc": {
        "start": {
          "line": 154,
          "column": 26
        },
        "end": {
          "line": 154,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4944,
      "end": 4945,
      "loc": {
        "start": {
          "line": 154,
          "column": 36
        },
        "end": {
          "line": 154,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4946,
      "end": 4947,
      "loc": {
        "start": {
          "line": 154,
          "column": 38
        },
        "end": {
          "line": 154,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4953,
      "end": 4955,
      "loc": {
        "start": {
          "line": 155,
          "column": 4
        },
        "end": {
          "line": 155,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4956,
      "end": 4957,
      "loc": {
        "start": {
          "line": 155,
          "column": 7
        },
        "end": {
          "line": 155,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "String",
      "start": 4957,
      "end": 4963,
      "loc": {
        "start": {
          "line": 155,
          "column": 8
        },
        "end": {
          "line": 155,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4963,
      "end": 4964,
      "loc": {
        "start": {
          "line": 155,
          "column": 14
        },
        "end": {
          "line": 155,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attribute",
      "start": 4964,
      "end": 4973,
      "loc": {
        "start": {
          "line": 155,
          "column": 15
        },
        "end": {
          "line": 155,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4973,
      "end": 4974,
      "loc": {
        "start": {
          "line": 155,
          "column": 24
        },
        "end": {
          "line": 155,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 4974,
      "end": 4978,
      "loc": {
        "start": {
          "line": 155,
          "column": 25
        },
        "end": {
          "line": 155,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4978,
      "end": 4979,
      "loc": {
        "start": {
          "line": 155,
          "column": 29
        },
        "end": {
          "line": 155,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4979,
      "end": 4980,
      "loc": {
        "start": {
          "line": 155,
          "column": 30
        },
        "end": {
          "line": 155,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 4980,
      "end": 4988,
      "loc": {
        "start": {
          "line": 155,
          "column": 31
        },
        "end": {
          "line": 155,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4988,
      "end": 4989,
      "loc": {
        "start": {
          "line": 155,
          "column": 39
        },
        "end": {
          "line": 155,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "on-",
      "start": 4989,
      "end": 4994,
      "loc": {
        "start": {
          "line": 155,
          "column": 40
        },
        "end": {
          "line": 155,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4994,
      "end": 4995,
      "loc": {
        "start": {
          "line": 155,
          "column": 45
        },
        "end": {
          "line": 155,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4995,
      "end": 4996,
      "loc": {
        "start": {
          "line": 155,
          "column": 46
        },
        "end": {
          "line": 155,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4997,
      "end": 4998,
      "loc": {
        "start": {
          "line": 155,
          "column": 48
        },
        "end": {
          "line": 155,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5006,
      "end": 5011,
      "loc": {
        "start": {
          "line": 156,
          "column": 6
        },
        "end": {
          "line": 156,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 5012,
      "end": 5014,
      "loc": {
        "start": {
          "line": 156,
          "column": 12
        },
        "end": {
          "line": 156,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5015,
      "end": 5016,
      "loc": {
        "start": {
          "line": 156,
          "column": 15
        },
        "end": {
          "line": 156,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attribute",
      "start": 5017,
      "end": 5026,
      "loc": {
        "start": {
          "line": 156,
          "column": 17
        },
        "end": {
          "line": 156,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5026,
      "end": 5027,
      "loc": {
        "start": {
          "line": 156,
          "column": 26
        },
        "end": {
          "line": 156,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 5027,
      "end": 5032,
      "loc": {
        "start": {
          "line": 156,
          "column": 27
        },
        "end": {
          "line": 156,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5032,
      "end": 5033,
      "loc": {
        "start": {
          "line": 156,
          "column": 32
        },
        "end": {
          "line": 156,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5041,
      "end": 5046,
      "loc": {
        "start": {
          "line": 157,
          "column": 6
        },
        "end": {
          "line": 157,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5047,
      "end": 5051,
      "loc": {
        "start": {
          "line": 157,
          "column": 12
        },
        "end": {
          "line": 157,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5052,
      "end": 5053,
      "loc": {
        "start": {
          "line": 157,
          "column": 17
        },
        "end": {
          "line": 157,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "attribute",
      "start": 5054,
      "end": 5063,
      "loc": {
        "start": {
          "line": 157,
          "column": 19
        },
        "end": {
          "line": 157,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5063,
      "end": 5064,
      "loc": {
        "start": {
          "line": 157,
          "column": 28
        },
        "end": {
          "line": 157,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5064,
      "end": 5068,
      "loc": {
        "start": {
          "line": 157,
          "column": 29
        },
        "end": {
          "line": 157,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5068,
      "end": 5069,
      "loc": {
        "start": {
          "line": 157,
          "column": 33
        },
        "end": {
          "line": 157,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 5069,
      "end": 5076,
      "loc": {
        "start": {
          "line": 157,
          "column": 34
        },
        "end": {
          "line": 157,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5076,
      "end": 5077,
      "loc": {
        "start": {
          "line": 157,
          "column": 41
        },
        "end": {
          "line": 157,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "on-",
      "start": 5077,
      "end": 5082,
      "loc": {
        "start": {
          "line": 157,
          "column": 42
        },
        "end": {
          "line": 157,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5082,
      "end": 5083,
      "loc": {
        "start": {
          "line": 157,
          "column": 47
        },
        "end": {
          "line": 157,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 5084,
      "end": 5086,
      "loc": {
        "start": {
          "line": 157,
          "column": 49
        },
        "end": {
          "line": 157,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5086,
      "end": 5087,
      "loc": {
        "start": {
          "line": 157,
          "column": 51
        },
        "end": {
          "line": 157,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5087,
      "end": 5088,
      "loc": {
        "start": {
          "line": 157,
          "column": 52
        },
        "end": {
          "line": 157,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5096,
      "end": 5102,
      "loc": {
        "start": {
          "line": 158,
          "column": 6
        },
        "end": {
          "line": 158,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5102,
      "end": 5103,
      "loc": {
        "start": {
          "line": 158,
          "column": 12
        },
        "end": {
          "line": 158,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 5103,
      "end": 5119,
      "loc": {
        "start": {
          "line": 158,
          "column": 13
        },
        "end": {
          "line": 158,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5119,
      "end": 5120,
      "loc": {
        "start": {
          "line": 158,
          "column": 29
        },
        "end": {
          "line": 158,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "String",
      "start": 5120,
      "end": 5126,
      "loc": {
        "start": {
          "line": 158,
          "column": 30
        },
        "end": {
          "line": 158,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5126,
      "end": 5127,
      "loc": {
        "start": {
          "line": 158,
          "column": 36
        },
        "end": {
          "line": 158,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 5127,
      "end": 5131,
      "loc": {
        "start": {
          "line": 158,
          "column": 37
        },
        "end": {
          "line": 158,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5131,
      "end": 5132,
      "loc": {
        "start": {
          "line": 158,
          "column": 41
        },
        "end": {
          "line": 158,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5132,
      "end": 5133,
      "loc": {
        "start": {
          "line": 158,
          "column": 42
        },
        "end": {
          "line": 158,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 5134,
      "end": 5139,
      "loc": {
        "start": {
          "line": 158,
          "column": 44
        },
        "end": {
          "line": 158,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5140,
      "end": 5142,
      "loc": {
        "start": {
          "line": 158,
          "column": 50
        },
        "end": {
          "line": 158,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5143,
      "end": 5144,
      "loc": {
        "start": {
          "line": 158,
          "column": 53
        },
        "end": {
          "line": 158,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5154,
      "end": 5160,
      "loc": {
        "start": {
          "line": 159,
          "column": 8
        },
        "end": {
          "line": 159,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5161,
      "end": 5162,
      "loc": {
        "start": {
          "line": 159,
          "column": 15
        },
        "end": {
          "line": 159,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 5163,
      "end": 5168,
      "loc": {
        "start": {
          "line": 159,
          "column": 17
        },
        "end": {
          "line": 159,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5168,
      "end": 5169,
      "loc": {
        "start": {
          "line": 159,
          "column": 22
        },
        "end": {
          "line": 159,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "path",
      "start": 5169,
      "end": 5173,
      "loc": {
        "start": {
          "line": 159,
          "column": 23
        },
        "end": {
          "line": 159,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5173,
      "end": 5174,
      "loc": {
        "start": {
          "line": 159,
          "column": 27
        },
        "end": {
          "line": 159,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 5174,
      "end": 5175,
      "loc": {
        "start": {
          "line": 159,
          "column": 28
        },
        "end": {
          "line": 159,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5175,
      "end": 5176,
      "loc": {
        "start": {
          "line": 159,
          "column": 29
        },
        "end": {
          "line": 159,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5176,
      "end": 5177,
      "loc": {
        "start": {
          "line": 159,
          "column": 30
        },
        "end": {
          "line": 159,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "while",
        "keyword": "while",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": true,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "while",
      "start": 5187,
      "end": 5192,
      "loc": {
        "start": {
          "line": 160,
          "column": 8
        },
        "end": {
          "line": 160,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5193,
      "end": 5194,
      "loc": {
        "start": {
          "line": 160,
          "column": 14
        },
        "end": {
          "line": 160,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5194,
      "end": 5195,
      "loc": {
        "start": {
          "line": 160,
          "column": 15
        },
        "end": {
          "line": 160,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5195,
      "end": 5201,
      "loc": {
        "start": {
          "line": 160,
          "column": 16
        },
        "end": {
          "line": 160,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5201,
      "end": 5202,
      "loc": {
        "start": {
          "line": 160,
          "column": 22
        },
        "end": {
          "line": 160,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "host",
      "start": 5202,
      "end": 5206,
      "loc": {
        "start": {
          "line": 160,
          "column": 23
        },
        "end": {
          "line": 160,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5206,
      "end": 5207,
      "loc": {
        "start": {
          "line": 160,
          "column": 27
        },
        "end": {
          "line": 160,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5208,
      "end": 5209,
      "loc": {
        "start": {
          "line": 160,
          "column": 29
        },
        "end": {
          "line": 160,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5221,
      "end": 5227,
      "loc": {
        "start": {
          "line": 161,
          "column": 10
        },
        "end": {
          "line": 161,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5228,
      "end": 5229,
      "loc": {
        "start": {
          "line": 161,
          "column": 17
        },
        "end": {
          "line": 161,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5230,
      "end": 5236,
      "loc": {
        "start": {
          "line": 161,
          "column": 19
        },
        "end": {
          "line": 161,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5236,
      "end": 5237,
      "loc": {
        "start": {
          "line": 161,
          "column": 25
        },
        "end": {
          "line": 161,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parentNode",
      "start": 5237,
      "end": 5247,
      "loc": {
        "start": {
          "line": 161,
          "column": 26
        },
        "end": {
          "line": 161,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5247,
      "end": 5248,
      "loc": {
        "start": {
          "line": 161,
          "column": 36
        },
        "end": {
          "line": 161,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5258,
      "end": 5259,
      "loc": {
        "start": {
          "line": 162,
          "column": 8
        },
        "end": {
          "line": 162,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5269,
      "end": 5271,
      "loc": {
        "start": {
          "line": 163,
          "column": 8
        },
        "end": {
          "line": 163,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5272,
      "end": 5273,
      "loc": {
        "start": {
          "line": 163,
          "column": 11
        },
        "end": {
          "line": 163,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5273,
      "end": 5279,
      "loc": {
        "start": {
          "line": 163,
          "column": 12
        },
        "end": {
          "line": 163,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5279,
      "end": 5280,
      "loc": {
        "start": {
          "line": 163,
          "column": 18
        },
        "end": {
          "line": 163,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "host",
      "start": 5280,
      "end": 5284,
      "loc": {
        "start": {
          "line": 163,
          "column": 19
        },
        "end": {
          "line": 163,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5284,
      "end": 5285,
      "loc": {
        "start": {
          "line": 163,
          "column": 23
        },
        "end": {
          "line": 163,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 5285,
      "end": 5287,
      "loc": {
        "start": {
          "line": 163,
          "column": 24
        },
        "end": {
          "line": 163,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5287,
      "end": 5288,
      "loc": {
        "start": {
          "line": 163,
          "column": 26
        },
        "end": {
          "line": 163,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5288,
      "end": 5289,
      "loc": {
        "start": {
          "line": 163,
          "column": 27
        },
        "end": {
          "line": 163,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5290,
      "end": 5291,
      "loc": {
        "start": {
          "line": 163,
          "column": 29
        },
        "end": {
          "line": 163,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5303,
      "end": 5309,
      "loc": {
        "start": {
          "line": 164,
          "column": 10
        },
        "end": {
          "line": 164,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5309,
      "end": 5310,
      "loc": {
        "start": {
          "line": 164,
          "column": 16
        },
        "end": {
          "line": 164,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "host",
      "start": 5310,
      "end": 5314,
      "loc": {
        "start": {
          "line": 164,
          "column": 17
        },
        "end": {
          "line": 164,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5314,
      "end": 5315,
      "loc": {
        "start": {
          "line": 164,
          "column": 21
        },
        "end": {
          "line": 164,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fn",
      "start": 5315,
      "end": 5317,
      "loc": {
        "start": {
          "line": 164,
          "column": 22
        },
        "end": {
          "line": 164,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5317,
      "end": 5318,
      "loc": {
        "start": {
          "line": 164,
          "column": 24
        },
        "end": {
          "line": 164,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5318,
      "end": 5319,
      "loc": {
        "start": {
          "line": 164,
          "column": 25
        },
        "end": {
          "line": 164,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 5319,
      "end": 5324,
      "loc": {
        "start": {
          "line": 164,
          "column": 26
        },
        "end": {
          "line": 164,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5324,
      "end": 5325,
      "loc": {
        "start": {
          "line": 164,
          "column": 31
        },
        "end": {
          "line": 164,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5325,
      "end": 5326,
      "loc": {
        "start": {
          "line": 164,
          "column": 32
        },
        "end": {
          "line": 164,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5336,
      "end": 5337,
      "loc": {
        "start": {
          "line": 165,
          "column": 8
        },
        "end": {
          "line": 165,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5345,
      "end": 5346,
      "loc": {
        "start": {
          "line": 166,
          "column": 6
        },
        "end": {
          "line": 166,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5346,
      "end": 5347,
      "loc": {
        "start": {
          "line": 166,
          "column": 7
        },
        "end": {
          "line": 166,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5347,
      "end": 5348,
      "loc": {
        "start": {
          "line": 166,
          "column": 8
        },
        "end": {
          "line": 166,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5354,
      "end": 5355,
      "loc": {
        "start": {
          "line": 167,
          "column": 4
        },
        "end": {
          "line": 167,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5359,
      "end": 5360,
      "loc": {
        "start": {
          "line": 168,
          "column": 2
        },
        "end": {
          "line": 168,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5362,
      "end": 5363,
      "loc": {
        "start": {
          "line": 169,
          "column": 0
        },
        "end": {
          "line": 169,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5367,
      "end": 5372,
      "loc": {
        "start": {
          "line": 171,
          "column": 0
        },
        "end": {
          "line": 171,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ready",
      "start": 5373,
      "end": 5378,
      "loc": {
        "start": {
          "line": 171,
          "column": 6
        },
        "end": {
          "line": 171,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5379,
      "end": 5380,
      "loc": {
        "start": {
          "line": 171,
          "column": 12
        },
        "end": {
          "line": 171,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5381,
      "end": 5387,
      "loc": {
        "start": {
          "line": 171,
          "column": 14
        },
        "end": {
          "line": 171,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5388,
      "end": 5390,
      "loc": {
        "start": {
          "line": 171,
          "column": 21
        },
        "end": {
          "line": 171,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5391,
      "end": 5392,
      "loc": {
        "start": {
          "line": 171,
          "column": 24
        },
        "end": {
          "line": 171,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "requestAnimationFrame",
      "start": 5396,
      "end": 5417,
      "loc": {
        "start": {
          "line": 172,
          "column": 2
        },
        "end": {
          "line": 172,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5417,
      "end": 5418,
      "loc": {
        "start": {
          "line": 172,
          "column": 23
        },
        "end": {
          "line": 172,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5418,
      "end": 5419,
      "loc": {
        "start": {
          "line": 172,
          "column": 24
        },
        "end": {
          "line": 172,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5419,
      "end": 5420,
      "loc": {
        "start": {
          "line": 172,
          "column": 25
        },
        "end": {
          "line": 172,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5421,
      "end": 5423,
      "loc": {
        "start": {
          "line": 172,
          "column": 27
        },
        "end": {
          "line": 172,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5424,
      "end": 5425,
      "loc": {
        "start": {
          "line": 172,
          "column": 30
        },
        "end": {
          "line": 172,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5431,
      "end": 5433,
      "loc": {
        "start": {
          "line": 173,
          "column": 4
        },
        "end": {
          "line": 173,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5434,
      "end": 5435,
      "loc": {
        "start": {
          "line": 173,
          "column": 7
        },
        "end": {
          "line": 173,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5435,
      "end": 5441,
      "loc": {
        "start": {
          "line": 173,
          "column": 8
        },
        "end": {
          "line": 173,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5441,
      "end": 5442,
      "loc": {
        "start": {
          "line": 173,
          "column": 14
        },
        "end": {
          "line": 173,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ready",
      "start": 5442,
      "end": 5447,
      "loc": {
        "start": {
          "line": 173,
          "column": 15
        },
        "end": {
          "line": 173,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5447,
      "end": 5448,
      "loc": {
        "start": {
          "line": 173,
          "column": 20
        },
        "end": {
          "line": 173,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5449,
      "end": 5455,
      "loc": {
        "start": {
          "line": 173,
          "column": 22
        },
        "end": {
          "line": 173,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5455,
      "end": 5456,
      "loc": {
        "start": {
          "line": 173,
          "column": 28
        },
        "end": {
          "line": 173,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ready",
      "start": 5456,
      "end": 5461,
      "loc": {
        "start": {
          "line": 173,
          "column": 29
        },
        "end": {
          "line": 173,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5461,
      "end": 5462,
      "loc": {
        "start": {
          "line": 173,
          "column": 34
        },
        "end": {
          "line": 173,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5462,
      "end": 5463,
      "loc": {
        "start": {
          "line": 173,
          "column": 35
        },
        "end": {
          "line": 173,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5463,
      "end": 5464,
      "loc": {
        "start": {
          "line": 173,
          "column": 36
        },
        "end": {
          "line": 173,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5468,
      "end": 5469,
      "loc": {
        "start": {
          "line": 174,
          "column": 2
        },
        "end": {
          "line": 174,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5469,
      "end": 5470,
      "loc": {
        "start": {
          "line": 174,
          "column": 3
        },
        "end": {
          "line": 174,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5470,
      "end": 5471,
      "loc": {
        "start": {
          "line": 174,
          "column": 4
        },
        "end": {
          "line": 174,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5473,
      "end": 5474,
      "loc": {
        "start": {
          "line": 175,
          "column": 0
        },
        "end": {
          "line": 175,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5478,
      "end": 5483,
      "loc": {
        "start": {
          "line": 177,
          "column": 0
        },
        "end": {
          "line": 177,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructorCallback",
      "start": 5484,
      "end": 5503,
      "loc": {
        "start": {
          "line": 177,
          "column": 6
        },
        "end": {
          "line": 177,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5504,
      "end": 5505,
      "loc": {
        "start": {
          "line": 177,
          "column": 26
        },
        "end": {
          "line": 177,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5506,
      "end": 5507,
      "loc": {
        "start": {
          "line": 177,
          "column": 28
        },
        "end": {
          "line": 177,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5507,
      "end": 5513,
      "loc": {
        "start": {
          "line": 177,
          "column": 29
        },
        "end": {
          "line": 177,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5513,
      "end": 5514,
      "loc": {
        "start": {
          "line": 177,
          "column": 35
        },
        "end": {
          "line": 177,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "HTMLElement",
      "start": 5514,
      "end": 5525,
      "loc": {
        "start": {
          "line": 177,
          "column": 36
        },
        "end": {
          "line": 177,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5525,
      "end": 5526,
      "loc": {
        "start": {
          "line": 177,
          "column": 47
        },
        "end": {
          "line": 177,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "klass",
      "start": 5527,
      "end": 5532,
      "loc": {
        "start": {
          "line": 177,
          "column": 49
        },
        "end": {
          "line": 177,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5532,
      "end": 5533,
      "loc": {
        "start": {
          "line": 177,
          "column": 54
        },
        "end": {
          "line": 177,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Function",
      "start": 5533,
      "end": 5541,
      "loc": {
        "start": {
          "line": 177,
          "column": 55
        },
        "end": {
          "line": 177,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5541,
      "end": 5542,
      "loc": {
        "start": {
          "line": 177,
          "column": 63
        },
        "end": {
          "line": 177,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "hasWindow",
      "start": 5543,
      "end": 5552,
      "loc": {
        "start": {
          "line": 177,
          "column": 65
        },
        "end": {
          "line": 177,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5552,
      "end": 5553,
      "loc": {
        "start": {
          "line": 177,
          "column": 74
        },
        "end": {
          "line": 177,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 5553,
      "end": 5558,
      "loc": {
        "start": {
          "line": 177,
          "column": 75
        },
        "end": {
          "line": 177,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5558,
      "end": 5559,
      "loc": {
        "start": {
          "line": 177,
          "column": 80
        },
        "end": {
          "line": 177,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5560,
      "end": 5562,
      "loc": {
        "start": {
          "line": 177,
          "column": 82
        },
        "end": {
          "line": 177,
          "column": 84
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5563,
      "end": 5564,
      "loc": {
        "start": {
          "line": 177,
          "column": 85
        },
        "end": {
          "line": 177,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5570,
      "end": 5576,
      "loc": {
        "start": {
          "line": 179,
          "column": 2
        },
        "end": {
          "line": 179,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5576,
      "end": 5577,
      "loc": {
        "start": {
          "line": 179,
          "column": 8
        },
        "end": {
          "line": 179,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fireEvent",
      "start": 5577,
      "end": 5586,
      "loc": {
        "start": {
          "line": 179,
          "column": 9
        },
        "end": {
          "line": 179,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5587,
      "end": 5588,
      "loc": {
        "start": {
          "line": 179,
          "column": 19
        },
        "end": {
          "line": 179,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5589,
      "end": 5595,
      "loc": {
        "start": {
          "line": 179,
          "column": 21
        },
        "end": {
          "line": 179,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5595,
      "end": 5596,
      "loc": {
        "start": {
          "line": 179,
          "column": 27
        },
        "end": {
          "line": 179,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fireEvent",
      "start": 5596,
      "end": 5605,
      "loc": {
        "start": {
          "line": 179,
          "column": 28
        },
        "end": {
          "line": 179,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 5606,
      "end": 5608,
      "loc": {
        "start": {
          "line": 179,
          "column": 38
        },
        "end": {
          "line": 179,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "fireEvent",
      "start": 5609,
      "end": 5618,
      "loc": {
        "start": {
          "line": 179,
          "column": 41
        },
        "end": {
          "line": 179,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5618,
      "end": 5619,
      "loc": {
        "start": {
          "line": 179,
          "column": 50
        },
        "end": {
          "line": 179,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 5619,
      "end": 5623,
      "loc": {
        "start": {
          "line": 179,
          "column": 51
        },
        "end": {
          "line": 179,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5623,
      "end": 5624,
      "loc": {
        "start": {
          "line": 179,
          "column": 55
        },
        "end": {
          "line": 179,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5624,
      "end": 5630,
      "loc": {
        "start": {
          "line": 179,
          "column": 56
        },
        "end": {
          "line": 179,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5630,
      "end": 5631,
      "loc": {
        "start": {
          "line": 179,
          "column": 62
        },
        "end": {
          "line": 179,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5631,
      "end": 5632,
      "loc": {
        "start": {
          "line": 179,
          "column": 63
        },
        "end": {
          "line": 179,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5636,
      "end": 5642,
      "loc": {
        "start": {
          "line": 180,
          "column": 2
        },
        "end": {
          "line": 180,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5642,
      "end": 5643,
      "loc": {
        "start": {
          "line": 180,
          "column": 8
        },
        "end": {
          "line": 180,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toJsProp",
      "start": 5643,
      "end": 5651,
      "loc": {
        "start": {
          "line": 180,
          "column": 9
        },
        "end": {
          "line": 180,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5652,
      "end": 5653,
      "loc": {
        "start": {
          "line": 180,
          "column": 18
        },
        "end": {
          "line": 180,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5654,
      "end": 5660,
      "loc": {
        "start": {
          "line": 180,
          "column": 20
        },
        "end": {
          "line": 180,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5660,
      "end": 5661,
      "loc": {
        "start": {
          "line": 180,
          "column": 26
        },
        "end": {
          "line": 180,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toJsProp",
      "start": 5661,
      "end": 5669,
      "loc": {
        "start": {
          "line": 180,
          "column": 27
        },
        "end": {
          "line": 180,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 5670,
      "end": 5672,
      "loc": {
        "start": {
          "line": 180,
          "column": 36
        },
        "end": {
          "line": 180,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toJsProp",
      "start": 5673,
      "end": 5681,
      "loc": {
        "start": {
          "line": 180,
          "column": 39
        },
        "end": {
          "line": 180,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5681,
      "end": 5682,
      "loc": {
        "start": {
          "line": 180,
          "column": 47
        },
        "end": {
          "line": 180,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 5682,
      "end": 5686,
      "loc": {
        "start": {
          "line": 180,
          "column": 48
        },
        "end": {
          "line": 180,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5686,
      "end": 5687,
      "loc": {
        "start": {
          "line": 180,
          "column": 52
        },
        "end": {
          "line": 180,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5687,
      "end": 5693,
      "loc": {
        "start": {
          "line": 180,
          "column": 53
        },
        "end": {
          "line": 180,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5693,
      "end": 5694,
      "loc": {
        "start": {
          "line": 180,
          "column": 59
        },
        "end": {
          "line": 180,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5694,
      "end": 5695,
      "loc": {
        "start": {
          "line": 180,
          "column": 60
        },
        "end": {
          "line": 180,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5699,
      "end": 5705,
      "loc": {
        "start": {
          "line": 181,
          "column": 2
        },
        "end": {
          "line": 181,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5705,
      "end": 5706,
      "loc": {
        "start": {
          "line": 181,
          "column": 8
        },
        "end": {
          "line": 181,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "loadScript",
      "start": 5706,
      "end": 5716,
      "loc": {
        "start": {
          "line": 181,
          "column": 9
        },
        "end": {
          "line": 181,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5717,
      "end": 5718,
      "loc": {
        "start": {
          "line": 181,
          "column": 20
        },
        "end": {
          "line": 181,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5719,
      "end": 5725,
      "loc": {
        "start": {
          "line": 181,
          "column": 22
        },
        "end": {
          "line": 181,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5725,
      "end": 5726,
      "loc": {
        "start": {
          "line": 181,
          "column": 28
        },
        "end": {
          "line": 181,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "loadScript",
      "start": 5726,
      "end": 5736,
      "loc": {
        "start": {
          "line": 181,
          "column": 29
        },
        "end": {
          "line": 181,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 5737,
      "end": 5739,
      "loc": {
        "start": {
          "line": 181,
          "column": 40
        },
        "end": {
          "line": 181,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "loadScript",
      "start": 5740,
      "end": 5750,
      "loc": {
        "start": {
          "line": 181,
          "column": 43
        },
        "end": {
          "line": 181,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5750,
      "end": 5751,
      "loc": {
        "start": {
          "line": 181,
          "column": 53
        },
        "end": {
          "line": 181,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 5751,
      "end": 5755,
      "loc": {
        "start": {
          "line": 181,
          "column": 54
        },
        "end": {
          "line": 181,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5755,
      "end": 5756,
      "loc": {
        "start": {
          "line": 181,
          "column": 58
        },
        "end": {
          "line": 181,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5756,
      "end": 5762,
      "loc": {
        "start": {
          "line": 181,
          "column": 59
        },
        "end": {
          "line": 181,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5762,
      "end": 5763,
      "loc": {
        "start": {
          "line": 181,
          "column": 65
        },
        "end": {
          "line": 181,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5763,
      "end": 5764,
      "loc": {
        "start": {
          "line": 181,
          "column": 66
        },
        "end": {
          "line": 181,
          "column": 67
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " setup properties",
      "start": 5772,
      "end": 5791,
      "loc": {
        "start": {
          "line": 184,
          "column": 2
        },
        "end": {
          "line": 184,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5797,
      "end": 5799,
      "loc": {
        "start": {
          "line": 186,
          "column": 2
        },
        "end": {
          "line": 186,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5800,
      "end": 5801,
      "loc": {
        "start": {
          "line": 186,
          "column": 5
        },
        "end": {
          "line": 186,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5801,
      "end": 5802,
      "loc": {
        "start": {
          "line": 186,
          "column": 6
        },
        "end": {
          "line": 186,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5802,
      "end": 5808,
      "loc": {
        "start": {
          "line": 186,
          "column": 7
        },
        "end": {
          "line": 186,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5808,
      "end": 5809,
      "loc": {
        "start": {
          "line": 186,
          "column": 13
        },
        "end": {
          "line": 186,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "registered",
      "start": 5809,
      "end": 5819,
      "loc": {
        "start": {
          "line": 186,
          "column": 14
        },
        "end": {
          "line": 186,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 5820,
      "end": 5822,
      "loc": {
        "start": {
          "line": 186,
          "column": 25
        },
        "end": {
          "line": 186,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5823,
      "end": 5829,
      "loc": {
        "start": {
          "line": 186,
          "column": 28
        },
        "end": {
          "line": 186,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5829,
      "end": 5830,
      "loc": {
        "start": {
          "line": 186,
          "column": 34
        },
        "end": {
          "line": 186,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "created",
      "start": 5830,
      "end": 5837,
      "loc": {
        "start": {
          "line": 186,
          "column": 35
        },
        "end": {
          "line": 186,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5837,
      "end": 5838,
      "loc": {
        "start": {
          "line": 186,
          "column": 42
        },
        "end": {
          "line": 186,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5839,
      "end": 5845,
      "loc": {
        "start": {
          "line": 186,
          "column": 44
        },
        "end": {
          "line": 186,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5845,
      "end": 5846,
      "loc": {
        "start": {
          "line": 186,
          "column": 50
        },
        "end": {
          "line": 186,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "created",
      "start": 5846,
      "end": 5853,
      "loc": {
        "start": {
          "line": 186,
          "column": 51
        },
        "end": {
          "line": 186,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5853,
      "end": 5854,
      "loc": {
        "start": {
          "line": 186,
          "column": 58
        },
        "end": {
          "line": 186,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5854,
      "end": 5855,
      "loc": {
        "start": {
          "line": 186,
          "column": 59
        },
        "end": {
          "line": 186,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5855,
      "end": 5856,
      "loc": {
        "start": {
          "line": 186,
          "column": 60
        },
        "end": {
          "line": 186,
          "column": 61
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " let backed know the element is registered",
      "start": 5862,
      "end": 5906,
      "loc": {
        "start": {
          "line": 188,
          "column": 2
        },
        "end": {
          "line": 188,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5910,
      "end": 5916,
      "loc": {
        "start": {
          "line": 189,
          "column": 2
        },
        "end": {
          "line": 189,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5916,
      "end": 5917,
      "loc": {
        "start": {
          "line": 189,
          "column": 8
        },
        "end": {
          "line": 189,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "registered",
      "start": 5917,
      "end": 5927,
      "loc": {
        "start": {
          "line": 189,
          "column": 9
        },
        "end": {
          "line": 189,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5928,
      "end": 5929,
      "loc": {
        "start": {
          "line": 189,
          "column": 20
        },
        "end": {
          "line": 189,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 5930,
      "end": 5934,
      "loc": {
        "start": {
          "line": 189,
          "column": 22
        },
        "end": {
          "line": 189,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5934,
      "end": 5935,
      "loc": {
        "start": {
          "line": 189,
          "column": 26
        },
        "end": {
          "line": 189,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5937,
      "end": 5938,
      "loc": {
        "start": {
          "line": 190,
          "column": 0
        },
        "end": {
          "line": 190,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 5942,
      "end": 5947,
      "loc": {
        "start": {
          "line": 192,
          "column": 0
        },
        "end": {
          "line": 192,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "connectedCallback",
      "start": 5948,
      "end": 5965,
      "loc": {
        "start": {
          "line": 192,
          "column": 6
        },
        "end": {
          "line": 192,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5966,
      "end": 5967,
      "loc": {
        "start": {
          "line": 192,
          "column": 24
        },
        "end": {
          "line": 192,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5968,
      "end": 5969,
      "loc": {
        "start": {
          "line": 192,
          "column": 26
        },
        "end": {
          "line": 192,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 5969,
      "end": 5975,
      "loc": {
        "start": {
          "line": 192,
          "column": 27
        },
        "end": {
          "line": 192,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5975,
      "end": 5976,
      "loc": {
        "start": {
          "line": 192,
          "column": 33
        },
        "end": {
          "line": 192,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "HTMLElement",
      "start": 5976,
      "end": 5987,
      "loc": {
        "start": {
          "line": 192,
          "column": 34
        },
        "end": {
          "line": 192,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5987,
      "end": 5988,
      "loc": {
        "start": {
          "line": 192,
          "column": 45
        },
        "end": {
          "line": 192,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "klass",
      "start": 5989,
      "end": 5994,
      "loc": {
        "start": {
          "line": 192,
          "column": 47
        },
        "end": {
          "line": 192,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5994,
      "end": 5995,
      "loc": {
        "start": {
          "line": 192,
          "column": 52
        },
        "end": {
          "line": 192,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Function",
      "start": 5995,
      "end": 6003,
      "loc": {
        "start": {
          "line": 192,
          "column": 53
        },
        "end": {
          "line": 192,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6003,
      "end": 6004,
      "loc": {
        "start": {
          "line": 192,
          "column": 61
        },
        "end": {
          "line": 192,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6005,
      "end": 6007,
      "loc": {
        "start": {
          "line": 192,
          "column": 63
        },
        "end": {
          "line": 192,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6008,
      "end": 6009,
      "loc": {
        "start": {
          "line": 192,
          "column": 66
        },
        "end": {
          "line": 192,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6013,
      "end": 6015,
      "loc": {
        "start": {
          "line": 193,
          "column": 2
        },
        "end": {
          "line": 193,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6016,
      "end": 6017,
      "loc": {
        "start": {
          "line": 193,
          "column": 5
        },
        "end": {
          "line": 193,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 6017,
      "end": 6023,
      "loc": {
        "start": {
          "line": 193,
          "column": 6
        },
        "end": {
          "line": 193,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6023,
      "end": 6024,
      "loc": {
        "start": {
          "line": 193,
          "column": 12
        },
        "end": {
          "line": 193,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "connected",
      "start": 6024,
      "end": 6033,
      "loc": {
        "start": {
          "line": 193,
          "column": 13
        },
        "end": {
          "line": 193,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6033,
      "end": 6034,
      "loc": {
        "start": {
          "line": 193,
          "column": 22
        },
        "end": {
          "line": 193,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 6035,
      "end": 6041,
      "loc": {
        "start": {
          "line": 193,
          "column": 24
        },
        "end": {
          "line": 193,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6041,
      "end": 6042,
      "loc": {
        "start": {
          "line": 193,
          "column": 30
        },
        "end": {
          "line": 193,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "connected",
      "start": 6042,
      "end": 6051,
      "loc": {
        "start": {
          "line": 193,
          "column": 31
        },
        "end": {
          "line": 193,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6051,
      "end": 6052,
      "loc": {
        "start": {
          "line": 193,
          "column": 40
        },
        "end": {
          "line": 193,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6052,
      "end": 6053,
      "loc": {
        "start": {
          "line": 193,
          "column": 41
        },
        "end": {
          "line": 193,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6053,
      "end": 6054,
      "loc": {
        "start": {
          "line": 193,
          "column": 42
        },
        "end": {
          "line": 193,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleProperties",
      "start": 6058,
      "end": 6074,
      "loc": {
        "start": {
          "line": 194,
          "column": 2
        },
        "end": {
          "line": 194,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6074,
      "end": 6075,
      "loc": {
        "start": {
          "line": 194,
          "column": 18
        },
        "end": {
          "line": 194,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 6075,
      "end": 6081,
      "loc": {
        "start": {
          "line": 194,
          "column": 19
        },
        "end": {
          "line": 194,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6081,
      "end": 6082,
      "loc": {
        "start": {
          "line": 194,
          "column": 25
        },
        "end": {
          "line": 194,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "klass",
      "start": 6083,
      "end": 6088,
      "loc": {
        "start": {
          "line": 194,
          "column": 27
        },
        "end": {
          "line": 194,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6088,
      "end": 6089,
      "loc": {
        "start": {
          "line": 194,
          "column": 32
        },
        "end": {
          "line": 194,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "properties",
      "start": 6089,
      "end": 6099,
      "loc": {
        "start": {
          "line": 194,
          "column": 33
        },
        "end": {
          "line": 194,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6099,
      "end": 6100,
      "loc": {
        "start": {
          "line": 194,
          "column": 43
        },
        "end": {
          "line": 194,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6100,
      "end": 6101,
      "loc": {
        "start": {
          "line": 194,
          "column": 44
        },
        "end": {
          "line": 194,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleObservers",
      "start": 6105,
      "end": 6120,
      "loc": {
        "start": {
          "line": 195,
          "column": 2
        },
        "end": {
          "line": 195,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6120,
      "end": 6121,
      "loc": {
        "start": {
          "line": 195,
          "column": 17
        },
        "end": {
          "line": 195,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 6121,
      "end": 6127,
      "loc": {
        "start": {
          "line": 195,
          "column": 18
        },
        "end": {
          "line": 195,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6127,
      "end": 6128,
      "loc": {
        "start": {
          "line": 195,
          "column": 24
        },
        "end": {
          "line": 195,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "klass",
      "start": 6129,
      "end": 6134,
      "loc": {
        "start": {
          "line": 195,
          "column": 26
        },
        "end": {
          "line": 195,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6134,
      "end": 6135,
      "loc": {
        "start": {
          "line": 195,
          "column": 31
        },
        "end": {
          "line": 195,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "observers",
      "start": 6135,
      "end": 6144,
      "loc": {
        "start": {
          "line": 195,
          "column": 32
        },
        "end": {
          "line": 195,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6144,
      "end": 6145,
      "loc": {
        "start": {
          "line": 195,
          "column": 41
        },
        "end": {
          "line": 195,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "klass",
      "start": 6146,
      "end": 6151,
      "loc": {
        "start": {
          "line": 195,
          "column": 43
        },
        "end": {
          "line": 195,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6151,
      "end": 6152,
      "loc": {
        "start": {
          "line": 195,
          "column": 48
        },
        "end": {
          "line": 195,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "globalObservers",
      "start": 6152,
      "end": 6167,
      "loc": {
        "start": {
          "line": 195,
          "column": 49
        },
        "end": {
          "line": 195,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6167,
      "end": 6168,
      "loc": {
        "start": {
          "line": 195,
          "column": 64
        },
        "end": {
          "line": 195,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6168,
      "end": 6169,
      "loc": {
        "start": {
          "line": 195,
          "column": 65
        },
        "end": {
          "line": 195,
          "column": 66
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " setup listeners",
      "start": 6173,
      "end": 6191,
      "loc": {
        "start": {
          "line": 196,
          "column": 2
        },
        "end": {
          "line": 196,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleListeners",
      "start": 6195,
      "end": 6210,
      "loc": {
        "start": {
          "line": 197,
          "column": 2
        },
        "end": {
          "line": 197,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6210,
      "end": 6211,
      "loc": {
        "start": {
          "line": 197,
          "column": 17
        },
        "end": {
          "line": 197,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 6211,
      "end": 6217,
      "loc": {
        "start": {
          "line": 197,
          "column": 18
        },
        "end": {
          "line": 197,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6217,
      "end": 6218,
      "loc": {
        "start": {
          "line": 197,
          "column": 24
        },
        "end": {
          "line": 197,
          "column": 25
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " notify everything is ready",
      "start": 6222,
      "end": 6251,
      "loc": {
        "start": {
          "line": 198,
          "column": 2
        },
        "end": {
          "line": 198,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ready",
      "start": 6255,
      "end": 6260,
      "loc": {
        "start": {
          "line": 199,
          "column": 2
        },
        "end": {
          "line": 199,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6260,
      "end": 6261,
      "loc": {
        "start": {
          "line": 199,
          "column": 7
        },
        "end": {
          "line": 199,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 6261,
      "end": 6267,
      "loc": {
        "start": {
          "line": 199,
          "column": 8
        },
        "end": {
          "line": 199,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6267,
      "end": 6268,
      "loc": {
        "start": {
          "line": 199,
          "column": 14
        },
        "end": {
          "line": 199,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6268,
      "end": 6269,
      "loc": {
        "start": {
          "line": 199,
          "column": 15
        },
        "end": {
          "line": 199,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6271,
      "end": 6272,
      "loc": {
        "start": {
          "line": 200,
          "column": 0
        },
        "end": {
          "line": 200,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 6276,
      "end": 6281,
      "loc": {
        "start": {
          "line": 202,
          "column": 0
        },
        "end": {
          "line": 202,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "shouldRegister",
      "start": 6282,
      "end": 6296,
      "loc": {
        "start": {
          "line": 202,
          "column": 6
        },
        "end": {
          "line": 202,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6297,
      "end": 6298,
      "loc": {
        "start": {
          "line": 202,
          "column": 21
        },
        "end": {
          "line": 202,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6299,
      "end": 6300,
      "loc": {
        "start": {
          "line": 202,
          "column": 23
        },
        "end": {
          "line": 202,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 6300,
      "end": 6304,
      "loc": {
        "start": {
          "line": 202,
          "column": 24
        },
        "end": {
          "line": 202,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6304,
      "end": 6305,
      "loc": {
        "start": {
          "line": 202,
          "column": 28
        },
        "end": {
          "line": 202,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "klass",
      "start": 6306,
      "end": 6311,
      "loc": {
        "start": {
          "line": 202,
          "column": 30
        },
        "end": {
          "line": 202,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6311,
      "end": 6312,
      "loc": {
        "start": {
          "line": 202,
          "column": 35
        },
        "end": {
          "line": 202,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6313,
      "end": 6315,
      "loc": {
        "start": {
          "line": 202,
          "column": 37
        },
        "end": {
          "line": 202,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6316,
      "end": 6317,
      "loc": {
        "start": {
          "line": 202,
          "column": 40
        },
        "end": {
          "line": 202,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6321,
      "end": 6323,
      "loc": {
        "start": {
          "line": 203,
          "column": 2
        },
        "end": {
          "line": 203,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6324,
      "end": 6325,
      "loc": {
        "start": {
          "line": 203,
          "column": 5
        },
        "end": {
          "line": 203,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "window",
      "start": 6325,
      "end": 6331,
      "loc": {
        "start": {
          "line": 203,
          "column": 6
        },
        "end": {
          "line": 203,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6331,
      "end": 6332,
      "loc": {
        "start": {
          "line": 203,
          "column": 12
        },
        "end": {
          "line": 203,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "registeredElements",
      "start": 6332,
      "end": 6350,
      "loc": {
        "start": {
          "line": 203,
          "column": 13
        },
        "end": {
          "line": 203,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6350,
      "end": 6351,
      "loc": {
        "start": {
          "line": 203,
          "column": 31
        },
        "end": {
          "line": 203,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "indexOf",
      "start": 6351,
      "end": 6358,
      "loc": {
        "start": {
          "line": 203,
          "column": 32
        },
        "end": {
          "line": 203,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6358,
      "end": 6359,
      "loc": {
        "start": {
          "line": 203,
          "column": 39
        },
        "end": {
          "line": 203,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 6359,
      "end": 6363,
      "loc": {
        "start": {
          "line": 203,
          "column": 40
        },
        "end": {
          "line": 203,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6363,
      "end": 6364,
      "loc": {
        "start": {
          "line": 203,
          "column": 44
        },
        "end": {
          "line": 203,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 6365,
      "end": 6368,
      "loc": {
        "start": {
          "line": 203,
          "column": 46
        },
        "end": {
          "line": 203,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 6369,
      "end": 6370,
      "loc": {
        "start": {
          "line": 203,
          "column": 50
        },
        "end": {
          "line": 203,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 6370,
      "end": 6371,
      "loc": {
        "start": {
          "line": 203,
          "column": 51
        },
        "end": {
          "line": 203,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6371,
      "end": 6372,
      "loc": {
        "start": {
          "line": 203,
          "column": 52
        },
        "end": {
          "line": 203,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6373,
      "end": 6374,
      "loc": {
        "start": {
          "line": 203,
          "column": 54
        },
        "end": {
          "line": 203,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "window",
      "start": 6380,
      "end": 6386,
      "loc": {
        "start": {
          "line": 204,
          "column": 4
        },
        "end": {
          "line": 204,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6386,
      "end": 6387,
      "loc": {
        "start": {
          "line": 204,
          "column": 10
        },
        "end": {
          "line": 204,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "registeredElements",
      "start": 6387,
      "end": 6405,
      "loc": {
        "start": {
          "line": 204,
          "column": 11
        },
        "end": {
          "line": 204,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6405,
      "end": 6406,
      "loc": {
        "start": {
          "line": 204,
          "column": 29
        },
        "end": {
          "line": 204,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "push",
      "start": 6406,
      "end": 6410,
      "loc": {
        "start": {
          "line": 204,
          "column": 30
        },
        "end": {
          "line": 204,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6410,
      "end": 6411,
      "loc": {
        "start": {
          "line": 204,
          "column": 34
        },
        "end": {
          "line": 204,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "name",
      "start": 6411,
      "end": 6415,
      "loc": {
        "start": {
          "line": 204,
          "column": 35
        },
        "end": {
          "line": 204,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6415,
      "end": 6416,
      "loc": {
        "start": {
          "line": 204,
          "column": 39
        },
        "end": {
          "line": 204,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6416,
      "end": 6417,
      "loc": {
        "start": {
          "line": 204,
          "column": 40
        },
        "end": {
          "line": 204,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 6423,
      "end": 6429,
      "loc": {
        "start": {
          "line": 205,
          "column": 4
        },
        "end": {
          "line": 205,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 6430,
      "end": 6434,
      "loc": {
        "start": {
          "line": 205,
          "column": 11
        },
        "end": {
          "line": 205,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6434,
      "end": 6435,
      "loc": {
        "start": {
          "line": 205,
          "column": 15
        },
        "end": {
          "line": 205,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6439,
      "end": 6440,
      "loc": {
        "start": {
          "line": 206,
          "column": 2
        },
        "end": {
          "line": 206,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 6444,
      "end": 6450,
      "loc": {
        "start": {
          "line": 207,
          "column": 2
        },
        "end": {
          "line": 207,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 6451,
      "end": 6456,
      "loc": {
        "start": {
          "line": 207,
          "column": 9
        },
        "end": {
          "line": 207,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6456,
      "end": 6457,
      "loc": {
        "start": {
          "line": 207,
          "column": 14
        },
        "end": {
          "line": 207,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6459,
      "end": 6460,
      "loc": {
        "start": {
          "line": 208,
          "column": 0
        },
        "end": {
          "line": 208,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 6464,
      "end": 6470,
      "loc": {
        "start": {
          "line": 210,
          "column": 0
        },
        "end": {
          "line": 210,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 6471,
      "end": 6478,
      "loc": {
        "start": {
          "line": 210,
          "column": 7
        },
        "end": {
          "line": 210,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6479,
      "end": 6480,
      "loc": {
        "start": {
          "line": 210,
          "column": 15
        },
        "end": {
          "line": 210,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ready",
      "start": 6484,
      "end": 6489,
      "loc": {
        "start": {
          "line": 211,
          "column": 2
        },
        "end": {
          "line": 211,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6489,
      "end": 6490,
      "loc": {
        "start": {
          "line": 211,
          "column": 7
        },
        "end": {
          "line": 211,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "ready",
      "start": 6491,
      "end": 6496,
      "loc": {
        "start": {
          "line": 211,
          "column": 9
        },
        "end": {
          "line": 211,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6496,
      "end": 6497,
      "loc": {
        "start": {
          "line": 211,
          "column": 14
        },
        "end": {
          "line": 211,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "connectedCallback",
      "start": 6501,
      "end": 6518,
      "loc": {
        "start": {
          "line": 212,
          "column": 2
        },
        "end": {
          "line": 212,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6518,
      "end": 6519,
      "loc": {
        "start": {
          "line": 212,
          "column": 19
        },
        "end": {
          "line": 212,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "connectedCallback",
      "start": 6520,
      "end": 6537,
      "loc": {
        "start": {
          "line": 212,
          "column": 21
        },
        "end": {
          "line": 212,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6537,
      "end": 6538,
      "loc": {
        "start": {
          "line": 212,
          "column": 38
        },
        "end": {
          "line": 212,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructorCallback",
      "start": 6542,
      "end": 6561,
      "loc": {
        "start": {
          "line": 213,
          "column": 2
        },
        "end": {
          "line": 213,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6561,
      "end": 6562,
      "loc": {
        "start": {
          "line": 213,
          "column": 21
        },
        "end": {
          "line": 213,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructorCallback",
      "start": 6563,
      "end": 6582,
      "loc": {
        "start": {
          "line": 213,
          "column": 23
        },
        "end": {
          "line": 213,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6582,
      "end": 6583,
      "loc": {
        "start": {
          "line": 213,
          "column": 42
        },
        "end": {
          "line": 213,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "shouldRegister",
      "start": 6587,
      "end": 6601,
      "loc": {
        "start": {
          "line": 214,
          "column": 2
        },
        "end": {
          "line": 214,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6601,
      "end": 6602,
      "loc": {
        "start": {
          "line": 214,
          "column": 16
        },
        "end": {
          "line": 214,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "shouldRegister",
      "start": 6603,
      "end": 6617,
      "loc": {
        "start": {
          "line": 214,
          "column": 18
        },
        "end": {
          "line": 214,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6619,
      "end": 6620,
      "loc": {
        "start": {
          "line": 215,
          "column": 0
        },
        "end": {
          "line": 215,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6622,
      "end": 6622,
      "loc": {
        "start": {
          "line": 216,
          "column": 0
        },
        "end": {
          "line": 216,
          "column": 0
        }
      }
    }
  ]
}