{
  "type": "Program",
  "body": [
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "Emitter",
          "range": [
            44,
            51
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 13
            },
            "end": {
              "line": 4,
              "column": 20
            }
          }
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  113,
                  124
                ],
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 4
                  },
                  "end": {
                    "line": 8,
                    "column": 15
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              212,
                              216
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 8
                              },
                              "end": {
                                "line": 13,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "events",
                            "range": [
                              217,
                              223
                            ],
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 13
                              },
                              "end": {
                                "line": 13,
                                "column": 19
                              }
                            }
                          },
                          "range": [
                            212,
                            223
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 8
                            },
                            "end": {
                              "line": 13,
                              "column": 19
                            }
                          }
                        },
                        "right": {
                          "type": "ObjectExpression",
                          "properties": [],
                          "range": [
                            226,
                            228
                          ],
                          "loc": {
                            "start": {
                              "line": 13,
                              "column": 22
                            },
                            "end": {
                              "line": 13,
                              "column": 24
                            }
                          }
                        },
                        "range": [
                          212,
                          228
                        ],
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 8
                          },
                          "end": {
                            "line": 13,
                            "column": 24
                          }
                        }
                      },
                      "range": [
                        212,
                        229
                      ],
                      "loc": {
                        "start": {
                          "line": 13,
                          "column": 8
                        },
                        "end": {
                          "line": 13,
                          "column": 25
                        }
                      },
                      "leadingComments": [
                        {
                          "type": "Block",
                          "value": "*\n         * Events object\n         * @type {Object}\n         ",
                          "range": [
                            137,
                            203
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 11
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "range": [
                    127,
                    235
                  ],
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 18
                    },
                    "end": {
                      "line": 14,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  124,
                  235
                ],
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 15
                  },
                  "end": {
                    "line": 14,
                    "column": 5
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                113,
                235
              ],
              "loc": {
                "start": {
                  "line": 8,
                  "column": 4
                },
                "end": {
                  "line": 14,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Creates an instance of Emitter.\n     ",
                  "range": [
                    58,
                    108
                  ],
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 4
                    },
                    "end": {
                      "line": 7,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Subscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    241,
                    406
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 4
                    },
                    "end": {
                      "line": 20,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "on",
                "range": [
                  411,
                  413
                ],
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 4
                  },
                  "end": {
                    "line": 21,
                    "column": 6
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "evts",
                    "range": [
                      414,
                      418
                    ],
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 7
                      },
                      "end": {
                        "line": 21,
                        "column": 11
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "fn",
                    "range": [
                      420,
                      422
                    ],
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 13
                      },
                      "end": {
                        "line": 21,
                        "column": 15
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evts",
                            "range": [
                              434,
                              438
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              439,
                              446
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 13
                              },
                              "end": {
                                "line": 22,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            434,
                            446
                          ],
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 8
                            },
                            "end": {
                              "line": 22,
                              "column": 20
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  448,
                                  451
                                ],
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 25
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": true,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            470,
                                            474
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "events",
                                          "range": [
                                            475,
                                            481
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "range": [
                                          470,
                                          481
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "evt",
                                        "range": [
                                          482,
                                          485
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "range": [
                                        470,
                                        486
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 28
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "LogicalExpression",
                                      "operator": "||",
                                      "left": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              489,
                                              493
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 23,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 23,
                                                "column": 35
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "events",
                                            "range": [
                                              494,
                                              500
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 23,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 23,
                                                "column": 42
                                              }
                                            }
                                          },
                                          "range": [
                                            489,
                                            500
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 42
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "evt",
                                          "range": [
                                            501,
                                            504
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 23,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 46
                                            }
                                          }
                                        },
                                        "range": [
                                          489,
                                          505
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 47
                                          }
                                        }
                                      },
                                      "right": {
                                        "type": "ArrayExpression",
                                        "elements": [],
                                        "range": [
                                          509,
                                          511
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 23,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 53
                                          }
                                        }
                                      },
                                      "range": [
                                        489,
                                        511
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 23,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 23,
                                          "column": 53
                                        }
                                      }
                                    },
                                    "range": [
                                      470,
                                      511
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 23,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 53
                                      }
                                    }
                                  },
                                  "range": [
                                    470,
                                    512
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 23,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 54
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "ThisExpression",
                                            "range": [
                                              525,
                                              529
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 16
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "events",
                                            "range": [
                                              530,
                                              536
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 24,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 24,
                                                "column": 23
                                              }
                                            }
                                          },
                                          "range": [
                                            525,
                                            536
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 24,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 24,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "evt",
                                          "range": [
                                            537,
                                            540
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 24,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 24,
                                              "column": 27
                                            }
                                          }
                                        },
                                        "range": [
                                          525,
                                          541
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 28
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "push",
                                        "range": [
                                          542,
                                          546
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 33
                                          }
                                        }
                                      },
                                      "range": [
                                        525,
                                        546
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 24,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 24,
                                          "column": 33
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "fn",
                                        "range": [
                                          547,
                                          549
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 24,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 24,
                                            "column": 36
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      525,
                                      550
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 24,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 24,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    525,
                                    551
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 24,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 24,
                                      "column": 38
                                    }
                                  }
                                }
                              ],
                              "range": [
                                456,
                                561
                              ],
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 30
                                },
                                "end": {
                                  "line": 25,
                                  "column": 9
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              447,
                              561
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 21
                              },
                              "end": {
                                "line": 25,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          434,
                          562
                        ],
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 8
                          },
                          "end": {
                            "line": 25,
                            "column": 10
                          }
                        }
                      },
                      "range": [
                        434,
                        563
                      ],
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 11
                        }
                      }
                    }
                  ],
                  "range": [
                    424,
                    569
                  ],
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 17
                    },
                    "end": {
                      "line": 26,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  413,
                  569
                ],
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 6
                  },
                  "end": {
                    "line": 26,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                411,
                569
              ],
              "loc": {
                "start": {
                  "line": 21,
                  "column": 4
                },
                "end": {
                  "line": 26,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Subscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    241,
                    406
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 4
                    },
                    "end": {
                      "line": 20,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Unsubscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    575,
                    742
                  ],
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 4
                    },
                    "end": {
                      "line": 32,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "off",
                "range": [
                  747,
                  750
                ],
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 4
                  },
                  "end": {
                    "line": 33,
                    "column": 7
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "evts",
                    "range": [
                      751,
                      755
                    ],
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 8
                      },
                      "end": {
                        "line": 33,
                        "column": 12
                      }
                    }
                  },
                  {
                    "type": "Identifier",
                    "name": "fn",
                    "range": [
                      757,
                      759
                    ],
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 14
                      },
                      "end": {
                        "line": 33,
                        "column": 16
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "evts",
                            "range": [
                              771,
                              775
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "forEach",
                            "range": [
                              776,
                              783
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 13
                              },
                              "end": {
                                "line": 34,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            771,
                            783
                          ],
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 20
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "id": null,
                            "params": [
                              {
                                "type": "Identifier",
                                "name": "evt",
                                "range": [
                                  785,
                                  788
                                ],
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 25
                                  }
                                }
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "test": {
                                    "type": "BinaryExpression",
                                    "operator": "in",
                                    "left": {
                                      "type": "Identifier",
                                      "name": "evt",
                                      "range": [
                                        811,
                                        814
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          818,
                                          822
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 27
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "events",
                                        "range": [
                                          823,
                                          829
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 34
                                          }
                                        }
                                      },
                                      "range": [
                                        818,
                                        829
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      811,
                                      829
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 35,
                                        "column": 34
                                      }
                                    }
                                  },
                                  "consequent": {
                                    "type": "BlockStatement",
                                    "body": [
                                      {
                                        "type": "ExpressionStatement",
                                        "expression": {
                                          "type": "CallExpression",
                                          "callee": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "MemberExpression",
                                              "computed": true,
                                              "object": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "range": [
                                                    849,
                                                    853
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 36,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 36,
                                                      "column": 20
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "events",
                                                  "range": [
                                                    854,
                                                    860
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 36,
                                                      "column": 21
                                                    },
                                                    "end": {
                                                      "line": 36,
                                                      "column": 27
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  849,
                                                  860
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 36,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 36,
                                                    "column": 27
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "name": "evt",
                                                "range": [
                                                  861,
                                                  864
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 36,
                                                    "column": 28
                                                  },
                                                  "end": {
                                                    "line": 36,
                                                    "column": 31
                                                  }
                                                }
                                              },
                                              "range": [
                                                849,
                                                865
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 36,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 36,
                                                  "column": 32
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "splice",
                                              "range": [
                                                866,
                                                872
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 36,
                                                  "column": 33
                                                },
                                                "end": {
                                                  "line": 36,
                                                  "column": 39
                                                }
                                              }
                                            },
                                            "range": [
                                              849,
                                              872
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 36,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 36,
                                                "column": 39
                                              }
                                            }
                                          },
                                          "arguments": [
                                            {
                                              "type": "CallExpression",
                                              "callee": {
                                                "type": "MemberExpression",
                                                "computed": false,
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "computed": true,
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "computed": false,
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "range": [
                                                        873,
                                                        877
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 36,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 36,
                                                          "column": 44
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "name": "events",
                                                      "range": [
                                                        878,
                                                        884
                                                      ],
                                                      "loc": {
                                                        "start": {
                                                          "line": 36,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 36,
                                                          "column": 51
                                                        }
                                                      }
                                                    },
                                                    "range": [
                                                      873,
                                                      884
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 36,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 36,
                                                        "column": 51
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "name": "evt",
                                                    "range": [
                                                      885,
                                                      888
                                                    ],
                                                    "loc": {
                                                      "start": {
                                                        "line": 36,
                                                        "column": 52
                                                      },
                                                      "end": {
                                                        "line": 36,
                                                        "column": 55
                                                      }
                                                    }
                                                  },
                                                  "range": [
                                                    873,
                                                    889
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 36,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 36,
                                                      "column": 56
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "name": "indexOf",
                                                  "range": [
                                                    890,
                                                    897
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 36,
                                                      "column": 57
                                                    },
                                                    "end": {
                                                      "line": 36,
                                                      "column": 64
                                                    }
                                                  }
                                                },
                                                "range": [
                                                  873,
                                                  897
                                                ],
                                                "loc": {
                                                  "start": {
                                                    "line": 36,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 36,
                                                    "column": 64
                                                  }
                                                }
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "name": "fn",
                                                  "range": [
                                                    898,
                                                    900
                                                  ],
                                                  "loc": {
                                                    "start": {
                                                      "line": 36,
                                                      "column": 65
                                                    },
                                                    "end": {
                                                      "line": 36,
                                                      "column": 67
                                                    }
                                                  }
                                                }
                                              ],
                                              "range": [
                                                873,
                                                901
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 36,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 36,
                                                  "column": 68
                                                }
                                              }
                                            },
                                            {
                                              "type": "Literal",
                                              "value": 1,
                                              "raw": "1",
                                              "range": [
                                                903,
                                                904
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 36,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 36,
                                                  "column": 71
                                                }
                                              }
                                            }
                                          ],
                                          "range": [
                                            849,
                                            905
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 36,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 36,
                                              "column": 72
                                            }
                                          }
                                        },
                                        "range": [
                                          849,
                                          906
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 73
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      831,
                                      920
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 35,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 37,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "alternate": null,
                                  "range": [
                                    807,
                                    920
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 13
                                    }
                                  }
                                }
                              ],
                              "range": [
                                793,
                                930
                              ],
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 30
                                },
                                "end": {
                                  "line": 38,
                                  "column": 9
                                }
                              }
                            },
                            "generator": false,
                            "expression": false,
                            "range": [
                              784,
                              930
                            ],
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 21
                              },
                              "end": {
                                "line": 38,
                                "column": 9
                              }
                            }
                          }
                        ],
                        "range": [
                          771,
                          931
                        ],
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 38,
                            "column": 10
                          }
                        }
                      },
                      "range": [
                        771,
                        932
                      ],
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 38,
                          "column": 11
                        }
                      }
                    }
                  ],
                  "range": [
                    761,
                    938
                  ],
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 18
                    },
                    "end": {
                      "line": 39,
                      "column": 5
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  750,
                  938
                ],
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 7
                  },
                  "end": {
                    "line": 39,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                747,
                938
              ],
              "loc": {
                "start": {
                  "line": 33,
                  "column": 4
                },
                "end": {
                  "line": 39,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Unsubscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
                  "range": [
                    575,
                    742
                  ],
                  "loc": {
                    "start": {
                      "line": 28,
                      "column": 4
                    },
                    "end": {
                      "line": 32,
                      "column": 7
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Emit an event\n     * @param  {String} evt Event name followed by any other argument passed to\n     * the invoked function\n     ",
                  "range": [
                    944,
                    1084
                  ],
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 4
                    },
                    "end": {
                      "line": 45,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "emit",
                "range": [
                  1089,
                  1093
                ],
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 4
                  },
                  "end": {
                    "line": 46,
                    "column": 8
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "evt",
                    "range": [
                      1094,
                      1097
                    ],
                    "loc": {
                      "start": {
                        "line": 46,
                        "column": 9
                      },
                      "end": {
                        "line": 46,
                        "column": 12
                      }
                    },
                    "trailingComments": [
                      {
                        "type": "Block",
                        "value": ", args...",
                        "range": [
                          1098,
                          1111
                        ],
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 13
                          },
                          "end": {
                            "line": 46,
                            "column": 26
                          }
                        }
                      }
                    ]
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "in",
                        "left": {
                          "type": "Identifier",
                          "name": "evt",
                          "range": [
                            1127,
                            1130
                          ],
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 12
                            },
                            "end": {
                              "line": 47,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1134,
                              1138
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 19
                              },
                              "end": {
                                "line": 47,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "events",
                            "range": [
                              1139,
                              1145
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 24
                              },
                              "end": {
                                "line": 47,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            1134,
                            1145
                          ],
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 19
                            },
                            "end": {
                              "line": 47,
                              "column": 30
                            }
                          }
                        },
                        "range": [
                          1127,
                          1145
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 12
                          },
                          "end": {
                            "line": 47,
                            "column": 30
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ForStatement",
                            "init": {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "i",
                                    "range": [
                                      1170,
                                      1171
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "Literal",
                                    "value": 0,
                                    "raw": "0",
                                    "range": [
                                      1174,
                                      1175
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    1170,
                                    1175
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 26
                                    }
                                  }
                                }
                              ],
                              "kind": "let",
                              "range": [
                                1166,
                                1175
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 17
                                },
                                "end": {
                                  "line": 48,
                                  "column": 26
                                }
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "operator": "<",
                              "left": {
                                "type": "Identifier",
                                "name": "i",
                                "range": [
                                  1177,
                                  1178
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 29
                                  }
                                }
                              },
                              "right": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": true,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        1181,
                                        1185
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 36
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "events",
                                      "range": [
                                        1186,
                                        1192
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 48,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 48,
                                          "column": 43
                                        }
                                      }
                                    },
                                    "range": [
                                      1181,
                                      1192
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 43
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "evt",
                                    "range": [
                                      1193,
                                      1196
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 48,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 48,
                                        "column": 47
                                      }
                                    }
                                  },
                                  "range": [
                                    1181,
                                    1197
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 48
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "length",
                                  "range": [
                                    1198,
                                    1204
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 48,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 48,
                                      "column": 55
                                    }
                                  }
                                },
                                "range": [
                                  1181,
                                  1204
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 55
                                  }
                                }
                              },
                              "range": [
                                1177,
                                1204
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 28
                                },
                                "end": {
                                  "line": 48,
                                  "column": 55
                                }
                              }
                            },
                            "update": {
                              "type": "UpdateExpression",
                              "operator": "++",
                              "argument": {
                                "type": "Identifier",
                                "name": "i",
                                "range": [
                                  1206,
                                  1207
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 57
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 58
                                  }
                                }
                              },
                              "prefix": false,
                              "range": [
                                1206,
                                1209
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 57
                                },
                                "end": {
                                  "line": 48,
                                  "column": 60
                                }
                              }
                            },
                            "body": {
                              "type": "BlockStatement",
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "expression": {
                                    "type": "CallExpression",
                                    "callee": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "MemberExpression",
                                        "computed": true,
                                        "object": {
                                          "type": "MemberExpression",
                                          "computed": true,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ThisExpression",
                                              "range": [
                                                1229,
                                                1233
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 20
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "events",
                                              "range": [
                                                1234,
                                                1240
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 21
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 27
                                                }
                                              }
                                            },
                                            "range": [
                                              1229,
                                              1240
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 27
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "evt",
                                            "range": [
                                              1241,
                                              1244
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 31
                                              }
                                            }
                                          },
                                          "range": [
                                            1229,
                                            1245
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "i",
                                          "range": [
                                            1246,
                                            1247
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 34
                                            }
                                          }
                                        },
                                        "range": [
                                          1229,
                                          1248
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "apply",
                                        "range": [
                                          1249,
                                          1254
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 41
                                          }
                                        }
                                      },
                                      "range": [
                                        1229,
                                        1254
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 49,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 49,
                                          "column": 41
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "ThisExpression",
                                        "range": [
                                          1255,
                                          1259
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 46
                                          }
                                        }
                                      },
                                      {
                                        "type": "CallExpression",
                                        "callee": {
                                          "type": "MemberExpression",
                                          "computed": false,
                                          "object": {
                                            "type": "MemberExpression",
                                            "computed": false,
                                            "object": {
                                              "type": "ArrayExpression",
                                              "elements": [],
                                              "range": [
                                                1261,
                                                1263
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 50
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "name": "slice",
                                              "range": [
                                                1264,
                                                1269
                                              ],
                                              "loc": {
                                                "start": {
                                                  "line": 49,
                                                  "column": 51
                                                },
                                                "end": {
                                                  "line": 49,
                                                  "column": 56
                                                }
                                              }
                                            },
                                            "range": [
                                              1261,
                                              1269
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 48
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 56
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "name": "call",
                                            "range": [
                                              1270,
                                              1274
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 57
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 61
                                              }
                                            }
                                          },
                                          "range": [
                                            1261,
                                            1274
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 49,
                                              "column": 48
                                            },
                                            "end": {
                                              "line": 49,
                                              "column": 61
                                            }
                                          }
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "name": "arguments",
                                            "range": [
                                              1275,
                                              1284
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 62
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 71
                                              }
                                            }
                                          },
                                          {
                                            "type": "Literal",
                                            "value": 1,
                                            "raw": "1",
                                            "range": [
                                              1286,
                                              1287
                                            ],
                                            "loc": {
                                              "start": {
                                                "line": 49,
                                                "column": 73
                                              },
                                              "end": {
                                                "line": 49,
                                                "column": 74
                                              }
                                            }
                                          }
                                        ],
                                        "range": [
                                          1261,
                                          1288
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 49,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 49,
                                            "column": 75
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1229,
                                      1289
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 49,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 49,
                                        "column": 76
                                      }
                                    }
                                  },
                                  "range": [
                                    1229,
                                    1290
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 49,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 49,
                                      "column": 77
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1211,
                                1304
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 62
                                },
                                "end": {
                                  "line": 50,
                                  "column": 13
                                }
                              }
                            },
                            "range": [
                              1161,
                              1304
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 12
                              },
                              "end": {
                                "line": 50,
                                "column": 13
                              }
                            }
                          }
                        ],
                        "range": [
                          1147,
                          1314
                        ],
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 32
                          },
                          "end": {
                            "line": 51,
                            "column": 9
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        1123,
                        1314
                      ],
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 51,
                          "column": 9
                        }
                      }
                    }
                  ],
                  "range": [
                    1113,
                    1320
                  ],
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 28
                    },
                    "end": {
                      "line": 52,
                      "column": 5
                    }
                  },
                  "leadingComments": [
                    {
                      "type": "Block",
                      "value": ", args...",
                      "range": [
                        1098,
                        1111
                      ],
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 13
                        },
                        "end": {
                          "line": 46,
                          "column": 26
                        }
                      }
                    }
                  ]
                },
                "generator": false,
                "expression": false,
                "range": [
                  1093,
                  1320
                ],
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 8
                  },
                  "end": {
                    "line": 52,
                    "column": 5
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1089,
                1320
              ],
              "loc": {
                "start": {
                  "line": 46,
                  "column": 4
                },
                "end": {
                  "line": 52,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Block",
                  "value": "*\n     * Emit an event\n     * @param  {String} evt Event name followed by any other argument passed to\n     * the invoked function\n     ",
                  "range": [
                    944,
                    1084
                  ],
                  "loc": {
                    "start": {
                      "line": 41,
                      "column": 4
                    },
                    "end": {
                      "line": 45,
                      "column": 7
                    }
                  }
                }
              ],
              "static": false
            }
          ],
          "range": [
            52,
            1322
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 21
            },
            "end": {
              "line": 53,
              "column": 1
            }
          }
        },
        "range": [
          38,
          1322
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 7
          },
          "end": {
            "line": 53,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Event emitter class\n ",
            "range": [
              0,
              30
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 0
              },
              "end": {
                "line": 3,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        31,
        1322
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 53,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Event emitter class\n ",
          "range": [
            0,
            30
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 3,
              "column": 3
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    31,
    1322
  ],
  "loc": {
    "start": {
      "line": 4,
      "column": 0
    },
    "end": {
      "line": 53,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * Event emitter class\n ",
      "range": [
        0,
        30
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Creates an instance of Emitter.\n     ",
      "range": [
        58,
        108
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n         * Events object\n         * @type {Object}\n         ",
      "range": [
        137,
        203
      ],
      "loc": {
        "start": {
          "line": 9,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 11
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Subscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
      "range": [
        241,
        406
      ],
      "loc": {
        "start": {
          "line": 16,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Unsubscribe to an event\n     * @param  {Array}   evts Collection of event names\n     * @param  {Function} fn  Function invoked when event is emitted\n     ",
      "range": [
        575,
        742
      ],
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 32,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n     * Emit an event\n     * @param  {String} evt Event name followed by any other argument passed to\n     * the invoked function\n     ",
      "range": [
        944,
        1084
      ],
      "loc": {
        "start": {
          "line": 41,
          "column": 4
        },
        "end": {
          "line": 45,
          "column": 7
        }
      }
    },
    {
      "type": "Block",
      "value": ", args...",
      "range": [
        1098,
        1111
      ],
      "loc": {
        "start": {
          "line": 46,
          "column": 13
        },
        "end": {
          "line": 46,
          "column": 26
        }
      }
    }
  ]
}