{
  "type": "File",
  "start": 0,
  "end": 2623,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 109,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 2623,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 109,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 14,
        "end": 55,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 41
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 23,
            "end": 27,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 23,
              "end": 27,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 9
                },
                "end": {
                  "line": 3,
                  "column": 13
                },
                "identifierName": "html"
              },
              "name": "html"
            },
            "local": {
              "type": "Identifier",
              "start": 23,
              "end": 27,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 9
                },
                "end": {
                  "line": 3,
                  "column": 13
                },
                "identifierName": "html"
              },
              "name": "html"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 35,
          "end": 55,
          "loc": {
            "start": {
              "line": 3,
              "column": 21
            },
            "end": {
              "line": 3,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./../utils/html.js",
            "raw": "'./../utils/html.js'"
          },
          "value": "./../utils/html.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 56,
        "end": 95,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 4,
            "column": 39
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 65,
            "end": 68,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 12
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 65,
              "end": 68,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 12
                },
                "identifierName": "uid"
              },
              "name": "uid"
            },
            "local": {
              "type": "Identifier",
              "start": 65,
              "end": 68,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 9
                },
                "end": {
                  "line": 4,
                  "column": 12
                },
                "identifierName": "uid"
              },
              "name": "uid"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 76,
          "end": 95,
          "loc": {
            "start": {
              "line": 4,
              "column": 20
            },
            "end": {
              "line": 4,
              "column": 39
            }
          },
          "extra": {
            "rawValue": "./../utils/uid.js",
            "raw": "'./../utils/uid.js'"
          },
          "value": "./../utils/uid.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 96,
        "end": 132,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 5,
            "column": 36
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 105,
            "end": 111,
            "loc": {
              "start": {
                "line": 5,
                "column": 9
              },
              "end": {
                "line": 5,
                "column": 15
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 105,
              "end": 111,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 9
                },
                "end": {
                  "line": 5,
                  "column": 15
                },
                "identifierName": "Router"
              },
              "name": "Router"
            },
            "local": {
              "type": "Identifier",
              "start": 105,
              "end": 111,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 9
                },
                "end": {
                  "line": 5,
                  "column": 15
                },
                "identifierName": "Router"
              },
              "name": "Router"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 119,
          "end": 132,
          "loc": {
            "start": {
              "line": 5,
              "column": 23
            },
            "end": {
              "line": 5,
              "column": 36
            }
          },
          "extra": {
            "rawValue": "./router.js",
            "raw": "'./router.js'"
          },
          "value": "./router.js",
          "leadingComments": null,
          "trailingComments": null
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * This class is used to create web components\n ",
            "start": 134,
            "end": 188,
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "ExportNamedDeclaration",
        "start": 189,
        "end": 2622,
        "loc": {
          "start": {
            "line": 10,
            "column": 0
          },
          "end": {
            "line": 108,
            "column": 1
          }
        },
        "specifiers": [],
        "source": null,
        "declaration": {
          "type": "ClassDeclaration",
          "start": 196,
          "end": 2622,
          "loc": {
            "start": {
              "line": 10,
              "column": 7
            },
            "end": {
              "line": 108,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 202,
            "end": 211,
            "loc": {
              "start": {
                "line": 10,
                "column": 13
              },
              "end": {
                "line": 10,
                "column": 22
              },
              "identifierName": "Component"
            },
            "name": "Component",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 212,
            "end": 2622,
            "loc": {
              "start": {
                "line": 10,
                "column": 23
              },
              "end": {
                "line": 108,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 305,
                "end": 340,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 2
                  },
                  "end": {
                    "line": 16,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 309,
                  "end": 317,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 6
                    },
                    "end": {
                      "line": 14,
                      "column": 14
                    },
                    "identifierName": "template"
                  },
                  "name": "template"
                },
                "kind": "get",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 321,
                  "end": 340,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 18
                    },
                    "end": {
                      "line": 16,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 327,
                      "end": 336,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 4
                        },
                        "end": {
                          "line": 15,
                          "column": 13
                        }
                      },
                      "argument": {
                        "type": "StringLiteral",
                        "start": 334,
                        "end": 336,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 11
                          },
                          "end": {
                            "line": 15,
                            "column": 13
                          }
                        },
                        "extra": {
                          "rawValue": "",
                          "raw": "''"
                        },
                        "value": ""
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The html string or HTMLElement that becomes the view for this component\n   ",
                    "start": 216,
                    "end": 302,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 2
                      },
                      "end": {
                        "line": 13,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called whenever the state changes\n   * @param {URL} url The current url\n   ",
                    "start": 344,
                    "end": 446,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 2
                      },
                      "end": {
                        "line": 21,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 449,
                "end": 473,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 2
                  },
                  "end": {
                    "line": 22,
                    "column": 26
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 449,
                  "end": 462,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 2
                    },
                    "end": {
                      "line": 22,
                      "column": 15
                    },
                    "identifierName": "onStateChange"
                  },
                  "name": "onStateChange",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 465,
                    "end": 468,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 18
                      },
                      "end": {
                        "line": 22,
                        "column": 21
                      },
                      "identifierName": "url"
                    },
                    "name": "url"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 471,
                  "end": 473,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 24
                    },
                    "end": {
                      "line": 22,
                      "column": 26
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called whenever the state changes\n   * @param {URL} url The current url\n   ",
                    "start": 344,
                    "end": 446,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 2
                      },
                      "end": {
                        "line": 21,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called before the template is attached. This is useful for modifing the template before the MutationObserver starts tracking it or add dependencies for template elements\n   ",
                    "start": 477,
                    "end": 677,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 2
                      },
                      "end": {
                        "line": 26,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 680,
                "end": 690,
                "loc": {
                  "start": {
                    "line": 27,
                    "column": 2
                  },
                  "end": {
                    "line": 27,
                    "column": 12
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 680,
                  "end": 684,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 2
                    },
                    "end": {
                      "line": 27,
                      "column": 6
                    },
                    "identifierName": "init"
                  },
                  "name": "init",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 688,
                  "end": 690,
                  "loc": {
                    "start": {
                      "line": 27,
                      "column": 10
                    },
                    "end": {
                      "line": 27,
                      "column": 12
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called before the template is attached. This is useful for modifing the template before the MutationObserver starts tracking it or add dependencies for template elements\n   ",
                    "start": 477,
                    "end": 677,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 2
                      },
                      "end": {
                        "line": 26,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called when the component gets created in the page. It is the main method of the class\n   ",
                    "start": 694,
                    "end": 811,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 814,
                "end": 827,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 2
                  },
                  "end": {
                    "line": 32,
                    "column": 15
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 814,
                  "end": 821,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 2
                    },
                    "end": {
                      "line": 32,
                      "column": 9
                    },
                    "identifierName": "execute"
                  },
                  "name": "execute",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 825,
                  "end": 827,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 13
                    },
                    "end": {
                      "line": 32,
                      "column": 15
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called when the component gets created in the page. It is the main method of the class\n   ",
                    "start": 694,
                    "end": 811,
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called when the component calls destroy(). It can be used to remove handlers or clear timeouts\n   ",
                    "start": 831,
                    "end": 956,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 2
                      },
                      "end": {
                        "line": 36,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 959,
                "end": 974,
                "loc": {
                  "start": {
                    "line": 37,
                    "column": 2
                  },
                  "end": {
                    "line": 37,
                    "column": 17
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 959,
                  "end": 968,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 2
                    },
                    "end": {
                      "line": 37,
                      "column": 11
                    },
                    "identifierName": "terminate"
                  },
                  "name": "terminate",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 972,
                  "end": 974,
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 15
                    },
                    "end": {
                      "line": 37,
                      "column": 17
                    }
                  },
                  "body": [],
                  "directives": [],
                  "leadingComments": null,
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called when the component calls destroy(). It can be used to remove handlers or clear timeouts\n   ",
                    "start": 831,
                    "end": 956,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 2
                      },
                      "end": {
                        "line": 36,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * Creates an instance of Component\n   * @param {HTMLElement} parent The parent wrapper\n   * @param {Module} module The parent module instance\n   * @param {Store} store An instance of @crispcode/pushstore, see https://www.npmjs.com/package/@crispcode/pushstore\n   ",
                    "start": 978,
                    "end": 1250,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 2
                      },
                      "end": {
                        "line": 44,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1253,
                "end": 2368,
                "loc": {
                  "start": {
                    "line": 45,
                    "column": 2
                  },
                  "end": {
                    "line": 94,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1253,
                  "end": 1264,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 2
                    },
                    "end": {
                      "line": 45,
                      "column": 13
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1267,
                    "end": 1273,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 16
                      },
                      "end": {
                        "line": 45,
                        "column": 22
                      },
                      "identifierName": "parent"
                    },
                    "name": "parent"
                  },
                  {
                    "type": "Identifier",
                    "start": 1275,
                    "end": 1281,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 24
                      },
                      "end": {
                        "line": 45,
                        "column": 30
                      },
                      "identifierName": "module"
                    },
                    "name": "module"
                  },
                  {
                    "type": "Identifier",
                    "start": 1283,
                    "end": 1288,
                    "loc": {
                      "start": {
                        "line": 45,
                        "column": 32
                      },
                      "end": {
                        "line": 45,
                        "column": 37
                      },
                      "identifierName": "store"
                    },
                    "name": "store"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1291,
                  "end": 2368,
                  "loc": {
                    "start": {
                      "line": 45,
                      "column": 40
                    },
                    "end": {
                      "line": 94,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1377,
                      "end": 1393,
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 4
                        },
                        "end": {
                          "line": 51,
                          "column": 20
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1377,
                        "end": 1393,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 4
                          },
                          "end": {
                            "line": 51,
                            "column": 20
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1377,
                          "end": 1385,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 4
                            },
                            "end": {
                              "line": 51,
                              "column": 12
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1377,
                            "end": 1381,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 4
                              },
                              "end": {
                                "line": 51,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1382,
                            "end": 1385,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 9
                              },
                              "end": {
                                "line": 51,
                                "column": 12
                              },
                              "identifierName": "uid"
                            },
                            "name": "uid"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 1388,
                          "end": 1393,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 15
                            },
                            "end": {
                              "line": 51,
                              "column": 20
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 1388,
                            "end": 1391,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 15
                              },
                              "end": {
                                "line": 51,
                                "column": 18
                              },
                              "identifierName": "uid"
                            },
                            "name": "uid"
                          },
                          "arguments": [],
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * A unique identifier\n     * @type {String}\n     * @public\n     ",
                          "start": 1297,
                          "end": 1372,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 4
                            },
                            "end": {
                              "line": 50,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The parent wrapper\n     * @type {HTMLElement}\n     * @public\n     ",
                          "start": 1399,
                          "end": 1478,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 4
                            },
                            "end": {
                              "line": 57,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1483,
                      "end": 1503,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 4
                        },
                        "end": {
                          "line": 58,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1483,
                        "end": 1503,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 4
                          },
                          "end": {
                            "line": 58,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1483,
                          "end": 1494,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 4
                            },
                            "end": {
                              "line": 58,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1483,
                            "end": 1487,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 4
                              },
                              "end": {
                                "line": 58,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1488,
                            "end": 1494,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 9
                              },
                              "end": {
                                "line": 58,
                                "column": 15
                              },
                              "identifierName": "parent"
                            },
                            "name": "parent"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1497,
                          "end": 1503,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 18
                            },
                            "end": {
                              "line": 58,
                              "column": 24
                            },
                            "identifierName": "parent"
                          },
                          "name": "parent",
                          "leadingComments": null,
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The parent wrapper\n     * @type {HTMLElement}\n     * @public\n     ",
                          "start": 1399,
                          "end": 1478,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 4
                            },
                            "end": {
                              "line": 57,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The parent module instance\n     * @type {Module}\n     * @public\n     ",
                          "start": 1509,
                          "end": 1591,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 4
                            },
                            "end": {
                              "line": 64,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1596,
                      "end": 1616,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 4
                        },
                        "end": {
                          "line": 65,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1596,
                        "end": 1616,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 4
                          },
                          "end": {
                            "line": 65,
                            "column": 24
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1596,
                          "end": 1607,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 4
                            },
                            "end": {
                              "line": 65,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1596,
                            "end": 1600,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 4
                              },
                              "end": {
                                "line": 65,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1601,
                            "end": 1607,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 9
                              },
                              "end": {
                                "line": 65,
                                "column": 15
                              },
                              "identifierName": "module"
                            },
                            "name": "module"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1610,
                          "end": 1616,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 18
                            },
                            "end": {
                              "line": 65,
                              "column": 24
                            },
                            "identifierName": "module"
                          },
                          "name": "module",
                          "leadingComments": null,
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The parent module instance\n     * @type {Module}\n     * @public\n     ",
                          "start": 1509,
                          "end": 1591,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 4
                            },
                            "end": {
                              "line": 64,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The pushstore instance of the module parent\n     * @type {Store}\n     * @public\n     ",
                          "start": 1621,
                          "end": 1719,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 4
                            },
                            "end": {
                              "line": 70,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1724,
                      "end": 1742,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 4
                        },
                        "end": {
                          "line": 71,
                          "column": 22
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1724,
                        "end": 1742,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 4
                          },
                          "end": {
                            "line": 71,
                            "column": 22
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1724,
                          "end": 1734,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 4
                            },
                            "end": {
                              "line": 71,
                              "column": 14
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1724,
                            "end": 1728,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 4
                              },
                              "end": {
                                "line": 71,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1729,
                            "end": 1734,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 9
                              },
                              "end": {
                                "line": 71,
                                "column": 14
                              },
                              "identifierName": "store"
                            },
                            "name": "store"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1737,
                          "end": 1742,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 17
                            },
                            "end": {
                              "line": 71,
                              "column": 22
                            },
                            "identifierName": "store"
                          },
                          "name": "store",
                          "leadingComments": null,
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The pushstore instance of the module parent\n     * @type {Store}\n     * @public\n     ",
                          "start": 1621,
                          "end": 1719,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 4
                            },
                            "end": {
                              "line": 70,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The component view\n     * @type {HTMLElement}\n     * @public\n     ",
                          "start": 1748,
                          "end": 1827,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 4
                            },
                            "end": {
                              "line": 77,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1832,
                      "end": 1924,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 4
                        },
                        "end": {
                          "line": 78,
                          "column": 96
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1832,
                        "end": 1924,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 4
                          },
                          "end": {
                            "line": 78,
                            "column": 96
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1832,
                          "end": 1844,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 4
                            },
                            "end": {
                              "line": 78,
                              "column": 16
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1832,
                            "end": 1836,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 4
                              },
                              "end": {
                                "line": 78,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1837,
                            "end": 1844,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 9
                              },
                              "end": {
                                "line": 78,
                                "column": 16
                              },
                              "identifierName": "element"
                            },
                            "name": "element"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 1847,
                          "end": 1924,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 19
                            },
                            "end": {
                              "line": 78,
                              "column": 96
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 1849,
                            "end": 1882,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 21
                              },
                              "end": {
                                "line": 78,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 1849,
                              "end": 1869,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 21
                                },
                                "end": {
                                  "line": 78,
                                  "column": 41
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 1856,
                                "end": 1869,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 41
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1856,
                                  "end": 1860,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 32
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1861,
                                  "end": 1869,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 33
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 41
                                    },
                                    "identifierName": "template"
                                  },
                                  "name": "template"
                                },
                                "computed": false
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 1874,
                              "end": 1882,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 46
                                },
                                "end": {
                                  "line": 78,
                                  "column": 54
                                }
                              },
                              "extra": {
                                "rawValue": "string",
                                "raw": "'string'"
                              },
                              "value": "string"
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 1847
                            }
                          },
                          "consequent": {
                            "type": "CallExpression",
                            "start": 1887,
                            "end": 1908,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 59
                              },
                              "end": {
                                "line": 78,
                                "column": 80
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1887,
                              "end": 1891,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 59
                                },
                                "end": {
                                  "line": 78,
                                  "column": 63
                                },
                                "identifierName": "html"
                              },
                              "name": "html"
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "start": 1893,
                                "end": 1906,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 78
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1893,
                                  "end": 1897,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 65
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 69
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1898,
                                  "end": 1906,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 78
                                    },
                                    "identifierName": "template"
                                  },
                                  "name": "template"
                                },
                                "computed": false
                              }
                            ]
                          },
                          "alternate": {
                            "type": "MemberExpression",
                            "start": 1911,
                            "end": 1924,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 83
                              },
                              "end": {
                                "line": 78,
                                "column": 96
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1911,
                              "end": 1915,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 83
                                },
                                "end": {
                                  "line": 78,
                                  "column": 87
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1916,
                              "end": 1924,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 88
                                },
                                "end": {
                                  "line": 78,
                                  "column": 96
                                },
                                "identifierName": "template"
                              },
                              "name": "template",
                              "leadingComments": null,
                              "trailingComments": null
                            },
                            "computed": false,
                            "trailingComments": null
                          },
                          "trailingComments": null
                        },
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The component view\n     * @type {HTMLElement}\n     * @public\n     ",
                          "start": 1748,
                          "end": 1827,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 4
                            },
                            "end": {
                              "line": 77,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Call the init method before the template is attached to the parent element",
                          "start": 1930,
                          "end": 2007,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 4
                            },
                            "end": {
                              "line": 80,
                              "column": 81
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2012,
                      "end": 2023,
                      "loc": {
                        "start": {
                          "line": 81,
                          "column": 4
                        },
                        "end": {
                          "line": 81,
                          "column": 15
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2012,
                        "end": 2023,
                        "loc": {
                          "start": {
                            "line": 81,
                            "column": 4
                          },
                          "end": {
                            "line": 81,
                            "column": 15
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2012,
                          "end": 2021,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 4
                            },
                            "end": {
                              "line": 81,
                              "column": 13
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2012,
                            "end": 2016,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 4
                              },
                              "end": {
                                "line": 81,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2017,
                            "end": 2021,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 9
                              },
                              "end": {
                                "line": 81,
                                "column": 13
                              },
                              "identifierName": "init"
                            },
                            "name": "init"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Call the init method before the template is attached to the parent element",
                          "start": 1930,
                          "end": 2007,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 4
                            },
                            "end": {
                              "line": 80,
                              "column": 81
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Append element to the dom",
                          "start": 2029,
                          "end": 2057,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 4
                            },
                            "end": {
                              "line": 83,
                              "column": 32
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2062,
                      "end": 2101,
                      "loc": {
                        "start": {
                          "line": 84,
                          "column": 4
                        },
                        "end": {
                          "line": 84,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2062,
                        "end": 2101,
                        "loc": {
                          "start": {
                            "line": 84,
                            "column": 4
                          },
                          "end": {
                            "line": 84,
                            "column": 43
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2062,
                          "end": 2085,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 4
                            },
                            "end": {
                              "line": 84,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2062,
                            "end": 2073,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 4
                              },
                              "end": {
                                "line": 84,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2062,
                              "end": 2066,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 4
                                },
                                "end": {
                                  "line": 84,
                                  "column": 8
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2067,
                              "end": 2073,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 9
                                },
                                "end": {
                                  "line": 84,
                                  "column": 15
                                },
                                "identifierName": "parent"
                              },
                              "name": "parent"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2074,
                            "end": 2085,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 16
                              },
                              "end": {
                                "line": 84,
                                "column": 27
                              },
                              "identifierName": "appendChild"
                            },
                            "name": "appendChild"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2087,
                            "end": 2099,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 29
                              },
                              "end": {
                                "line": 84,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2087,
                              "end": 2091,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 29
                                },
                                "end": {
                                  "line": 84,
                                  "column": 33
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2092,
                              "end": 2099,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 34
                                },
                                "end": {
                                  "line": 84,
                                  "column": 41
                                },
                                "identifierName": "element"
                              },
                              "name": "element"
                            },
                            "computed": false
                          }
                        ],
                        "leadingComments": null,
                        "trailingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Append element to the dom",
                          "start": 2029,
                          "end": 2057,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 4
                            },
                            "end": {
                              "line": 83,
                              "column": 32
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The __stateWatcher is a handler for the router, it gets destroyed when the component gets destroyed\n     * @type {String}\n     * @private\n     ",
                          "start": 2107,
                          "end": 2263,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 4
                            },
                            "end": {
                              "line": 90,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2268,
                      "end": 2364,
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 4
                        },
                        "end": {
                          "line": 93,
                          "column": 7
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2268,
                        "end": 2364,
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 4
                          },
                          "end": {
                            "line": 93,
                            "column": 7
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2268,
                          "end": 2287,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 4
                            },
                            "end": {
                              "line": 91,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2268,
                            "end": 2272,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 4
                              },
                              "end": {
                                "line": 91,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2273,
                            "end": 2287,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 9
                              },
                              "end": {
                                "line": 91,
                                "column": 23
                              },
                              "identifierName": "__stateWatcher"
                            },
                            "name": "__stateWatcher"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 2290,
                          "end": 2364,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 26
                            },
                            "end": {
                              "line": 93,
                              "column": 7
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2290,
                            "end": 2310,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 26
                              },
                              "end": {
                                "line": 91,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2290,
                              "end": 2296,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 26
                                },
                                "end": {
                                  "line": 91,
                                  "column": 32
                                },
                                "identifierName": "Router"
                              },
                              "name": "Router"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2297,
                              "end": 2310,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 33
                                },
                                "end": {
                                  "line": 91,
                                  "column": 46
                                },
                                "identifierName": "onStateChange"
                              },
                              "name": "onStateChange"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 2312,
                              "end": 2362,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 48
                                },
                                "end": {
                                  "line": 93,
                                  "column": 5
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 2314,
                                  "end": 2317,
                                  "loc": {
                                    "start": {
                                      "line": 91,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 91,
                                      "column": 53
                                    },
                                    "identifierName": "url"
                                  },
                                  "name": "url"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 2323,
                                "end": 2362,
                                "loc": {
                                  "start": {
                                    "line": 91,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 93,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 2331,
                                    "end": 2356,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 31
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 2331,
                                      "end": 2356,
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 31
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 2331,
                                        "end": 2349,
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 24
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 2331,
                                          "end": 2335,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 10
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2336,
                                          "end": 2349,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 11
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 24
                                            },
                                            "identifierName": "onStateChange"
                                          },
                                          "name": "onStateChange"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2351,
                                          "end": 2354,
                                          "loc": {
                                            "start": {
                                              "line": 92,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 92,
                                              "column": 29
                                            },
                                            "identifierName": "url"
                                          },
                                          "name": "url"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\n     * The __stateWatcher is a handler for the router, it gets destroyed when the component gets destroyed\n     * @type {String}\n     * @private\n     ",
                          "start": 2107,
                          "end": 2263,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 4
                            },
                            "end": {
                              "line": 90,
                              "column": 7
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * Creates an instance of Component\n   * @param {HTMLElement} parent The parent wrapper\n   * @param {Module} module The parent module instance\n   * @param {Store} store An instance of @crispcode/pushstore, see https://www.npmjs.com/package/@crispcode/pushstore\n   ",
                    "start": 978,
                    "end": 1250,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 2
                      },
                      "end": {
                        "line": 44,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called when the component is destroyed\n   * @private\n   ",
                    "start": 2372,
                    "end": 2455,
                    "loc": {
                      "start": {
                        "line": 96,
                        "column": 2
                      },
                      "end": {
                        "line": 99,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 2458,
                "end": 2620,
                "loc": {
                  "start": {
                    "line": 100,
                    "column": 2
                  },
                  "end": {
                    "line": 107,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 2458,
                  "end": 2467,
                  "loc": {
                    "start": {
                      "line": 100,
                      "column": 2
                    },
                    "end": {
                      "line": 100,
                      "column": 11
                    },
                    "identifierName": "__destroy"
                  },
                  "name": "__destroy",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 2471,
                  "end": 2620,
                  "loc": {
                    "start": {
                      "line": 100,
                      "column": 15
                    },
                    "end": {
                      "line": 107,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2477,
                      "end": 2498,
                      "loc": {
                        "start": {
                          "line": 101,
                          "column": 4
                        },
                        "end": {
                          "line": 101,
                          "column": 25
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2477,
                        "end": 2498,
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 4
                          },
                          "end": {
                            "line": 101,
                            "column": 25
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2477,
                          "end": 2496,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 4
                            },
                            "end": {
                              "line": 101,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2477,
                            "end": 2481,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 4
                              },
                              "end": {
                                "line": 101,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2482,
                            "end": 2496,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 9
                              },
                              "end": {
                                "line": 101,
                                "column": 23
                              },
                              "identifierName": "__stateWatcher"
                            },
                            "name": "__stateWatcher"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2503,
                      "end": 2519,
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 4
                        },
                        "end": {
                          "line": 102,
                          "column": 20
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2503,
                        "end": 2519,
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 4
                          },
                          "end": {
                            "line": 102,
                            "column": 20
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2503,
                          "end": 2517,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 4
                            },
                            "end": {
                              "line": 102,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2503,
                            "end": 2507,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 4
                              },
                              "end": {
                                "line": 102,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2508,
                            "end": 2517,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 9
                              },
                              "end": {
                                "line": 102,
                                "column": 18
                              },
                              "identifierName": "terminate"
                            },
                            "name": "terminate"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "TryStatement",
                      "start": 2524,
                      "end": 2578,
                      "loc": {
                        "start": {
                          "line": 103,
                          "column": 4
                        },
                        "end": {
                          "line": 105,
                          "column": 20
                        }
                      },
                      "block": {
                        "type": "BlockStatement",
                        "start": 2528,
                        "end": 2563,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 8
                          },
                          "end": {
                            "line": 105,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 2536,
                            "end": 2557,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 6
                              },
                              "end": {
                                "line": 104,
                                "column": 27
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 2536,
                              "end": 2557,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 6
                                },
                                "end": {
                                  "line": 104,
                                  "column": 27
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2536,
                                "end": 2555,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 104,
                                    "column": 25
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 2536,
                                  "end": 2548,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 18
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 2536,
                                    "end": 2540,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2541,
                                    "end": 2548,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 104,
                                        "column": 18
                                      },
                                      "identifierName": "element"
                                    },
                                    "name": "element"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2549,
                                  "end": 2555,
                                  "loc": {
                                    "start": {
                                      "line": 104,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 104,
                                      "column": 25
                                    },
                                    "identifierName": "remove"
                                  },
                                  "name": "remove"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "handler": {
                        "type": "CatchClause",
                        "start": 2564,
                        "end": 2578,
                        "loc": {
                          "start": {
                            "line": 105,
                            "column": 6
                          },
                          "end": {
                            "line": 105,
                            "column": 20
                          }
                        },
                        "param": {
                          "type": "Identifier",
                          "start": 2572,
                          "end": 2573,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 14
                            },
                            "end": {
                              "line": 105,
                              "column": 15
                            },
                            "identifierName": "e"
                          },
                          "name": "e"
                        },
                        "body": {
                          "type": "BlockStatement",
                          "start": 2576,
                          "end": 2578,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 18
                            },
                            "end": {
                              "line": 105,
                              "column": 20
                            }
                          },
                          "body": [],
                          "directives": []
                        }
                      },
                      "guardedHandlers": [],
                      "finalizer": null
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2583,
                      "end": 2616,
                      "loc": {
                        "start": {
                          "line": 106,
                          "column": 4
                        },
                        "end": {
                          "line": 106,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "UnaryExpression",
                        "start": 2583,
                        "end": 2616,
                        "loc": {
                          "start": {
                            "line": 106,
                            "column": 4
                          },
                          "end": {
                            "line": 106,
                            "column": 37
                          }
                        },
                        "operator": "delete",
                        "prefix": true,
                        "argument": {
                          "type": "MemberExpression",
                          "start": 2590,
                          "end": 2616,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 11
                            },
                            "end": {
                              "line": 106,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2590,
                            "end": 2601,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 11
                              },
                              "end": {
                                "line": 106,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2590,
                              "end": 2594,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 11
                                },
                                "end": {
                                  "line": 106,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2595,
                              "end": 2601,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 16
                                },
                                "end": {
                                  "line": 106,
                                  "column": 22
                                },
                                "identifierName": "parent"
                              },
                              "name": "parent"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2602,
                            "end": 2616,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 23
                              },
                              "end": {
                                "line": 106,
                                "column": 37
                              },
                              "identifierName": "moduxComponent"
                            },
                            "name": "moduxComponent"
                          },
                          "computed": false
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\n   * The method gets called when the component is destroyed\n   * @private\n   ",
                    "start": 2372,
                    "end": 2455,
                    "loc": {
                      "start": {
                        "line": 96,
                        "column": 2
                      },
                      "end": {
                        "line": 99,
                        "column": 5
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\n * This class is used to create web components\n ",
              "start": 134,
              "end": 188,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 0
                },
                "end": {
                  "line": 9,
                  "column": 3
                }
              }
            }
          ],
          "trailingComments": []
        },
        "leadingComments": [
          {
            "type": "CommentBlock",
            "value": "*\n * This class is used to create web components\n ",
            "start": 134,
            "end": 188,
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 9,
                "column": 3
              }
            }
          }
        ]
      }
    ],
    "directives": [
      {
        "type": "Directive",
        "start": 0,
        "end": 12,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 12
          }
        },
        "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": "CommentBlock",
      "value": "*\n * This class is used to create web components\n ",
      "start": 134,
      "end": 188,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The html string or HTMLElement that becomes the view for this component\n   ",
      "start": 216,
      "end": 302,
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 13,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called whenever the state changes\n   * @param {URL} url The current url\n   ",
      "start": 344,
      "end": 446,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 21,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called before the template is attached. This is useful for modifing the template before the MutationObserver starts tracking it or add dependencies for template elements\n   ",
      "start": 477,
      "end": 677,
      "loc": {
        "start": {
          "line": 24,
          "column": 2
        },
        "end": {
          "line": 26,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called when the component gets created in the page. It is the main method of the class\n   ",
      "start": 694,
      "end": 811,
      "loc": {
        "start": {
          "line": 29,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called when the component calls destroy(). It can be used to remove handlers or clear timeouts\n   ",
      "start": 831,
      "end": 956,
      "loc": {
        "start": {
          "line": 34,
          "column": 2
        },
        "end": {
          "line": 36,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Creates an instance of Component\n   * @param {HTMLElement} parent The parent wrapper\n   * @param {Module} module The parent module instance\n   * @param {Store} store An instance of @crispcode/pushstore, see https://www.npmjs.com/package/@crispcode/pushstore\n   ",
      "start": 978,
      "end": 1250,
      "loc": {
        "start": {
          "line": 39,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * A unique identifier\n     * @type {String}\n     * @public\n     ",
      "start": 1297,
      "end": 1372,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 50,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The parent wrapper\n     * @type {HTMLElement}\n     * @public\n     ",
      "start": 1399,
      "end": 1478,
      "loc": {
        "start": {
          "line": 53,
          "column": 4
        },
        "end": {
          "line": 57,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The parent module instance\n     * @type {Module}\n     * @public\n     ",
      "start": 1509,
      "end": 1591,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 64,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The pushstore instance of the module parent\n     * @type {Store}\n     * @public\n     ",
      "start": 1621,
      "end": 1719,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 70,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The component view\n     * @type {HTMLElement}\n     * @public\n     ",
      "start": 1748,
      "end": 1827,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 77,
          "column": 7
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Call the init method before the template is attached to the parent element",
      "start": 1930,
      "end": 2007,
      "loc": {
        "start": {
          "line": 80,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 81
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Append element to the dom",
      "start": 2029,
      "end": 2057,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 32
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The __stateWatcher is a handler for the router, it gets destroyed when the component gets destroyed\n     * @type {String}\n     * @private\n     ",
      "start": 2107,
      "end": 2263,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 90,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called when the component is destroyed\n   * @private\n   ",
      "start": 2372,
      "end": 2455,
      "loc": {
        "start": {
          "line": 96,
          "column": 2
        },
        "end": {
          "line": 99,
          "column": 5
        }
      }
    }
  ],
  "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": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 14,
      "end": 20,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 21,
      "end": 22,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "html",
      "start": 23,
      "end": 27,
      "loc": {
        "start": {
          "line": 3,
          "column": 9
        },
        "end": {
          "line": 3,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 28,
      "end": 29,
      "loc": {
        "start": {
          "line": 3,
          "column": 14
        },
        "end": {
          "line": 3,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 30,
      "end": 34,
      "loc": {
        "start": {
          "line": 3,
          "column": 16
        },
        "end": {
          "line": 3,
          "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/html.js",
      "start": 35,
      "end": 55,
      "loc": {
        "start": {
          "line": 3,
          "column": 21
        },
        "end": {
          "line": 3,
          "column": 41
        }
      }
    },
    {
      "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": 56,
      "end": 62,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 63,
      "end": 64,
      "loc": {
        "start": {
          "line": 4,
          "column": 7
        },
        "end": {
          "line": 4,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "uid",
      "start": 65,
      "end": 68,
      "loc": {
        "start": {
          "line": 4,
          "column": 9
        },
        "end": {
          "line": 4,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 69,
      "end": 70,
      "loc": {
        "start": {
          "line": 4,
          "column": 13
        },
        "end": {
          "line": 4,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 71,
      "end": 75,
      "loc": {
        "start": {
          "line": 4,
          "column": 15
        },
        "end": {
          "line": 4,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./../utils/uid.js",
      "start": 76,
      "end": 95,
      "loc": {
        "start": {
          "line": 4,
          "column": 20
        },
        "end": {
          "line": 4,
          "column": 39
        }
      }
    },
    {
      "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": 96,
      "end": 102,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 103,
      "end": 104,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Router",
      "start": 105,
      "end": 111,
      "loc": {
        "start": {
          "line": 5,
          "column": 9
        },
        "end": {
          "line": 5,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 112,
      "end": 113,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 114,
      "end": 118,
      "loc": {
        "start": {
          "line": 5,
          "column": 18
        },
        "end": {
          "line": 5,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./router.js",
      "start": 119,
      "end": 132,
      "loc": {
        "start": {
          "line": 5,
          "column": 23
        },
        "end": {
          "line": 5,
          "column": 36
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n * This class is used to create web components\n ",
      "start": 134,
      "end": 188,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 3
        }
      }
    },
    {
      "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": 189,
      "end": 195,
      "loc": {
        "start": {
          "line": 10,
          "column": 0
        },
        "end": {
          "line": 10,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 196,
      "end": 201,
      "loc": {
        "start": {
          "line": 10,
          "column": 7
        },
        "end": {
          "line": 10,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Component",
      "start": 202,
      "end": 211,
      "loc": {
        "start": {
          "line": 10,
          "column": 13
        },
        "end": {
          "line": 10,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 212,
      "end": 213,
      "loc": {
        "start": {
          "line": 10,
          "column": 23
        },
        "end": {
          "line": 10,
          "column": 24
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The html string or HTMLElement that becomes the view for this component\n   ",
      "start": 216,
      "end": 302,
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 13,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "get",
      "start": 305,
      "end": 308,
      "loc": {
        "start": {
          "line": 14,
          "column": 2
        },
        "end": {
          "line": 14,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "template",
      "start": 309,
      "end": 317,
      "loc": {
        "start": {
          "line": 14,
          "column": 6
        },
        "end": {
          "line": 14,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 318,
      "end": 319,
      "loc": {
        "start": {
          "line": 14,
          "column": 15
        },
        "end": {
          "line": 14,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 319,
      "end": 320,
      "loc": {
        "start": {
          "line": 14,
          "column": 16
        },
        "end": {
          "line": 14,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 321,
      "end": 322,
      "loc": {
        "start": {
          "line": 14,
          "column": 18
        },
        "end": {
          "line": 14,
          "column": 19
        }
      }
    },
    {
      "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": 327,
      "end": 333,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 15,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 334,
      "end": 336,
      "loc": {
        "start": {
          "line": 15,
          "column": 11
        },
        "end": {
          "line": 15,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 339,
      "end": 340,
      "loc": {
        "start": {
          "line": 16,
          "column": 2
        },
        "end": {
          "line": 16,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called whenever the state changes\n   * @param {URL} url The current url\n   ",
      "start": 344,
      "end": 446,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 21,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onStateChange",
      "start": 449,
      "end": 462,
      "loc": {
        "start": {
          "line": 22,
          "column": 2
        },
        "end": {
          "line": 22,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 463,
      "end": 464,
      "loc": {
        "start": {
          "line": 22,
          "column": 16
        },
        "end": {
          "line": 22,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 465,
      "end": 468,
      "loc": {
        "start": {
          "line": 22,
          "column": 18
        },
        "end": {
          "line": 22,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 469,
      "end": 470,
      "loc": {
        "start": {
          "line": 22,
          "column": 22
        },
        "end": {
          "line": 22,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 471,
      "end": 472,
      "loc": {
        "start": {
          "line": 22,
          "column": 24
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 472,
      "end": 473,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called before the template is attached. This is useful for modifing the template before the MutationObserver starts tracking it or add dependencies for template elements\n   ",
      "start": 477,
      "end": 677,
      "loc": {
        "start": {
          "line": 24,
          "column": 2
        },
        "end": {
          "line": 26,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "init",
      "start": 680,
      "end": 684,
      "loc": {
        "start": {
          "line": 27,
          "column": 2
        },
        "end": {
          "line": 27,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 685,
      "end": 686,
      "loc": {
        "start": {
          "line": 27,
          "column": 7
        },
        "end": {
          "line": 27,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 686,
      "end": 687,
      "loc": {
        "start": {
          "line": 27,
          "column": 8
        },
        "end": {
          "line": 27,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 688,
      "end": 689,
      "loc": {
        "start": {
          "line": 27,
          "column": 10
        },
        "end": {
          "line": 27,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 689,
      "end": 690,
      "loc": {
        "start": {
          "line": 27,
          "column": 11
        },
        "end": {
          "line": 27,
          "column": 12
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called when the component gets created in the page. It is the main method of the class\n   ",
      "start": 694,
      "end": 811,
      "loc": {
        "start": {
          "line": 29,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "execute",
      "start": 814,
      "end": 821,
      "loc": {
        "start": {
          "line": 32,
          "column": 2
        },
        "end": {
          "line": 32,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 822,
      "end": 823,
      "loc": {
        "start": {
          "line": 32,
          "column": 10
        },
        "end": {
          "line": 32,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 823,
      "end": 824,
      "loc": {
        "start": {
          "line": 32,
          "column": 11
        },
        "end": {
          "line": 32,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 825,
      "end": 826,
      "loc": {
        "start": {
          "line": 32,
          "column": 13
        },
        "end": {
          "line": 32,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 826,
      "end": 827,
      "loc": {
        "start": {
          "line": 32,
          "column": 14
        },
        "end": {
          "line": 32,
          "column": 15
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called when the component calls destroy(). It can be used to remove handlers or clear timeouts\n   ",
      "start": 831,
      "end": 956,
      "loc": {
        "start": {
          "line": 34,
          "column": 2
        },
        "end": {
          "line": 36,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "terminate",
      "start": 959,
      "end": 968,
      "loc": {
        "start": {
          "line": 37,
          "column": 2
        },
        "end": {
          "line": 37,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 969,
      "end": 970,
      "loc": {
        "start": {
          "line": 37,
          "column": 12
        },
        "end": {
          "line": 37,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 970,
      "end": 971,
      "loc": {
        "start": {
          "line": 37,
          "column": 13
        },
        "end": {
          "line": 37,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 972,
      "end": 973,
      "loc": {
        "start": {
          "line": 37,
          "column": 15
        },
        "end": {
          "line": 37,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 973,
      "end": 974,
      "loc": {
        "start": {
          "line": 37,
          "column": 16
        },
        "end": {
          "line": 37,
          "column": 17
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * Creates an instance of Component\n   * @param {HTMLElement} parent The parent wrapper\n   * @param {Module} module The parent module instance\n   * @param {Store} store An instance of @crispcode/pushstore, see https://www.npmjs.com/package/@crispcode/pushstore\n   ",
      "start": 978,
      "end": 1250,
      "loc": {
        "start": {
          "line": 39,
          "column": 2
        },
        "end": {
          "line": 44,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 1253,
      "end": 1264,
      "loc": {
        "start": {
          "line": 45,
          "column": 2
        },
        "end": {
          "line": 45,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1265,
      "end": 1266,
      "loc": {
        "start": {
          "line": 45,
          "column": 14
        },
        "end": {
          "line": 45,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 1267,
      "end": 1273,
      "loc": {
        "start": {
          "line": 45,
          "column": 16
        },
        "end": {
          "line": 45,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1273,
      "end": 1274,
      "loc": {
        "start": {
          "line": 45,
          "column": 22
        },
        "end": {
          "line": 45,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1275,
      "end": 1281,
      "loc": {
        "start": {
          "line": 45,
          "column": 24
        },
        "end": {
          "line": 45,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1281,
      "end": 1282,
      "loc": {
        "start": {
          "line": 45,
          "column": 30
        },
        "end": {
          "line": 45,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "store",
      "start": 1283,
      "end": 1288,
      "loc": {
        "start": {
          "line": 45,
          "column": 32
        },
        "end": {
          "line": 45,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1289,
      "end": 1290,
      "loc": {
        "start": {
          "line": 45,
          "column": 38
        },
        "end": {
          "line": 45,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1291,
      "end": 1292,
      "loc": {
        "start": {
          "line": 45,
          "column": 40
        },
        "end": {
          "line": 45,
          "column": 41
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * A unique identifier\n     * @type {String}\n     * @public\n     ",
      "start": 1297,
      "end": 1372,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 50,
          "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": 1377,
      "end": 1381,
      "loc": {
        "start": {
          "line": 51,
          "column": 4
        },
        "end": {
          "line": 51,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1381,
      "end": 1382,
      "loc": {
        "start": {
          "line": 51,
          "column": 8
        },
        "end": {
          "line": 51,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "uid",
      "start": 1382,
      "end": 1385,
      "loc": {
        "start": {
          "line": 51,
          "column": 9
        },
        "end": {
          "line": 51,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1386,
      "end": 1387,
      "loc": {
        "start": {
          "line": 51,
          "column": 13
        },
        "end": {
          "line": 51,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "uid",
      "start": 1388,
      "end": 1391,
      "loc": {
        "start": {
          "line": 51,
          "column": 15
        },
        "end": {
          "line": 51,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1391,
      "end": 1392,
      "loc": {
        "start": {
          "line": 51,
          "column": 18
        },
        "end": {
          "line": 51,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1392,
      "end": 1393,
      "loc": {
        "start": {
          "line": 51,
          "column": 19
        },
        "end": {
          "line": 51,
          "column": 20
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The parent wrapper\n     * @type {HTMLElement}\n     * @public\n     ",
      "start": 1399,
      "end": 1478,
      "loc": {
        "start": {
          "line": 53,
          "column": 4
        },
        "end": {
          "line": 57,
          "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": 1483,
      "end": 1487,
      "loc": {
        "start": {
          "line": 58,
          "column": 4
        },
        "end": {
          "line": 58,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1487,
      "end": 1488,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 1488,
      "end": 1494,
      "loc": {
        "start": {
          "line": 58,
          "column": 9
        },
        "end": {
          "line": 58,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1495,
      "end": 1496,
      "loc": {
        "start": {
          "line": 58,
          "column": 16
        },
        "end": {
          "line": 58,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 1497,
      "end": 1503,
      "loc": {
        "start": {
          "line": 58,
          "column": 18
        },
        "end": {
          "line": 58,
          "column": 24
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The parent module instance\n     * @type {Module}\n     * @public\n     ",
      "start": 1509,
      "end": 1591,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 64,
          "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": 1596,
      "end": 1600,
      "loc": {
        "start": {
          "line": 65,
          "column": 4
        },
        "end": {
          "line": 65,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1600,
      "end": 1601,
      "loc": {
        "start": {
          "line": 65,
          "column": 8
        },
        "end": {
          "line": 65,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1601,
      "end": 1607,
      "loc": {
        "start": {
          "line": 65,
          "column": 9
        },
        "end": {
          "line": 65,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1608,
      "end": 1609,
      "loc": {
        "start": {
          "line": 65,
          "column": 16
        },
        "end": {
          "line": 65,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 1610,
      "end": 1616,
      "loc": {
        "start": {
          "line": 65,
          "column": 18
        },
        "end": {
          "line": 65,
          "column": 24
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The pushstore instance of the module parent\n     * @type {Store}\n     * @public\n     ",
      "start": 1621,
      "end": 1719,
      "loc": {
        "start": {
          "line": 66,
          "column": 4
        },
        "end": {
          "line": 70,
          "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": 1724,
      "end": 1728,
      "loc": {
        "start": {
          "line": 71,
          "column": 4
        },
        "end": {
          "line": 71,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1728,
      "end": 1729,
      "loc": {
        "start": {
          "line": 71,
          "column": 8
        },
        "end": {
          "line": 71,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "store",
      "start": 1729,
      "end": 1734,
      "loc": {
        "start": {
          "line": 71,
          "column": 9
        },
        "end": {
          "line": 71,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1735,
      "end": 1736,
      "loc": {
        "start": {
          "line": 71,
          "column": 15
        },
        "end": {
          "line": 71,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "store",
      "start": 1737,
      "end": 1742,
      "loc": {
        "start": {
          "line": 71,
          "column": 17
        },
        "end": {
          "line": 71,
          "column": 22
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The component view\n     * @type {HTMLElement}\n     * @public\n     ",
      "start": 1748,
      "end": 1827,
      "loc": {
        "start": {
          "line": 73,
          "column": 4
        },
        "end": {
          "line": 77,
          "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": 1832,
      "end": 1836,
      "loc": {
        "start": {
          "line": 78,
          "column": 4
        },
        "end": {
          "line": 78,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1836,
      "end": 1837,
      "loc": {
        "start": {
          "line": 78,
          "column": 8
        },
        "end": {
          "line": 78,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "element",
      "start": 1837,
      "end": 1844,
      "loc": {
        "start": {
          "line": 78,
          "column": 9
        },
        "end": {
          "line": 78,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1845,
      "end": 1846,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1847,
      "end": 1848,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 1849,
      "end": 1855,
      "loc": {
        "start": {
          "line": 78,
          "column": 21
        },
        "end": {
          "line": 78,
          "column": 27
        }
      }
    },
    {
      "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": 1856,
      "end": 1860,
      "loc": {
        "start": {
          "line": 78,
          "column": 28
        },
        "end": {
          "line": 78,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1860,
      "end": 1861,
      "loc": {
        "start": {
          "line": 78,
          "column": 32
        },
        "end": {
          "line": 78,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "template",
      "start": 1861,
      "end": 1869,
      "loc": {
        "start": {
          "line": 78,
          "column": 33
        },
        "end": {
          "line": 78,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1870,
      "end": 1873,
      "loc": {
        "start": {
          "line": 78,
          "column": 42
        },
        "end": {
          "line": 78,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "string",
      "start": 1874,
      "end": 1882,
      "loc": {
        "start": {
          "line": 78,
          "column": 46
        },
        "end": {
          "line": 78,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1883,
      "end": 1884,
      "loc": {
        "start": {
          "line": 78,
          "column": 55
        },
        "end": {
          "line": 78,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1885,
      "end": 1886,
      "loc": {
        "start": {
          "line": 78,
          "column": 57
        },
        "end": {
          "line": 78,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "html",
      "start": 1887,
      "end": 1891,
      "loc": {
        "start": {
          "line": 78,
          "column": 59
        },
        "end": {
          "line": 78,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1891,
      "end": 1892,
      "loc": {
        "start": {
          "line": 78,
          "column": 63
        },
        "end": {
          "line": 78,
          "column": 64
        }
      }
    },
    {
      "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": 1893,
      "end": 1897,
      "loc": {
        "start": {
          "line": 78,
          "column": 65
        },
        "end": {
          "line": 78,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1897,
      "end": 1898,
      "loc": {
        "start": {
          "line": 78,
          "column": 69
        },
        "end": {
          "line": 78,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "template",
      "start": 1898,
      "end": 1906,
      "loc": {
        "start": {
          "line": 78,
          "column": 70
        },
        "end": {
          "line": 78,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1907,
      "end": 1908,
      "loc": {
        "start": {
          "line": 78,
          "column": 79
        },
        "end": {
          "line": 78,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1909,
      "end": 1910,
      "loc": {
        "start": {
          "line": 78,
          "column": 81
        },
        "end": {
          "line": 78,
          "column": 82
        }
      }
    },
    {
      "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": 1911,
      "end": 1915,
      "loc": {
        "start": {
          "line": 78,
          "column": 83
        },
        "end": {
          "line": 78,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1915,
      "end": 1916,
      "loc": {
        "start": {
          "line": 78,
          "column": 87
        },
        "end": {
          "line": 78,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "template",
      "start": 1916,
      "end": 1924,
      "loc": {
        "start": {
          "line": 78,
          "column": 88
        },
        "end": {
          "line": 78,
          "column": 96
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Call the init method before the template is attached to the parent element",
      "start": 1930,
      "end": 2007,
      "loc": {
        "start": {
          "line": 80,
          "column": 4
        },
        "end": {
          "line": 80,
          "column": 81
        }
      }
    },
    {
      "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": 2012,
      "end": 2016,
      "loc": {
        "start": {
          "line": 81,
          "column": 4
        },
        "end": {
          "line": 81,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2016,
      "end": 2017,
      "loc": {
        "start": {
          "line": 81,
          "column": 8
        },
        "end": {
          "line": 81,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "init",
      "start": 2017,
      "end": 2021,
      "loc": {
        "start": {
          "line": 81,
          "column": 9
        },
        "end": {
          "line": 81,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2021,
      "end": 2022,
      "loc": {
        "start": {
          "line": 81,
          "column": 13
        },
        "end": {
          "line": 81,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2022,
      "end": 2023,
      "loc": {
        "start": {
          "line": 81,
          "column": 14
        },
        "end": {
          "line": 81,
          "column": 15
        }
      }
    },
    {
      "type": "CommentLine",
      "value": " Append element to the dom",
      "start": 2029,
      "end": 2057,
      "loc": {
        "start": {
          "line": 83,
          "column": 4
        },
        "end": {
          "line": 83,
          "column": 32
        }
      }
    },
    {
      "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": 2062,
      "end": 2066,
      "loc": {
        "start": {
          "line": 84,
          "column": 4
        },
        "end": {
          "line": 84,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2066,
      "end": 2067,
      "loc": {
        "start": {
          "line": 84,
          "column": 8
        },
        "end": {
          "line": 84,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 2067,
      "end": 2073,
      "loc": {
        "start": {
          "line": 84,
          "column": 9
        },
        "end": {
          "line": 84,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2073,
      "end": 2074,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "appendChild",
      "start": 2074,
      "end": 2085,
      "loc": {
        "start": {
          "line": 84,
          "column": 16
        },
        "end": {
          "line": 84,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2085,
      "end": 2086,
      "loc": {
        "start": {
          "line": 84,
          "column": 27
        },
        "end": {
          "line": 84,
          "column": 28
        }
      }
    },
    {
      "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": 2087,
      "end": 2091,
      "loc": {
        "start": {
          "line": 84,
          "column": 29
        },
        "end": {
          "line": 84,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2091,
      "end": 2092,
      "loc": {
        "start": {
          "line": 84,
          "column": 33
        },
        "end": {
          "line": 84,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "element",
      "start": 2092,
      "end": 2099,
      "loc": {
        "start": {
          "line": 84,
          "column": 34
        },
        "end": {
          "line": 84,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2100,
      "end": 2101,
      "loc": {
        "start": {
          "line": 84,
          "column": 42
        },
        "end": {
          "line": 84,
          "column": 43
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n     * The __stateWatcher is a handler for the router, it gets destroyed when the component gets destroyed\n     * @type {String}\n     * @private\n     ",
      "start": 2107,
      "end": 2263,
      "loc": {
        "start": {
          "line": 86,
          "column": 4
        },
        "end": {
          "line": 90,
          "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": 2268,
      "end": 2272,
      "loc": {
        "start": {
          "line": 91,
          "column": 4
        },
        "end": {
          "line": 91,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2272,
      "end": 2273,
      "loc": {
        "start": {
          "line": 91,
          "column": 8
        },
        "end": {
          "line": 91,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__stateWatcher",
      "start": 2273,
      "end": 2287,
      "loc": {
        "start": {
          "line": 91,
          "column": 9
        },
        "end": {
          "line": 91,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 2288,
      "end": 2289,
      "loc": {
        "start": {
          "line": 91,
          "column": 24
        },
        "end": {
          "line": 91,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Router",
      "start": 2290,
      "end": 2296,
      "loc": {
        "start": {
          "line": 91,
          "column": 26
        },
        "end": {
          "line": 91,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2296,
      "end": 2297,
      "loc": {
        "start": {
          "line": 91,
          "column": 32
        },
        "end": {
          "line": 91,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onStateChange",
      "start": 2297,
      "end": 2310,
      "loc": {
        "start": {
          "line": 91,
          "column": 33
        },
        "end": {
          "line": 91,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2310,
      "end": 2311,
      "loc": {
        "start": {
          "line": 91,
          "column": 46
        },
        "end": {
          "line": 91,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2312,
      "end": 2313,
      "loc": {
        "start": {
          "line": 91,
          "column": 48
        },
        "end": {
          "line": 91,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 2314,
      "end": 2317,
      "loc": {
        "start": {
          "line": 91,
          "column": 50
        },
        "end": {
          "line": 91,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2318,
      "end": 2319,
      "loc": {
        "start": {
          "line": 91,
          "column": 54
        },
        "end": {
          "line": 91,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2320,
      "end": 2322,
      "loc": {
        "start": {
          "line": 91,
          "column": 56
        },
        "end": {
          "line": 91,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2323,
      "end": 2324,
      "loc": {
        "start": {
          "line": 91,
          "column": 59
        },
        "end": {
          "line": 91,
          "column": 60
        }
      }
    },
    {
      "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": 2331,
      "end": 2335,
      "loc": {
        "start": {
          "line": 92,
          "column": 6
        },
        "end": {
          "line": 92,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2335,
      "end": 2336,
      "loc": {
        "start": {
          "line": 92,
          "column": 10
        },
        "end": {
          "line": 92,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onStateChange",
      "start": 2336,
      "end": 2349,
      "loc": {
        "start": {
          "line": 92,
          "column": 11
        },
        "end": {
          "line": 92,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2349,
      "end": 2350,
      "loc": {
        "start": {
          "line": 92,
          "column": 24
        },
        "end": {
          "line": 92,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "url",
      "start": 2351,
      "end": 2354,
      "loc": {
        "start": {
          "line": 92,
          "column": 26
        },
        "end": {
          "line": 92,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2355,
      "end": 2356,
      "loc": {
        "start": {
          "line": 92,
          "column": 30
        },
        "end": {
          "line": 92,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2361,
      "end": 2362,
      "loc": {
        "start": {
          "line": 93,
          "column": 4
        },
        "end": {
          "line": 93,
          "column": 5
        }
      }
    },
    {
      "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": 93,
          "column": 6
        },
        "end": {
          "line": 93,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2367,
      "end": 2368,
      "loc": {
        "start": {
          "line": 94,
          "column": 2
        },
        "end": {
          "line": 94,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\n   * The method gets called when the component is destroyed\n   * @private\n   ",
      "start": 2372,
      "end": 2455,
      "loc": {
        "start": {
          "line": 96,
          "column": 2
        },
        "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": "__destroy",
      "start": 2458,
      "end": 2467,
      "loc": {
        "start": {
          "line": 100,
          "column": 2
        },
        "end": {
          "line": 100,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2468,
      "end": 2469,
      "loc": {
        "start": {
          "line": 100,
          "column": 12
        },
        "end": {
          "line": 100,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2469,
      "end": 2470,
      "loc": {
        "start": {
          "line": 100,
          "column": 13
        },
        "end": {
          "line": 100,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2471,
      "end": 2472,
      "loc": {
        "start": {
          "line": 100,
          "column": 15
        },
        "end": {
          "line": 100,
          "column": 16
        }
      }
    },
    {
      "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": 2477,
      "end": 2481,
      "loc": {
        "start": {
          "line": 101,
          "column": 4
        },
        "end": {
          "line": 101,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2481,
      "end": 2482,
      "loc": {
        "start": {
          "line": 101,
          "column": 8
        },
        "end": {
          "line": 101,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "__stateWatcher",
      "start": 2482,
      "end": 2496,
      "loc": {
        "start": {
          "line": 101,
          "column": 9
        },
        "end": {
          "line": 101,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2496,
      "end": 2497,
      "loc": {
        "start": {
          "line": 101,
          "column": 23
        },
        "end": {
          "line": 101,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2497,
      "end": 2498,
      "loc": {
        "start": {
          "line": 101,
          "column": 24
        },
        "end": {
          "line": 101,
          "column": 25
        }
      }
    },
    {
      "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": 2503,
      "end": 2507,
      "loc": {
        "start": {
          "line": 102,
          "column": 4
        },
        "end": {
          "line": 102,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2507,
      "end": 2508,
      "loc": {
        "start": {
          "line": 102,
          "column": 8
        },
        "end": {
          "line": 102,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "terminate",
      "start": 2508,
      "end": 2517,
      "loc": {
        "start": {
          "line": 102,
          "column": 9
        },
        "end": {
          "line": 102,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2517,
      "end": 2518,
      "loc": {
        "start": {
          "line": 102,
          "column": 18
        },
        "end": {
          "line": 102,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2518,
      "end": 2519,
      "loc": {
        "start": {
          "line": 102,
          "column": 19
        },
        "end": {
          "line": 102,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "try",
        "keyword": "try",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "try",
      "start": 2524,
      "end": 2527,
      "loc": {
        "start": {
          "line": 103,
          "column": 4
        },
        "end": {
          "line": 103,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2528,
      "end": 2529,
      "loc": {
        "start": {
          "line": 103,
          "column": 8
        },
        "end": {
          "line": 103,
          "column": 9
        }
      }
    },
    {
      "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": 2536,
      "end": 2540,
      "loc": {
        "start": {
          "line": 104,
          "column": 6
        },
        "end": {
          "line": 104,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2540,
      "end": 2541,
      "loc": {
        "start": {
          "line": 104,
          "column": 10
        },
        "end": {
          "line": 104,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "element",
      "start": 2541,
      "end": 2548,
      "loc": {
        "start": {
          "line": 104,
          "column": 11
        },
        "end": {
          "line": 104,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2548,
      "end": 2549,
      "loc": {
        "start": {
          "line": 104,
          "column": 18
        },
        "end": {
          "line": 104,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "remove",
      "start": 2549,
      "end": 2555,
      "loc": {
        "start": {
          "line": 104,
          "column": 19
        },
        "end": {
          "line": 104,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2555,
      "end": 2556,
      "loc": {
        "start": {
          "line": 104,
          "column": 25
        },
        "end": {
          "line": 104,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2556,
      "end": 2557,
      "loc": {
        "start": {
          "line": 104,
          "column": 26
        },
        "end": {
          "line": 104,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2562,
      "end": 2563,
      "loc": {
        "start": {
          "line": 105,
          "column": 4
        },
        "end": {
          "line": 105,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "catch",
        "keyword": "catch",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "catch",
      "start": 2564,
      "end": 2569,
      "loc": {
        "start": {
          "line": 105,
          "column": 6
        },
        "end": {
          "line": 105,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2570,
      "end": 2571,
      "loc": {
        "start": {
          "line": 105,
          "column": 12
        },
        "end": {
          "line": 105,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "e",
      "start": 2572,
      "end": 2573,
      "loc": {
        "start": {
          "line": 105,
          "column": 14
        },
        "end": {
          "line": 105,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2574,
      "end": 2575,
      "loc": {
        "start": {
          "line": 105,
          "column": 16
        },
        "end": {
          "line": 105,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2576,
      "end": 2577,
      "loc": {
        "start": {
          "line": 105,
          "column": 18
        },
        "end": {
          "line": 105,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2577,
      "end": 2578,
      "loc": {
        "start": {
          "line": 105,
          "column": 19
        },
        "end": {
          "line": 105,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "delete",
        "keyword": "delete",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "delete",
      "start": 2583,
      "end": 2589,
      "loc": {
        "start": {
          "line": 106,
          "column": 4
        },
        "end": {
          "line": 106,
          "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": 2590,
      "end": 2594,
      "loc": {
        "start": {
          "line": 106,
          "column": 11
        },
        "end": {
          "line": 106,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2594,
      "end": 2595,
      "loc": {
        "start": {
          "line": 106,
          "column": 15
        },
        "end": {
          "line": 106,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parent",
      "start": 2595,
      "end": 2601,
      "loc": {
        "start": {
          "line": 106,
          "column": 16
        },
        "end": {
          "line": 106,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2601,
      "end": 2602,
      "loc": {
        "start": {
          "line": 106,
          "column": 22
        },
        "end": {
          "line": 106,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moduxComponent",
      "start": 2602,
      "end": 2616,
      "loc": {
        "start": {
          "line": 106,
          "column": 23
        },
        "end": {
          "line": 106,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2619,
      "end": 2620,
      "loc": {
        "start": {
          "line": 107,
          "column": 2
        },
        "end": {
          "line": 107,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2621,
      "end": 2622,
      "loc": {
        "start": {
          "line": 108,
          "column": 0
        },
        "end": {
          "line": 108,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2623,
      "end": 2623,
      "loc": {
        "start": {
          "line": 109,
          "column": 0
        },
        "end": {
          "line": 109,
          "column": 0
        }
      }
    }
  ]
}