{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "async",
            "range": [
              9,
              14
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 14
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "async",
            "range": [
              9,
              14
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 14
              }
            }
          },
          "range": [
            9,
            14
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 14
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../scheduler/async",
        "raw": "'../scheduler/async'",
        "range": [
          22,
          42
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 22
          },
          "end": {
            "line": 1,
            "column": 42
          }
        }
      },
      "range": [
        0,
        43
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isDate",
            "range": [
              53,
              59
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 15
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isDate",
            "range": [
              53,
              59
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 15
              }
            }
          },
          "range": [
            53,
            59
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 15
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/isDate",
        "raw": "'../util/isDate'",
        "range": [
          67,
          83
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 23
          },
          "end": {
            "line": 2,
            "column": 39
          }
        }
      },
      "range": [
        44,
        84
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 40
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              94,
              104
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "Subscriber",
            "range": [
              94,
              104
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 19
              }
            }
          },
          "range": [
            94,
            104
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 19
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../Subscriber",
        "raw": "'../Subscriber'",
        "range": [
          112,
          127
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 27
          },
          "end": {
            "line": 3,
            "column": 42
          }
        }
      },
      "range": [
        85,
        128
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 43
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "TimeoutError",
            "range": [
              138,
              150
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 21
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "TimeoutError",
            "range": [
              138,
              150
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 21
              }
            }
          },
          "range": [
            138,
            150
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 21
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/TimeoutError",
        "raw": "'../util/TimeoutError'",
        "range": [
          158,
          180
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 29
          },
          "end": {
            "line": 4,
            "column": 51
          }
        }
      },
      "range": [
        129,
        181
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 52
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * @param due\n * @param errorToSend\n * @param scheduler\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method timeout\n * @owner Observable\n ",
          "range": [
            182,
            346
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "timeout",
          "range": [
            363,
            370
          ],
          "loc": {
            "start": {
              "line": 13,
              "column": 16
            },
            "end": {
              "line": 13,
              "column": 23
            }
          }
        },
        "params": [
          {
            "type": "Identifier",
            "name": "due",
            "range": [
              371,
              374
            ],
            "loc": {
              "start": {
                "line": 13,
                "column": 24
              },
              "end": {
                "line": 13,
                "column": 27
              }
            }
          },
          {
            "type": "Identifier",
            "name": "errorToSend",
            "range": [
              376,
              387
            ],
            "loc": {
              "start": {
                "line": 13,
                "column": 29
              },
              "end": {
                "line": 13,
                "column": 40
              }
            }
          },
          {
            "type": "Identifier",
            "name": "scheduler",
            "range": [
              389,
              398
            ],
            "loc": {
              "start": {
                "line": 13,
                "column": 42
              },
              "end": {
                "line": 13,
                "column": 51
              }
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "Identifier",
                  "name": "errorToSend",
                  "range": [
                    410,
                    421
                  ],
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 8
                    },
                    "end": {
                      "line": 14,
                      "column": 19
                    }
                  }
                },
                "right": {
                  "type": "UnaryExpression",
                  "operator": "void",
                  "argument": {
                    "type": "Literal",
                    "value": 0,
                    "raw": "0",
                    "range": [
                      431,
                      432
                    ],
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 29
                      },
                      "end": {
                        "line": 14,
                        "column": 30
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    426,
                    432
                  ],
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 24
                    },
                    "end": {
                      "line": 14,
                      "column": 30
                    }
                  }
                },
                "range": [
                  410,
                  432
                ],
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 8
                  },
                  "end": {
                    "line": 14,
                    "column": 30
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "errorToSend",
                        "range": [
                          436,
                          447
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 34
                          },
                          "end": {
                            "line": 14,
                            "column": 45
                          }
                        }
                      },
                      "right": {
                        "type": "Literal",
                        "value": null,
                        "raw": "null",
                        "range": [
                          450,
                          454
                        ],
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 48
                          },
                          "end": {
                            "line": 14,
                            "column": 52
                          }
                        }
                      },
                      "range": [
                        436,
                        454
                      ],
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 34
                        },
                        "end": {
                          "line": 14,
                          "column": 52
                        }
                      }
                    },
                    "range": [
                      436,
                      455
                    ],
                    "loc": {
                      "start": {
                        "line": 14,
                        "column": 34
                      },
                      "end": {
                        "line": 14,
                        "column": 53
                      }
                    }
                  }
                ],
                "range": [
                  434,
                  457
                ],
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 32
                  },
                  "end": {
                    "line": 14,
                    "column": 55
                  }
                }
              },
              "alternate": null,
              "range": [
                406,
                457
              ],
              "loc": {
                "start": {
                  "line": 14,
                  "column": 4
                },
                "end": {
                  "line": 14,
                  "column": 55
                }
              }
            },
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "Identifier",
                  "name": "scheduler",
                  "range": [
                    466,
                    475
                  ],
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 8
                    },
                    "end": {
                      "line": 15,
                      "column": 17
                    }
                  }
                },
                "right": {
                  "type": "UnaryExpression",
                  "operator": "void",
                  "argument": {
                    "type": "Literal",
                    "value": 0,
                    "raw": "0",
                    "range": [
                      485,
                      486
                    ],
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 27
                      },
                      "end": {
                        "line": 15,
                        "column": 28
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    480,
                    486
                  ],
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 22
                    },
                    "end": {
                      "line": 15,
                      "column": 28
                    }
                  }
                },
                "range": [
                  466,
                  486
                ],
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 8
                  },
                  "end": {
                    "line": 15,
                    "column": 28
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          490,
                          499
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 32
                          },
                          "end": {
                            "line": 15,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "Identifier",
                        "name": "async",
                        "range": [
                          502,
                          507
                        ],
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 44
                          },
                          "end": {
                            "line": 15,
                            "column": 49
                          }
                        }
                      },
                      "range": [
                        490,
                        507
                      ],
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 32
                        },
                        "end": {
                          "line": 15,
                          "column": 49
                        }
                      }
                    },
                    "range": [
                      490,
                      508
                    ],
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 32
                      },
                      "end": {
                        "line": 15,
                        "column": 50
                      }
                    }
                  }
                ],
                "range": [
                  488,
                  510
                ],
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 30
                  },
                  "end": {
                    "line": 15,
                    "column": 52
                  }
                }
              },
              "alternate": null,
              "range": [
                462,
                510
              ],
              "loc": {
                "start": {
                  "line": 15,
                  "column": 4
                },
                "end": {
                  "line": 15,
                  "column": 52
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "absoluteTimeout",
                    "range": [
                      519,
                      534
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 8
                      },
                      "end": {
                        "line": 16,
                        "column": 23
                      }
                    }
                  },
                  "init": {
                    "type": "CallExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "isDate",
                      "range": [
                        537,
                        543
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 26
                        },
                        "end": {
                          "line": 16,
                          "column": 32
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "due",
                        "range": [
                          544,
                          547
                        ],
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 33
                          },
                          "end": {
                            "line": 16,
                            "column": 36
                          }
                        }
                      }
                    ],
                    "range": [
                      537,
                      548
                    ],
                    "loc": {
                      "start": {
                        "line": 16,
                        "column": 26
                      },
                      "end": {
                        "line": 16,
                        "column": 37
                      }
                    }
                  },
                  "range": [
                    519,
                    548
                  ],
                  "loc": {
                    "start": {
                      "line": 16,
                      "column": 8
                    },
                    "end": {
                      "line": 16,
                      "column": 37
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                515,
                549
              ],
              "loc": {
                "start": {
                  "line": 16,
                  "column": 4
                },
                "end": {
                  "line": 16,
                  "column": 38
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "waitFor",
                    "range": [
                      558,
                      565
                    ],
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 8
                      },
                      "end": {
                        "line": 17,
                        "column": 15
                      }
                    }
                  },
                  "init": {
                    "type": "ConditionalExpression",
                    "test": {
                      "type": "Identifier",
                      "name": "absoluteTimeout",
                      "range": [
                        568,
                        583
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 18
                        },
                        "end": {
                          "line": 17,
                          "column": 33
                        }
                      }
                    },
                    "consequent": {
                      "type": "BinaryExpression",
                      "operator": "-",
                      "left": {
                        "type": "UnaryExpression",
                        "operator": "+",
                        "argument": {
                          "type": "Identifier",
                          "name": "due",
                          "range": [
                            588,
                            591
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 38
                            },
                            "end": {
                              "line": 17,
                              "column": 41
                            }
                          }
                        },
                        "prefix": true,
                        "range": [
                          587,
                          591
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 37
                          },
                          "end": {
                            "line": 17,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "scheduler",
                            "range": [
                              594,
                              603
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 44
                              },
                              "end": {
                                "line": 17,
                                "column": 53
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "now",
                            "range": [
                              604,
                              607
                            ],
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 54
                              },
                              "end": {
                                "line": 17,
                                "column": 57
                              }
                            }
                          },
                          "range": [
                            594,
                            607
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 44
                            },
                            "end": {
                              "line": 17,
                              "column": 57
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          594,
                          609
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 44
                          },
                          "end": {
                            "line": 17,
                            "column": 59
                          }
                        }
                      },
                      "range": [
                        587,
                        609
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 37
                        },
                        "end": {
                          "line": 17,
                          "column": 59
                        }
                      }
                    },
                    "alternate": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "Math",
                          "range": [
                            613,
                            617
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 63
                            },
                            "end": {
                              "line": 17,
                              "column": 67
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "abs",
                          "range": [
                            618,
                            621
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 68
                            },
                            "end": {
                              "line": 17,
                              "column": 71
                            }
                          }
                        },
                        "range": [
                          613,
                          621
                        ],
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 63
                          },
                          "end": {
                            "line": 17,
                            "column": 71
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "due",
                          "range": [
                            622,
                            625
                          ],
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 72
                            },
                            "end": {
                              "line": 17,
                              "column": 75
                            }
                          }
                        }
                      ],
                      "range": [
                        613,
                        626
                      ],
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 63
                        },
                        "end": {
                          "line": 17,
                          "column": 76
                        }
                      }
                    },
                    "range": [
                      568,
                      626
                    ],
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 18
                      },
                      "end": {
                        "line": 17,
                        "column": 76
                      }
                    }
                  },
                  "range": [
                    558,
                    626
                  ],
                  "loc": {
                    "start": {
                      "line": 17,
                      "column": 8
                    },
                    "end": {
                      "line": 17,
                      "column": 76
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                554,
                627
              ],
              "loc": {
                "start": {
                  "line": 17,
                  "column": 4
                },
                "end": {
                  "line": 17,
                  "column": 77
                }
              }
            },
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "ThisExpression",
                    "range": [
                      639,
                      643
                    ],
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 11
                      },
                      "end": {
                        "line": 18,
                        "column": 15
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      644,
                      648
                    ],
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 16
                      },
                      "end": {
                        "line": 18,
                        "column": 20
                      }
                    }
                  },
                  "range": [
                    639,
                    648
                  ],
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 11
                    },
                    "end": {
                      "line": 18,
                      "column": 20
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "TimeoutOperator",
                      "range": [
                        653,
                        668
                      ],
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 25
                        },
                        "end": {
                          "line": 18,
                          "column": 40
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "waitFor",
                        "range": [
                          669,
                          676
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 41
                          },
                          "end": {
                            "line": 18,
                            "column": 48
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "absoluteTimeout",
                        "range": [
                          678,
                          693
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 50
                          },
                          "end": {
                            "line": 18,
                            "column": 65
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "errorToSend",
                        "range": [
                          695,
                          706
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 67
                          },
                          "end": {
                            "line": 18,
                            "column": 78
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          708,
                          717
                        ],
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 80
                          },
                          "end": {
                            "line": 18,
                            "column": 89
                          }
                        }
                      }
                    ],
                    "range": [
                      649,
                      718
                    ],
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 21
                      },
                      "end": {
                        "line": 18,
                        "column": 90
                      }
                    }
                  }
                ],
                "range": [
                  639,
                  719
                ],
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 11
                  },
                  "end": {
                    "line": 18,
                    "column": 91
                  }
                }
              },
              "range": [
                632,
                720
              ],
              "loc": {
                "start": {
                  "line": 18,
                  "column": 4
                },
                "end": {
                  "line": 18,
                  "column": 92
                }
              }
            }
          ],
          "range": [
            400,
            722
          ],
          "loc": {
            "start": {
              "line": 13,
              "column": 53
            },
            "end": {
              "line": 19,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          354,
          722
        ],
        "loc": {
          "start": {
            "line": 13,
            "column": 7
          },
          "end": {
            "line": 19,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * @param due\n * @param errorToSend\n * @param scheduler\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method timeout\n * @owner Observable\n ",
            "range": [
              182,
              346
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 12,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": []
      },
      "specifiers": [],
      "source": null,
      "range": [
        347,
        722
      ],
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * @param due\n * @param errorToSend\n * @param scheduler\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method timeout\n * @owner Observable\n ",
          "range": [
            182,
            346
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 12,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TimeoutOperator",
            "range": [
              727,
              742
            ],
            "loc": {
              "start": {
                "line": 20,
                "column": 4
              },
              "end": {
                "line": 20,
                "column": 19
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TimeoutOperator",
                      "range": [
                        773,
                        788
                      ],
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 13
                        },
                        "end": {
                          "line": 21,
                          "column": 28
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "waitFor",
                        "range": [
                          789,
                          796
                        ],
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 29
                          },
                          "end": {
                            "line": 21,
                            "column": 36
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "absoluteTimeout",
                        "range": [
                          798,
                          813
                        ],
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 38
                          },
                          "end": {
                            "line": 21,
                            "column": 53
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "errorToSend",
                        "range": [
                          815,
                          826
                        ],
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 55
                          },
                          "end": {
                            "line": 21,
                            "column": 66
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          828,
                          837
                        ],
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 68
                          },
                          "end": {
                            "line": 21,
                            "column": 77
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  849,
                                  853
                                ],
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "waitFor",
                                "range": [
                                  854,
                                  861
                                ],
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                849,
                                861
                              ],
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 8
                                },
                                "end": {
                                  "line": 22,
                                  "column": 20
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "waitFor",
                              "range": [
                                864,
                                871
                              ],
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 23
                                },
                                "end": {
                                  "line": 22,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              849,
                              871
                            ],
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 8
                              },
                              "end": {
                                "line": 22,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            849,
                            872
                          ],
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 8
                            },
                            "end": {
                              "line": 22,
                              "column": 31
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  881,
                                  885
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "absoluteTimeout",
                                "range": [
                                  886,
                                  901
                                ],
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                881,
                                901
                              ],
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 8
                                },
                                "end": {
                                  "line": 23,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "absoluteTimeout",
                              "range": [
                                904,
                                919
                              ],
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 31
                                },
                                "end": {
                                  "line": 23,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              881,
                              919
                            ],
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 8
                              },
                              "end": {
                                "line": 23,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            881,
                            920
                          ],
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 8
                            },
                            "end": {
                              "line": 23,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  929,
                                  933
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "errorToSend",
                                "range": [
                                  934,
                                  945
                                ],
                                "loc": {
                                  "start": {
                                    "line": 24,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 24,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                929,
                                945
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 8
                                },
                                "end": {
                                  "line": 24,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "errorToSend",
                              "range": [
                                948,
                                959
                              ],
                              "loc": {
                                "start": {
                                  "line": 24,
                                  "column": 27
                                },
                                "end": {
                                  "line": 24,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              929,
                              959
                            ],
                            "loc": {
                              "start": {
                                "line": 24,
                                "column": 8
                              },
                              "end": {
                                "line": 24,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            929,
                            960
                          ],
                          "loc": {
                            "start": {
                              "line": 24,
                              "column": 8
                            },
                            "end": {
                              "line": 24,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  969,
                                  973
                                ],
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  974,
                                  983
                                ],
                                "loc": {
                                  "start": {
                                    "line": 25,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 25,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                969,
                                983
                              ],
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 8
                                },
                                "end": {
                                  "line": 25,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                986,
                                995
                              ],
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 25
                                },
                                "end": {
                                  "line": 25,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              969,
                              995
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 25,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            969,
                            996
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 35
                            }
                          }
                        }
                      ],
                      "range": [
                        839,
                        1002
                      ],
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 79
                        },
                        "end": {
                          "line": 26,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      764,
                      1002
                    ],
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 26,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutOperator",
                            "range": [
                              1007,
                              1022
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 4
                              },
                              "end": {
                                "line": 27,
                                "column": 19
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1023,
                              1032
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 20
                              },
                              "end": {
                                "line": 27,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1007,
                            1032
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 4
                            },
                            "end": {
                              "line": 27,
                              "column": 29
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "call",
                          "range": [
                            1033,
                            1037
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 30
                            },
                            "end": {
                              "line": 27,
                              "column": 34
                            }
                          }
                        },
                        "range": [
                          1007,
                          1037
                        ],
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 4
                          },
                          "end": {
                            "line": 27,
                            "column": 34
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "subscriber",
                            "range": [
                              1050,
                              1060
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 47
                              },
                              "end": {
                                "line": 27,
                                "column": 57
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "source",
                            "range": [
                              1062,
                              1068
                            ],
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 59
                              },
                              "end": {
                                "line": 27,
                                "column": 65
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ReturnStatement",
                              "argument": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      1087,
                                      1093
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 28,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 21
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_subscribe",
                                    "range": [
                                      1094,
                                      1104
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 28,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "range": [
                                    1087,
                                    1104
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 28,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 32
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "NewExpression",
                                    "callee": {
                                      "type": "Identifier",
                                      "name": "TimeoutSubscriber",
                                      "range": [
                                        1109,
                                        1126
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 28,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 28,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "name": "subscriber",
                                        "range": [
                                          1127,
                                          1137
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 65
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1139,
                                            1143
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 71
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "absoluteTimeout",
                                          "range": [
                                            1144,
                                            1159
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 87
                                            }
                                          }
                                        },
                                        "range": [
                                          1139,
                                          1159
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 67
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 87
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1161,
                                            1165
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 89
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 93
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "waitFor",
                                          "range": [
                                            1166,
                                            1173
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 94
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 101
                                            }
                                          }
                                        },
                                        "range": [
                                          1161,
                                          1173
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 89
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 101
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1175,
                                            1179
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 103
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 107
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "errorToSend",
                                          "range": [
                                            1180,
                                            1191
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 108
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 119
                                            }
                                          }
                                        },
                                        "range": [
                                          1175,
                                          1191
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 103
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 119
                                          }
                                        }
                                      },
                                      {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1193,
                                            1197
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 121
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 125
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "scheduler",
                                          "range": [
                                            1198,
                                            1207
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 28,
                                              "column": 126
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 135
                                            }
                                          }
                                        },
                                        "range": [
                                          1193,
                                          1207
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 28,
                                            "column": 121
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 135
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      1105,
                                      1208
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 28,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 136
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  1087,
                                  1209
                                ],
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 28,
                                    "column": 137
                                  }
                                }
                              },
                              "range": [
                                1080,
                                1210
                              ],
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 8
                                },
                                "end": {
                                  "line": 28,
                                  "column": 138
                                }
                              }
                            }
                          ],
                          "range": [
                            1070,
                            1216
                          ],
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 67
                            },
                            "end": {
                              "line": 29,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          1040,
                          1216
                        ],
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 37
                          },
                          "end": {
                            "line": 29,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1007,
                        1216
                      ],
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 4
                        },
                        "end": {
                          "line": 29,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      1007,
                      1217
                    ],
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 4
                      },
                      "end": {
                        "line": 29,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TimeoutOperator",
                      "range": [
                        1229,
                        1244
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 11
                        },
                        "end": {
                          "line": 30,
                          "column": 26
                        }
                      }
                    },
                    "range": [
                      1222,
                      1245
                    ],
                    "loc": {
                      "start": {
                        "line": 30,
                        "column": 4
                      },
                      "end": {
                        "line": 30,
                        "column": 27
                      }
                    }
                  }
                ],
                "range": [
                  758,
                  1247
                ],
                "loc": {
                  "start": {
                    "line": 20,
                    "column": 35
                  },
                  "end": {
                    "line": 31,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                746,
                1247
              ],
              "loc": {
                "start": {
                  "line": 20,
                  "column": 23
                },
                "end": {
                  "line": 31,
                  "column": 1
                }
              }
            },
            "arguments": [],
            "range": [
              746,
              1249
            ],
            "loc": {
              "start": {
                "line": 20,
                "column": 23
              },
              "end": {
                "line": 31,
                "column": 3
              }
            }
          },
          "range": [
            727,
            1250
          ],
          "loc": {
            "start": {
              "line": 20,
              "column": 4
            },
            "end": {
              "line": 31,
              "column": 4
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        723,
        1251
      ],
      "loc": {
        "start": {
          "line": 20,
          "column": 0
        },
        "end": {
          "line": 31,
          "column": 5
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1252,
            1343
          ],
          "loc": {
            "start": {
              "line": 32,
              "column": 0
            },
            "end": {
              "line": 36,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "declarations": [
        {
          "type": "VariableDeclarator",
          "id": {
            "type": "Identifier",
            "name": "TimeoutSubscriber",
            "range": [
              1348,
              1365
            ],
            "loc": {
              "start": {
                "line": 37,
                "column": 4
              },
              "end": {
                "line": 37,
                "column": 21
              }
            }
          },
          "init": {
            "type": "CallExpression",
            "callee": {
              "type": "FunctionExpression",
              "id": null,
              "params": [
                {
                  "type": "Identifier",
                  "name": "_super",
                  "range": [
                    1379,
                    1385
                  ],
                  "loc": {
                    "start": {
                      "line": 37,
                      "column": 35
                    },
                    "end": {
                      "line": 37,
                      "column": 41
                    }
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "Identifier",
                        "name": "__extends",
                        "range": [
                          1393,
                          1402
                        ],
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 4
                          },
                          "end": {
                            "line": 38,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "name": "TimeoutSubscriber",
                          "range": [
                            1403,
                            1420
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 14
                            },
                            "end": {
                              "line": 38,
                              "column": 31
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "name": "_super",
                          "range": [
                            1422,
                            1428
                          ],
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 33
                            },
                            "end": {
                              "line": 38,
                              "column": 39
                            }
                          }
                        }
                      ],
                      "range": [
                        1393,
                        1429
                      ],
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 4
                        },
                        "end": {
                          "line": 38,
                          "column": 40
                        }
                      }
                    },
                    "range": [
                      1393,
                      1430
                    ],
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 41
                      }
                    }
                  },
                  {
                    "type": "FunctionDeclaration",
                    "id": {
                      "type": "Identifier",
                      "name": "TimeoutSubscriber",
                      "range": [
                        1444,
                        1461
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 13
                        },
                        "end": {
                          "line": 39,
                          "column": 30
                        }
                      }
                    },
                    "params": [
                      {
                        "type": "Identifier",
                        "name": "destination",
                        "range": [
                          1462,
                          1473
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 31
                          },
                          "end": {
                            "line": 39,
                            "column": 42
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "absoluteTimeout",
                        "range": [
                          1475,
                          1490
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 44
                          },
                          "end": {
                            "line": 39,
                            "column": 59
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "waitFor",
                        "range": [
                          1492,
                          1499
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 61
                          },
                          "end": {
                            "line": 39,
                            "column": 68
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "errorToSend",
                        "range": [
                          1501,
                          1512
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 70
                          },
                          "end": {
                            "line": 39,
                            "column": 81
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          1514,
                          1523
                        ],
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 83
                          },
                          "end": {
                            "line": 39,
                            "column": 92
                          }
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "_super",
                                "range": [
                                  1535,
                                  1541
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 14
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "call",
                                "range": [
                                  1542,
                                  1546
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 19
                                  }
                                }
                              },
                              "range": [
                                1535,
                                1546
                              ],
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 8
                                },
                                "end": {
                                  "line": 40,
                                  "column": 19
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "ThisExpression",
                                "range": [
                                  1547,
                                  1551
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 24
                                  }
                                }
                              },
                              {
                                "type": "Identifier",
                                "name": "destination",
                                "range": [
                                  1553,
                                  1564
                                ],
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 37
                                  }
                                }
                              }
                            ],
                            "range": [
                              1535,
                              1565
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1535,
                            1566
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1575,
                                  1579
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "absoluteTimeout",
                                "range": [
                                  1580,
                                  1595
                                ],
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                1575,
                                1595
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 8
                                },
                                "end": {
                                  "line": 41,
                                  "column": 28
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "absoluteTimeout",
                              "range": [
                                1598,
                                1613
                              ],
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 31
                                },
                                "end": {
                                  "line": 41,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              1575,
                              1613
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 8
                              },
                              "end": {
                                "line": 41,
                                "column": 46
                              }
                            }
                          },
                          "range": [
                            1575,
                            1614
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 47
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1623,
                                  1627
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "waitFor",
                                "range": [
                                  1628,
                                  1635
                                ],
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                1623,
                                1635
                              ],
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 8
                                },
                                "end": {
                                  "line": 42,
                                  "column": 20
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "waitFor",
                              "range": [
                                1638,
                                1645
                              ],
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 23
                                },
                                "end": {
                                  "line": 42,
                                  "column": 30
                                }
                              }
                            },
                            "range": [
                              1623,
                              1645
                            ],
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 8
                              },
                              "end": {
                                "line": 42,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            1623,
                            1646
                          ],
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 31
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1655,
                                  1659
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "errorToSend",
                                "range": [
                                  1660,
                                  1671
                                ],
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 24
                                  }
                                }
                              },
                              "range": [
                                1655,
                                1671
                              ],
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 8
                                },
                                "end": {
                                  "line": 43,
                                  "column": 24
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "errorToSend",
                              "range": [
                                1674,
                                1685
                              ],
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 27
                                },
                                "end": {
                                  "line": 43,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              1655,
                              1685
                            ],
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 8
                              },
                              "end": {
                                "line": 43,
                                "column": 38
                              }
                            }
                          },
                          "range": [
                            1655,
                            1686
                          ],
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 39
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1695,
                                  1699
                                ],
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduler",
                                "range": [
                                  1700,
                                  1709
                                ],
                                "loc": {
                                  "start": {
                                    "line": 44,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 22
                                  }
                                }
                              },
                              "range": [
                                1695,
                                1709
                              ],
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 8
                                },
                                "end": {
                                  "line": 44,
                                  "column": 22
                                }
                              }
                            },
                            "right": {
                              "type": "Identifier",
                              "name": "scheduler",
                              "range": [
                                1712,
                                1721
                              ],
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 25
                                },
                                "end": {
                                  "line": 44,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1695,
                              1721
                            ],
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 8
                              },
                              "end": {
                                "line": 44,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1695,
                            1722
                          ],
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 8
                            },
                            "end": {
                              "line": 44,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1731,
                                  1735
                                ],
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "index",
                                "range": [
                                  1736,
                                  1741
                                ],
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 45,
                                    "column": 18
                                  }
                                }
                              },
                              "range": [
                                1731,
                                1741
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 8
                                },
                                "end": {
                                  "line": 45,
                                  "column": 18
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                1744,
                                1745
                              ],
                              "loc": {
                                "start": {
                                  "line": 45,
                                  "column": 21
                                },
                                "end": {
                                  "line": 45,
                                  "column": 22
                                }
                              }
                            },
                            "range": [
                              1731,
                              1745
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 8
                              },
                              "end": {
                                "line": 45,
                                "column": 22
                              }
                            }
                          },
                          "range": [
                            1731,
                            1746
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 23
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1755,
                                  1759
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_previousIndex",
                                "range": [
                                  1760,
                                  1774
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 27
                                  }
                                }
                              },
                              "range": [
                                1755,
                                1774
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 27
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": 0,
                              "raw": "0",
                              "range": [
                                1777,
                                1778
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 30
                                },
                                "end": {
                                  "line": 46,
                                  "column": 31
                                }
                              }
                            },
                            "range": [
                              1755,
                              1778
                            ],
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            1755,
                            1779
                          ],
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 32
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "AssignmentExpression",
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1788,
                                  1792
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_hasCompleted",
                                "range": [
                                  1793,
                                  1806
                                ],
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                1788,
                                1806
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 8
                                },
                                "end": {
                                  "line": 47,
                                  "column": 26
                                }
                              }
                            },
                            "right": {
                              "type": "Literal",
                              "value": false,
                              "raw": "false",
                              "range": [
                                1809,
                                1814
                              ],
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 29
                                },
                                "end": {
                                  "line": 47,
                                  "column": 34
                                }
                              }
                            },
                            "range": [
                              1788,
                              1814
                            ],
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 34
                              }
                            }
                          },
                          "range": [
                            1788,
                            1815
                          ],
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 35
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "expression": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  1824,
                                  1828
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "scheduleTimeout",
                                "range": [
                                  1829,
                                  1844
                                ],
                                "loc": {
                                  "start": {
                                    "line": 48,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 28
                                  }
                                }
                              },
                              "range": [
                                1824,
                                1844
                              ],
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 8
                                },
                                "end": {
                                  "line": 48,
                                  "column": 28
                                }
                              }
                            },
                            "arguments": [],
                            "range": [
                              1824,
                              1846
                            ],
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 30
                              }
                            }
                          },
                          "range": [
                            1824,
                            1847
                          ],
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 31
                            }
                          }
                        }
                      ],
                      "range": [
                        1525,
                        1853
                      ],
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 94
                        },
                        "end": {
                          "line": 49,
                          "column": 5
                        }
                      }
                    },
                    "generator": false,
                    "expression": false,
                    "range": [
                      1435,
                      1853
                    ],
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 4
                      },
                      "end": {
                        "line": 49,
                        "column": 5
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "Object",
                          "range": [
                            1858,
                            1864
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 4
                            },
                            "end": {
                              "line": 50,
                              "column": 10
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "defineProperty",
                          "range": [
                            1865,
                            1879
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 11
                            },
                            "end": {
                              "line": 50,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          1858,
                          1879
                        ],
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 4
                          },
                          "end": {
                            "line": 50,
                            "column": 25
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutSubscriber",
                            "range": [
                              1880,
                              1897
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 26
                              },
                              "end": {
                                "line": 50,
                                "column": 43
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              1898,
                              1907
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 44
                              },
                              "end": {
                                "line": 50,
                                "column": 53
                              }
                            }
                          },
                          "range": [
                            1880,
                            1907
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 26
                            },
                            "end": {
                              "line": 50,
                              "column": 53
                            }
                          }
                        },
                        {
                          "type": "Literal",
                          "value": "previousIndex",
                          "raw": "\"previousIndex\"",
                          "range": [
                            1909,
                            1924
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 55
                            },
                            "end": {
                              "line": 50,
                              "column": 70
                            }
                          }
                        },
                        {
                          "type": "ObjectExpression",
                          "properties": [
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "get",
                                "range": [
                                  1936,
                                  1939
                                ],
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 11
                                  }
                                }
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "id": null,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            1974,
                                            1978
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_previousIndex",
                                          "range": [
                                            1979,
                                            1993
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 52,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 38
                                            }
                                          }
                                        },
                                        "range": [
                                          1974,
                                          1993
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "range": [
                                        1967,
                                        1994
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 39
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1953,
                                    2004
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 51,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 53,
                                      "column": 9
                                    }
                                  }
                                },
                                "generator": false,
                                "expression": false,
                                "range": [
                                  1941,
                                  2004
                                ],
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 53,
                                    "column": 9
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                1936,
                                2004
                              ],
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 8
                                },
                                "end": {
                                  "line": 53,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "enumerable",
                                "range": [
                                  2014,
                                  2024
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 18
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2026,
                                  2030
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 24
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2014,
                                2030
                              ],
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 8
                                },
                                "end": {
                                  "line": 54,
                                  "column": 24
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "configurable",
                                "range": [
                                  2040,
                                  2052
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 20
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2054,
                                  2058
                                ],
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 26
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2040,
                                2058
                              ],
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 26
                                }
                              }
                            }
                          ],
                          "range": [
                            1926,
                            2064
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 72
                            },
                            "end": {
                              "line": 56,
                              "column": 5
                            }
                          }
                        }
                      ],
                      "range": [
                        1858,
                        2065
                      ],
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 4
                        },
                        "end": {
                          "line": 56,
                          "column": 6
                        }
                      }
                    },
                    "range": [
                      1858,
                      2066
                    ],
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 4
                      },
                      "end": {
                        "line": 56,
                        "column": 7
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "CallExpression",
                      "callee": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "Object",
                          "range": [
                            2071,
                            2077
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 4
                            },
                            "end": {
                              "line": 57,
                              "column": 10
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "defineProperty",
                          "range": [
                            2078,
                            2092
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 11
                            },
                            "end": {
                              "line": 57,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          2071,
                          2092
                        ],
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 4
                          },
                          "end": {
                            "line": 57,
                            "column": 25
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutSubscriber",
                            "range": [
                              2093,
                              2110
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 26
                              },
                              "end": {
                                "line": 57,
                                "column": 43
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2111,
                              2120
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 44
                              },
                              "end": {
                                "line": 57,
                                "column": 53
                              }
                            }
                          },
                          "range": [
                            2093,
                            2120
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 26
                            },
                            "end": {
                              "line": 57,
                              "column": 53
                            }
                          }
                        },
                        {
                          "type": "Literal",
                          "value": "hasCompleted",
                          "raw": "\"hasCompleted\"",
                          "range": [
                            2122,
                            2136
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 55
                            },
                            "end": {
                              "line": 57,
                              "column": 69
                            }
                          }
                        },
                        {
                          "type": "ObjectExpression",
                          "properties": [
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "get",
                                "range": [
                                  2148,
                                  2151
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 11
                                  }
                                }
                              },
                              "value": {
                                "type": "FunctionExpression",
                                "id": null,
                                "params": [],
                                "body": {
                                  "type": "BlockStatement",
                                  "body": [
                                    {
                                      "type": "ReturnStatement",
                                      "argument": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2186,
                                            2190
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 23
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "_hasCompleted",
                                          "range": [
                                            2191,
                                            2204
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 59,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 59,
                                              "column": 37
                                            }
                                          }
                                        },
                                        "range": [
                                          2186,
                                          2204
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 59,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 59,
                                            "column": 37
                                          }
                                        }
                                      },
                                      "range": [
                                        2179,
                                        2205
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 38
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    2165,
                                    2215
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 58,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 9
                                    }
                                  }
                                },
                                "generator": false,
                                "expression": false,
                                "range": [
                                  2153,
                                  2215
                                ],
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 9
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2148,
                                2215
                              ],
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 8
                                },
                                "end": {
                                  "line": 60,
                                  "column": 9
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "enumerable",
                                "range": [
                                  2225,
                                  2235
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 18
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2237,
                                  2241
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 24
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2225,
                                2241
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 8
                                },
                                "end": {
                                  "line": 61,
                                  "column": 24
                                }
                              }
                            },
                            {
                              "type": "Property",
                              "key": {
                                "type": "Identifier",
                                "name": "configurable",
                                "range": [
                                  2251,
                                  2263
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 20
                                  }
                                }
                              },
                              "value": {
                                "type": "Literal",
                                "value": true,
                                "raw": "true",
                                "range": [
                                  2265,
                                  2269
                                ],
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 26
                                  }
                                }
                              },
                              "kind": "init",
                              "method": false,
                              "shorthand": false,
                              "computed": false,
                              "range": [
                                2251,
                                2269
                              ],
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 8
                                },
                                "end": {
                                  "line": 62,
                                  "column": 26
                                }
                              }
                            }
                          ],
                          "range": [
                            2138,
                            2275
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 71
                            },
                            "end": {
                              "line": 63,
                              "column": 5
                            }
                          }
                        }
                      ],
                      "range": [
                        2071,
                        2276
                      ],
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 4
                        },
                        "end": {
                          "line": 63,
                          "column": 6
                        }
                      }
                    },
                    "range": [
                      2071,
                      2277
                    ],
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 4
                      },
                      "end": {
                        "line": 63,
                        "column": 7
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "TimeoutSubscriber",
                          "range": [
                            2282,
                            2299
                          ],
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 4
                            },
                            "end": {
                              "line": 64,
                              "column": 21
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "dispatchTimeout",
                          "range": [
                            2300,
                            2315
                          ],
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 22
                            },
                            "end": {
                              "line": 64,
                              "column": 37
                            }
                          }
                        },
                        "range": [
                          2282,
                          2315
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 4
                          },
                          "end": {
                            "line": 64,
                            "column": 37
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "state",
                            "range": [
                              2328,
                              2333
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 50
                              },
                              "end": {
                                "line": 64,
                                "column": 55
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "source",
                                    "range": [
                                      2349,
                                      2355
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "state",
                                      "range": [
                                        2358,
                                        2363
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 26
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "subscriber",
                                      "range": [
                                        2364,
                                        2374
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      2358,
                                      2374
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    2349,
                                    2374
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2345,
                                2375
                              ],
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 8
                                },
                                "end": {
                                  "line": 65,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "currentIndex",
                                    "range": [
                                      2388,
                                      2400
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "state",
                                      "range": [
                                        2403,
                                        2408
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "index",
                                      "range": [
                                        2409,
                                        2414
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "range": [
                                      2403,
                                      2414
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 66,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 66,
                                        "column": 38
                                      }
                                    }
                                  },
                                  "range": [
                                    2388,
                                    2414
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 66,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 66,
                                      "column": 38
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2384,
                                2415
                              ],
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 8
                                },
                                "end": {
                                  "line": 66,
                                  "column": 39
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "LogicalExpression",
                                "operator": "&&",
                                "left": {
                                  "type": "UnaryExpression",
                                  "operator": "!",
                                  "argument": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        2429,
                                        2435
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "hasCompleted",
                                      "range": [
                                        2436,
                                        2448
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 32
                                        }
                                      }
                                    },
                                    "range": [
                                      2429,
                                      2448
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 32
                                      }
                                    }
                                  },
                                  "prefix": true,
                                  "range": [
                                    2428,
                                    2448
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 32
                                    }
                                  }
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "operator": "===",
                                  "left": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "source",
                                      "range": [
                                        2452,
                                        2458
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 42
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "previousIndex",
                                      "range": [
                                        2459,
                                        2472
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 56
                                        }
                                      }
                                    },
                                    "range": [
                                      2452,
                                      2472
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 56
                                      }
                                    }
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "name": "currentIndex",
                                    "range": [
                                      2477,
                                      2489
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 67,
                                        "column": 61
                                      },
                                      "end": {
                                        "line": 67,
                                        "column": 73
                                      }
                                    }
                                  },
                                  "range": [
                                    2452,
                                    2489
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 73
                                    }
                                  }
                                },
                                "range": [
                                  2428,
                                  2489
                                ],
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 73
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "Identifier",
                                          "name": "source",
                                          "range": [
                                            2505,
                                            2511
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 18
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "notifyTimeout",
                                          "range": [
                                            2512,
                                            2525
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 19
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          2505,
                                          2525
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        2505,
                                        2527
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2505,
                                      2528
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 68,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 68,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2491,
                                  2538
                                ],
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2424,
                                2538
                              ],
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 8
                                },
                                "end": {
                                  "line": 69,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2335,
                            2544
                          ],
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 57
                            },
                            "end": {
                              "line": 70,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2318,
                          2544
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 40
                          },
                          "end": {
                            "line": 70,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2282,
                        2544
                      ],
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 4
                        },
                        "end": {
                          "line": 70,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2282,
                      2545
                    ],
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 4
                      },
                      "end": {
                        "line": 70,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutSubscriber",
                            "range": [
                              2550,
                              2567
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 4
                              },
                              "end": {
                                "line": 71,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2568,
                              2577
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 22
                              },
                              "end": {
                                "line": 71,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            2550,
                            2577
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 4
                            },
                            "end": {
                              "line": 71,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "scheduleTimeout",
                          "range": [
                            2578,
                            2593
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 32
                            },
                            "end": {
                              "line": 71,
                              "column": 47
                            }
                          }
                        },
                        "range": [
                          2550,
                          2593
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 4
                          },
                          "end": {
                            "line": 71,
                            "column": 47
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "VariableDeclaration",
                              "declarations": [
                                {
                                  "type": "VariableDeclarator",
                                  "id": {
                                    "type": "Identifier",
                                    "name": "currentIndex",
                                    "range": [
                                      2622,
                                      2634
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "init": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2637,
                                        2641
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "index",
                                      "range": [
                                        2642,
                                        2647
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 72,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 72,
                                          "column": 37
                                        }
                                      }
                                    },
                                    "range": [
                                      2637,
                                      2647
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 37
                                      }
                                    }
                                  },
                                  "range": [
                                    2622,
                                    2647
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "kind": "var",
                              "range": [
                                2618,
                                2648
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 8
                                },
                                "end": {
                                  "line": 72,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2657,
                                        2661
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "scheduler",
                                      "range": [
                                        2662,
                                        2671
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "range": [
                                      2657,
                                      2671
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 22
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "schedule",
                                    "range": [
                                      2672,
                                      2680
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "range": [
                                    2657,
                                    2680
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 31
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "Identifier",
                                      "name": "TimeoutSubscriber",
                                      "range": [
                                        2681,
                                        2698
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 49
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "dispatchTimeout",
                                      "range": [
                                        2699,
                                        2714
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 65
                                        }
                                      }
                                    },
                                    "range": [
                                      2681,
                                      2714
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 65
                                      }
                                    }
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2716,
                                        2720
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 71
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "waitFor",
                                      "range": [
                                        2721,
                                        2728
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 79
                                        }
                                      }
                                    },
                                    "range": [
                                      2716,
                                      2728
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 79
                                      }
                                    }
                                  },
                                  {
                                    "type": "ObjectExpression",
                                    "properties": [
                                      {
                                        "type": "Property",
                                        "key": {
                                          "type": "Identifier",
                                          "name": "subscriber",
                                          "range": [
                                            2732,
                                            2742
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 83
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 93
                                            }
                                          }
                                        },
                                        "value": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2744,
                                            2748
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 95
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 99
                                            }
                                          }
                                        },
                                        "kind": "init",
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "range": [
                                          2732,
                                          2748
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 83
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 99
                                          }
                                        }
                                      },
                                      {
                                        "type": "Property",
                                        "key": {
                                          "type": "Identifier",
                                          "name": "index",
                                          "range": [
                                            2750,
                                            2755
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 101
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 106
                                            }
                                          }
                                        },
                                        "value": {
                                          "type": "Identifier",
                                          "name": "currentIndex",
                                          "range": [
                                            2757,
                                            2769
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 108
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 120
                                            }
                                          }
                                        },
                                        "kind": "init",
                                        "method": false,
                                        "shorthand": false,
                                        "computed": false,
                                        "range": [
                                          2750,
                                          2769
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 101
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 120
                                          }
                                        }
                                      }
                                    ],
                                    "range": [
                                      2730,
                                      2771
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 122
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2657,
                                  2772
                                ],
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 123
                                  }
                                }
                              },
                              "range": [
                                2657,
                                2773
                              ],
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 8
                                },
                                "end": {
                                  "line": 73,
                                  "column": 124
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "UpdateExpression",
                                "operator": "++",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2782,
                                      2786
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "index",
                                    "range": [
                                      2787,
                                      2792
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 74,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 74,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "range": [
                                    2782,
                                    2792
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 74,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 74,
                                      "column": 18
                                    }
                                  }
                                },
                                "prefix": false,
                                "range": [
                                  2782,
                                  2794
                                ],
                                "loc": {
                                  "start": {
                                    "line": 74,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 74,
                                    "column": 20
                                  }
                                }
                              },
                              "range": [
                                2782,
                                2795
                              ],
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 8
                                },
                                "end": {
                                  "line": 74,
                                  "column": 21
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2804,
                                      2808
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_previousIndex",
                                    "range": [
                                      2809,
                                      2823
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 75,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 75,
                                        "column": 27
                                      }
                                    }
                                  },
                                  "range": [
                                    2804,
                                    2823
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 27
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Identifier",
                                  "name": "currentIndex",
                                  "range": [
                                    2826,
                                    2838
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 75,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 75,
                                      "column": 42
                                    }
                                  }
                                },
                                "range": [
                                  2804,
                                  2838
                                ],
                                "loc": {
                                  "start": {
                                    "line": 75,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 75,
                                    "column": 42
                                  }
                                }
                              },
                              "range": [
                                2804,
                                2839
                              ],
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 8
                                },
                                "end": {
                                  "line": 75,
                                  "column": 43
                                }
                              }
                            }
                          ],
                          "range": [
                            2608,
                            2845
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 62
                            },
                            "end": {
                              "line": 76,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2596,
                          2845
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 50
                          },
                          "end": {
                            "line": 76,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2550,
                        2845
                      ],
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 4
                        },
                        "end": {
                          "line": 76,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2550,
                      2846
                    ],
                    "loc": {
                      "start": {
                        "line": 71,
                        "column": 4
                      },
                      "end": {
                        "line": 76,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutSubscriber",
                            "range": [
                              2851,
                              2868
                            ],
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 4
                              },
                              "end": {
                                "line": 77,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              2869,
                              2878
                            ],
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 22
                              },
                              "end": {
                                "line": 77,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            2851,
                            2878
                          ],
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 4
                            },
                            "end": {
                              "line": 77,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_next",
                          "range": [
                            2879,
                            2884
                          ],
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 32
                            },
                            "end": {
                              "line": 77,
                              "column": 37
                            }
                          }
                        },
                        "range": [
                          2851,
                          2884
                        ],
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 4
                          },
                          "end": {
                            "line": 77,
                            "column": 37
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "value",
                            "range": [
                              2897,
                              2902
                            ],
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 50
                              },
                              "end": {
                                "line": 77,
                                "column": 55
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        2914,
                                        2918
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        2919,
                                        2930
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 78,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      2914,
                                      2930
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "next",
                                    "range": [
                                      2931,
                                      2935
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 29
                                      }
                                    }
                                  },
                                  "range": [
                                    2914,
                                    2935
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 29
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "value",
                                    "range": [
                                      2936,
                                      2941
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 78,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 78,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2914,
                                  2942
                                ],
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 36
                                  }
                                }
                              },
                              "range": [
                                2914,
                                2943
                              ],
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 8
                                },
                                "end": {
                                  "line": 78,
                                  "column": 37
                                }
                              }
                            },
                            {
                              "type": "IfStatement",
                              "test": {
                                "type": "UnaryExpression",
                                "operator": "!",
                                "argument": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      2957,
                                      2961
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 17
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "absoluteTimeout",
                                    "range": [
                                      2962,
                                      2977
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 79,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 79,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    2957,
                                    2977
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 79,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 79,
                                      "column": 33
                                    }
                                  }
                                },
                                "prefix": true,
                                "range": [
                                  2956,
                                  2977
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 79,
                                    "column": 33
                                  }
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "expression": {
                                      "type": "CallExpression",
                                      "callee": {
                                        "type": "MemberExpression",
                                        "computed": false,
                                        "object": {
                                          "type": "ThisExpression",
                                          "range": [
                                            2993,
                                            2997
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "name": "scheduleTimeout",
                                          "range": [
                                            2998,
                                            3013
                                          ],
                                          "loc": {
                                            "start": {
                                              "line": 80,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 80,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "range": [
                                          2993,
                                          3013
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 80,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 80,
                                            "column": 32
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        2993,
                                        3015
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 80,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 80,
                                          "column": 34
                                        }
                                      }
                                    },
                                    "range": [
                                      2993,
                                      3016
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 35
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  2979,
                                  3026
                                ],
                                "loc": {
                                  "start": {
                                    "line": 79,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 81,
                                    "column": 9
                                  }
                                }
                              },
                              "alternate": null,
                              "range": [
                                2952,
                                3026
                              ],
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 8
                                },
                                "end": {
                                  "line": 81,
                                  "column": 9
                                }
                              }
                            }
                          ],
                          "range": [
                            2904,
                            3032
                          ],
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 57
                            },
                            "end": {
                              "line": 82,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          2887,
                          3032
                        ],
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 40
                          },
                          "end": {
                            "line": 82,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        2851,
                        3032
                      ],
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 4
                        },
                        "end": {
                          "line": 82,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      2851,
                      3033
                    ],
                    "loc": {
                      "start": {
                        "line": 77,
                        "column": 4
                      },
                      "end": {
                        "line": 82,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutSubscriber",
                            "range": [
                              3038,
                              3055
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 4
                              },
                              "end": {
                                "line": 83,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3056,
                              3065
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 22
                              },
                              "end": {
                                "line": 83,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            3038,
                            3065
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 4
                            },
                            "end": {
                              "line": 83,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_error",
                          "range": [
                            3066,
                            3072
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 32
                            },
                            "end": {
                              "line": 83,
                              "column": 38
                            }
                          }
                        },
                        "range": [
                          3038,
                          3072
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 4
                          },
                          "end": {
                            "line": 83,
                            "column": 38
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [
                          {
                            "type": "Identifier",
                            "name": "err",
                            "range": [
                              3085,
                              3088
                            ],
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 51
                              },
                              "end": {
                                "line": 83,
                                "column": 54
                              }
                            }
                          }
                        ],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3100,
                                        3104
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3105,
                                        3116
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 84,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 84,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3100,
                                      3116
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "error",
                                    "range": [
                                      3117,
                                      3122
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 30
                                      }
                                    }
                                  },
                                  "range": [
                                    3100,
                                    3122
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 84,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 84,
                                      "column": 30
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "name": "err",
                                    "range": [
                                      3123,
                                      3126
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 84,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 84,
                                        "column": 34
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3100,
                                  3127
                                ],
                                "loc": {
                                  "start": {
                                    "line": 84,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 84,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                3100,
                                3128
                              ],
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 8
                                },
                                "end": {
                                  "line": 84,
                                  "column": 36
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3137,
                                      3141
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_hasCompleted",
                                    "range": [
                                      3142,
                                      3155
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    3137,
                                    3155
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 26
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": true,
                                  "raw": "true",
                                  "range": [
                                    3158,
                                    3162
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 85,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 85,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  3137,
                                  3162
                                ],
                                "loc": {
                                  "start": {
                                    "line": 85,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 85,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                3137,
                                3163
                              ],
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 8
                                },
                                "end": {
                                  "line": 85,
                                  "column": 34
                                }
                              }
                            }
                          ],
                          "range": [
                            3090,
                            3169
                          ],
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 56
                            },
                            "end": {
                              "line": 86,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3075,
                          3169
                        ],
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 41
                          },
                          "end": {
                            "line": 86,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3038,
                        3169
                      ],
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 4
                        },
                        "end": {
                          "line": 86,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3038,
                      3170
                    ],
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 4
                      },
                      "end": {
                        "line": 86,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutSubscriber",
                            "range": [
                              3175,
                              3192
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 4
                              },
                              "end": {
                                "line": 87,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3193,
                              3202
                            ],
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 22
                              },
                              "end": {
                                "line": 87,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            3175,
                            3202
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 4
                            },
                            "end": {
                              "line": 87,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_complete",
                          "range": [
                            3203,
                            3212
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 32
                            },
                            "end": {
                              "line": 87,
                              "column": 41
                            }
                          }
                        },
                        "range": [
                          3175,
                          3212
                        ],
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 4
                          },
                          "end": {
                            "line": 87,
                            "column": 41
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "MemberExpression",
                                    "computed": false,
                                    "object": {
                                      "type": "ThisExpression",
                                      "range": [
                                        3237,
                                        3241
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "name": "destination",
                                      "range": [
                                        3242,
                                        3253
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 24
                                        }
                                      }
                                    },
                                    "range": [
                                      3237,
                                      3253
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 24
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "complete",
                                    "range": [
                                      3254,
                                      3262
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 33
                                      }
                                    }
                                  },
                                  "range": [
                                    3237,
                                    3262
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 88,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 88,
                                      "column": 33
                                    }
                                  }
                                },
                                "arguments": [],
                                "range": [
                                  3237,
                                  3264
                                ],
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 35
                                  }
                                }
                              },
                              "range": [
                                3237,
                                3265
                              ],
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 8
                                },
                                "end": {
                                  "line": 88,
                                  "column": 36
                                }
                              }
                            },
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "AssignmentExpression",
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3274,
                                      3278
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_hasCompleted",
                                    "range": [
                                      3279,
                                      3292
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 89,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 89,
                                        "column": 26
                                      }
                                    }
                                  },
                                  "range": [
                                    3274,
                                    3292
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 26
                                    }
                                  }
                                },
                                "right": {
                                  "type": "Literal",
                                  "value": true,
                                  "raw": "true",
                                  "range": [
                                    3295,
                                    3299
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  3274,
                                  3299
                                ],
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                3274,
                                3300
                              ],
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 8
                                },
                                "end": {
                                  "line": 89,
                                  "column": 34
                                }
                              }
                            }
                          ],
                          "range": [
                            3227,
                            3306
                          ],
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 56
                            },
                            "end": {
                              "line": 90,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3215,
                          3306
                        ],
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 44
                          },
                          "end": {
                            "line": 90,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3175,
                        3306
                      ],
                      "loc": {
                        "start": {
                          "line": 87,
                          "column": 4
                        },
                        "end": {
                          "line": 90,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3175,
                      3307
                    ],
                    "loc": {
                      "start": {
                        "line": 87,
                        "column": 4
                      },
                      "end": {
                        "line": 90,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "TimeoutSubscriber",
                            "range": [
                              3312,
                              3329
                            ],
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 4
                              },
                              "end": {
                                "line": 91,
                                "column": 21
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "prototype",
                            "range": [
                              3330,
                              3339
                            ],
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 22
                              },
                              "end": {
                                "line": 91,
                                "column": 31
                              }
                            }
                          },
                          "range": [
                            3312,
                            3339
                          ],
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 4
                            },
                            "end": {
                              "line": 91,
                              "column": 31
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "notifyTimeout",
                          "range": [
                            3340,
                            3353
                          ],
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 32
                            },
                            "end": {
                              "line": 91,
                              "column": 45
                            }
                          }
                        },
                        "range": [
                          3312,
                          3353
                        ],
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 4
                          },
                          "end": {
                            "line": 91,
                            "column": 45
                          }
                        }
                      },
                      "right": {
                        "type": "FunctionExpression",
                        "id": null,
                        "params": [],
                        "body": {
                          "type": "BlockStatement",
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "expression": {
                                "type": "CallExpression",
                                "callee": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      3378,
                                      3382
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "error",
                                    "range": [
                                      3383,
                                      3388
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 18
                                      }
                                    }
                                  },
                                  "range": [
                                    3378,
                                    3388
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 92,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 92,
                                      "column": 18
                                    }
                                  }
                                },
                                "arguments": [
                                  {
                                    "type": "LogicalExpression",
                                    "operator": "||",
                                    "left": {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          3389,
                                          3393
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 23
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "errorToSend",
                                        "range": [
                                          3394,
                                          3405
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 35
                                          }
                                        }
                                      },
                                      "range": [
                                        3389,
                                        3405
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "right": {
                                      "type": "NewExpression",
                                      "callee": {
                                        "type": "Identifier",
                                        "name": "TimeoutError",
                                        "range": [
                                          3413,
                                          3425
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 92,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 92,
                                            "column": 55
                                          }
                                        }
                                      },
                                      "arguments": [],
                                      "range": [
                                        3409,
                                        3427
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 92,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 92,
                                          "column": 57
                                        }
                                      }
                                    },
                                    "range": [
                                      3389,
                                      3427
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 57
                                      }
                                    }
                                  }
                                ],
                                "range": [
                                  3378,
                                  3428
                                ],
                                "loc": {
                                  "start": {
                                    "line": 92,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 92,
                                    "column": 58
                                  }
                                }
                              },
                              "range": [
                                3378,
                                3429
                              ],
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 8
                                },
                                "end": {
                                  "line": 92,
                                  "column": 59
                                }
                              }
                            }
                          ],
                          "range": [
                            3368,
                            3435
                          ],
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 60
                            },
                            "end": {
                              "line": 93,
                              "column": 5
                            }
                          }
                        },
                        "generator": false,
                        "expression": false,
                        "range": [
                          3356,
                          3435
                        ],
                        "loc": {
                          "start": {
                            "line": 91,
                            "column": 48
                          },
                          "end": {
                            "line": 93,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        3312,
                        3435
                      ],
                      "loc": {
                        "start": {
                          "line": 91,
                          "column": 4
                        },
                        "end": {
                          "line": 93,
                          "column": 5
                        }
                      }
                    },
                    "range": [
                      3312,
                      3436
                    ],
                    "loc": {
                      "start": {
                        "line": 91,
                        "column": 4
                      },
                      "end": {
                        "line": 93,
                        "column": 6
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "argument": {
                      "type": "Identifier",
                      "name": "TimeoutSubscriber",
                      "range": [
                        3448,
                        3465
                      ],
                      "loc": {
                        "start": {
                          "line": 94,
                          "column": 11
                        },
                        "end": {
                          "line": 94,
                          "column": 28
                        }
                      }
                    },
                    "range": [
                      3441,
                      3466
                    ],
                    "loc": {
                      "start": {
                        "line": 94,
                        "column": 4
                      },
                      "end": {
                        "line": 94,
                        "column": 29
                      }
                    }
                  }
                ],
                "range": [
                  1387,
                  3468
                ],
                "loc": {
                  "start": {
                    "line": 37,
                    "column": 43
                  },
                  "end": {
                    "line": 95,
                    "column": 1
                  }
                }
              },
              "generator": false,
              "expression": false,
              "range": [
                1369,
                3468
              ],
              "loc": {
                "start": {
                  "line": 37,
                  "column": 25
                },
                "end": {
                  "line": 95,
                  "column": 1
                }
              }
            },
            "arguments": [
              {
                "type": "Identifier",
                "name": "Subscriber",
                "range": [
                  3469,
                  3479
                ],
                "loc": {
                  "start": {
                    "line": 95,
                    "column": 2
                  },
                  "end": {
                    "line": 95,
                    "column": 12
                  }
                }
              }
            ],
            "range": [
              1369,
              3480
            ],
            "loc": {
              "start": {
                "line": 37,
                "column": 25
              },
              "end": {
                "line": 95,
                "column": 13
              }
            }
          },
          "range": [
            1348,
            3481
          ],
          "loc": {
            "start": {
              "line": 37,
              "column": 4
            },
            "end": {
              "line": 95,
              "column": 14
            }
          }
        }
      ],
      "kind": "var",
      "range": [
        1344,
        3482
      ],
      "loc": {
        "start": {
          "line": 37,
          "column": 0
        },
        "end": {
          "line": 95,
          "column": 15
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
          "range": [
            1252,
            1343
          ],
          "loc": {
            "start": {
              "line": 32,
              "column": 0
            },
            "end": {
              "line": 36,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=timeout.js.map",
          "range": [
            3483,
            3518
          ],
          "loc": {
            "start": {
              "line": 96,
              "column": 0
            },
            "end": {
              "line": 96,
              "column": 35
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3482
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 95,
      "column": 15
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": "*\n * @param due\n * @param errorToSend\n * @param scheduler\n * @return {Observable<R>|WebSocketSubject<T>|Observable<T>}\n * @method timeout\n * @owner Observable\n ",
      "range": [
        182,
        346
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 3
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n ",
      "range": [
        1252,
        1343
      ],
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 36,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=timeout.js.map",
      "range": [
        3483,
        3518
      ],
      "loc": {
        "start": {
          "line": 96,
          "column": 0
        },
        "end": {
          "line": 96,
          "column": 35
        }
      }
    }
  ]
}