{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "root",
            "range": [
              8,
              12
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 12
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "root",
            "range": [
              8,
              12
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 12
              }
            }
          },
          "range": [
            8,
            12
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 12
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./root",
        "raw": "'./root'",
        "range": [
          19,
          27
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 19
          },
          "end": {
            "line": 1,
            "column": 27
          }
        }
      },
      "range": [
        0,
        28
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 28
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * DOM event utilities\n ",
          "range": [
            30,
            60
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 3
            }
          }
        },
        {
          "type": "Block",
          "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            62,
            349
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 15,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "addEvt",
              "range": [
                363,
                369
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 13
                },
                "end": {
                  "line": 16,
                  "column": 19
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "obj",
                  "range": [
                    373,
                    376
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 23
                    },
                    "end": {
                      "line": 16,
                      "column": 26
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "type",
                  "range": [
                    378,
                    382
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 28
                    },
                    "end": {
                      "line": 16,
                      "column": 32
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "func",
                  "range": [
                    384,
                    388
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 34
                    },
                    "end": {
                      "line": 16,
                      "column": 38
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "capture",
                  "range": [
                    390,
                    397
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 40
                    },
                    "end": {
                      "line": 16,
                      "column": 47
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "obj",
                        "range": [
                          412,
                          415
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 8
                          },
                          "end": {
                            "line": 17,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "addEventListener",
                        "range": [
                          416,
                          432
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 12
                          },
                          "end": {
                            "line": 17,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        412,
                        432
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 8
                        },
                        "end": {
                          "line": 17,
                          "column": 28
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "obj",
                                "range": [
                                  444,
                                  447
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "addEventListener",
                                "range": [
                                  448,
                                  464
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                444,
                                464
                              ],
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 8
                                },
                                "end": {
                                  "line": 18,
                                  "column": 28
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "name": "type",
                                "range": [
                                  465,
                                  469
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 33
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  471,
                                  475
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 39
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "capture",
                                "range": [
                                  477,
                                  484
                                ],
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 48
                                  }
                                }
                              }
                            ],
                            "range": [
                              444,
                              485
                            ],
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 8
                              },
                              "end": {
                                "line": 18,
                                "column": 49
                              }
                            }
                          },
                          "range": [
                            444,
                            486
                          ],
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 8
                            },
                            "end": {
                              "line": 18,
                              "column": 50
                            }
                          }
                        }
                      ],
                      "range": [
                        434,
                        492
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 30
                        },
                        "end": {
                          "line": 19,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "obj",
                          "range": [
                            506,
                            509
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 13
                            },
                            "end": {
                              "line": 20,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "attachEvent",
                          "range": [
                            510,
                            521
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 17
                            },
                            "end": {
                              "line": 20,
                              "column": 28
                            }
                          }
                        },
                        "range": [
                          506,
                          521
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 13
                          },
                          "end": {
                            "line": 20,
                            "column": 28
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    533,
                                    536
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "attachEvent",
                                  "range": [
                                    537,
                                    548
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  533,
                                  548
                                ],
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 23
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      549,
                                      553
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 24
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 28
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      556,
                                      560
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "range": [
                                    549,
                                    560
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 35
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "func",
                                  "range": [
                                    562,
                                    566
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 41
                                    }
                                  }
                                }
                              ],
                              "range": [
                                533,
                                567
                              ],
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 8
                                },
                                "end": {
                                  "line": 21,
                                  "column": 42
                                }
                              }
                            },
                            "range": [
                              533,
                              568
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 8
                              },
                              "end": {
                                "line": 21,
                                "column": 43
                              }
                            }
                          }
                        ],
                        "range": [
                          523,
                          574
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 30
                          },
                          "end": {
                            "line": 22,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    590,
                                    593
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      594,
                                      598
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      601,
                                      605
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    594,
                                    605
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  590,
                                  606
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 24
                                  }
                                }
                              },
                              "right": {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  609,
                                  613
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                590,
                                613
                              ],
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 8
                                },
                                "end": {
                                  "line": 23,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              590,
                              614
                            ],
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 32
                              }
                            }
                          }
                        ],
                        "range": [
                          580,
                          620
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 11
                          },
                          "end": {
                            "line": 24,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        502,
                        620
                      ],
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 9
                        },
                        "end": {
                          "line": 24,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      408,
                      620
                    ],
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 4
                      },
                      "end": {
                        "line": 24,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  402,
                  622
                ],
                "loc": {
                  "start": {
                    "line": 16,
                    "column": 52
                  },
                  "end": {
                    "line": 25,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                372,
                622
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 22
                },
                "end": {
                  "line": 25,
                  "column": 1
                }
              }
            },
            "range": [
              363,
              622
            ],
            "loc": {
              "start": {
                "line": 16,
                "column": 13
              },
              "end": {
                "line": 25,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          357,
          623
        ],
        "loc": {
          "start": {
            "line": 16,
            "column": 7
          },
          "end": {
            "line": 25,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * DOM event utilities\n ",
            "range": [
              30,
              60
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 3
              }
            }
          },
          {
            "type": "Block",
            "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
            "range": [
              62,
              349
            ],
            "loc": {
              "start": {
                "line": 7,
                "column": 0
              },
              "end": {
                "line": 15,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
            "range": [
              625,
              915
            ],
            "loc": {
              "start": {
                "line": 27,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        350,
        623
      ],
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 25,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * DOM event utilities\n ",
          "range": [
            30,
            60
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 3
            }
          }
        },
        {
          "type": "Block",
          "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            62,
            349
          ],
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 15,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            625,
            915
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "removeEvt",
              "range": [
                929,
                938
              ],
              "loc": {
                "start": {
                  "line": 36,
                  "column": 13
                },
                "end": {
                  "line": 36,
                  "column": 22
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "obj",
                  "range": [
                    942,
                    945
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 26
                    },
                    "end": {
                      "line": 36,
                      "column": 29
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "type",
                  "range": [
                    947,
                    951
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 31
                    },
                    "end": {
                      "line": 36,
                      "column": 35
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "func",
                  "range": [
                    953,
                    957
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 37
                    },
                    "end": {
                      "line": 36,
                      "column": 41
                    }
                  }
                },
                {
                  "type": "Identifier",
                  "name": "capture",
                  "range": [
                    959,
                    966
                  ],
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 43
                    },
                    "end": {
                      "line": 36,
                      "column": 50
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "obj",
                        "range": [
                          981,
                          984
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 8
                          },
                          "end": {
                            "line": 37,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "detachEvent",
                        "range": [
                          985,
                          996
                        ],
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 12
                          },
                          "end": {
                            "line": 37,
                            "column": 23
                          }
                        }
                      },
                      "range": [
                        981,
                        996
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 23
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "obj",
                                "range": [
                                  1008,
                                  1011
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "detachEvent",
                                "range": [
                                  1012,
                                  1023
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 23
                                  }
                                }
                              },
                              "range": [
                                1008,
                                1023
                              ],
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 8
                                },
                                "end": {
                                  "line": 38,
                                  "column": 23
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "BinaryExpression",
                                "operator": "+",
                                "left": {
                                  "type": "Literal",
                                  "value": "on",
                                  "raw": "'on'",
                                  "range": [
                                    1024,
                                    1028
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 28
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    1031,
                                    1035
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 38,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 38,
                                      "column": 35
                                    }
                                  }
                                },
                                "range": [
                                  1024,
                                  1035
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 35
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "func",
                                "range": [
                                  1037,
                                  1041
                                ],
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 41
                                  }
                                }
                              }
                            ],
                            "range": [
                              1008,
                              1042
                            ],
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 8
                              },
                              "end": {
                                "line": 38,
                                "column": 42
                              }
                            }
                          },
                          "range": [
                            1008,
                            1043
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 8
                            },
                            "end": {
                              "line": 38,
                              "column": 43
                            }
                          }
                        }
                      ],
                      "range": [
                        998,
                        1049
                      ],
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 25
                        },
                        "end": {
                          "line": 39,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "obj",
                          "range": [
                            1063,
                            1066
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 13
                            },
                            "end": {
                              "line": 40,
                              "column": 16
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "removeEventListener",
                          "range": [
                            1067,
                            1086
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 17
                            },
                            "end": {
                              "line": 40,
                              "column": 36
                            }
                          }
                        },
                        "range": [
                          1063,
                          1086
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 13
                          },
                          "end": {
                            "line": 40,
                            "column": 36
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    1098,
                                    1101
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "removeEventListener",
                                  "range": [
                                    1102,
                                    1121
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 31
                                    }
                                  }
                                },
                                "range": [
                                  1098,
                                  1121
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 31
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "name": "type",
                                  "range": [
                                    1122,
                                    1126
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 36
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "func",
                                  "range": [
                                    1128,
                                    1132
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 42
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "capture",
                                  "range": [
                                    1134,
                                    1141
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 51
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1098,
                                1142
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 8
                                },
                                "end": {
                                  "line": 41,
                                  "column": 52
                                }
                              }
                            },
                            "range": [
                              1098,
                              1143
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 53
                              }
                            }
                          }
                        ],
                        "range": [
                          1088,
                          1149
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 38
                          },
                          "end": {
                            "line": 42,
                            "column": 5
                          }
                        }
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": true,
                                "object": {
                                  "type": "Identifier",
                                  "name": "obj",
                                  "range": [
                                    1165,
                                    1168
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 11
                                    }
                                  }
                                },
                                "property": {
                                  "type": "BinaryExpression",
                                  "operator": "+",
                                  "left": {
                                    "type": "Literal",
                                    "value": "on",
                                    "raw": "'on'",
                                    "range": [
                                      1169,
                                      1173
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 16
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "type",
                                    "range": [
                                      1176,
                                      1180
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    1169,
                                    1180
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 23
                                    }
                                  }
                                },
                                "range": [
                                  1165,
                                  1181
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 24
                                  }
                                }
                              },
                              "right": {
                                "type": "Literal",
                                "value": null,
                                "raw": "null",
                                "range": [
                                  1184,
                                  1188
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 31
                                  }
                                }
                              },
                              "range": [
                                1165,
                                1188
                              ],
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 8
                                },
                                "end": {
                                  "line": 43,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1165,
                              1189
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 32
                              }
                            }
                          }
                        ],
                        "range": [
                          1155,
                          1195
                        ],
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 11
                          },
                          "end": {
                            "line": 44,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1059,
                        1195
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 9
                        },
                        "end": {
                          "line": 44,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      977,
                      1195
                    ],
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 4
                      },
                      "end": {
                        "line": 44,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  971,
                  1197
                ],
                "loc": {
                  "start": {
                    "line": 36,
                    "column": 55
                  },
                  "end": {
                    "line": 45,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                941,
                1197
              ],
              "loc": {
                "start": {
                  "line": 36,
                  "column": 25
                },
                "end": {
                  "line": 45,
                  "column": 1
                }
              }
            },
            "range": [
              929,
              1197
            ],
            "loc": {
              "start": {
                "line": 36,
                "column": 13
              },
              "end": {
                "line": 45,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          923,
          1198
        ],
        "loc": {
          "start": {
            "line": 36,
            "column": 7
          },
          "end": {
            "line": 45,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
            "range": [
              625,
              915
            ],
            "loc": {
              "start": {
                "line": 27,
                "column": 0
              },
              "end": {
                "line": 35,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1200,
              1324
            ],
            "loc": {
              "start": {
                "line": 47,
                "column": 0
              },
              "end": {
                "line": 51,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        916,
        1198
      ],
      "loc": {
        "start": {
          "line": 36,
          "column": 0
        },
        "end": {
          "line": 45,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
          "range": [
            625,
            915
          ],
          "loc": {
            "start": {
              "line": 27,
              "column": 0
            },
            "end": {
              "line": 35,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1200,
            1324
          ],
          "loc": {
            "start": {
              "line": 47,
              "column": 0
            },
            "end": {
              "line": 51,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "stopEvt",
              "range": [
                1338,
                1345
              ],
              "loc": {
                "start": {
                  "line": 52,
                  "column": 13
                },
                "end": {
                  "line": 52,
                  "column": 20
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    1348,
                    1351
                  ],
                  "loc": {
                    "start": {
                      "line": 52,
                      "column": 23
                    },
                    "end": {
                      "line": 52,
                      "column": 26
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1365,
                          1368
                        ],
                        "loc": {
                          "start": {
                            "line": 53,
                            "column": 9
                          },
                          "end": {
                            "line": 53,
                            "column": 12
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        1364,
                        1368
                      ],
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 12
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                1380,
                                1383
                              ],
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 11
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "root",
                                "range": [
                                  1386,
                                  1390
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  1391,
                                  1396
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1386,
                                1396
                              ],
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 14
                                },
                                "end": {
                                  "line": 54,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              1380,
                              1396
                            ],
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            1380,
                            1397
                          ],
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 25
                            }
                          }
                        }
                      ],
                      "range": [
                        1370,
                        1403
                      ],
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 14
                        },
                        "end": {
                          "line": 55,
                          "column": 5
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      1360,
                      1403
                    ],
                    "loc": {
                      "start": {
                        "line": 53,
                        "column": 4
                      },
                      "end": {
                        "line": 55,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1412,
                          1415
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 8
                          },
                          "end": {
                            "line": 56,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "stopPropagation",
                        "range": [
                          1416,
                          1431
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 12
                          },
                          "end": {
                            "line": 56,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        1412,
                        1431
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 8
                        },
                        "end": {
                          "line": 56,
                          "column": 27
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1443,
                                  1446
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "stopPropagation",
                                "range": [
                                  1447,
                                  1462
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1443,
                                1462
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 8
                                },
                                "end": {
                                  "line": 57,
                                  "column": 27
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              1443,
                              1464
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1443,
                            1465
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 30
                            }
                          }
                        }
                      ],
                      "range": [
                        1433,
                        1471
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 29
                        },
                        "end": {
                          "line": 58,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1487,
                                  1490
                                ],
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "cancelBubble",
                                "range": [
                                  1491,
                                  1503
                                ],
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1487,
                                1503
                              ],
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 8
                                },
                                "end": {
                                  "line": 59,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": true,
                              "raw": "true",
                              "range": [
                                1506,
                                1510
                              ],
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 27
                                },
                                "end": {
                                  "line": 59,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1487,
                              1510
                            ],
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 8
                              },
                              "end": {
                                "line": 59,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1487,
                            1511
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 32
                            }
                          }
                        }
                      ],
                      "range": [
                        1477,
                        1517
                      ],
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 11
                        },
                        "end": {
                          "line": 60,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1408,
                      1517
                    ],
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 4
                      },
                      "end": {
                        "line": 60,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  1354,
                  1519
                ],
                "loc": {
                  "start": {
                    "line": 52,
                    "column": 29
                  },
                  "end": {
                    "line": 61,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1348,
                1519
              ],
              "loc": {
                "start": {
                  "line": 52,
                  "column": 23
                },
                "end": {
                  "line": 61,
                  "column": 1
                }
              }
            },
            "range": [
              1338,
              1519
            ],
            "loc": {
              "start": {
                "line": 52,
                "column": 13
              },
              "end": {
                "line": 61,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          1332,
          1520
        ],
        "loc": {
          "start": {
            "line": 52,
            "column": 7
          },
          "end": {
            "line": 61,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1200,
              1324
            ],
            "loc": {
              "start": {
                "line": 47,
                "column": 0
              },
              "end": {
                "line": 51,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1522,
              1667
            ],
            "loc": {
              "start": {
                "line": 63,
                "column": 0
              },
              "end": {
                "line": 68,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        1325,
        1520
      ],
      "loc": {
        "start": {
          "line": 52,
          "column": 0
        },
        "end": {
          "line": 61,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1200,
            1324
          ],
          "loc": {
            "start": {
              "line": 47,
              "column": 0
            },
            "end": {
              "line": 51,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1522,
            1667
          ],
          "loc": {
            "start": {
              "line": 63,
              "column": 0
            },
            "end": {
              "line": 68,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "cancelEvt",
              "range": [
                1681,
                1690
              ],
              "loc": {
                "start": {
                  "line": 69,
                  "column": 13
                },
                "end": {
                  "line": 69,
                  "column": 22
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    1693,
                    1696
                  ],
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 25
                    },
                    "end": {
                      "line": 69,
                      "column": 28
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1711,
                          1714
                        ],
                        "loc": {
                          "start": {
                            "line": 70,
                            "column": 9
                          },
                          "end": {
                            "line": 70,
                            "column": 12
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        1710,
                        1714
                      ],
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 8
                        },
                        "end": {
                          "line": 70,
                          "column": 12
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                1726,
                                1729
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 11
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "root",
                                "range": [
                                  1732,
                                  1736
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  1737,
                                  1742
                                ],
                                "loc": {
                                  "start": {
                                    "line": 71,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 71,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1732,
                                1742
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 14
                                },
                                "end": {
                                  "line": 71,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              1726,
                              1742
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            1726,
                            1743
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 25
                            }
                          }
                        }
                      ],
                      "range": [
                        1716,
                        1749
                      ],
                      "loc": {
                        "start": {
                          "line": 70,
                          "column": 14
                        },
                        "end": {
                          "line": 72,
                          "column": 5
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      1706,
                      1749
                    ],
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 4
                      },
                      "end": {
                        "line": 72,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          1758,
                          1761
                        ],
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 8
                          },
                          "end": {
                            "line": 73,
                            "column": 11
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "preventDefault",
                        "range": [
                          1762,
                          1776
                        ],
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 12
                          },
                          "end": {
                            "line": 73,
                            "column": 26
                          }
                        }
                      },
                      "range": [
                        1758,
                        1776
                      ],
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 26
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1788,
                                  1791
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "preventDefault",
                                "range": [
                                  1792,
                                  1806
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                1788,
                                1806
                              ],
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 8
                                },
                                "end": {
                                  "line": 74,
                                  "column": 26
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              1788,
                              1808
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 8
                              },
                              "end": {
                                "line": 74,
                                "column": 28
                              }
                            }
                          },
                          "range": [
                            1788,
                            1809
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 8
                            },
                            "end": {
                              "line": 74,
                              "column": 29
                            }
                          }
                        }
                      ],
                      "range": [
                        1778,
                        1815
                      ],
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 28
                        },
                        "end": {
                          "line": 75,
                          "column": 5
                        }
                      }
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  1831,
                                  1834
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "returnValue",
                                "range": [
                                  1835,
                                  1846
                                ],
                                "loc": {
                                  "start": {
                                    "line": 76,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 76,
                                    "column": 23
                                  }
                                }
                              },
                              "range": [
                                1831,
                                1846
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 8
                                },
                                "end": {
                                  "line": 76,
                                  "column": 23
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1849,
                                1854
                              ],
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 26
                                },
                                "end": {
                                  "line": 76,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1831,
                              1854
                            ],
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 8
                              },
                              "end": {
                                "line": 76,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1831,
                            1855
                          ],
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 32
                            }
                          }
                        }
                      ],
                      "range": [
                        1821,
                        1861
                      ],
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 11
                        },
                        "end": {
                          "line": 77,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1754,
                      1861
                    ],
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 4
                      },
                      "end": {
                        "line": 77,
                        "column": 5
                      }
                    }
                  }
                ],
                "range": [
                  1700,
                  1863
                ],
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 32
                  },
                  "end": {
                    "line": 78,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1693,
                1863
              ],
              "loc": {
                "start": {
                  "line": 69,
                  "column": 25
                },
                "end": {
                  "line": 78,
                  "column": 1
                }
              }
            },
            "range": [
              1681,
              1863
            ],
            "loc": {
              "start": {
                "line": 69,
                "column": 13
              },
              "end": {
                "line": 78,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          1675,
          1864
        ],
        "loc": {
          "start": {
            "line": 69,
            "column": 7
          },
          "end": {
            "line": 78,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
            "range": [
              1522,
              1667
            ],
            "loc": {
              "start": {
                "line": 63,
                "column": 0
              },
              "end": {
                "line": 68,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
            "range": [
              1866,
              1993
            ],
            "loc": {
              "start": {
                "line": 80,
                "column": 0
              },
              "end": {
                "line": 85,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        1668,
        1864
      ],
      "loc": {
        "start": {
          "line": 69,
          "column": 0
        },
        "end": {
          "line": 78,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
          "range": [
            1522,
            1667
          ],
          "loc": {
            "start": {
              "line": 63,
              "column": 0
            },
            "end": {
              "line": 68,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
          "range": [
            1866,
            1993
          ],
          "loc": {
            "start": {
              "line": 80,
              "column": 0
            },
            "end": {
              "line": 85,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "targetEvt",
              "range": [
                2007,
                2016
              ],
              "loc": {
                "start": {
                  "line": 86,
                  "column": 13
                },
                "end": {
                  "line": 86,
                  "column": 22
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    2019,
                    2022
                  ],
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 25
                    },
                    "end": {
                      "line": 86,
                      "column": 28
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "IfStatement",
                    "test": {
                      "type": "UnaryExpression",
                      "operator": "!",
                      "argument": {
                        "type": "Identifier",
                        "name": "evt",
                        "range": [
                          2037,
                          2040
                        ],
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 9
                          },
                          "end": {
                            "line": 87,
                            "column": 12
                          }
                        }
                      },
                      "prefix": true,
                      "range": [
                        2036,
                        2040
                      ],
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 8
                        },
                        "end": {
                          "line": 87,
                          "column": 12
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                2052,
                                2055
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 8
                                },
                                "end": {
                                  "line": 88,
                                  "column": 11
                                }
                              }
                            },
                            "right": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "root",
                                "range": [
                                  2058,
                                  2062
                                ],
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 18
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "event",
                                "range": [
                                  2063,
                                  2068
                                ],
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                2058,
                                2068
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 14
                                },
                                "end": {
                                  "line": 88,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              2052,
                              2068
                            ],
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 8
                              },
                              "end": {
                                "line": 88,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            2052,
                            2069
                          ],
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 8
                            },
                            "end": {
                              "line": 88,
                              "column": 25
                            }
                          }
                        }
                      ],
                      "range": [
                        2042,
                        2075
                      ],
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 14
                        },
                        "end": {
                          "line": 89,
                          "column": 5
                        }
                      }
                    },
                    "alternate": null,
                    "range": [
                      2032,
                      2075
                    ],
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 4
                      },
                      "end": {
                        "line": 89,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "LogicalExpression",
                      "operator": "||",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2087,
                            2090
                          ],
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 11
                            },
                            "end": {
                              "line": 90,
                              "column": 14
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "target",
                          "range": [
                            2091,
                            2097
                          ],
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 15
                            },
                            "end": {
                              "line": 90,
                              "column": 21
                            }
                          }
                        },
                        "range": [
                          2087,
                          2097
                        ],
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 11
                          },
                          "end": {
                            "line": 90,
                            "column": 21
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2101,
                            2104
                          ],
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 25
                            },
                            "end": {
                              "line": 90,
                              "column": 28
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "srcElement",
                          "range": [
                            2105,
                            2115
                          ],
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 29
                            },
                            "end": {
                              "line": 90,
                              "column": 39
                            }
                          }
                        },
                        "range": [
                          2101,
                          2115
                        ],
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 25
                          },
                          "end": {
                            "line": 90,
                            "column": 39
                          }
                        }
                      },
                      "range": [
                        2087,
                        2115
                      ],
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 11
                        },
                        "end": {
                          "line": 90,
                          "column": 39
                        }
                      }
                    },
                    "range": [
                      2080,
                      2116
                    ],
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 4
                      },
                      "end": {
                        "line": 90,
                        "column": 40
                      }
                    }
                  }
                ],
                "range": [
                  2026,
                  2118
                ],
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 32
                  },
                  "end": {
                    "line": 91,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2019,
                2118
              ],
              "loc": {
                "start": {
                  "line": 86,
                  "column": 25
                },
                "end": {
                  "line": 91,
                  "column": 1
                }
              }
            },
            "range": [
              2007,
              2118
            ],
            "loc": {
              "start": {
                "line": 86,
                "column": 13
              },
              "end": {
                "line": 91,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          2001,
          2119
        ],
        "loc": {
          "start": {
            "line": 86,
            "column": 7
          },
          "end": {
            "line": 91,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
            "range": [
              1866,
              1993
            ],
            "loc": {
              "start": {
                "line": 80,
                "column": 0
              },
              "end": {
                "line": 85,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Block",
            "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
            "range": [
              2121,
              2235
            ],
            "loc": {
              "start": {
                "line": 93,
                "column": 0
              },
              "end": {
                "line": 98,
                "column": 3
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        1994,
        2119
      ],
      "loc": {
        "start": {
          "line": 86,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
          "range": [
            1866,
            1993
          ],
          "loc": {
            "start": {
              "line": 80,
              "column": 0
            },
            "end": {
              "line": 85,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
          "range": [
            2121,
            2235
          ],
          "loc": {
            "start": {
              "line": 93,
              "column": 0
            },
            "end": {
              "line": 98,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "VariableDeclaration",
        "declarations": [
          {
            "type": "VariableDeclarator",
            "id": {
              "type": "Identifier",
              "name": "keyCode",
              "range": [
                2249,
                2256
              ],
              "loc": {
                "start": {
                  "line": 99,
                  "column": 13
                },
                "end": {
                  "line": 99,
                  "column": 20
                }
              }
            },
            "init": {
              "type": "ArrowFunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "evt",
                  "range": [
                    2259,
                    2262
                  ],
                  "loc": {
                    "start": {
                      "line": 99,
                      "column": 23
                    },
                    "end": {
                      "line": 99,
                      "column": 26
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "ConditionalExpression",
                      "test": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2279,
                            2282
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 11
                            },
                            "end": {
                              "line": 100,
                              "column": 14
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "charCode",
                          "range": [
                            2283,
                            2291
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 15
                            },
                            "end": {
                              "line": 100,
                              "column": 23
                            }
                          }
                        },
                        "range": [
                          2279,
                          2291
                        ],
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 11
                          },
                          "end": {
                            "line": 100,
                            "column": 23
                          }
                        }
                      },
                      "consequent": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            2294,
                            2297
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 26
                            },
                            "end": {
                              "line": 100,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "charCode",
                          "range": [
                            2298,
                            2306
                          ],
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 30
                            },
                            "end": {
                              "line": 100,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          2294,
                          2306
                        ],
                        "loc": {
                          "start": {
                            "line": 100,
                            "column": 26
                          },
                          "end": {
                            "line": 100,
                            "column": 38
                          }
                        }
                      },
                      "alternate": {
                        "type": "ConditionalExpression",
                        "test": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evt",
                            "range": [
                              2318,
                              2321
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 9
                              },
                              "end": {
                                "line": 101,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "keyCode",
                            "range": [
                              2322,
                              2329
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 13
                              },
                              "end": {
                                "line": 101,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            2318,
                            2329
                          ],
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 9
                            },
                            "end": {
                              "line": 101,
                              "column": 20
                            }
                          }
                        },
                        "consequent": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evt",
                            "range": [
                              2332,
                              2335
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 23
                              },
                              "end": {
                                "line": 101,
                                "column": 26
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "keyCode",
                            "range": [
                              2336,
                              2343
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 27
                              },
                              "end": {
                                "line": 101,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            2332,
                            2343
                          ],
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 23
                            },
                            "end": {
                              "line": 101,
                              "column": 34
                            }
                          }
                        },
                        "alternate": {
                          "type": "ConditionalExpression",
                          "test": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                2347,
                                2350
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 38
                                },
                                "end": {
                                  "line": 101,
                                  "column": 41
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "which",
                              "range": [
                                2351,
                                2356
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 42
                                },
                                "end": {
                                  "line": 101,
                                  "column": 47
                                }
                              }
                            },
                            "range": [
                              2347,
                              2356
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 38
                              },
                              "end": {
                                "line": 101,
                                "column": 47
                              }
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "Identifier",
                              "name": "evt",
                              "range": [
                                2359,
                                2362
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 50
                                },
                                "end": {
                                  "line": 101,
                                  "column": 53
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "which",
                              "range": [
                                2363,
                                2368
                              ],
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 54
                                },
                                "end": {
                                  "line": 101,
                                  "column": 59
                                }
                              }
                            },
                            "range": [
                              2359,
                              2368
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 50
                              },
                              "end": {
                                "line": 101,
                                "column": 59
                              }
                            }
                          },
                          "alternate": {
                            "type": "Literal",
                            "value": 0,
                            "raw": "0",
                            "range": [
                              2371,
                              2372
                            ],
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 62
                              },
                              "end": {
                                "line": 101,
                                "column": 63
                              }
                            }
                          },
                          "range": [
                            2347,
                            2372
                          ],
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 38
                            },
                            "end": {
                              "line": 101,
                              "column": 63
                            }
                          }
                        },
                        "range": [
                          2318,
                          2373
                        ],
                        "loc": {
                          "start": {
                            "line": 101,
                            "column": 9
                          },
                          "end": {
                            "line": 101,
                            "column": 64
                          }
                        }
                      },
                      "range": [
                        2279,
                        2374
                      ],
                      "loc": {
                        "start": {
                          "line": 100,
                          "column": 11
                        },
                        "end": {
                          "line": 101,
                          "column": 65
                        }
                      }
                    },
                    "range": [
                      2272,
                      2375
                    ],
                    "loc": {
                      "start": {
                        "line": 100,
                        "column": 4
                      },
                      "end": {
                        "line": 101,
                        "column": 66
                      }
                    }
                  }
                ],
                "range": [
                  2266,
                  2377
                ],
                "loc": {
                  "start": {
                    "line": 99,
                    "column": 30
                  },
                  "end": {
                    "line": 102,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                2259,
                2377
              ],
              "loc": {
                "start": {
                  "line": 99,
                  "column": 23
                },
                "end": {
                  "line": 102,
                  "column": 1
                }
              }
            },
            "range": [
              2249,
              2377
            ],
            "loc": {
              "start": {
                "line": 99,
                "column": 13
              },
              "end": {
                "line": 102,
                "column": 1
              }
            }
          }
        ],
        "kind": "const",
        "range": [
          2243,
          2378
        ],
        "loc": {
          "start": {
            "line": 99,
            "column": 7
          },
          "end": {
            "line": 102,
            "column": 2
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
            "range": [
              2121,
              2235
            ],
            "loc": {
              "start": {
                "line": 93,
                "column": 0
              },
              "end": {
                "line": 98,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        2236,
        2378
      ],
      "loc": {
        "start": {
          "line": 99,
          "column": 0
        },
        "end": {
          "line": 102,
          "column": 2
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
          "range": [
            2121,
            2235
          ],
          "loc": {
            "start": {
              "line": 93,
              "column": 0
            },
            "end": {
              "line": 98,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    2378
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 102,
      "column": 2
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * DOM event utilities\n ",
      "range": [
        30,
        60
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Add event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
      "range": [
        62,
        349
      ],
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 15,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Remove event handler for specified event on passed element\n *\n * @param {DOMElement} obj Element\n * @param {String} type Event type\n * @param {Function} Handler\n * @param {Boolean} capture Specifiy whether the event should be executed in\n * the capturing or in the bubbling phase\n ",
      "range": [
        625,
        915
      ],
      "loc": {
        "start": {
          "line": 27,
          "column": 0
        },
        "end": {
          "line": 35,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Prevents further propagation of the current event in the bubbling phase\n *\n * @param {Event} evt Event on the DOM\n ",
      "range": [
        1200,
        1324
      ],
      "loc": {
        "start": {
          "line": 47,
          "column": 0
        },
        "end": {
          "line": 51,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Cancels the event if it is cancelable, without stopping further\n * propagation of the event.\n *\n * @param {Event} evt Event on the DOM\n ",
      "range": [
        1522,
        1667
      ],
      "loc": {
        "start": {
          "line": 63,
          "column": 0
        },
        "end": {
          "line": 68,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Reference to the object that dispatched the event\n *\n * @param {Event} evt Event on the DOM\n * @returns {DOMElement}\n ",
      "range": [
        1866,
        1993
      ],
      "loc": {
        "start": {
          "line": 80,
          "column": 0
        },
        "end": {
          "line": 85,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Returns the Unicode value of pressed key\n *\n * @param {Event} evt Event on the DOM\n * @returns {Number}\n ",
      "range": [
        2121,
        2235
      ],
      "loc": {
        "start": {
          "line": 93,
          "column": 0
        },
        "end": {
          "line": 98,
          "column": 3
        }
      }
    }
  ]
}