{
  "type": "Program",
  "start": 0,
  "end": 3241,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 92,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 42,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 42
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 8,
          "end": 17,
          "loc": {
            "start": {
              "line": 1,
              "column": 8
            },
            "end": {
              "line": 1,
              "column": 17
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 8,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "name": "Timestamp"
          },
          "local": {
            "type": "Identifier",
            "start": 8,
            "end": 17,
            "loc": {
              "start": {
                "line": 1,
                "column": 8
              },
              "end": {
                "line": 1,
                "column": 17
              }
            },
            "name": "Timestamp"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 24,
        "end": 41,
        "loc": {
          "start": {
            "line": 1,
            "column": 24
          },
          "end": {
            "line": 1,
            "column": 41
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 44,
      "end": 91,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 52,
          "end": 60,
          "loc": {
            "start": {
              "line": 2,
              "column": 8
            },
            "end": {
              "line": 2,
              "column": 16
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 52,
            "end": 60,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 16
              }
            },
            "name": "logLevel"
          },
          "local": {
            "type": "Identifier",
            "start": 52,
            "end": 60,
            "loc": {
              "start": {
                "line": 2,
                "column": 8
              },
              "end": {
                "line": 2,
                "column": 16
              }
            },
            "name": "logLevel"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 67,
        "end": 90,
        "loc": {
          "start": {
            "line": 2,
            "column": 23
          },
          "end": {
            "line": 2,
            "column": 46
          }
        },
        "value": "../sketcher/cchelpers",
        "rawValue": "../sketcher/cchelpers",
        "raw": "'../sketcher/cchelpers'"
      },
      "trailingComments": [
        {
          "type": "CommentLine",
          "value": " Unique symbol to guarantee that external code can't resolve Statements",
          "start": 95,
          "end": 168,
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 4,
              "column": 73
            }
          },
          "range": [
            95,
            168
          ]
        }
      ]
    },
    {
      "type": "VariableDeclaration",
      "start": 170,
      "end": 204,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 34
        }
      },
      "declarations": [
        {
          "type": "VariableDeclarator",
          "start": 176,
          "end": 203,
          "loc": {
            "start": {
              "line": 5,
              "column": 6
            },
            "end": {
              "line": 5,
              "column": 33
            }
          },
          "id": {
            "type": "Identifier",
            "start": 176,
            "end": 183,
            "loc": {
              "start": {
                "line": 5,
                "column": 6
              },
              "end": {
                "line": 5,
                "column": 13
              }
            },
            "name": "resolve",
            "leadingComments": null
          },
          "init": {
            "type": "CallExpression",
            "start": 186,
            "end": 203,
            "loc": {
              "start": {
                "line": 5,
                "column": 16
              },
              "end": {
                "line": 5,
                "column": 33
              }
            },
            "callee": {
              "type": "Identifier",
              "start": 186,
              "end": 192,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 16
                },
                "end": {
                  "line": 5,
                  "column": 22
                }
              },
              "name": "Symbol"
            },
            "arguments": [
              {
                "type": "Literal",
                "start": 193,
                "end": 202,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 23
                  },
                  "end": {
                    "line": 5,
                    "column": 32
                  }
                },
                "value": "resolve",
                "rawValue": "resolve",
                "raw": "'resolve'"
              }
            ]
          },
          "leadingComments": null
        }
      ],
      "kind": "const",
      "leadingComments": [
        {
          "type": "CommentLine",
          "value": " Unique symbol to guarantee that external code can't resolve Statements",
          "start": 95,
          "end": 168,
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 4,
              "column": 73
            }
          },
          "range": [
            95,
            168
          ]
        }
      ]
    },
    {
      "type": "ClassDeclaration",
      "start": 208,
      "end": 809,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 30,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 214,
        "end": 228,
        "loc": {
          "start": {
            "line": 7,
            "column": 6
          },
          "end": {
            "line": 7,
            "column": 20
          }
        },
        "name": "StatementsBase"
      },
      "superClass": null,
      "body": {
        "type": "ClassBody",
        "start": 229,
        "end": 809,
        "loc": {
          "start": {
            "line": 7,
            "column": 21
          },
          "end": {
            "line": 30,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 236,
            "end": 378,
            "loc": {
              "start": {
                "line": 8,
                "column": 4
              },
              "end": {
                "line": 12,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 236,
              "end": 247,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 4
                },
                "end": {
                  "line": 8,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 247,
              "end": 378,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 15
                },
                "end": {
                  "line": 12,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 248,
                  "end": 256,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 16
                    },
                    "end": {
                      "line": 8,
                      "column": 24
                    }
                  },
                  "name": "commands"
                },
                {
                  "type": "Identifier",
                  "start": 258,
                  "end": 265,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 26
                    },
                    "end": {
                      "line": 8,
                      "column": 33
                    }
                  },
                  "name": "promise"
                },
                {
                  "type": "Identifier",
                  "start": 267,
                  "end": 270,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 35
                    },
                    "end": {
                      "line": 8,
                      "column": 38
                    }
                  },
                  "name": "res"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 272,
                "end": 378,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 40
                  },
                  "end": {
                    "line": 12,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 283,
                    "end": 308,
                    "loc": {
                      "start": {
                        "line": 9,
                        "column": 8
                      },
                      "end": {
                        "line": 9,
                        "column": 33
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 283,
                      "end": 307,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 9,
                          "column": 32
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 283,
                        "end": 296,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 9,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 283,
                          "end": 287,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 288,
                          "end": 296,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 13
                            },
                            "end": {
                              "line": 9,
                              "column": 21
                            }
                          },
                          "name": "commands"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 299,
                        "end": 307,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 24
                          },
                          "end": {
                            "line": 9,
                            "column": 32
                          }
                        },
                        "name": "commands"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 318,
                    "end": 341,
                    "loc": {
                      "start": {
                        "line": 10,
                        "column": 8
                      },
                      "end": {
                        "line": 10,
                        "column": 31
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 318,
                      "end": 340,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 30
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 318,
                        "end": 330,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 20
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 318,
                          "end": 322,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 323,
                          "end": 330,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 13
                            },
                            "end": {
                              "line": 10,
                              "column": 20
                            }
                          },
                          "name": "promise"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 333,
                        "end": 340,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 23
                          },
                          "end": {
                            "line": 10,
                            "column": 30
                          }
                        },
                        "name": "promise"
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 351,
                    "end": 371,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 8
                      },
                      "end": {
                        "line": 11,
                        "column": 28
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 351,
                      "end": 370,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 8
                        },
                        "end": {
                          "line": 11,
                          "column": 27
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 351,
                        "end": 364,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 8
                          },
                          "end": {
                            "line": 11,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 351,
                          "end": 355,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 8
                            },
                            "end": {
                              "line": 11,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 356,
                          "end": 363,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 13
                            },
                            "end": {
                              "line": 11,
                              "column": 20
                            }
                          },
                          "name": "resolve"
                        },
                        "computed": true
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 367,
                        "end": 370,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 24
                          },
                          "end": {
                            "line": 11,
                            "column": 27
                          }
                        },
                        "name": "res"
                      }
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 386,
            "end": 491,
            "loc": {
              "start": {
                "line": 14,
                "column": 4
              },
              "end": {
                "line": 16,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 386,
              "end": 390,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 4
                },
                "end": {
                  "line": 14,
                  "column": 8
                }
              },
              "name": "then"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 390,
              "end": 491,
              "loc": {
                "start": {
                  "line": 14,
                  "column": 8
                },
                "end": {
                  "line": 16,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 391,
                  "end": 402,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 9
                    },
                    "end": {
                      "line": 14,
                      "column": 20
                    }
                  },
                  "name": "onFulfilled"
                },
                {
                  "type": "Identifier",
                  "start": 404,
                  "end": 414,
                  "loc": {
                    "start": {
                      "line": 14,
                      "column": 22
                    },
                    "end": {
                      "line": 14,
                      "column": 32
                    }
                  },
                  "name": "onRejected"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 416,
                "end": 491,
                "loc": {
                  "start": {
                    "line": 14,
                    "column": 34
                  },
                  "end": {
                    "line": 16,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 427,
                    "end": 484,
                    "loc": {
                      "start": {
                        "line": 15,
                        "column": 8
                      },
                      "end": {
                        "line": 15,
                        "column": 65
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 434,
                      "end": 483,
                      "loc": {
                        "start": {
                          "line": 15,
                          "column": 15
                        },
                        "end": {
                          "line": 15,
                          "column": 64
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 438,
                        "end": 452,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 19
                          },
                          "end": {
                            "line": 15,
                            "column": 33
                          }
                        },
                        "name": "StatementsThen"
                      },
                      "arguments": [
                        {
                          "type": "ThisExpression",
                          "start": 453,
                          "end": 457,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 34
                            },
                            "end": {
                              "line": 15,
                              "column": 38
                            }
                          }
                        },
                        {
                          "type": "Identifier",
                          "start": 459,
                          "end": 470,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 40
                            },
                            "end": {
                              "line": 15,
                              "column": 51
                            }
                          },
                          "name": "onFulfilled"
                        },
                        {
                          "type": "Identifier",
                          "start": 472,
                          "end": 482,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 53
                            },
                            "end": {
                              "line": 15,
                              "column": 63
                            }
                          },
                          "name": "onRejected"
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 499,
            "end": 584,
            "loc": {
              "start": {
                "line": 18,
                "column": 4
              },
              "end": {
                "line": 20,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 499,
              "end": 502,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 4
                },
                "end": {
                  "line": 18,
                  "column": 7
                }
              },
              "name": "and"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 502,
              "end": 584,
              "loc": {
                "start": {
                  "line": 18,
                  "column": 7
                },
                "end": {
                  "line": 20,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "RestElement",
                  "start": 503,
                  "end": 516,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 8
                    },
                    "end": {
                      "line": 18,
                      "column": 21
                    }
                  },
                  "argument": {
                    "type": "Identifier",
                    "start": 506,
                    "end": 516,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 11
                      },
                      "end": {
                        "line": 18,
                        "column": 21
                      }
                    },
                    "name": "statements"
                  }
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 518,
                "end": 584,
                "loc": {
                  "start": {
                    "line": 18,
                    "column": 23
                  },
                  "end": {
                    "line": 20,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 529,
                    "end": 577,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 8
                      },
                      "end": {
                        "line": 19,
                        "column": 56
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 536,
                      "end": 576,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 15
                        },
                        "end": {
                          "line": 19,
                          "column": 55
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 540,
                        "end": 553,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 19
                          },
                          "end": {
                            "line": 19,
                            "column": 32
                          }
                        },
                        "name": "StatementsAll"
                      },
                      "arguments": [
                        {
                          "type": "ArrayExpression",
                          "start": 554,
                          "end": 575,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 33
                            },
                            "end": {
                              "line": 19,
                              "column": 54
                            }
                          },
                          "elements": [
                            {
                              "type": "ThisExpression",
                              "start": 555,
                              "end": 559,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 34
                                },
                                "end": {
                                  "line": 19,
                                  "column": 38
                                }
                              }
                            },
                            {
                              "type": "SpreadElement",
                              "start": 561,
                              "end": 574,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 40
                                },
                                "end": {
                                  "line": 19,
                                  "column": 53
                                }
                              },
                              "argument": {
                                "type": "Identifier",
                                "start": 564,
                                "end": 574,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 53
                                  }
                                },
                                "name": "statements"
                              }
                            }
                          ]
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 592,
            "end": 670,
            "loc": {
              "start": {
                "line": 22,
                "column": 4
              },
              "end": {
                "line": 24,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 599,
              "end": 602,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 11
                },
                "end": {
                  "line": 22,
                  "column": 14
                }
              },
              "name": "all"
            },
            "static": true,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 602,
              "end": 670,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 14
                },
                "end": {
                  "line": 24,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 603,
                  "end": 613,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 15
                    },
                    "end": {
                      "line": 22,
                      "column": 25
                    }
                  },
                  "name": "statements"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 615,
                "end": 670,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 27
                  },
                  "end": {
                    "line": 24,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 626,
                    "end": 663,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 8
                      },
                      "end": {
                        "line": 23,
                        "column": 45
                      }
                    },
                    "argument": {
                      "type": "NewExpression",
                      "start": 633,
                      "end": 662,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 15
                        },
                        "end": {
                          "line": 23,
                          "column": 44
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 637,
                        "end": 650,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 19
                          },
                          "end": {
                            "line": 23,
                            "column": 32
                          }
                        },
                        "name": "StatementsAll"
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 651,
                          "end": 661,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 33
                            },
                            "end": {
                              "line": 23,
                              "column": 43
                            }
                          },
                          "name": "statements"
                        }
                      ]
                    }
                  }
                ]
              }
            }
          },
          {
            "type": "MethodDefinition",
            "start": 678,
            "end": 806,
            "loc": {
              "start": {
                "line": 26,
                "column": 4
              },
              "end": {
                "line": 29,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 678,
              "end": 685,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 4
                },
                "end": {
                  "line": 26,
                  "column": 11
                }
              },
              "name": "execute"
            },
            "static": false,
            "kind": "method",
            "value": {
              "type": "FunctionExpression",
              "start": 685,
              "end": 806,
              "loc": {
                "start": {
                  "line": 26,
                  "column": 11
                },
                "end": {
                  "line": 29,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 686,
                  "end": 692,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 12
                    },
                    "end": {
                      "line": 26,
                      "column": 18
                    }
                  },
                  "name": "socket"
                },
                {
                  "type": "Identifier",
                  "start": 694,
                  "end": 701,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 20
                    },
                    "end": {
                      "line": 26,
                      "column": 27
                    }
                  },
                  "name": "factory"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 703,
                "end": 806,
                "loc": {
                  "start": {
                    "line": 26,
                    "column": 29
                  },
                  "end": {
                    "line": 29,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 714,
                    "end": 769,
                    "loc": {
                      "start": {
                        "line": 27,
                        "column": 8
                      },
                      "end": {
                        "line": 27,
                        "column": 63
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 714,
                      "end": 768,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 62
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 714,
                        "end": 727,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 714,
                          "end": 718,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 12
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 719,
                          "end": 726,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 13
                            },
                            "end": {
                              "line": 27,
                              "column": 20
                            }
                          },
                          "name": "resolve"
                        },
                        "computed": true
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 728,
                          "end": 767,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 22
                            },
                            "end": {
                              "line": 27,
                              "column": 61
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 728,
                            "end": 735,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 22
                              },
                              "end": {
                                "line": 27,
                                "column": 29
                              }
                            },
                            "name": "execute"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 736,
                              "end": 742,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 30
                                },
                                "end": {
                                  "line": 27,
                                  "column": 36
                                }
                              },
                              "name": "socket"
                            },
                            {
                              "type": "MemberExpression",
                              "start": 744,
                              "end": 757,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 38
                                },
                                "end": {
                                  "line": 27,
                                  "column": 51
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 744,
                                "end": 748,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 42
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 749,
                                "end": 757,
                                "loc": {
                                  "start": {
                                    "line": 27,
                                    "column": 43
                                  },
                                  "end": {
                                    "line": 27,
                                    "column": 51
                                  }
                                },
                                "name": "commands"
                              },
                              "computed": false
                            },
                            {
                              "type": "Identifier",
                              "start": 759,
                              "end": 766,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 53
                                },
                                "end": {
                                  "line": 27,
                                  "column": 60
                                }
                              },
                              "name": "factory"
                            }
                          ]
                        }
                      ]
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 779,
                    "end": 799,
                    "loc": {
                      "start": {
                        "line": 28,
                        "column": 8
                      },
                      "end": {
                        "line": 28,
                        "column": 28
                      }
                    },
                    "argument": {
                      "type": "MemberExpression",
                      "start": 786,
                      "end": 798,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 15
                        },
                        "end": {
                          "line": 28,
                          "column": 27
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 786,
                        "end": 790,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 15
                          },
                          "end": {
                            "line": 28,
                            "column": 19
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 791,
                        "end": 798,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 20
                          },
                          "end": {
                            "line": 28,
                            "column": 27
                          }
                        },
                        "name": "promise"
                      },
                      "computed": false
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 813,
      "end": 1003,
      "loc": {
        "start": {
          "line": 32,
          "column": 0
        },
        "end": {
          "line": 37,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 828,
        "end": 1003,
        "loc": {
          "start": {
            "line": 32,
            "column": 15
          },
          "end": {
            "line": 37,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 834,
          "end": 844,
          "loc": {
            "start": {
              "line": 32,
              "column": 21
            },
            "end": {
              "line": 32,
              "column": 31
            }
          },
          "name": "Statements"
        },
        "superClass": {
          "type": "Identifier",
          "start": 853,
          "end": 867,
          "loc": {
            "start": {
              "line": 32,
              "column": 40
            },
            "end": {
              "line": 32,
              "column": 54
            }
          },
          "name": "StatementsBase"
        },
        "body": {
          "type": "ClassBody",
          "start": 868,
          "end": 1003,
          "loc": {
            "start": {
              "line": 32,
              "column": 55
            },
            "end": {
              "line": 37,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 875,
              "end": 1000,
              "loc": {
                "start": {
                  "line": 33,
                  "column": 4
                },
                "end": {
                  "line": 36,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 875,
                "end": 886,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 4
                  },
                  "end": {
                    "line": 33,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 886,
                "end": 1000,
                "loc": {
                  "start": {
                    "line": 33,
                    "column": 15
                  },
                  "end": {
                    "line": 36,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 887,
                    "end": 895,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 16
                      },
                      "end": {
                        "line": 33,
                        "column": 24
                      }
                    },
                    "name": "commands"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 897,
                  "end": 1000,
                  "loc": {
                    "start": {
                      "line": 33,
                      "column": 26
                    },
                    "end": {
                      "line": 36,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 908,
                      "end": 953,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 8
                        },
                        "end": {
                          "line": 34,
                          "column": 53
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 912,
                          "end": 915,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 12
                            },
                            "end": {
                              "line": 34,
                              "column": 15
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 912,
                            "end": 915,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 12
                              },
                              "end": {
                                "line": 34,
                                "column": 15
                              }
                            },
                            "name": "res"
                          },
                          "init": null
                        },
                        {
                          "type": "VariableDeclarator",
                          "start": 917,
                          "end": 952,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 17
                            },
                            "end": {
                              "line": 34,
                              "column": 52
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 917,
                            "end": 924,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 17
                              },
                              "end": {
                                "line": 34,
                                "column": 24
                              }
                            },
                            "name": "promise"
                          },
                          "init": {
                            "type": "NewExpression",
                            "start": 927,
                            "end": 952,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 27
                              },
                              "end": {
                                "line": 34,
                                "column": 52
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 931,
                              "end": 938,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 31
                                },
                                "end": {
                                  "line": 34,
                                  "column": 38
                                }
                              },
                              "name": "Promise"
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 939,
                                "end": 951,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 51
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": true,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 939,
                                    "end": 940,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 40
                                      }
                                    },
                                    "name": "r"
                                  }
                                ],
                                "body": {
                                  "type": "AssignmentExpression",
                                  "start": 944,
                                  "end": 951,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 44
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 51
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 944,
                                    "end": 947,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 47
                                      }
                                    },
                                    "name": "res"
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "start": 950,
                                    "end": 951,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 51
                                      }
                                    },
                                    "name": "r"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 963,
                      "end": 993,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 963,
                        "end": 992,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 963,
                          "end": 968,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 969,
                            "end": 977,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 14
                              },
                              "end": {
                                "line": 35,
                                "column": 22
                              }
                            },
                            "name": "commands"
                          },
                          {
                            "type": "Identifier",
                            "start": 979,
                            "end": 986,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 24
                              },
                              "end": {
                                "line": 35,
                                "column": 31
                              }
                            },
                            "name": "promise"
                          },
                          {
                            "type": "Identifier",
                            "start": 988,
                            "end": 991,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 33
                              },
                              "end": {
                                "line": 35,
                                "column": 36
                              }
                            },
                            "name": "res"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      }
    },
    {
      "type": "ClassDeclaration",
      "start": 1007,
      "end": 1903,
      "loc": {
        "start": {
          "line": 39,
          "column": 0
        },
        "end": {
          "line": 60,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1013,
        "end": 1026,
        "loc": {
          "start": {
            "line": 39,
            "column": 6
          },
          "end": {
            "line": 39,
            "column": 19
          }
        },
        "name": "StatementsAll"
      },
      "superClass": {
        "type": "Identifier",
        "start": 1035,
        "end": 1049,
        "loc": {
          "start": {
            "line": 39,
            "column": 28
          },
          "end": {
            "line": 39,
            "column": 42
          }
        },
        "name": "StatementsBase"
      },
      "body": {
        "type": "ClassBody",
        "start": 1050,
        "end": 1903,
        "loc": {
          "start": {
            "line": 39,
            "column": 43
          },
          "end": {
            "line": 60,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 1057,
            "end": 1900,
            "loc": {
              "start": {
                "line": 40,
                "column": 4
              },
              "end": {
                "line": 59,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1057,
              "end": 1068,
              "loc": {
                "start": {
                  "line": 40,
                  "column": 4
                },
                "end": {
                  "line": 40,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 1068,
              "end": 1900,
              "loc": {
                "start": {
                  "line": 40,
                  "column": 15
                },
                "end": {
                  "line": 59,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1069,
                  "end": 1079,
                  "loc": {
                    "start": {
                      "line": 40,
                      "column": 16
                    },
                    "end": {
                      "line": 40,
                      "column": 26
                    }
                  },
                  "name": "statements"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 1081,
                "end": 1900,
                "loc": {
                  "start": {
                    "line": 40,
                    "column": 28
                  },
                  "end": {
                    "line": 59,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 1092,
                    "end": 1893,
                    "loc": {
                      "start": {
                        "line": 41,
                        "column": 8
                      },
                      "end": {
                        "line": 58,
                        "column": 10
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1092,
                      "end": 1892,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 9
                        }
                      },
                      "callee": {
                        "type": "Super",
                        "start": 1092,
                        "end": 1097,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 1112,
                          "end": 1157,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 12
                            },
                            "end": {
                              "line": 42,
                              "column": 57
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1112,
                            "end": 1121,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 12
                              },
                              "end": {
                                "line": 42,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "ArrayExpression",
                              "start": 1112,
                              "end": 1114,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 12
                                },
                                "end": {
                                  "line": 42,
                                  "column": 14
                                }
                              },
                              "elements": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1115,
                              "end": 1121,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 15
                                },
                                "end": {
                                  "line": 42,
                                  "column": 21
                                }
                              },
                              "name": "concat"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "SpreadElement",
                              "start": 1122,
                              "end": 1156,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 22
                                },
                                "end": {
                                  "line": 42,
                                  "column": 56
                                }
                              },
                              "argument": {
                                "type": "CallExpression",
                                "start": 1125,
                                "end": 1156,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1125,
                                  "end": 1139,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1125,
                                    "end": 1135,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 35
                                      }
                                    },
                                    "name": "statements"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1136,
                                    "end": 1139,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 39
                                      }
                                    },
                                    "name": "map"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ArrowFunctionExpression",
                                    "start": 1140,
                                    "end": 1155,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 42,
                                        "column": 55
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 1140,
                                        "end": 1141,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 41
                                          }
                                        },
                                        "name": "s"
                                      }
                                    ],
                                    "body": {
                                      "type": "MemberExpression",
                                      "start": 1145,
                                      "end": 1155,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 55
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1145,
                                        "end": 1146,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 46
                                          }
                                        },
                                        "name": "s"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1147,
                                        "end": 1155,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 55
                                          }
                                        },
                                        "name": "commands"
                                      },
                                      "computed": false
                                    }
                                  }
                                ]
                              }
                            }
                          ]
                        },
                        {
                          "type": "CallExpression",
                          "start": 1172,
                          "end": 1215,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 12
                            },
                            "end": {
                              "line": 43,
                              "column": 55
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1172,
                            "end": 1183,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 12
                              },
                              "end": {
                                "line": 43,
                                "column": 23
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1172,
                              "end": 1179,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 12
                                },
                                "end": {
                                  "line": 43,
                                  "column": 19
                                }
                              },
                              "name": "Promise"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1180,
                              "end": 1183,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 20
                                },
                                "end": {
                                  "line": 43,
                                  "column": 23
                                }
                              },
                              "name": "all"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 1184,
                              "end": 1214,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 24
                                },
                                "end": {
                                  "line": 43,
                                  "column": 54
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1184,
                                "end": 1198,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1184,
                                  "end": 1194,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 34
                                    }
                                  },
                                  "name": "statements"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1195,
                                  "end": 1198,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 38
                                    }
                                  },
                                  "name": "map"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ArrowFunctionExpression",
                                  "start": 1199,
                                  "end": 1213,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 53
                                    }
                                  },
                                  "id": null,
                                  "generator": false,
                                  "expression": true,
                                  "async": false,
                                  "params": [
                                    {
                                      "type": "Identifier",
                                      "start": 1199,
                                      "end": 1200,
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 40
                                        }
                                      },
                                      "name": "s"
                                    }
                                  ],
                                  "body": {
                                    "type": "MemberExpression",
                                    "start": 1204,
                                    "end": 1213,
                                    "loc": {
                                      "start": {
                                        "line": 43,
                                        "column": 44
                                      },
                                      "end": {
                                        "line": 43,
                                        "column": 53
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1204,
                                      "end": 1205,
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 45
                                        }
                                      },
                                      "name": "s"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1206,
                                      "end": 1213,
                                      "loc": {
                                        "start": {
                                          "line": 43,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 43,
                                          "column": 53
                                        }
                                      },
                                      "name": "promise"
                                    },
                                    "computed": false
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        {
                          "type": "FunctionExpression",
                          "start": 1230,
                          "end": 1881,
                          "loc": {
                            "start": {
                              "line": 44,
                              "column": 12
                            },
                            "end": {
                              "line": 57,
                              "column": 13
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 1239,
                              "end": 1246,
                              "loc": {
                                "start": {
                                  "line": 44,
                                  "column": 21
                                },
                                "end": {
                                  "line": 44,
                                  "column": 28
                                }
                              },
                              "name": "promise"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 1248,
                            "end": 1881,
                            "loc": {
                              "start": {
                                "line": 44,
                                "column": 30
                              },
                              "end": {
                                "line": 57,
                                "column": 13
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 1267,
                                "end": 1866,
                                "loc": {
                                  "start": {
                                    "line": 45,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 19
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 1267,
                                  "end": 1865,
                                  "loc": {
                                    "start": {
                                      "line": 45,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 18
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1267,
                                    "end": 1279,
                                    "loc": {
                                      "start": {
                                        "line": 45,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 45,
                                        "column": 28
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1267,
                                      "end": 1274,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 23
                                        }
                                      },
                                      "name": "promise"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1275,
                                      "end": 1279,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 24
                                        },
                                        "end": {
                                          "line": 45,
                                          "column": 28
                                        }
                                      },
                                      "name": "then"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 1280,
                                      "end": 1661,
                                      "loc": {
                                        "start": {
                                          "line": 45,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 17
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 1280,
                                          "end": 1285,
                                          "loc": {
                                            "start": {
                                              "line": 45,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 45,
                                              "column": 34
                                            }
                                          },
                                          "name": "value"
                                        }
                                      ],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 1289,
                                        "end": 1661,
                                        "loc": {
                                          "start": {
                                            "line": 45,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 17
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "VariableDeclaration",
                                            "start": 1312,
                                            "end": 1329,
                                            "loc": {
                                              "start": {
                                                "line": 46,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 46,
                                                "column": 37
                                              }
                                            },
                                            "declarations": [
                                              {
                                                "type": "VariableDeclarator",
                                                "start": 1316,
                                                "end": 1328,
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 36
                                                  }
                                                },
                                                "id": {
                                                  "type": "Identifier",
                                                  "start": 1316,
                                                  "end": 1324,
                                                  "loc": {
                                                    "start": {
                                                      "line": 46,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 46,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "nresults"
                                                },
                                                "init": {
                                                  "type": "Literal",
                                                  "start": 1327,
                                                  "end": 1328,
                                                  "loc": {
                                                    "start": {
                                                      "line": 46,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 46,
                                                      "column": 36
                                                    }
                                                  },
                                                  "value": 0,
                                                  "rawValue": 0,
                                                  "raw": "0"
                                                }
                                              }
                                            ],
                                            "kind": "let",
                                            "trailingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " fulfill each substatement with its slice of results",
                                                "start": 1351,
                                                "end": 1405,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 74
                                                  }
                                                },
                                                "range": [
                                                  1351,
                                                  1405
                                                ]
                                              }
                                            ]
                                          },
                                          {
                                            "type": "ForOfStatement",
                                            "start": 1427,
                                            "end": 1642,
                                            "loc": {
                                              "start": {
                                                "line": 48,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 51,
                                                "column": 21
                                              }
                                            },
                                            "left": {
                                              "type": "VariableDeclaration",
                                              "start": 1432,
                                              "end": 1439,
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 48,
                                                  "column": 32
                                                }
                                              },
                                              "declarations": [
                                                {
                                                  "type": "VariableDeclarator",
                                                  "start": 1438,
                                                  "end": 1439,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 32
                                                    }
                                                  },
                                                  "id": {
                                                    "type": "Identifier",
                                                    "start": 1438,
                                                    "end": 1439,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 32
                                                      }
                                                    },
                                                    "name": "s",
                                                    "leadingComments": null
                                                  },
                                                  "init": null,
                                                  "leadingComments": null
                                                }
                                              ],
                                              "kind": "const",
                                              "leadingComments": null
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "start": 1443,
                                              "end": 1453,
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 48,
                                                  "column": 46
                                                }
                                              },
                                              "name": "statements"
                                            },
                                            "body": {
                                              "type": "BlockStatement",
                                              "start": 1455,
                                              "end": 1642,
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 48
                                                },
                                                "end": {
                                                  "line": 51,
                                                  "column": 21
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 1482,
                                                  "end": 1563,
                                                  "loc": {
                                                    "start": {
                                                      "line": 49,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 49,
                                                      "column": 105
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 1482,
                                                    "end": 1562,
                                                    "loc": {
                                                      "start": {
                                                        "line": 49,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 49,
                                                        "column": 104
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 1482,
                                                      "end": 1492,
                                                      "loc": {
                                                        "start": {
                                                          "line": 49,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 49,
                                                          "column": 34
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 1482,
                                                        "end": 1483,
                                                        "loc": {
                                                          "start": {
                                                            "line": 49,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 49,
                                                            "column": 25
                                                          }
                                                        },
                                                        "name": "s"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 1484,
                                                        "end": 1491,
                                                        "loc": {
                                                          "start": {
                                                            "line": 49,
                                                            "column": 26
                                                          },
                                                          "end": {
                                                            "line": 49,
                                                            "column": 33
                                                          }
                                                        },
                                                        "name": "resolve"
                                                      },
                                                      "computed": true
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "CallExpression",
                                                        "start": 1493,
                                                        "end": 1561,
                                                        "loc": {
                                                          "start": {
                                                            "line": 49,
                                                            "column": 35
                                                          },
                                                          "end": {
                                                            "line": 49,
                                                            "column": 103
                                                          }
                                                        },
                                                        "callee": {
                                                          "type": "MemberExpression",
                                                          "start": 1493,
                                                          "end": 1508,
                                                          "loc": {
                                                            "start": {
                                                              "line": 49,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 49,
                                                              "column": 50
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 1493,
                                                            "end": 1500,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 35
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 42
                                                              }
                                                            },
                                                            "name": "Promise"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 1501,
                                                            "end": 1508,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 43
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 50
                                                              }
                                                            },
                                                            "name": "resolve"
                                                          },
                                                          "computed": false
                                                        },
                                                        "arguments": [
                                                          {
                                                            "type": "CallExpression",
                                                            "start": 1509,
                                                            "end": 1560,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 51
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 102
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "start": 1509,
                                                              "end": 1520,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 49,
                                                                  "column": 51
                                                                },
                                                                "end": {
                                                                  "line": 49,
                                                                  "column": 62
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 1509,
                                                                "end": 1514,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 49,
                                                                    "column": 51
                                                                  },
                                                                  "end": {
                                                                    "line": 49,
                                                                    "column": 56
                                                                  }
                                                                },
                                                                "name": "value"
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 1515,
                                                                "end": 1520,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 49,
                                                                    "column": 57
                                                                  },
                                                                  "end": {
                                                                    "line": 49,
                                                                    "column": 62
                                                                  }
                                                                },
                                                                "name": "slice"
                                                              },
                                                              "computed": false
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "Identifier",
                                                                "start": 1521,
                                                                "end": 1529,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 49,
                                                                    "column": 63
                                                                  },
                                                                  "end": {
                                                                    "line": 49,
                                                                    "column": 71
                                                                  }
                                                                },
                                                                "name": "nresults"
                                                              },
                                                              {
                                                                "type": "BinaryExpression",
                                                                "start": 1531,
                                                                "end": 1559,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 49,
                                                                    "column": 73
                                                                  },
                                                                  "end": {
                                                                    "line": 49,
                                                                    "column": 101
                                                                  }
                                                                },
                                                                "left": {
                                                                  "type": "Identifier",
                                                                  "start": 1531,
                                                                  "end": 1539,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 49,
                                                                      "column": 73
                                                                    },
                                                                    "end": {
                                                                      "line": 49,
                                                                      "column": 81
                                                                    }
                                                                  },
                                                                  "name": "nresults"
                                                                },
                                                                "operator": "+",
                                                                "right": {
                                                                  "type": "MemberExpression",
                                                                  "start": 1542,
                                                                  "end": 1559,
                                                                  "loc": {
                                                                    "start": {
                                                                      "line": 49,
                                                                      "column": 84
                                                                    },
                                                                    "end": {
                                                                      "line": 49,
                                                                      "column": 101
                                                                    }
                                                                  },
                                                                  "object": {
                                                                    "type": "MemberExpression",
                                                                    "start": 1542,
                                                                    "end": 1552,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 49,
                                                                        "column": 84
                                                                      },
                                                                      "end": {
                                                                        "line": 49,
                                                                        "column": 94
                                                                      }
                                                                    },
                                                                    "object": {
                                                                      "type": "Identifier",
                                                                      "start": 1542,
                                                                      "end": 1543,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 49,
                                                                          "column": 84
                                                                        },
                                                                        "end": {
                                                                          "line": 49,
                                                                          "column": 85
                                                                        }
                                                                      },
                                                                      "name": "s"
                                                                    },
                                                                    "property": {
                                                                      "type": "Identifier",
                                                                      "start": 1544,
                                                                      "end": 1552,
                                                                      "loc": {
                                                                        "start": {
                                                                          "line": 49,
                                                                          "column": 86
                                                                        },
                                                                        "end": {
                                                                          "line": 49,
                                                                          "column": 94
                                                                        }
                                                                      },
                                                                      "name": "commands"
                                                                    },
                                                                    "computed": false
                                                                  },
                                                                  "property": {
                                                                    "type": "Identifier",
                                                                    "start": 1553,
                                                                    "end": 1559,
                                                                    "loc": {
                                                                      "start": {
                                                                        "line": 49,
                                                                        "column": 95
                                                                      },
                                                                      "end": {
                                                                        "line": 49,
                                                                        "column": 101
                                                                      }
                                                                    },
                                                                    "name": "length"
                                                                  },
                                                                  "computed": false
                                                                }
                                                              }
                                                            ]
                                                          }
                                                        ]
                                                      }
                                                    ]
                                                  }
                                                },
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 1589,
                                                  "end": 1619,
                                                  "loc": {
                                                    "start": {
                                                      "line": 50,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 50,
                                                      "column": 54
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "AssignmentExpression",
                                                    "start": 1589,
                                                    "end": 1618,
                                                    "loc": {
                                                      "start": {
                                                        "line": 50,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 50,
                                                        "column": 53
                                                      }
                                                    },
                                                    "operator": "+=",
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 1589,
                                                      "end": 1597,
                                                      "loc": {
                                                        "start": {
                                                          "line": 50,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 50,
                                                          "column": 32
                                                        }
                                                      },
                                                      "name": "nresults"
                                                    },
                                                    "right": {
                                                      "type": "MemberExpression",
                                                      "start": 1601,
                                                      "end": 1618,
                                                      "loc": {
                                                        "start": {
                                                          "line": 50,
                                                          "column": 36
                                                        },
                                                        "end": {
                                                          "line": 50,
                                                          "column": 53
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 1601,
                                                        "end": 1611,
                                                        "loc": {
                                                          "start": {
                                                            "line": 50,
                                                            "column": 36
                                                          },
                                                          "end": {
                                                            "line": 50,
                                                            "column": 46
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 1601,
                                                          "end": 1602,
                                                          "loc": {
                                                            "start": {
                                                              "line": 50,
                                                              "column": 36
                                                            },
                                                            "end": {
                                                              "line": 50,
                                                              "column": 37
                                                            }
                                                          },
                                                          "name": "s"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1603,
                                                          "end": 1611,
                                                          "loc": {
                                                            "start": {
                                                              "line": 50,
                                                              "column": 38
                                                            },
                                                            "end": {
                                                              "line": 50,
                                                              "column": 46
                                                            }
                                                          },
                                                          "name": "commands"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 1612,
                                                        "end": 1618,
                                                        "loc": {
                                                          "start": {
                                                            "line": 50,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 50,
                                                            "column": 53
                                                          }
                                                        },
                                                        "name": "length"
                                                      },
                                                      "computed": false
                                                    }
                                                  }
                                                }
                                              ]
                                            },
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " fulfill each substatement with its slice of results",
                                                "start": 1351,
                                                "end": 1405,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 74
                                                  }
                                                },
                                                "range": [
                                                  1351,
                                                  1405
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ArrowFunctionExpression",
                                      "start": 1663,
                                      "end": 1864,
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 56,
                                          "column": 17
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": false,
                                      "async": false,
                                      "params": [],
                                      "body": {
                                        "type": "BlockStatement",
                                        "start": 1669,
                                        "end": 1864,
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 56,
                                            "column": 17
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ForOfStatement",
                                            "start": 1772,
                                            "end": 1845,
                                            "loc": {
                                              "start": {
                                                "line": 54,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 55,
                                                "column": 44
                                              }
                                            },
                                            "left": {
                                              "type": "VariableDeclaration",
                                              "start": 1777,
                                              "end": 1784,
                                              "loc": {
                                                "start": {
                                                  "line": 54,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 54,
                                                  "column": 32
                                                }
                                              },
                                              "declarations": [
                                                {
                                                  "type": "VariableDeclarator",
                                                  "start": 1783,
                                                  "end": 1784,
                                                  "loc": {
                                                    "start": {
                                                      "line": 54,
                                                      "column": 31
                                                    },
                                                    "end": {
                                                      "line": 54,
                                                      "column": 32
                                                    }
                                                  },
                                                  "id": {
                                                    "type": "Identifier",
                                                    "start": 1783,
                                                    "end": 1784,
                                                    "loc": {
                                                      "start": {
                                                        "line": 54,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 54,
                                                        "column": 32
                                                      }
                                                    },
                                                    "name": "s",
                                                    "leadingComments": null
                                                  },
                                                  "init": null,
                                                  "leadingComments": null
                                                }
                                              ],
                                              "kind": "const",
                                              "leadingComments": null
                                            },
                                            "right": {
                                              "type": "Identifier",
                                              "start": 1788,
                                              "end": 1798,
                                              "loc": {
                                                "start": {
                                                  "line": 54,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 54,
                                                  "column": 46
                                                }
                                              },
                                              "name": "statements"
                                            },
                                            "body": {
                                              "type": "ExpressionStatement",
                                              "start": 1825,
                                              "end": 1845,
                                              "loc": {
                                                "start": {
                                                  "line": 55,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 55,
                                                  "column": 44
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1825,
                                                "end": 1844,
                                                "loc": {
                                                  "start": {
                                                    "line": 55,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 55,
                                                    "column": 43
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 1825,
                                                  "end": 1835,
                                                  "loc": {
                                                    "start": {
                                                      "line": 55,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 55,
                                                      "column": 34
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1825,
                                                    "end": 1826,
                                                    "loc": {
                                                      "start": {
                                                        "line": 55,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 55,
                                                        "column": 25
                                                      }
                                                    },
                                                    "name": "s"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1827,
                                                    "end": 1834,
                                                    "loc": {
                                                      "start": {
                                                        "line": 55,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 55,
                                                        "column": 33
                                                      }
                                                    },
                                                    "name": "resolve"
                                                  },
                                                  "computed": true
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 1836,
                                                    "end": 1843,
                                                    "loc": {
                                                      "start": {
                                                        "line": 55,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 55,
                                                        "column": 42
                                                      }
                                                    },
                                                    "name": "promise"
                                                  }
                                                ]
                                              }
                                            },
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " reject each substatement with the same rejection reason",
                                                "start": 1692,
                                                "end": 1750,
                                                "loc": {
                                                  "start": {
                                                    "line": 53,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 53,
                                                    "column": 78
                                                  }
                                                },
                                                "range": [
                                                  1692,
                                                  1750
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "ClassDeclaration",
      "start": 1907,
      "end": 2110,
      "loc": {
        "start": {
          "line": 62,
          "column": 0
        },
        "end": {
          "line": 66,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 1913,
        "end": 1927,
        "loc": {
          "start": {
            "line": 62,
            "column": 6
          },
          "end": {
            "line": 62,
            "column": 20
          }
        },
        "name": "StatementsThen"
      },
      "superClass": {
        "type": "Identifier",
        "start": 1936,
        "end": 1950,
        "loc": {
          "start": {
            "line": 62,
            "column": 29
          },
          "end": {
            "line": 62,
            "column": 43
          }
        },
        "name": "StatementsBase"
      },
      "body": {
        "type": "ClassBody",
        "start": 1951,
        "end": 2110,
        "loc": {
          "start": {
            "line": 62,
            "column": 44
          },
          "end": {
            "line": 66,
            "column": 1
          }
        },
        "body": [
          {
            "type": "MethodDefinition",
            "start": 1958,
            "end": 2107,
            "loc": {
              "start": {
                "line": 63,
                "column": 4
              },
              "end": {
                "line": 65,
                "column": 5
              }
            },
            "computed": false,
            "key": {
              "type": "Identifier",
              "start": 1958,
              "end": 1969,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 4
                },
                "end": {
                  "line": 63,
                  "column": 15
                }
              },
              "name": "constructor"
            },
            "static": false,
            "kind": "constructor",
            "value": {
              "type": "FunctionExpression",
              "start": 1969,
              "end": 2107,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 15
                },
                "end": {
                  "line": 65,
                  "column": 5
                }
              },
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 1970,
                  "end": 1976,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 16
                    },
                    "end": {
                      "line": 63,
                      "column": 22
                    }
                  },
                  "name": "before"
                },
                {
                  "type": "Identifier",
                  "start": 1978,
                  "end": 1989,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 24
                    },
                    "end": {
                      "line": 63,
                      "column": 35
                    }
                  },
                  "name": "onFulfilled"
                },
                {
                  "type": "Identifier",
                  "start": 1991,
                  "end": 2001,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 37
                    },
                    "end": {
                      "line": 63,
                      "column": 47
                    }
                  },
                  "name": "onRejected"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2003,
                "end": 2107,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 49
                  },
                  "end": {
                    "line": 65,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2014,
                    "end": 2100,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 8
                      },
                      "end": {
                        "line": 64,
                        "column": 94
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2014,
                      "end": 2099,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 93
                        }
                      },
                      "callee": {
                        "type": "Super",
                        "start": 2014,
                        "end": 2019,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 8
                          },
                          "end": {
                            "line": 64,
                            "column": 13
                          }
                        }
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 2020,
                          "end": 2035,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 14
                            },
                            "end": {
                              "line": 64,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2020,
                            "end": 2026,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 14
                              },
                              "end": {
                                "line": 64,
                                "column": 20
                              }
                            },
                            "name": "before"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2027,
                            "end": 2035,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 21
                              },
                              "end": {
                                "line": 64,
                                "column": 29
                              }
                            },
                            "name": "commands"
                          },
                          "computed": false
                        },
                        {
                          "type": "CallExpression",
                          "start": 2037,
                          "end": 2081,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 31
                            },
                            "end": {
                              "line": 64,
                              "column": 75
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2037,
                            "end": 2056,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 31
                              },
                              "end": {
                                "line": 64,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2037,
                              "end": 2051,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 31
                                },
                                "end": {
                                  "line": 64,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2037,
                                "end": 2043,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 37
                                  }
                                },
                                "name": "before"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2044,
                                "end": 2051,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 38
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 45
                                  }
                                },
                                "name": "promise"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2052,
                              "end": 2056,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 46
                                },
                                "end": {
                                  "line": 64,
                                  "column": 50
                                }
                              },
                              "name": "then"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2057,
                              "end": 2068,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 51
                                },
                                "end": {
                                  "line": 64,
                                  "column": 62
                                }
                              },
                              "name": "onFulfilled"
                            },
                            {
                              "type": "Identifier",
                              "start": 2070,
                              "end": 2080,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 64
                                },
                                "end": {
                                  "line": 64,
                                  "column": 74
                                }
                              },
                              "name": "onRejected"
                            }
                          ]
                        },
                        {
                          "type": "MemberExpression",
                          "start": 2083,
                          "end": 2098,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 77
                            },
                            "end": {
                              "line": 64,
                              "column": 92
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2083,
                            "end": 2089,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 77
                              },
                              "end": {
                                "line": 64,
                                "column": 83
                              }
                            },
                            "name": "before"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2090,
                            "end": 2097,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 84
                              },
                              "end": {
                                "line": 64,
                                "column": 91
                              }
                            },
                            "name": "resolve"
                          },
                          "computed": true
                        }
                      ]
                    }
                  }
                ]
              }
            }
          }
        ]
      }
    },
    {
      "type": "FunctionDeclaration",
      "start": 2114,
      "end": 3239,
      "loc": {
        "start": {
          "line": 68,
          "column": 0
        },
        "end": {
          "line": 91,
          "column": 1
        }
      },
      "id": {
        "type": "Identifier",
        "start": 2129,
        "end": 2136,
        "loc": {
          "start": {
            "line": 68,
            "column": 15
          },
          "end": {
            "line": 68,
            "column": 22
          }
        },
        "name": "execute"
      },
      "generator": false,
      "expression": false,
      "async": true,
      "params": [
        {
          "type": "Identifier",
          "start": 2137,
          "end": 2143,
          "loc": {
            "start": {
              "line": 68,
              "column": 23
            },
            "end": {
              "line": 68,
              "column": 29
            }
          },
          "name": "socket"
        },
        {
          "type": "Identifier",
          "start": 2145,
          "end": 2150,
          "loc": {
            "start": {
              "line": 68,
              "column": 31
            },
            "end": {
              "line": 68,
              "column": 36
            }
          },
          "name": "tasks"
        },
        {
          "type": "Identifier",
          "start": 2152,
          "end": 2159,
          "loc": {
            "start": {
              "line": 68,
              "column": 38
            },
            "end": {
              "line": 68,
              "column": 45
            }
          },
          "name": "factory"
        }
      ],
      "body": {
        "type": "BlockStatement",
        "start": 2161,
        "end": 3239,
        "loc": {
          "start": {
            "line": 68,
            "column": 47
          },
          "end": {
            "line": 91,
            "column": 1
          }
        },
        "body": [
          {
            "type": "VariableDeclaration",
            "start": 2168,
            "end": 2233,
            "loc": {
              "start": {
                "line": 69,
                "column": 4
              },
              "end": {
                "line": 69,
                "column": 69
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 2174,
                "end": 2232,
                "loc": {
                  "start": {
                    "line": 69,
                    "column": 10
                  },
                  "end": {
                    "line": 69,
                    "column": 68
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 2174,
                  "end": 2182,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 10
                    },
                    "end": {
                      "line": 69,
                      "column": 18
                    }
                  },
                  "name": "commands"
                },
                "init": {
                  "type": "CallExpression",
                  "start": 2185,
                  "end": 2232,
                  "loc": {
                    "start": {
                      "line": 69,
                      "column": 21
                    },
                    "end": {
                      "line": 69,
                      "column": 68
                    }
                  },
                  "callee": {
                    "type": "MemberExpression",
                    "start": 2185,
                    "end": 2194,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 21
                      },
                      "end": {
                        "line": 69,
                        "column": 30
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2185,
                      "end": 2190,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 21
                        },
                        "end": {
                          "line": 69,
                          "column": 26
                        }
                      },
                      "name": "tasks"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2191,
                      "end": 2194,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 27
                        },
                        "end": {
                          "line": 69,
                          "column": 30
                        }
                      },
                      "name": "map"
                    },
                    "computed": false
                  },
                  "arguments": [
                    {
                      "type": "ArrowFunctionExpression",
                      "start": 2195,
                      "end": 2231,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 31
                        },
                        "end": {
                          "line": 69,
                          "column": 67
                        }
                      },
                      "id": null,
                      "generator": false,
                      "expression": true,
                      "async": false,
                      "params": [
                        {
                          "type": "Identifier",
                          "start": 2195,
                          "end": 2199,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 31
                            },
                            "end": {
                              "line": 69,
                              "column": 35
                            }
                          },
                          "name": "task"
                        }
                      ],
                      "body": {
                        "type": "ObjectExpression",
                        "start": 2204,
                        "end": 2230,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 40
                          },
                          "end": {
                            "line": 69,
                            "column": 66
                          }
                        },
                        "properties": [
                          {
                            "type": "Property",
                            "start": 2205,
                            "end": 2223,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 41
                              },
                              "end": {
                                "line": 69,
                                "column": 59
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 2205,
                              "end": 2212,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 41
                                },
                                "end": {
                                  "line": 69,
                                  "column": 48
                                }
                              },
                              "name": "command"
                            },
                            "value": {
                              "type": "Literal",
                              "start": 2214,
                              "end": 2223,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 50
                                },
                                "end": {
                                  "line": 69,
                                  "column": 59
                                }
                              },
                              "value": "Execute",
                              "rawValue": "Execute",
                              "raw": "'Execute'"
                            },
                            "kind": "init"
                          },
                          {
                            "type": "Property",
                            "start": 2225,
                            "end": 2229,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 61
                              },
                              "end": {
                                "line": 69,
                                "column": 65
                              }
                            },
                            "method": false,
                            "shorthand": true,
                            "computed": false,
                            "key": {
                              "type": "Identifier",
                              "start": 2225,
                              "end": 2229,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 61
                                },
                                "end": {
                                  "line": 69,
                                  "column": 65
                                }
                              },
                              "name": "task"
                            },
                            "kind": "init",
                            "value": {
                              "type": "Identifier",
                              "start": 2225,
                              "end": 2229,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 61
                                },
                                "end": {
                                  "line": 69,
                                  "column": 65
                                }
                              },
                              "name": "task"
                            }
                          }
                        ],
                        "parenthesizedExpression": true
                      }
                    }
                  ]
                }
              }
            ],
            "kind": "const"
          },
          {
            "type": "IfStatement",
            "start": 2239,
            "end": 2434,
            "loc": {
              "start": {
                "line": 70,
                "column": 4
              },
              "end": {
                "line": 74,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 2243,
              "end": 2256,
              "loc": {
                "start": {
                  "line": 70,
                  "column": 8
                },
                "end": {
                  "line": 70,
                  "column": 21
                }
              },
              "left": {
                "type": "Identifier",
                "start": 2243,
                "end": 2251,
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 8
                  },
                  "end": {
                    "line": 70,
                    "column": 16
                  }
                },
                "name": "logLevel"
              },
              "operator": ">=",
              "right": {
                "type": "Literal",
                "start": 2255,
                "end": 2256,
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 20
                  },
                  "end": {
                    "line": 70,
                    "column": 21
                  }
                },
                "value": 4,
                "rawValue": 4,
                "raw": "4"
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 2258,
              "end": 2434,
              "loc": {
                "start": {
                  "line": 70,
                  "column": 23
                },
                "end": {
                  "line": 74,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 2269,
                  "end": 2303,
                  "loc": {
                    "start": {
                      "line": 71,
                      "column": 8
                    },
                    "end": {
                      "line": 71,
                      "column": 42
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2273,
                      "end": 2302,
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 12
                        },
                        "end": {
                          "line": 71,
                          "column": 41
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2273,
                        "end": 2282,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 12
                          },
                          "end": {
                            "line": 71,
                            "column": 21
                          }
                        },
                        "name": "startTime"
                      },
                      "init": {
                        "type": "CallExpression",
                        "start": 2285,
                        "end": 2302,
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 24
                          },
                          "end": {
                            "line": 71,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2285,
                          "end": 2300,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 24
                            },
                            "end": {
                              "line": 71,
                              "column": 39
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2285,
                            "end": 2296,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 24
                              },
                              "end": {
                                "line": 71,
                                "column": 35
                              }
                            },
                            "name": "performance"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2297,
                            "end": 2300,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 36
                              },
                              "end": {
                                "line": 71,
                                "column": 39
                              }
                            },
                            "name": "now"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "IfStatement",
                  "start": 2313,
                  "end": 2427,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 8
                    },
                    "end": {
                      "line": 73,
                      "column": 94
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 2317,
                    "end": 2330,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 12
                      },
                      "end": {
                        "line": 72,
                        "column": 25
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2317,
                      "end": 2325,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 12
                        },
                        "end": {
                          "line": 72,
                          "column": 20
                        }
                      },
                      "name": "logLevel"
                    },
                    "operator": ">=",
                    "right": {
                      "type": "Literal",
                      "start": 2329,
                      "end": 2330,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 24
                        },
                        "end": {
                          "line": 72,
                          "column": 25
                        }
                      },
                      "value": 5,
                      "rawValue": 5,
                      "raw": "5"
                    }
                  },
                  "consequent": {
                    "type": "ExpressionStatement",
                    "start": 2345,
                    "end": 2427,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 12
                      },
                      "end": {
                        "line": 73,
                        "column": 94
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2345,
                      "end": 2426,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 12
                        },
                        "end": {
                          "line": 73,
                          "column": 93
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2345,
                        "end": 2361,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 12
                          },
                          "end": {
                            "line": 73,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2345,
                          "end": 2353,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 12
                            },
                            "end": {
                              "line": 73,
                              "column": 20
                            }
                          },
                          "name": "commands"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2354,
                          "end": 2361,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 21
                            },
                            "end": {
                              "line": 73,
                              "column": 28
                            }
                          },
                          "name": "forEach"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 2362,
                          "end": 2425,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 29
                            },
                            "end": {
                              "line": 73,
                              "column": 92
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2362,
                              "end": 2365,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 29
                                },
                                "end": {
                                  "line": 73,
                                  "column": 32
                                }
                              },
                              "name": "cmd"
                            }
                          ],
                          "body": {
                            "type": "CallExpression",
                            "start": 2369,
                            "end": 2425,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 36
                              },
                              "end": {
                                "line": 73,
                                "column": 92
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2369,
                              "end": 2380,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 36
                                },
                                "end": {
                                  "line": 73,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2369,
                                "end": 2376,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 43
                                  }
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2377,
                                "end": 2380,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 47
                                  }
                                },
                                "name": "log"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 2381,
                                "end": 2396,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 63
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2381,
                                  "end": 2394,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 61
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2381,
                                    "end": 2390,
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 57
                                      }
                                    },
                                    "name": "Timestamp"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2391,
                                    "end": 2394,
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 61
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              {
                                "type": "Literal",
                                "start": 2398,
                                "end": 2406,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 73
                                  }
                                },
                                "value": "[c->s]",
                                "rawValue": "[c->s]",
                                "raw": "\"[c->s]\""
                              },
                              {
                                "type": "Literal",
                                "start": 2408,
                                "end": 2414,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 81
                                  }
                                },
                                "value": "task",
                                "rawValue": "task",
                                "raw": "\"task\""
                              },
                              {
                                "type": "MemberExpression",
                                "start": 2416,
                                "end": 2424,
                                "loc": {
                                  "start": {
                                    "line": 73,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 73,
                                    "column": 91
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2416,
                                  "end": 2419,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 83
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 86
                                    }
                                  },
                                  "name": "cmd"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2420,
                                  "end": 2424,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 87
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 91
                                    }
                                  },
                                  "name": "task"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "alternate": null
                }
              ]
            },
            "alternate": null
          },
          {
            "type": "VariableDeclaration",
            "start": 2440,
            "end": 2497,
            "loc": {
              "start": {
                "line": 75,
                "column": 4
              },
              "end": {
                "line": 75,
                "column": 61
              }
            },
            "declarations": [
              {
                "type": "VariableDeclarator",
                "start": 2446,
                "end": 2496,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 10
                  },
                  "end": {
                    "line": 75,
                    "column": 60
                  }
                },
                "id": {
                  "type": "Identifier",
                  "start": 2446,
                  "end": 2454,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 10
                    },
                    "end": {
                      "line": 75,
                      "column": 18
                    }
                  },
                  "name": "response"
                },
                "init": {
                  "type": "AwaitExpression",
                  "start": 2457,
                  "end": 2496,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 21
                    },
                    "end": {
                      "line": 75,
                      "column": 60
                    }
                  },
                  "all": false,
                  "argument": {
                    "type": "CallExpression",
                    "start": 2463,
                    "end": 2496,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 27
                      },
                      "end": {
                        "line": 75,
                        "column": 60
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2463,
                      "end": 2477,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 27
                        },
                        "end": {
                          "line": 75,
                          "column": 41
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2463,
                        "end": 2469,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 27
                          },
                          "end": {
                            "line": 75,
                            "column": 33
                          }
                        },
                        "name": "socket"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2470,
                        "end": 2477,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 34
                          },
                          "end": {
                            "line": 75,
                            "column": 41
                          }
                        },
                        "name": "request"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "Identifier",
                        "start": 2478,
                        "end": 2486,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 42
                          },
                          "end": {
                            "line": 75,
                            "column": 50
                          }
                        },
                        "name": "commands"
                      },
                      {
                        "type": "Identifier",
                        "start": 2488,
                        "end": 2495,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 52
                          },
                          "end": {
                            "line": 75,
                            "column": 59
                          }
                        },
                        "name": "factory"
                      }
                    ]
                  }
                }
              }
            ],
            "kind": "const"
          },
          {
            "type": "IfStatement",
            "start": 2503,
            "end": 2801,
            "loc": {
              "start": {
                "line": 76,
                "column": 4
              },
              "end": {
                "line": 81,
                "column": 5
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 2507,
              "end": 2520,
              "loc": {
                "start": {
                  "line": 76,
                  "column": 8
                },
                "end": {
                  "line": 76,
                  "column": 21
                }
              },
              "left": {
                "type": "Identifier",
                "start": 2507,
                "end": 2515,
                "loc": {
                  "start": {
                    "line": 76,
                    "column": 8
                  },
                  "end": {
                    "line": 76,
                    "column": 16
                  }
                },
                "name": "logLevel"
              },
              "operator": ">=",
              "right": {
                "type": "Literal",
                "start": 2519,
                "end": 2520,
                "loc": {
                  "start": {
                    "line": 76,
                    "column": 20
                  },
                  "end": {
                    "line": 76,
                    "column": 21
                  }
                },
                "value": 4,
                "rawValue": 4,
                "raw": "4"
              }
            },
            "consequent": {
              "type": "BlockStatement",
              "start": 2522,
              "end": 2801,
              "loc": {
                "start": {
                  "line": 76,
                  "column": 23
                },
                "end": {
                  "line": 81,
                  "column": 5
                }
              },
              "body": [
                {
                  "type": "VariableDeclaration",
                  "start": 2533,
                  "end": 2578,
                  "loc": {
                    "start": {
                      "line": 77,
                      "column": 8
                    },
                    "end": {
                      "line": 77,
                      "column": 53
                    }
                  },
                  "declarations": [
                    {
                      "type": "VariableDeclarator",
                      "start": 2537,
                      "end": 2577,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 12
                        },
                        "end": {
                          "line": 77,
                          "column": 52
                        }
                      },
                      "id": {
                        "type": "Identifier",
                        "start": 2537,
                        "end": 2545,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 12
                          },
                          "end": {
                            "line": 77,
                            "column": 20
                          }
                        },
                        "name": "diffTime"
                      },
                      "init": {
                        "type": "BinaryExpression",
                        "start": 2548,
                        "end": 2577,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 23
                          },
                          "end": {
                            "line": 77,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "CallExpression",
                          "start": 2548,
                          "end": 2565,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 23
                            },
                            "end": {
                              "line": 77,
                              "column": 40
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2548,
                            "end": 2563,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 23
                              },
                              "end": {
                                "line": 77,
                                "column": 38
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2548,
                              "end": 2559,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 23
                                },
                                "end": {
                                  "line": 77,
                                  "column": 34
                                }
                              },
                              "name": "performance"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2560,
                              "end": 2563,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 35
                                },
                                "end": {
                                  "line": 77,
                                  "column": 38
                                }
                              },
                              "name": "now"
                            },
                            "computed": false
                          },
                          "arguments": []
                        },
                        "operator": "-",
                        "right": {
                          "type": "Identifier",
                          "start": 2568,
                          "end": 2577,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 43
                            },
                            "end": {
                              "line": 77,
                              "column": 52
                            }
                          },
                          "name": "startTime"
                        }
                      }
                    }
                  ],
                  "kind": "var"
                },
                {
                  "type": "ExpressionStatement",
                  "start": 2588,
                  "end": 2670,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 8
                    },
                    "end": {
                      "line": 78,
                      "column": 90
                    }
                  },
                  "expression": {
                    "type": "CallExpression",
                    "start": 2588,
                    "end": 2669,
                    "loc": {
                      "start": {
                        "line": 78,
                        "column": 8
                      },
                      "end": {
                        "line": 78,
                        "column": 89
                      }
                    },
                    "callee": {
                      "type": "MemberExpression",
                      "start": 2588,
                      "end": 2599,
                      "loc": {
                        "start": {
                          "line": 78,
                          "column": 8
                        },
                        "end": {
                          "line": 78,
                          "column": 19
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2588,
                        "end": 2595,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 8
                          },
                          "end": {
                            "line": 78,
                            "column": 15
                          }
                        },
                        "name": "console"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2596,
                        "end": 2599,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 16
                          },
                          "end": {
                            "line": 78,
                            "column": 19
                          }
                        },
                        "name": "log"
                      },
                      "computed": false
                    },
                    "arguments": [
                      {
                        "type": "BinaryExpression",
                        "start": 2600,
                        "end": 2668,
                        "loc": {
                          "start": {
                            "line": 78,
                            "column": 20
                          },
                          "end": {
                            "line": 78,
                            "column": 88
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 2600,
                          "end": 2660,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 20
                            },
                            "end": {
                              "line": 78,
                              "column": 80
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 2600,
                            "end": 2649,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 20
                              },
                              "end": {
                                "line": 78,
                                "column": 69
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 2600,
                              "end": 2620,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 20
                                },
                                "end": {
                                  "line": 78,
                                  "column": 40
                                }
                              },
                              "left": {
                                "type": "Literal",
                                "start": 2600,
                                "end": 2602,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 22
                                  }
                                },
                                "value": "",
                                "rawValue": "",
                                "raw": "\"\""
                              },
                              "operator": "+",
                              "right": {
                                "type": "MemberExpression",
                                "start": 2605,
                                "end": 2620,
                                "loc": {
                                  "start": {
                                    "line": 78,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 78,
                                    "column": 40
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2605,
                                  "end": 2613,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 33
                                    }
                                  },
                                  "name": "commands"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2614,
                                  "end": 2620,
                                  "loc": {
                                    "start": {
                                      "line": 78,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 78,
                                      "column": 40
                                    }
                                  },
                                  "name": "length"
                                },
                                "computed": false
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "Literal",
                              "start": 2623,
                              "end": 2649,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 43
                                },
                                "end": {
                                  "line": 78,
                                  "column": 69
                                }
                              },
                              "value": " command(s) finished in ",
                              "rawValue": " command(s) finished in ",
                              "raw": "\" command(s) finished in \""
                            }
                          },
                          "operator": "+",
                          "right": {
                            "type": "Identifier",
                            "start": 2652,
                            "end": 2660,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 72
                              },
                              "end": {
                                "line": 78,
                                "column": 80
                              }
                            },
                            "name": "diffTime"
                          }
                        },
                        "operator": "+",
                        "right": {
                          "type": "Literal",
                          "start": 2663,
                          "end": 2668,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 83
                            },
                            "end": {
                              "line": 78,
                              "column": 88
                            }
                          },
                          "value": " ms",
                          "rawValue": " ms",
                          "raw": "\" ms\""
                        }
                      }
                    ]
                  }
                },
                {
                  "type": "IfStatement",
                  "start": 2680,
                  "end": 2794,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 8
                    },
                    "end": {
                      "line": 80,
                      "column": 94
                    }
                  },
                  "test": {
                    "type": "BinaryExpression",
                    "start": 2684,
                    "end": 2697,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 12
                      },
                      "end": {
                        "line": 79,
                        "column": 25
                      }
                    },
                    "left": {
                      "type": "Identifier",
                      "start": 2684,
                      "end": 2692,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 12
                        },
                        "end": {
                          "line": 79,
                          "column": 20
                        }
                      },
                      "name": "logLevel"
                    },
                    "operator": ">=",
                    "right": {
                      "type": "Literal",
                      "start": 2696,
                      "end": 2697,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 24
                        },
                        "end": {
                          "line": 79,
                          "column": 25
                        }
                      },
                      "value": 5,
                      "rawValue": 5,
                      "raw": "5"
                    }
                  },
                  "consequent": {
                    "type": "ExpressionStatement",
                    "start": 2712,
                    "end": 2794,
                    "loc": {
                      "start": {
                        "line": 80,
                        "column": 12
                      },
                      "end": {
                        "line": 80,
                        "column": 94
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2712,
                      "end": 2793,
                      "loc": {
                        "start": {
                          "line": 80,
                          "column": 12
                        },
                        "end": {
                          "line": 80,
                          "column": 93
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2712,
                        "end": 2728,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 12
                          },
                          "end": {
                            "line": 80,
                            "column": 28
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2712,
                          "end": 2720,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 12
                            },
                            "end": {
                              "line": 80,
                              "column": 20
                            }
                          },
                          "name": "commands"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2721,
                          "end": 2728,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 21
                            },
                            "end": {
                              "line": 80,
                              "column": 28
                            }
                          },
                          "name": "forEach"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 2729,
                          "end": 2792,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 29
                            },
                            "end": {
                              "line": 80,
                              "column": 92
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2729,
                              "end": 2732,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 29
                                },
                                "end": {
                                  "line": 80,
                                  "column": 32
                                }
                              },
                              "name": "cmd"
                            }
                          ],
                          "body": {
                            "type": "CallExpression",
                            "start": 2736,
                            "end": 2792,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 36
                              },
                              "end": {
                                "line": 80,
                                "column": 92
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 2736,
                              "end": 2747,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 36
                                },
                                "end": {
                                  "line": 80,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2736,
                                "end": 2743,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 43
                                  }
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2744,
                                "end": 2747,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 47
                                  }
                                },
                                "name": "log"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "CallExpression",
                                "start": 2748,
                                "end": 2763,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 63
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 2748,
                                  "end": 2761,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 61
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 2748,
                                    "end": 2757,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 57
                                      }
                                    },
                                    "name": "Timestamp"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 2758,
                                    "end": 2761,
                                    "loc": {
                                      "start": {
                                        "line": 80,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 80,
                                        "column": 61
                                      }
                                    },
                                    "name": "get"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              {
                                "type": "Literal",
                                "start": 2765,
                                "end": 2773,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 73
                                  }
                                },
                                "value": "[s->c]",
                                "rawValue": "[s->c]",
                                "raw": "\"[s->c]\""
                              },
                              {
                                "type": "Literal",
                                "start": 2775,
                                "end": 2781,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 81
                                  }
                                },
                                "value": "task",
                                "rawValue": "task",
                                "raw": "\"task\""
                              },
                              {
                                "type": "MemberExpression",
                                "start": 2783,
                                "end": 2791,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 91
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 2783,
                                  "end": 2786,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 83
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 86
                                    }
                                  },
                                  "name": "cmd"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2787,
                                  "end": 2791,
                                  "loc": {
                                    "start": {
                                      "line": 80,
                                      "column": 87
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 91
                                    }
                                  },
                                  "name": "task"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ]
                    }
                  },
                  "alternate": null
                }
              ]
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 2807,
            "end": 2869,
            "loc": {
              "start": {
                "line": 82,
                "column": 4
              },
              "end": {
                "line": 83,
                "column": 33
              }
            },
            "test": {
              "type": "MemberExpression",
              "start": 2811,
              "end": 2833,
              "loc": {
                "start": {
                  "line": 82,
                  "column": 8
                },
                "end": {
                  "line": 82,
                  "column": 30
                }
              },
              "object": {
                "type": "MemberExpression",
                "start": 2811,
                "end": 2826,
                "loc": {
                  "start": {
                    "line": 82,
                    "column": 8
                  },
                  "end": {
                    "line": 82,
                    "column": 23
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 2811,
                  "end": 2819,
                  "loc": {
                    "start": {
                      "line": 82,
                      "column": 8
                    },
                    "end": {
                      "line": 82,
                      "column": 16
                    }
                  },
                  "name": "response"
                },
                "property": {
                  "type": "Identifier",
                  "start": 2820,
                  "end": 2826,
                  "loc": {
                    "start": {
                      "line": 82,
                      "column": 17
                    },
                    "end": {
                      "line": 82,
                      "column": 23
                    }
                  },
                  "name": "errors"
                },
                "computed": false
              },
              "property": {
                "type": "Identifier",
                "start": 2827,
                "end": 2833,
                "loc": {
                  "start": {
                    "line": 82,
                    "column": 24
                  },
                  "end": {
                    "line": 82,
                    "column": 30
                  }
                },
                "name": "length"
              },
              "computed": false
            },
            "consequent": {
              "type": "ThrowStatement",
              "start": 2844,
              "end": 2869,
              "loc": {
                "start": {
                  "line": 83,
                  "column": 8
                },
                "end": {
                  "line": 83,
                  "column": 33
                }
              },
              "argument": {
                "type": "MemberExpression",
                "start": 2850,
                "end": 2868,
                "loc": {
                  "start": {
                    "line": 83,
                    "column": 14
                  },
                  "end": {
                    "line": 83,
                    "column": 32
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 2850,
                  "end": 2865,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 14
                    },
                    "end": {
                      "line": 83,
                      "column": 29
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 2850,
                    "end": 2858,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 14
                      },
                      "end": {
                        "line": 83,
                        "column": 22
                      }
                    },
                    "name": "response"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2859,
                    "end": 2865,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 23
                      },
                      "end": {
                        "line": 83,
                        "column": 29
                      }
                    },
                    "name": "errors"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Literal",
                  "start": 2866,
                  "end": 2867,
                  "loc": {
                    "start": {
                      "line": 83,
                      "column": 30
                    },
                    "end": {
                      "line": 83,
                      "column": 31
                    }
                  },
                  "value": 0,
                  "rawValue": 0,
                  "raw": "0"
                },
                "computed": true
              }
            },
            "alternate": null
          },
          {
            "type": "IfStatement",
            "start": 2875,
            "end": 3026,
            "loc": {
              "start": {
                "line": 84,
                "column": 4
              },
              "end": {
                "line": 85,
                "column": 104
              }
            },
            "test": {
              "type": "BinaryExpression",
              "start": 2879,
              "end": 2919,
              "loc": {
                "start": {
                  "line": 84,
                  "column": 8
                },
                "end": {
                  "line": 84,
                  "column": 48
                }
              },
              "left": {
                "type": "MemberExpression",
                "start": 2879,
                "end": 2902,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 8
                  },
                  "end": {
                    "line": 84,
                    "column": 31
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 2879,
                  "end": 2895,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 8
                    },
                    "end": {
                      "line": 84,
                      "column": 24
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 2879,
                    "end": 2887,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 8
                      },
                      "end": {
                        "line": 84,
                        "column": 16
                      }
                    },
                    "name": "response"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2888,
                    "end": 2895,
                    "loc": {
                      "start": {
                        "line": 84,
                        "column": 17
                      },
                      "end": {
                        "line": 84,
                        "column": 24
                      }
                    },
                    "name": "results"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 2896,
                  "end": 2902,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 25
                    },
                    "end": {
                      "line": 84,
                      "column": 31
                    }
                  },
                  "name": "length"
                },
                "computed": false
              },
              "operator": "!==",
              "right": {
                "type": "MemberExpression",
                "start": 2907,
                "end": 2919,
                "loc": {
                  "start": {
                    "line": 84,
                    "column": 36
                  },
                  "end": {
                    "line": 84,
                    "column": 48
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 2907,
                  "end": 2912,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 36
                    },
                    "end": {
                      "line": 84,
                      "column": 41
                    }
                  },
                  "name": "tasks"
                },
                "property": {
                  "type": "Identifier",
                  "start": 2913,
                  "end": 2919,
                  "loc": {
                    "start": {
                      "line": 84,
                      "column": 42
                    },
                    "end": {
                      "line": 84,
                      "column": 48
                    }
                  },
                  "name": "length"
                },
                "computed": false
              }
            },
            "consequent": {
              "type": "ThrowStatement",
              "start": 2930,
              "end": 3026,
              "loc": {
                "start": {
                  "line": 85,
                  "column": 8
                },
                "end": {
                  "line": 85,
                  "column": 104
                }
              },
              "argument": {
                "type": "NewExpression",
                "start": 2936,
                "end": 3025,
                "loc": {
                  "start": {
                    "line": 85,
                    "column": 14
                  },
                  "end": {
                    "line": 85,
                    "column": 103
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 2940,
                  "end": 2945,
                  "loc": {
                    "start": {
                      "line": 85,
                      "column": 18
                    },
                    "end": {
                      "line": 85,
                      "column": 23
                    }
                  },
                  "name": "Error"
                },
                "arguments": [
                  {
                    "type": "TemplateLiteral",
                    "start": 2946,
                    "end": 3024,
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 24
                      },
                      "end": {
                        "line": 85,
                        "column": 102
                      }
                    },
                    "expressions": [
                      {
                        "type": "MemberExpression",
                        "start": 2965,
                        "end": 2988,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 43
                          },
                          "end": {
                            "line": 85,
                            "column": 66
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 2965,
                          "end": 2981,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 43
                            },
                            "end": {
                              "line": 85,
                              "column": 59
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2965,
                            "end": 2973,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 43
                              },
                              "end": {
                                "line": 85,
                                "column": 51
                              }
                            },
                            "name": "response"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2974,
                            "end": 2981,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 52
                              },
                              "end": {
                                "line": 85,
                                "column": 59
                              }
                            },
                            "name": "results"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2982,
                          "end": 2988,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 60
                            },
                            "end": {
                              "line": 85,
                              "column": 66
                            }
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      {
                        "type": "MemberExpression",
                        "start": 3010,
                        "end": 3022,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 88
                          },
                          "end": {
                            "line": 85,
                            "column": 100
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3010,
                          "end": 3015,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 88
                            },
                            "end": {
                              "line": 85,
                              "column": 93
                            }
                          },
                          "name": "tasks"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3016,
                          "end": 3022,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 94
                            },
                            "end": {
                              "line": 85,
                              "column": 100
                            }
                          },
                          "name": "length"
                        },
                        "computed": false
                      }
                    ],
                    "quasis": [
                      {
                        "type": "TemplateElement",
                        "start": 2947,
                        "end": 2963,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 25
                          },
                          "end": {
                            "line": 85,
                            "column": 41
                          }
                        },
                        "value": {
                          "raw": "Server returned ",
                          "cooked": "Server returned "
                        },
                        "tail": false
                      },
                      {
                        "type": "TemplateElement",
                        "start": 2989,
                        "end": 3008,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 67
                          },
                          "end": {
                            "line": 85,
                            "column": 86
                          }
                        },
                        "value": {
                          "raw": " results, expected ",
                          "cooked": " results, expected "
                        },
                        "tail": false
                      },
                      {
                        "type": "TemplateElement",
                        "start": 3023,
                        "end": 3023,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 101
                          },
                          "end": {
                            "line": 85,
                            "column": 101
                          }
                        },
                        "value": {
                          "raw": "",
                          "cooked": ""
                        },
                        "tail": true
                      }
                    ]
                  }
                ]
              }
            },
            "alternate": null
          },
          {
            "type": "ReturnStatement",
            "start": 3032,
            "end": 3236,
            "loc": {
              "start": {
                "line": 86,
                "column": 4
              },
              "end": {
                "line": 90,
                "column": 7
              }
            },
            "argument": {
              "type": "CallExpression",
              "start": 3039,
              "end": 3235,
              "loc": {
                "start": {
                  "line": 86,
                  "column": 11
                },
                "end": {
                  "line": 90,
                  "column": 6
                }
              },
              "callee": {
                "type": "MemberExpression",
                "start": 3039,
                "end": 3059,
                "loc": {
                  "start": {
                    "line": 86,
                    "column": 11
                  },
                  "end": {
                    "line": 86,
                    "column": 31
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 3039,
                  "end": 3055,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 11
                    },
                    "end": {
                      "line": 86,
                      "column": 27
                    }
                  },
                  "object": {
                    "type": "Identifier",
                    "start": 3039,
                    "end": 3047,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 11
                      },
                      "end": {
                        "line": 86,
                        "column": 19
                      }
                    },
                    "name": "response"
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 3048,
                    "end": 3055,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 20
                      },
                      "end": {
                        "line": 86,
                        "column": 27
                      }
                    },
                    "name": "results"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 3056,
                  "end": 3059,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 28
                    },
                    "end": {
                      "line": 86,
                      "column": 31
                    }
                  },
                  "name": "map"
                },
                "computed": false
              },
              "arguments": [
                {
                  "type": "ArrowFunctionExpression",
                  "start": 3060,
                  "end": 3234,
                  "loc": {
                    "start": {
                      "line": 86,
                      "column": 32
                    },
                    "end": {
                      "line": 90,
                      "column": 5
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 3061,
                      "end": 3062,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 33
                        },
                        "end": {
                          "line": 86,
                          "column": 34
                        }
                      },
                      "name": "r"
                    },
                    {
                      "type": "Identifier",
                      "start": 3064,
                      "end": 3065,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 36
                        },
                        "end": {
                          "line": 86,
                          "column": 37
                        }
                      },
                      "name": "i"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 3070,
                    "end": 3234,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 42
                      },
                      "end": {
                        "line": 90,
                        "column": 5
                      }
                    },
                    "body": [
                      {
                        "type": "IfStatement",
                        "start": 3081,
                        "end": 3201,
                        "loc": {
                          "start": {
                            "line": 87,
                            "column": 8
                          },
                          "end": {
                            "line": 88,
                            "column": 94
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 3085,
                          "end": 3104,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 12
                            },
                            "end": {
                              "line": 87,
                              "column": 31
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 3085,
                            "end": 3091,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 12
                              },
                              "end": {
                                "line": 87,
                                "column": 18
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3085,
                              "end": 3086,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 12
                                },
                                "end": {
                                  "line": 87,
                                  "column": 13
                                }
                              },
                              "name": "r"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3087,
                              "end": 3091,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 14
                                },
                                "end": {
                                  "line": 87,
                                  "column": 18
                                }
                              },
                              "name": "hint"
                            },
                            "computed": false
                          },
                          "operator": "!==",
                          "right": {
                            "type": "MemberExpression",
                            "start": 3096,
                            "end": 3104,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 23
                              },
                              "end": {
                                "line": 87,
                                "column": 31
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 3096,
                              "end": 3101,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 23
                                },
                                "end": {
                                  "line": 87,
                                  "column": 28
                                }
                              },
                              "name": "tasks"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3102,
                              "end": 3103,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 29
                                },
                                "end": {
                                  "line": 87,
                                  "column": 30
                                }
                              },
                              "name": "i"
                            },
                            "computed": true
                          }
                        },
                        "consequent": {
                          "type": "ThrowStatement",
                          "start": 3119,
                          "end": 3201,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 12
                            },
                            "end": {
                              "line": 88,
                              "column": 94
                            }
                          },
                          "argument": {
                            "type": "NewExpression",
                            "start": 3125,
                            "end": 3200,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 18
                              },
                              "end": {
                                "line": 88,
                                "column": 93
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 3129,
                              "end": 3134,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 22
                                },
                                "end": {
                                  "line": 88,
                                  "column": 27
                                }
                              },
                              "name": "Error"
                            },
                            "arguments": [
                              {
                                "type": "TemplateLiteral",
                                "start": 3135,
                                "end": 3199,
                                "loc": {
                                  "start": {
                                    "line": 88,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 88,
                                    "column": 92
                                  }
                                },
                                "expressions": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 3166,
                                    "end": 3172,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 65
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3166,
                                      "end": 3167,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 60
                                        }
                                      },
                                      "name": "r"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3168,
                                      "end": 3172,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 61
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 65
                                        }
                                      },
                                      "name": "hint"
                                    },
                                    "computed": false
                                  },
                                  {
                                    "type": "MemberExpression",
                                    "start": 3188,
                                    "end": 3196,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 89
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3188,
                                      "end": 3193,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 86
                                        }
                                      },
                                      "name": "tasks"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3194,
                                      "end": 3195,
                                      "loc": {
                                        "start": {
                                          "line": 88,
                                          "column": 87
                                        },
                                        "end": {
                                          "line": 88,
                                          "column": 88
                                        }
                                      },
                                      "name": "i"
                                    },
                                    "computed": true
                                  }
                                ],
                                "quasis": [
                                  {
                                    "type": "TemplateElement",
                                    "start": 3136,
                                    "end": 3164,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 57
                                      }
                                    },
                                    "value": {
                                      "raw": "Server returned result for \"",
                                      "cooked": "Server returned result for \""
                                    },
                                    "tail": false
                                  },
                                  {
                                    "type": "TemplateElement",
                                    "start": 3173,
                                    "end": 3186,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 66
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 79
                                      }
                                    },
                                    "value": {
                                      "raw": "\", expected \"",
                                      "cooked": "\", expected \""
                                    },
                                    "tail": false
                                  },
                                  {
                                    "type": "TemplateElement",
                                    "start": 3197,
                                    "end": 3198,
                                    "loc": {
                                      "start": {
                                        "line": 88,
                                        "column": 90
                                      },
                                      "end": {
                                        "line": 88,
                                        "column": 91
                                      }
                                    },
                                    "value": {
                                      "raw": "\"",
                                      "cooked": "\""
                                    },
                                    "tail": true
                                  }
                                ]
                              }
                            ]
                          }
                        },
                        "alternate": null
                      },
                      {
                        "type": "ReturnStatement",
                        "start": 3211,
                        "end": 3227,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 8
                          },
                          "end": {
                            "line": 89,
                            "column": 24
                          }
                        },
                        "argument": {
                          "type": "MemberExpression",
                          "start": 3218,
                          "end": 3226,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 15
                            },
                            "end": {
                              "line": 89,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3218,
                            "end": 3219,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 15
                              },
                              "end": {
                                "line": 89,
                                "column": 16
                              }
                            },
                            "name": "r"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3220,
                            "end": 3226,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 17
                              },
                              "end": {
                                "line": 89,
                                "column": 23
                              }
                            },
                            "name": "result"
                          },
                          "computed": false
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
}