{
  "type": "Program",
  "body": [
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isScheduler",
            "range": [
              9,
              20
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 20
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isScheduler",
            "range": [
              9,
              20
            ],
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 20
              }
            }
          },
          "range": [
            9,
            20
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 9
            },
            "end": {
              "line": 1,
              "column": 20
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/isScheduler",
        "raw": "'../util/isScheduler'",
        "range": [
          28,
          49
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 28
          },
          "end": {
            "line": 1,
            "column": 49
          }
        }
      },
      "range": [
        0,
        50
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 50
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "isArray",
            "range": [
              60,
              67
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 16
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "isArray",
            "range": [
              60,
              67
            ],
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 16
              }
            }
          },
          "range": [
            60,
            67
          ],
          "loc": {
            "start": {
              "line": 2,
              "column": 9
            },
            "end": {
              "line": 2,
              "column": 16
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../util/isArray",
        "raw": "'../util/isArray'",
        "range": [
          75,
          92
        ],
        "loc": {
          "start": {
            "line": 2,
            "column": 24
          },
          "end": {
            "line": 2,
            "column": 41
          }
        }
      },
      "range": [
        51,
        93
      ],
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 42
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "ArrayObservable",
            "range": [
              103,
              118
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 24
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "ArrayObservable",
            "range": [
              103,
              118
            ],
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 24
              }
            }
          },
          "range": [
            103,
            118
          ],
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 24
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "./ArrayObservable",
        "raw": "'./ArrayObservable'",
        "range": [
          126,
          145
        ],
        "loc": {
          "start": {
            "line": 3,
            "column": 32
          },
          "end": {
            "line": 3,
            "column": 51
          }
        }
      },
      "range": [
        94,
        146
      ],
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 52
        }
      }
    },
    {
      "type": "ImportDeclaration",
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "local": {
            "type": "Identifier",
            "name": "CombineLatestOperator",
            "range": [
              156,
              177
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 30
              }
            }
          },
          "imported": {
            "type": "Identifier",
            "name": "CombineLatestOperator",
            "range": [
              156,
              177
            ],
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 30
              }
            }
          },
          "range": [
            156,
            177
          ],
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 30
            }
          }
        }
      ],
      "source": {
        "type": "Literal",
        "value": "../operator/combineLatest",
        "raw": "'../operator/combineLatest'",
        "range": [
          185,
          212
        ],
        "loc": {
          "start": {
            "line": 4,
            "column": 38
          },
          "end": {
            "line": 4,
            "column": 65
          }
        }
      },
      "range": [
        147,
        213
      ],
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 66
        }
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": " tslint:enable:max-line-length ",
          "range": [
            214,
            249
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 35
            }
          }
        },
        {
          "type": "Block",
          "value": "*\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from all the Observables passed as\n * arguments. This is done by subscribing to each Observable, in order, and\n * collecting an array of each of the most recent values any time any of the\n * input Observables emits, then either taking that array and passing it as\n * arguments to an optional `project` function and emitting the return value of\n * that, or just emitting the array of recent values directly if there is no\n * `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} observable1 An input Observable to combine with the\n * source Observable.\n * @param {Observable} observable2 An input Observable to combine with the\n * source Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\n * each input Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @static true\n * @name combineLatest\n * @owner Observable\n ",
          "range": [
            250,
            2339
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 48,
              "column": 3
            }
          }
        }
      ]
    },
    {
      "type": "ExportNamedDeclaration",
      "declaration": {
        "type": "FunctionDeclaration",
        "id": {
          "type": "Identifier",
          "name": "combineLatest",
          "range": [
            2356,
            2369
          ],
          "loc": {
            "start": {
              "line": 49,
              "column": 16
            },
            "end": {
              "line": 49,
              "column": 29
            }
          }
        },
        "params": [],
        "body": {
          "type": "BlockStatement",
          "body": [
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "observables",
                    "range": [
                      2382,
                      2393
                    ],
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 8
                      },
                      "end": {
                        "line": 50,
                        "column": 19
                      }
                    }
                  },
                  "init": {
                    "type": "ArrayExpression",
                    "elements": [],
                    "range": [
                      2396,
                      2398
                    ],
                    "loc": {
                      "start": {
                        "line": 50,
                        "column": 22
                      },
                      "end": {
                        "line": 50,
                        "column": 24
                      }
                    }
                  },
                  "range": [
                    2382,
                    2398
                  ],
                  "loc": {
                    "start": {
                      "line": 50,
                      "column": 8
                    },
                    "end": {
                      "line": 50,
                      "column": 24
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                2378,
                2399
              ],
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 50,
                  "column": 25
                }
              }
            },
            {
              "type": "ForStatement",
              "init": {
                "type": "VariableDeclaration",
                "declarations": [
                  {
                    "type": "VariableDeclarator",
                    "id": {
                      "type": "Identifier",
                      "name": "_i",
                      "range": [
                        2413,
                        2415
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 13
                        },
                        "end": {
                          "line": 51,
                          "column": 15
                        }
                      }
                    },
                    "init": {
                      "type": "Literal",
                      "value": 0,
                      "raw": "0",
                      "range": [
                        2418,
                        2419
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 18
                        },
                        "end": {
                          "line": 51,
                          "column": 19
                        }
                      }
                    },
                    "range": [
                      2413,
                      2419
                    ],
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 13
                      },
                      "end": {
                        "line": 51,
                        "column": 19
                      }
                    }
                  }
                ],
                "kind": "var",
                "range": [
                  2409,
                  2419
                ],
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 9
                  },
                  "end": {
                    "line": 51,
                    "column": 19
                  }
                }
              },
              "test": {
                "type": "BinaryExpression",
                "operator": "<",
                "left": {
                  "type": "Identifier",
                  "name": "_i",
                  "range": [
                    2421,
                    2423
                  ],
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 21
                    },
                    "end": {
                      "line": 51,
                      "column": 23
                    }
                  }
                },
                "right": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "Identifier",
                    "name": "arguments",
                    "range": [
                      2426,
                      2435
                    ],
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 26
                      },
                      "end": {
                        "line": 51,
                        "column": 35
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "length",
                    "range": [
                      2436,
                      2442
                    ],
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 36
                      },
                      "end": {
                        "line": 51,
                        "column": 42
                      }
                    }
                  },
                  "range": [
                    2426,
                    2442
                  ],
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 26
                    },
                    "end": {
                      "line": 51,
                      "column": 42
                    }
                  }
                },
                "range": [
                  2421,
                  2442
                ],
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 21
                  },
                  "end": {
                    "line": 51,
                    "column": 42
                  }
                }
              },
              "update": {
                "type": "UpdateExpression",
                "operator": "++",
                "argument": {
                  "type": "Identifier",
                  "name": "_i",
                  "range": [
                    2444,
                    2446
                  ],
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 44
                    },
                    "end": {
                      "line": 51,
                      "column": 46
                    }
                  }
                },
                "prefix": false,
                "range": [
                  2444,
                  2448
                ],
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 44
                  },
                  "end": {
                    "line": 51,
                    "column": 48
                  }
                }
              },
              "body": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "computed": true,
                        "object": {
                          "type": "Identifier",
                          "name": "observables",
                          "range": [
                            2460,
                            2471
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 19
                            }
                          }
                        },
                        "property": {
                          "type": "BinaryExpression",
                          "operator": "-",
                          "left": {
                            "type": "Identifier",
                            "name": "_i",
                            "range": [
                              2472,
                              2474
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 20
                              },
                              "end": {
                                "line": 52,
                                "column": 22
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": 0,
                            "raw": "0",
                            "range": [
                              2477,
                              2478
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 25
                              },
                              "end": {
                                "line": 52,
                                "column": 26
                              }
                            }
                          },
                          "range": [
                            2472,
                            2478
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 20
                            },
                            "end": {
                              "line": 52,
                              "column": 26
                            }
                          }
                        },
                        "range": [
                          2460,
                          2479
                        ],
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 27
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": true,
                        "object": {
                          "type": "Identifier",
                          "name": "arguments",
                          "range": [
                            2482,
                            2491
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 30
                            },
                            "end": {
                              "line": 52,
                              "column": 39
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_i",
                          "range": [
                            2492,
                            2494
                          ],
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 40
                            },
                            "end": {
                              "line": 52,
                              "column": 42
                            }
                          }
                        },
                        "range": [
                          2482,
                          2495
                        ],
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 30
                          },
                          "end": {
                            "line": 52,
                            "column": 43
                          }
                        }
                      },
                      "range": [
                        2460,
                        2495
                      ],
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 43
                        }
                      }
                    },
                    "range": [
                      2460,
                      2496
                    ],
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 8
                      },
                      "end": {
                        "line": 52,
                        "column": 44
                      }
                    }
                  }
                ],
                "range": [
                  2450,
                  2502
                ],
                "loc": {
                  "start": {
                    "line": 51,
                    "column": 50
                  },
                  "end": {
                    "line": 53,
                    "column": 5
                  }
                }
              },
              "range": [
                2404,
                2502
              ],
              "loc": {
                "start": {
                  "line": 51,
                  "column": 4
                },
                "end": {
                  "line": 53,
                  "column": 5
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "project",
                    "range": [
                      2511,
                      2518
                    ],
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 8
                      },
                      "end": {
                        "line": 54,
                        "column": 15
                      }
                    }
                  },
                  "init": {
                    "type": "Literal",
                    "value": null,
                    "raw": "null",
                    "range": [
                      2521,
                      2525
                    ],
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 18
                      },
                      "end": {
                        "line": 54,
                        "column": 22
                      }
                    }
                  },
                  "range": [
                    2511,
                    2525
                  ],
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 8
                    },
                    "end": {
                      "line": 54,
                      "column": 22
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                2507,
                2526
              ],
              "loc": {
                "start": {
                  "line": 54,
                  "column": 4
                },
                "end": {
                  "line": 54,
                  "column": 23
                }
              }
            },
            {
              "type": "VariableDeclaration",
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "id": {
                    "type": "Identifier",
                    "name": "scheduler",
                    "range": [
                      2535,
                      2544
                    ],
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 8
                      },
                      "end": {
                        "line": 55,
                        "column": 17
                      }
                    }
                  },
                  "init": {
                    "type": "Literal",
                    "value": null,
                    "raw": "null",
                    "range": [
                      2547,
                      2551
                    ],
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 20
                      },
                      "end": {
                        "line": 55,
                        "column": 24
                      }
                    }
                  },
                  "range": [
                    2535,
                    2551
                  ],
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 8
                    },
                    "end": {
                      "line": 55,
                      "column": 24
                    }
                  }
                }
              ],
              "kind": "var",
              "range": [
                2531,
                2552
              ],
              "loc": {
                "start": {
                  "line": 55,
                  "column": 4
                },
                "end": {
                  "line": 55,
                  "column": 25
                }
              }
            },
            {
              "type": "IfStatement",
              "test": {
                "type": "CallExpression",
                "callee": {
                  "type": "Identifier",
                  "name": "isScheduler",
                  "range": [
                    2561,
                    2572
                  ],
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 8
                    },
                    "end": {
                      "line": 56,
                      "column": 19
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "computed": true,
                    "object": {
                      "type": "Identifier",
                      "name": "observables",
                      "range": [
                        2573,
                        2584
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 20
                        },
                        "end": {
                          "line": 56,
                          "column": 31
                        }
                      }
                    },
                    "property": {
                      "type": "BinaryExpression",
                      "operator": "-",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "observables",
                          "range": [
                            2585,
                            2596
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 32
                            },
                            "end": {
                              "line": 56,
                              "column": 43
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "length",
                          "range": [
                            2597,
                            2603
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 44
                            },
                            "end": {
                              "line": 56,
                              "column": 50
                            }
                          }
                        },
                        "range": [
                          2585,
                          2603
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 32
                          },
                          "end": {
                            "line": 56,
                            "column": 50
                          }
                        }
                      },
                      "right": {
                        "type": "Literal",
                        "value": 1,
                        "raw": "1",
                        "range": [
                          2606,
                          2607
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 53
                          },
                          "end": {
                            "line": 56,
                            "column": 54
                          }
                        }
                      },
                      "range": [
                        2585,
                        2607
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 32
                        },
                        "end": {
                          "line": 56,
                          "column": 54
                        }
                      }
                    },
                    "range": [
                      2573,
                      2608
                    ],
                    "loc": {
                      "start": {
                        "line": 56,
                        "column": 20
                      },
                      "end": {
                        "line": 56,
                        "column": 55
                      }
                    }
                  }
                ],
                "range": [
                  2561,
                  2609
                ],
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 8
                  },
                  "end": {
                    "line": 56,
                    "column": 56
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          2621,
                          2630
                        ],
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 17
                          }
                        }
                      },
                      "right": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "observables",
                            "range": [
                              2633,
                              2644
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 20
                              },
                              "end": {
                                "line": 57,
                                "column": 31
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "pop",
                            "range": [
                              2645,
                              2648
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 32
                              },
                              "end": {
                                "line": 57,
                                "column": 35
                              }
                            }
                          },
                          "range": [
                            2633,
                            2648
                          ],
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 20
                            },
                            "end": {
                              "line": 57,
                              "column": 35
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          2633,
                          2650
                        ],
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 20
                          },
                          "end": {
                            "line": 57,
                            "column": 37
                          }
                        }
                      },
                      "range": [
                        2621,
                        2650
                      ],
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 37
                        }
                      }
                    },
                    "range": [
                      2621,
                      2651
                    ],
                    "loc": {
                      "start": {
                        "line": 57,
                        "column": 8
                      },
                      "end": {
                        "line": 57,
                        "column": 38
                      }
                    }
                  }
                ],
                "range": [
                  2611,
                  2657
                ],
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 58
                  },
                  "end": {
                    "line": 58,
                    "column": 5
                  }
                }
              },
              "alternate": null,
              "range": [
                2557,
                2657
              ],
              "loc": {
                "start": {
                  "line": 56,
                  "column": 4
                },
                "end": {
                  "line": 58,
                  "column": 5
                }
              }
            },
            {
              "type": "IfStatement",
              "test": {
                "type": "BinaryExpression",
                "operator": "===",
                "left": {
                  "type": "UnaryExpression",
                  "operator": "typeof",
                  "argument": {
                    "type": "MemberExpression",
                    "computed": true,
                    "object": {
                      "type": "Identifier",
                      "name": "observables",
                      "range": [
                        2673,
                        2684
                      ],
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 15
                        },
                        "end": {
                          "line": 59,
                          "column": 26
                        }
                      }
                    },
                    "property": {
                      "type": "BinaryExpression",
                      "operator": "-",
                      "left": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "Identifier",
                          "name": "observables",
                          "range": [
                            2685,
                            2696
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 27
                            },
                            "end": {
                              "line": 59,
                              "column": 38
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "length",
                          "range": [
                            2697,
                            2703
                          ],
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 39
                            },
                            "end": {
                              "line": 59,
                              "column": 45
                            }
                          }
                        },
                        "range": [
                          2685,
                          2703
                        ],
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 27
                          },
                          "end": {
                            "line": 59,
                            "column": 45
                          }
                        }
                      },
                      "right": {
                        "type": "Literal",
                        "value": 1,
                        "raw": "1",
                        "range": [
                          2706,
                          2707
                        ],
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 48
                          },
                          "end": {
                            "line": 59,
                            "column": 49
                          }
                        }
                      },
                      "range": [
                        2685,
                        2707
                      ],
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 27
                        },
                        "end": {
                          "line": 59,
                          "column": 49
                        }
                      }
                    },
                    "range": [
                      2673,
                      2708
                    ],
                    "loc": {
                      "start": {
                        "line": 59,
                        "column": 15
                      },
                      "end": {
                        "line": 59,
                        "column": 50
                      }
                    }
                  },
                  "prefix": true,
                  "range": [
                    2666,
                    2708
                  ],
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 8
                    },
                    "end": {
                      "line": 59,
                      "column": 50
                    }
                  }
                },
                "right": {
                  "type": "Literal",
                  "value": "function",
                  "raw": "'function'",
                  "range": [
                    2713,
                    2723
                  ],
                  "loc": {
                    "start": {
                      "line": 59,
                      "column": 55
                    },
                    "end": {
                      "line": 59,
                      "column": 65
                    }
                  }
                },
                "range": [
                  2666,
                  2723
                ],
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 8
                  },
                  "end": {
                    "line": 59,
                    "column": 65
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "project",
                        "range": [
                          2735,
                          2742
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 15
                          }
                        }
                      },
                      "right": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "Identifier",
                            "name": "observables",
                            "range": [
                              2745,
                              2756
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 18
                              },
                              "end": {
                                "line": 60,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "pop",
                            "range": [
                              2757,
                              2760
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 30
                              },
                              "end": {
                                "line": 60,
                                "column": 33
                              }
                            }
                          },
                          "range": [
                            2745,
                            2760
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 18
                            },
                            "end": {
                              "line": 60,
                              "column": 33
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          2745,
                          2762
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 18
                          },
                          "end": {
                            "line": 60,
                            "column": 35
                          }
                        }
                      },
                      "range": [
                        2735,
                        2762
                      ],
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 35
                        }
                      }
                    },
                    "range": [
                      2735,
                      2763
                    ],
                    "loc": {
                      "start": {
                        "line": 60,
                        "column": 8
                      },
                      "end": {
                        "line": 60,
                        "column": 36
                      }
                    }
                  }
                ],
                "range": [
                  2725,
                  2769
                ],
                "loc": {
                  "start": {
                    "line": 59,
                    "column": 67
                  },
                  "end": {
                    "line": 61,
                    "column": 5
                  }
                }
              },
              "alternate": null,
              "range": [
                2662,
                2769
              ],
              "loc": {
                "start": {
                  "line": 59,
                  "column": 4
                },
                "end": {
                  "line": 61,
                  "column": 5
                }
              },
              "trailingComments": [
                {
                  "type": "Line",
                  "value": " if the first and only other argument besides the resultSelector is an array",
                  "range": [
                    2774,
                    2852
                  ],
                  "loc": {
                    "start": {
                      "line": 62,
                      "column": 4
                    },
                    "end": {
                      "line": 62,
                      "column": 82
                    }
                  }
                },
                {
                  "type": "Line",
                  "value": " assume it's been called with `combineLatest([obs1, obs2, obs3], project)`",
                  "range": [
                    2857,
                    2933
                  ],
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 4
                    },
                    "end": {
                      "line": 63,
                      "column": 80
                    }
                  }
                }
              ]
            },
            {
              "type": "IfStatement",
              "test": {
                "type": "LogicalExpression",
                "operator": "&&",
                "left": {
                  "type": "BinaryExpression",
                  "operator": "===",
                  "left": {
                    "type": "MemberExpression",
                    "computed": false,
                    "object": {
                      "type": "Identifier",
                      "name": "observables",
                      "range": [
                        2942,
                        2953
                      ],
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 19
                        }
                      }
                    },
                    "property": {
                      "type": "Identifier",
                      "name": "length",
                      "range": [
                        2954,
                        2960
                      ],
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 20
                        },
                        "end": {
                          "line": 64,
                          "column": 26
                        }
                      }
                    },
                    "range": [
                      2942,
                      2960
                    ],
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 8
                      },
                      "end": {
                        "line": 64,
                        "column": 26
                      }
                    }
                  },
                  "right": {
                    "type": "Literal",
                    "value": 1,
                    "raw": "1",
                    "range": [
                      2965,
                      2966
                    ],
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 31
                      },
                      "end": {
                        "line": 64,
                        "column": 32
                      }
                    }
                  },
                  "range": [
                    2942,
                    2966
                  ],
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 8
                    },
                    "end": {
                      "line": 64,
                      "column": 32
                    }
                  }
                },
                "right": {
                  "type": "CallExpression",
                  "callee": {
                    "type": "Identifier",
                    "name": "isArray",
                    "range": [
                      2970,
                      2977
                    ],
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 36
                      },
                      "end": {
                        "line": 64,
                        "column": 43
                      }
                    }
                  },
                  "arguments": [
                    {
                      "type": "MemberExpression",
                      "computed": true,
                      "object": {
                        "type": "Identifier",
                        "name": "observables",
                        "range": [
                          2978,
                          2989
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 44
                          },
                          "end": {
                            "line": 64,
                            "column": 55
                          }
                        }
                      },
                      "property": {
                        "type": "Literal",
                        "value": 0,
                        "raw": "0",
                        "range": [
                          2990,
                          2991
                        ],
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 56
                          },
                          "end": {
                            "line": 64,
                            "column": 57
                          }
                        }
                      },
                      "range": [
                        2978,
                        2992
                      ],
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 44
                        },
                        "end": {
                          "line": 64,
                          "column": 58
                        }
                      }
                    }
                  ],
                  "range": [
                    2970,
                    2993
                  ],
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 36
                    },
                    "end": {
                      "line": 64,
                      "column": 59
                    }
                  }
                },
                "range": [
                  2942,
                  2993
                ],
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 8
                  },
                  "end": {
                    "line": 64,
                    "column": 59
                  }
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "expression": {
                      "type": "AssignmentExpression",
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "name": "observables",
                        "range": [
                          3005,
                          3016
                        ],
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 65,
                            "column": 19
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": true,
                        "object": {
                          "type": "Identifier",
                          "name": "observables",
                          "range": [
                            3019,
                            3030
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 22
                            },
                            "end": {
                              "line": 65,
                              "column": 33
                            }
                          }
                        },
                        "property": {
                          "type": "Literal",
                          "value": 0,
                          "raw": "0",
                          "range": [
                            3031,
                            3032
                          ],
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 34
                            },
                            "end": {
                              "line": 65,
                              "column": 35
                            }
                          }
                        },
                        "range": [
                          3019,
                          3033
                        ],
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 22
                          },
                          "end": {
                            "line": 65,
                            "column": 36
                          }
                        }
                      },
                      "range": [
                        3005,
                        3033
                      ],
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 36
                        }
                      }
                    },
                    "range": [
                      3005,
                      3034
                    ],
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 8
                      },
                      "end": {
                        "line": 65,
                        "column": 37
                      }
                    }
                  }
                ],
                "range": [
                  2995,
                  3040
                ],
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 61
                  },
                  "end": {
                    "line": 66,
                    "column": 5
                  }
                }
              },
              "alternate": null,
              "range": [
                2938,
                3040
              ],
              "loc": {
                "start": {
                  "line": 64,
                  "column": 4
                },
                "end": {
                  "line": 66,
                  "column": 5
                }
              },
              "leadingComments": [
                {
                  "type": "Line",
                  "value": " if the first and only other argument besides the resultSelector is an array",
                  "range": [
                    2774,
                    2852
                  ],
                  "loc": {
                    "start": {
                      "line": 62,
                      "column": 4
                    },
                    "end": {
                      "line": 62,
                      "column": 82
                    }
                  }
                },
                {
                  "type": "Line",
                  "value": " assume it's been called with `combineLatest([obs1, obs2, obs3], project)`",
                  "range": [
                    2857,
                    2933
                  ],
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 4
                    },
                    "end": {
                      "line": 63,
                      "column": 80
                    }
                  }
                }
              ]
            },
            {
              "type": "ReturnStatement",
              "argument": {
                "type": "CallExpression",
                "callee": {
                  "type": "MemberExpression",
                  "computed": false,
                  "object": {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "ArrayObservable",
                      "range": [
                        3056,
                        3071
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 15
                        },
                        "end": {
                          "line": 67,
                          "column": 30
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "observables",
                        "range": [
                          3072,
                          3083
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 31
                          },
                          "end": {
                            "line": 67,
                            "column": 42
                          }
                        }
                      },
                      {
                        "type": "Identifier",
                        "name": "scheduler",
                        "range": [
                          3085,
                          3094
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 44
                          },
                          "end": {
                            "line": 67,
                            "column": 53
                          }
                        }
                      }
                    ],
                    "range": [
                      3052,
                      3095
                    ],
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 11
                      },
                      "end": {
                        "line": 67,
                        "column": 54
                      }
                    }
                  },
                  "property": {
                    "type": "Identifier",
                    "name": "lift",
                    "range": [
                      3096,
                      3100
                    ],
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 55
                      },
                      "end": {
                        "line": 67,
                        "column": 59
                      }
                    }
                  },
                  "range": [
                    3052,
                    3100
                  ],
                  "loc": {
                    "start": {
                      "line": 67,
                      "column": 11
                    },
                    "end": {
                      "line": 67,
                      "column": 59
                    }
                  }
                },
                "arguments": [
                  {
                    "type": "NewExpression",
                    "callee": {
                      "type": "Identifier",
                      "name": "CombineLatestOperator",
                      "range": [
                        3105,
                        3126
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 64
                        },
                        "end": {
                          "line": 67,
                          "column": 85
                        }
                      }
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "name": "project",
                        "range": [
                          3127,
                          3134
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 86
                          },
                          "end": {
                            "line": 67,
                            "column": 93
                          }
                        }
                      }
                    ],
                    "range": [
                      3101,
                      3135
                    ],
                    "loc": {
                      "start": {
                        "line": 67,
                        "column": 60
                      },
                      "end": {
                        "line": 67,
                        "column": 94
                      }
                    }
                  }
                ],
                "range": [
                  3052,
                  3136
                ],
                "loc": {
                  "start": {
                    "line": 67,
                    "column": 11
                  },
                  "end": {
                    "line": 67,
                    "column": 95
                  }
                }
              },
              "range": [
                3045,
                3137
              ],
              "loc": {
                "start": {
                  "line": 67,
                  "column": 4
                },
                "end": {
                  "line": 67,
                  "column": 96
                }
              }
            }
          ],
          "range": [
            2372,
            3139
          ],
          "loc": {
            "start": {
              "line": 49,
              "column": 32
            },
            "end": {
              "line": 68,
              "column": 1
            }
          }
        },
        "generator": false,
        "expression": false,
        "range": [
          2347,
          3139
        ],
        "loc": {
          "start": {
            "line": 49,
            "column": 7
          },
          "end": {
            "line": 68,
            "column": 1
          }
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": " tslint:enable:max-line-length ",
            "range": [
              214,
              249
            ],
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 35
              }
            }
          },
          {
            "type": "Block",
            "value": "*\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from all the Observables passed as\n * arguments. This is done by subscribing to each Observable, in order, and\n * collecting an array of each of the most recent values any time any of the\n * input Observables emits, then either taking that array and passing it as\n * arguments to an optional `project` function and emitting the return value of\n * that, or just emitting the array of recent values directly if there is no\n * `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} observable1 An input Observable to combine with the\n * source Observable.\n * @param {Observable} observable2 An input Observable to combine with the\n * source Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\n * each input Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @static true\n * @name combineLatest\n * @owner Observable\n ",
            "range": [
              250,
              2339
            ],
            "loc": {
              "start": {
                "line": 6,
                "column": 0
              },
              "end": {
                "line": 48,
                "column": 3
              }
            }
          }
        ],
        "trailingComments": [
          {
            "type": "Line",
            "value": "# sourceMappingURL=combineLatest.js.map",
            "range": [
              3140,
              3181
            ],
            "loc": {
              "start": {
                "line": 69,
                "column": 0
              },
              "end": {
                "line": 69,
                "column": 41
              }
            }
          }
        ]
      },
      "specifiers": [],
      "source": null,
      "range": [
        2340,
        3139
      ],
      "loc": {
        "start": {
          "line": 49,
          "column": 0
        },
        "end": {
          "line": 68,
          "column": 1
        }
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": " tslint:enable:max-line-length ",
          "range": [
            214,
            249
          ],
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 5,
              "column": 35
            }
          }
        },
        {
          "type": "Block",
          "value": "*\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from all the Observables passed as\n * arguments. This is done by subscribing to each Observable, in order, and\n * collecting an array of each of the most recent values any time any of the\n * input Observables emits, then either taking that array and passing it as\n * arguments to an optional `project` function and emitting the return value of\n * that, or just emitting the array of recent values directly if there is no\n * `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} observable1 An input Observable to combine with the\n * source Observable.\n * @param {Observable} observable2 An input Observable to combine with the\n * source Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\n * each input Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @static true\n * @name combineLatest\n * @owner Observable\n ",
          "range": [
            250,
            2339
          ],
          "loc": {
            "start": {
              "line": 6,
              "column": 0
            },
            "end": {
              "line": 48,
              "column": 3
            }
          }
        }
      ],
      "trailingComments": [
        {
          "type": "Line",
          "value": "# sourceMappingURL=combineLatest.js.map",
          "range": [
            3140,
            3181
          ],
          "loc": {
            "start": {
              "line": 69,
              "column": 0
            },
            "end": {
              "line": 69,
              "column": 41
            }
          }
        }
      ]
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    3139
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 68,
      "column": 1
    }
  },
  "comments": [
    {
      "type": "Block",
      "value": " tslint:enable:max-line-length ",
      "range": [
        214,
        249
      ],
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 35
        }
      }
    },
    {
      "type": "Block",
      "value": "*\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * <span class=\"informal\">Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.</span>\n *\n * <img src=\"./img/combineLatest.png\" width=\"100%\">\n *\n * `combineLatest` combines the values from all the Observables passed as\n * arguments. This is done by subscribing to each Observable, in order, and\n * collecting an array of each of the most recent values any time any of the\n * input Observables emits, then either taking that array and passing it as\n * arguments to an optional `project` function and emitting the return value of\n * that, or just emitting the array of recent values directly if there is no\n * `project` function.\n *\n * @example <caption>Dynamically calculate the Body-Mass Index from an Observable of weight and one for height</caption>\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = Rx.Observable.combineLatest(weight, height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {Observable} observable1 An input Observable to combine with the\n * source Observable.\n * @param {Observable} observable2 An input Observable to combine with the\n * source Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @param {Scheduler} [scheduler=null] The Scheduler to use for subscribing to\n * each input Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @static true\n * @name combineLatest\n * @owner Observable\n ",
      "range": [
        250,
        2339
      ],
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 48,
          "column": 3
        }
      }
    },
    {
      "type": "Line",
      "value": " if the first and only other argument besides the resultSelector is an array",
      "range": [
        2774,
        2852
      ],
      "loc": {
        "start": {
          "line": 62,
          "column": 4
        },
        "end": {
          "line": 62,
          "column": 82
        }
      }
    },
    {
      "type": "Line",
      "value": " assume it's been called with `combineLatest([obs1, obs2, obs3], project)`",
      "range": [
        2857,
        2933
      ],
      "loc": {
        "start": {
          "line": 63,
          "column": 4
        },
        "end": {
          "line": 63,
          "column": 80
        }
      }
    },
    {
      "type": "Line",
      "value": "# sourceMappingURL=combineLatest.js.map",
      "range": [
        3140,
        3181
      ],
      "loc": {
        "start": {
          "line": 69,
          "column": 0
        },
        "end": {
          "line": 69,
          "column": 41
        }
      }
    }
  ]
}