{
  "type": "Program",
  "start": 0,
  "end": 2782,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 80,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 34,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 34
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 7,
          "end": 9,
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 9
            }
          },
          "local": {
            "type": "Identifier",
            "start": 7,
            "end": 9,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 9
              }
            },
            "name": "io"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 15,
        "end": 33,
        "loc": {
          "start": {
            "line": 1,
            "column": 15
          },
          "end": {
            "line": 1,
            "column": 33
          }
        },
        "value": "socket.io-client",
        "rawValue": "socket.io-client",
        "raw": "'socket.io-client'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 36,
      "end": 77,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 41
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 43,
          "end": 47,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 43,
            "end": 47,
            "loc": {
              "start": {
                "line": 2,
                "column": 7
              },
              "end": {
                "line": 2,
                "column": 11
              }
            },
            "name": "Base"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 53,
        "end": 76,
        "loc": {
          "start": {
            "line": 2,
            "column": 17
          },
          "end": {
            "line": 2,
            "column": 40
          }
        },
        "value": "../communication/base",
        "rawValue": "../communication/base",
        "raw": "'../communication/base'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 79,
      "end": 115,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 36
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 86,
          "end": 92,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 13
            }
          },
          "local": {
            "type": "Identifier",
            "start": 86,
            "end": 92,
            "loc": {
              "start": {
                "line": 3,
                "column": 7
              },
              "end": {
                "line": 3,
                "column": 13
              }
            },
            "name": "Parser"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 98,
        "end": 114,
        "loc": {
          "start": {
            "line": 3,
            "column": 19
          },
          "end": {
            "line": 3,
            "column": 35
          }
        },
        "value": "../core/parser",
        "rawValue": "../core/parser",
        "raw": "'../core/parser'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 117,
      "end": 178,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 61
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 126,
          "end": 139,
          "loc": {
            "start": {
              "line": 4,
              "column": 9
            },
            "end": {
              "line": 4,
              "column": 22
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 126,
            "end": 139,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 22
              }
            },
            "name": "createContext"
          },
          "local": {
            "type": "Identifier",
            "start": 126,
            "end": 139,
            "loc": {
              "start": {
                "line": 4,
                "column": 9
              },
              "end": {
                "line": 4,
                "column": 22
              }
            },
            "name": "createContext"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 141,
          "end": 153,
          "loc": {
            "start": {
              "line": 4,
              "column": 24
            },
            "end": {
              "line": 4,
              "column": 36
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 141,
            "end": 153,
            "loc": {
              "start": {
                "line": 4,
                "column": 24
              },
              "end": {
                "line": 4,
                "column": 36
              }
            },
            "name": "handleResult"
          },
          "local": {
            "type": "Identifier",
            "start": 141,
            "end": 153,
            "loc": {
              "start": {
                "line": 4,
                "column": 24
              },
              "end": {
                "line": 4,
                "column": 36
              }
            },
            "name": "handleResult"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 161,
        "end": 177,
        "loc": {
          "start": {
            "line": 4,
            "column": 44
          },
          "end": {
            "line": 4,
            "column": 60
          }
        },
        "value": "../core/parser",
        "rawValue": "../core/parser",
        "raw": "'../core/parser'"
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 182,
      "end": 2780,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 79,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 197,
        "end": 2780,
        "loc": {
          "start": {
            "line": 6,
            "column": 15
          },
          "end": {
            "line": 79,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 203,
          "end": 211,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 6,
              "column": 29
            }
          },
          "name": "SocketIO"
        },
        "superClass": {
          "type": "Identifier",
          "start": 220,
          "end": 224,
          "loc": {
            "start": {
              "line": 6,
              "column": 38
            },
            "end": {
              "line": 6,
              "column": 42
            }
          },
          "name": "Base"
        },
        "body": {
          "type": "ClassBody",
          "start": 225,
          "end": 2780,
          "loc": {
            "start": {
              "line": 6,
              "column": 43
            },
            "end": {
              "line": 79,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 232,
              "end": 286,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 9,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 232,
                "end": 243,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 7,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 243,
                "end": 286,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 15
                  },
                  "end": {
                    "line": 9,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 244,
                    "end": 251,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 16
                      },
                      "end": {
                        "line": 7,
                        "column": 23
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 253,
                  "end": 286,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 25
                    },
                    "end": {
                      "line": 9,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 264,
                      "end": 279,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 8
                        },
                        "end": {
                          "line": 8,
                          "column": 23
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 264,
                        "end": 278,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 8
                          },
                          "end": {
                            "line": 8,
                            "column": 22
                          }
                        },
                        "callee": {
                          "type": "Super",
                          "start": 264,
                          "end": 269,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 8
                            },
                            "end": {
                              "line": 8,
                              "column": 13
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 270,
                            "end": 277,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 14
                              },
                              "end": {
                                "line": 8,
                                "column": 21
                              }
                            },
                            "name": "options"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 294,
              "end": 1934,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 4
                },
                "end": {
                  "line": 54,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 294,
                "end": 301,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 4
                  },
                  "end": {
                    "line": 11,
                    "column": 11
                  }
                },
                "name": "connect"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 301,
                "end": 1934,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 11
                  },
                  "end": {
                    "line": 54,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 302,
                    "end": 316,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 12
                      },
                      "end": {
                        "line": 11,
                        "column": 26
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 302,
                      "end": 305,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 12
                        },
                        "end": {
                          "line": 11,
                          "column": 15
                        }
                      },
                      "name": "url"
                    },
                    "right": {
                      "type": "MemberExpression",
                      "start": 308,
                      "end": 316,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 18
                        },
                        "end": {
                          "line": 11,
                          "column": 26
                        }
                      },
                      "object": {
                        "type": "ThisExpression",
                        "start": 308,
                        "end": 312,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 18
                          },
                          "end": {
                            "line": 11,
                            "column": 22
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 313,
                        "end": 316,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 23
                          },
                          "end": {
                            "line": 11,
                            "column": 26
                          }
                        },
                        "name": "url"
                      },
                      "computed": false
                    }
                  },
                  {
                    "type": "Identifier",
                    "start": 318,
                    "end": 325,
                    "loc": {
                      "start": {
                        "line": 11,
                        "column": 28
                      },
                      "end": {
                        "line": 11,
                        "column": 35
                      }
                    },
                    "name": "options"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 327,
                  "end": 1934,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 37
                    },
                    "end": {
                      "line": 54,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 338,
                      "end": 1927,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "NewExpression",
                        "start": 345,
                        "end": 1926,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 15
                          },
                          "end": {
                            "line": 53,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 349,
                          "end": 356,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 19
                            },
                            "end": {
                              "line": 12,
                              "column": 26
                            }
                          },
                          "name": "Promise"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 357,
                            "end": 1925,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 27
                              },
                              "end": {
                                "line": 53,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 358,
                                "end": 365,
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 35
                                  }
                                },
                                "name": "resolve"
                              },
                              {
                                "type": "Identifier",
                                "start": 367,
                                "end": 373,
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 43
                                  }
                                },
                                "name": "reject"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 378,
                              "end": 1925,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 48
                                },
                                "end": {
                                  "line": 53,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 393,
                                  "end": 408,
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 27
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 393,
                                    "end": 407,
                                    "loc": {
                                      "start": {
                                        "line": 13,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 13,
                                        "column": 26
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 393,
                                      "end": 401,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 20
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 393,
                                        "end": 397,
                                        "loc": {
                                          "start": {
                                            "line": 13,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 13,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 398,
                                        "end": 401,
                                        "loc": {
                                          "start": {
                                            "line": 13,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 13,
                                            "column": 20
                                          }
                                        },
                                        "name": "url"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Identifier",
                                      "start": 404,
                                      "end": 407,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 26
                                        }
                                      },
                                      "name": "url"
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 422,
                                  "end": 444,
                                  "loc": {
                                    "start": {
                                      "line": 14,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 14,
                                      "column": 34
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 422,
                                    "end": 443,
                                    "loc": {
                                      "start": {
                                        "line": 14,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 14,
                                        "column": 33
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 422,
                                      "end": 433,
                                      "loc": {
                                        "start": {
                                          "line": 14,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 14,
                                          "column": 23
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 422,
                                        "end": 426,
                                        "loc": {
                                          "start": {
                                            "line": 14,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 14,
                                            "column": 16
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 427,
                                        "end": 433,
                                        "loc": {
                                          "start": {
                                            "line": 14,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 14,
                                            "column": 23
                                          }
                                        },
                                        "name": "socket"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 436,
                                      "end": 443,
                                      "loc": {
                                        "start": {
                                          "line": 14,
                                          "column": 26
                                        },
                                        "end": {
                                          "line": 14,
                                          "column": 33
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 436,
                                        "end": 438,
                                        "loc": {
                                          "start": {
                                            "line": 14,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 14,
                                            "column": 28
                                          }
                                        },
                                        "name": "io"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 439,
                                          "end": 442,
                                          "loc": {
                                            "start": {
                                              "line": 14,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 14,
                                              "column": 32
                                            }
                                          },
                                          "name": "url"
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 458,
                                  "end": 834,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 23,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 458,
                                    "end": 833,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 23,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 458,
                                      "end": 474,
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 458,
                                        "end": 469,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 458,
                                          "end": 462,
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 463,
                                          "end": 469,
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 15,
                                              "column": 23
                                            }
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 470,
                                        "end": 474,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 28
                                          }
                                        },
                                        "name": "once"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 475,
                                        "end": 484,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 38
                                          }
                                        },
                                        "value": "connect",
                                        "rawValue": "connect",
                                        "raw": "\"connect\""
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 486,
                                        "end": 832,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 23,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 492,
                                          "end": 832,
                                          "loc": {
                                            "start": {
                                              "line": 15,
                                              "column": 46
                                            },
                                            "end": {
                                              "line": 23,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 511,
                                              "end": 749,
                                              "loc": {
                                                "start": {
                                                  "line": 16,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 21,
                                                  "column": 19
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 511,
                                                "end": 748,
                                                "loc": {
                                                  "start": {
                                                    "line": 16,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 21,
                                                    "column": 18
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 511,
                                                  "end": 527,
                                                  "loc": {
                                                    "start": {
                                                      "line": 16,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 16,
                                                      "column": 32
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 511,
                                                    "end": 522,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 16,
                                                        "column": 27
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 511,
                                                      "end": 515,
                                                      "loc": {
                                                        "start": {
                                                          "line": 16,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 16,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 516,
                                                      "end": 522,
                                                      "loc": {
                                                        "start": {
                                                          "line": 16,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 16,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 523,
                                                    "end": 527,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 16,
                                                        "column": 32
                                                      }
                                                    },
                                                    "name": "once"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Literal",
                                                    "start": 528,
                                                    "end": 540,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 16,
                                                        "column": 45
                                                      }
                                                    },
                                                    "value": "permission",
                                                    "rawValue": "permission",
                                                    "raw": "'permission'"
                                                  },
                                                  {
                                                    "type": "ArrowFunctionExpression",
                                                    "start": 542,
                                                    "end": 747,
                                                    "loc": {
                                                      "start": {
                                                        "line": 16,
                                                        "column": 47
                                                      },
                                                      "end": {
                                                        "line": 21,
                                                        "column": 17
                                                      }
                                                    },
                                                    "id": null,
                                                    "generator": false,
                                                    "expression": false,
                                                    "async": false,
                                                    "params": [
                                                      {
                                                        "type": "Identifier",
                                                        "start": 542,
                                                        "end": 546,
                                                        "loc": {
                                                          "start": {
                                                            "line": 16,
                                                            "column": 47
                                                          },
                                                          "end": {
                                                            "line": 16,
                                                            "column": 51
                                                          }
                                                        },
                                                        "name": "data"
                                                      }
                                                    ],
                                                    "body": {
                                                      "type": "BlockStatement",
                                                      "start": 550,
                                                      "end": 747,
                                                      "loc": {
                                                        "start": {
                                                          "line": 16,
                                                          "column": 55
                                                        },
                                                        "end": {
                                                          "line": 21,
                                                          "column": 17
                                                        }
                                                      },
                                                      "body": [
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 573,
                                                          "end": 595,
                                                          "loc": {
                                                            "start": {
                                                              "line": 17,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 17,
                                                              "column": 42
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "start": 573,
                                                            "end": 594,
                                                            "loc": {
                                                              "start": {
                                                                "line": 17,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 17,
                                                                "column": 41
                                                              }
                                                            },
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "start": 573,
                                                              "end": 587,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 17,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 17,
                                                                  "column": 34
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "ThisExpression",
                                                                "start": 573,
                                                                "end": 577,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 17,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 17,
                                                                    "column": 24
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 578,
                                                                "end": 587,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 17,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 17,
                                                                    "column": 34
                                                                  }
                                                                },
                                                                "name": "connected"
                                                              },
                                                              "computed": false
                                                            },
                                                            "right": {
                                                              "type": "Literal",
                                                              "start": 590,
                                                              "end": 594,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 17,
                                                                  "column": 37
                                                                },
                                                                "end": {
                                                                  "line": 17,
                                                                  "column": 41
                                                                }
                                                              },
                                                              "value": true,
                                                              "rawValue": true,
                                                              "raw": "true"
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 617,
                                                          "end": 635,
                                                          "loc": {
                                                            "start": {
                                                              "line": 18,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 18,
                                                              "column": 38
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "AssignmentExpression",
                                                            "start": 617,
                                                            "end": 634,
                                                            "loc": {
                                                              "start": {
                                                                "line": 18,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 18,
                                                                "column": 37
                                                              }
                                                            },
                                                            "operator": "=",
                                                            "left": {
                                                              "type": "MemberExpression",
                                                              "start": 617,
                                                              "end": 624,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 18,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 18,
                                                                  "column": 27
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "ThisExpression",
                                                                "start": 617,
                                                                "end": 621,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 24
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 622,
                                                                "end": 624,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 27
                                                                  }
                                                                },
                                                                "name": "id"
                                                              },
                                                              "computed": false
                                                            },
                                                            "right": {
                                                              "type": "MemberExpression",
                                                              "start": 627,
                                                              "end": 634,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 18,
                                                                  "column": 30
                                                                },
                                                                "end": {
                                                                  "line": 18,
                                                                  "column": 37
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "Identifier",
                                                                "start": 627,
                                                                "end": 631,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 30
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 34
                                                                  }
                                                                },
                                                                "name": "data"
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 632,
                                                                "end": 634,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 18,
                                                                    "column": 35
                                                                  },
                                                                  "end": {
                                                                    "line": 18,
                                                                    "column": 37
                                                                  }
                                                                },
                                                                "name": "id"
                                                              },
                                                              "computed": false
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 657,
                                                          "end": 692,
                                                          "loc": {
                                                            "start": {
                                                              "line": 19,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 19,
                                                              "column": 55
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "CallExpression",
                                                            "start": 657,
                                                            "end": 691,
                                                            "loc": {
                                                              "start": {
                                                                "line": 19,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 19,
                                                                "column": 54
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "MemberExpression",
                                                              "start": 657,
                                                              "end": 666,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 19,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 19,
                                                                  "column": 29
                                                                }
                                                              },
                                                              "object": {
                                                                "type": "ThisExpression",
                                                                "start": 657,
                                                                "end": 661,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 20
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 24
                                                                  }
                                                                }
                                                              },
                                                              "property": {
                                                                "type": "Identifier",
                                                                "start": 662,
                                                                "end": 666,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 25
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 29
                                                                  }
                                                                },
                                                                "name": "emit"
                                                              },
                                                              "computed": false
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "Literal",
                                                                "start": 667,
                                                                "end": 678,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 30
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 41
                                                                  }
                                                                },
                                                                "value": "connected",
                                                                "rawValue": "connected",
                                                                "raw": "'connected'"
                                                              },
                                                              {
                                                                "type": "ThisExpression",
                                                                "start": 680,
                                                                "end": 684,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 43
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 47
                                                                  }
                                                                }
                                                              },
                                                              {
                                                                "type": "Identifier",
                                                                "start": 686,
                                                                "end": 690,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 19,
                                                                    "column": 49
                                                                  },
                                                                  "end": {
                                                                    "line": 19,
                                                                    "column": 53
                                                                  }
                                                                },
                                                                "name": "data"
                                                              }
                                                            ]
                                                          }
                                                        },
                                                        {
                                                          "type": "ExpressionStatement",
                                                          "start": 714,
                                                          "end": 728,
                                                          "loc": {
                                                            "start": {
                                                              "line": 20,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 20,
                                                              "column": 34
                                                            }
                                                          },
                                                          "expression": {
                                                            "type": "CallExpression",
                                                            "start": 714,
                                                            "end": 727,
                                                            "loc": {
                                                              "start": {
                                                                "line": 20,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 20,
                                                                "column": 33
                                                              }
                                                            },
                                                            "callee": {
                                                              "type": "Identifier",
                                                              "start": 714,
                                                              "end": 721,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 20,
                                                                  "column": 20
                                                                },
                                                                "end": {
                                                                  "line": 20,
                                                                  "column": 27
                                                                }
                                                              },
                                                              "name": "resolve"
                                                            },
                                                            "arguments": [
                                                              {
                                                                "type": "ThisExpression",
                                                                "start": 722,
                                                                "end": 726,
                                                                "loc": {
                                                                  "start": {
                                                                    "line": 20,
                                                                    "column": 28
                                                                  },
                                                                  "end": {
                                                                    "line": 20,
                                                                    "column": 32
                                                                  }
                                                                }
                                                              }
                                                            ]
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 767,
                                              "end": 817,
                                              "loc": {
                                                "start": {
                                                  "line": 22,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 22,
                                                  "column": 66
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 767,
                                                "end": 816,
                                                "loc": {
                                                  "start": {
                                                    "line": 22,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 22,
                                                    "column": 65
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 767,
                                                  "end": 783,
                                                  "loc": {
                                                    "start": {
                                                      "line": 22,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 22,
                                                      "column": 32
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 767,
                                                    "end": 778,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 27
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 767,
                                                      "end": 771,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 16
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 20
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 772,
                                                      "end": 778,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 21
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 27
                                                        }
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 779,
                                                    "end": 783,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 28
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 32
                                                      }
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Literal",
                                                    "start": 784,
                                                    "end": 790,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 33
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 39
                                                      }
                                                    },
                                                    "value": "init",
                                                    "rawValue": "init",
                                                    "raw": "'init'"
                                                  },
                                                  {
                                                    "type": "LogicalExpression",
                                                    "start": 792,
                                                    "end": 815,
                                                    "loc": {
                                                      "start": {
                                                        "line": 22,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 22,
                                                        "column": 64
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "Identifier",
                                                      "start": 792,
                                                      "end": 799,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 41
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 48
                                                        }
                                                      },
                                                      "name": "options"
                                                    },
                                                    "operator": "||",
                                                    "right": {
                                                      "type": "MemberExpression",
                                                      "start": 803,
                                                      "end": 815,
                                                      "loc": {
                                                        "start": {
                                                          "line": 22,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 22,
                                                          "column": 64
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "ThisExpression",
                                                        "start": 803,
                                                        "end": 807,
                                                        "loc": {
                                                          "start": {
                                                            "line": 22,
                                                            "column": 52
                                                          },
                                                          "end": {
                                                            "line": 22,
                                                            "column": 56
                                                          }
                                                        }
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 808,
                                                        "end": 815,
                                                        "loc": {
                                                          "start": {
                                                            "line": 22,
                                                            "column": 57
                                                          },
                                                          "end": {
                                                            "line": 22,
                                                            "column": 64
                                                          }
                                                        },
                                                        "name": "options"
                                                      },
                                                      "computed": false
                                                    }
                                                  }
                                                ]
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 850,
                                  "end": 988,
                                  "loc": {
                                    "start": {
                                      "line": 25,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 28,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 850,
                                    "end": 987,
                                    "loc": {
                                      "start": {
                                        "line": 25,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 28,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 850,
                                      "end": 864,
                                      "loc": {
                                        "start": {
                                          "line": 25,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 25,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 850,
                                        "end": 861,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 850,
                                          "end": 854,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 25,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 855,
                                          "end": 861,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 25,
                                              "column": 23
                                            }
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 862,
                                        "end": 864,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 26
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 865,
                                        "end": 880,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 25,
                                            "column": 42
                                          }
                                        },
                                        "value": "connect_error",
                                        "rawValue": "connect_error",
                                        "raw": "'connect_error'"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 882,
                                        "end": 986,
                                        "loc": {
                                          "start": {
                                            "line": 25,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 28,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 882,
                                            "end": 888,
                                            "loc": {
                                              "start": {
                                                "line": 25,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 25,
                                                "column": 50
                                              }
                                            },
                                            "name": "reason"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 892,
                                          "end": 986,
                                          "loc": {
                                            "start": {
                                              "line": 25,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 28,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 911,
                                              "end": 938,
                                              "loc": {
                                                "start": {
                                                  "line": 26,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 26,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 911,
                                                "end": 937,
                                                "loc": {
                                                  "start": {
                                                    "line": 26,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 26,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 911,
                                                  "end": 920,
                                                  "loc": {
                                                    "start": {
                                                      "line": 26,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 26,
                                                      "column": 25
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 911,
                                                    "end": 915,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 916,
                                                    "end": 920,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 25
                                                      }
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Literal",
                                                    "start": 921,
                                                    "end": 928,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 33
                                                      }
                                                    },
                                                    "value": "error",
                                                    "rawValue": "error",
                                                    "raw": "'error'"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 930,
                                                    "end": 936,
                                                    "loc": {
                                                      "start": {
                                                        "line": 26,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 26,
                                                        "column": 41
                                                      }
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 956,
                                              "end": 971,
                                              "loc": {
                                                "start": {
                                                  "line": 27,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 27,
                                                  "column": 31
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 956,
                                                "end": 970,
                                                "loc": {
                                                  "start": {
                                                    "line": 27,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 27,
                                                    "column": 30
                                                  }
                                                },
                                                "callee": {
                                                  "type": "Identifier",
                                                  "start": 956,
                                                  "end": 962,
                                                  "loc": {
                                                    "start": {
                                                      "line": 27,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 27,
                                                      "column": 22
                                                    }
                                                  },
                                                  "name": "reject"
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 963,
                                                    "end": 969,
                                                    "loc": {
                                                      "start": {
                                                        "line": 27,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 27,
                                                        "column": 29
                                                      }
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1004,
                                  "end": 1144,
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1004,
                                    "end": 1143,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1004,
                                      "end": 1018,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1004,
                                        "end": 1015,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1004,
                                          "end": 1008,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1009,
                                          "end": 1015,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 30,
                                              "column": 23
                                            }
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1016,
                                        "end": 1018,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 26
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 1019,
                                        "end": 1036,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 44
                                          }
                                        },
                                        "value": "connect_timeout",
                                        "rawValue": "connect_timeout",
                                        "raw": "'connect_timeout'"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 1038,
                                        "end": 1142,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 33,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 1038,
                                            "end": 1044,
                                            "loc": {
                                              "start": {
                                                "line": 30,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 30,
                                                "column": 52
                                              }
                                            },
                                            "name": "reason"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 1048,
                                          "end": 1142,
                                          "loc": {
                                            "start": {
                                              "line": 30,
                                              "column": 56
                                            },
                                            "end": {
                                              "line": 33,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1067,
                                              "end": 1094,
                                              "loc": {
                                                "start": {
                                                  "line": 31,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 31,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1067,
                                                "end": 1093,
                                                "loc": {
                                                  "start": {
                                                    "line": 31,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 31,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 1067,
                                                  "end": 1076,
                                                  "loc": {
                                                    "start": {
                                                      "line": 31,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 31,
                                                      "column": 25
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 1067,
                                                    "end": 1071,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 20
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1072,
                                                    "end": 1076,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 21
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 25
                                                      }
                                                    },
                                                    "name": "emit"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Literal",
                                                    "start": 1077,
                                                    "end": 1084,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 26
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 33
                                                      }
                                                    },
                                                    "value": "error",
                                                    "rawValue": "error",
                                                    "raw": "'error'"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 1086,
                                                    "end": 1092,
                                                    "loc": {
                                                      "start": {
                                                        "line": 31,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 31,
                                                        "column": 41
                                                      }
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1112,
                                              "end": 1127,
                                              "loc": {
                                                "start": {
                                                  "line": 32,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 32,
                                                  "column": 31
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1112,
                                                "end": 1126,
                                                "loc": {
                                                  "start": {
                                                    "line": 32,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 32,
                                                    "column": 30
                                                  }
                                                },
                                                "callee": {
                                                  "type": "Identifier",
                                                  "start": 1112,
                                                  "end": 1118,
                                                  "loc": {
                                                    "start": {
                                                      "line": 32,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 32,
                                                      "column": 22
                                                    }
                                                  },
                                                  "name": "reject"
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 1119,
                                                    "end": 1125,
                                                    "loc": {
                                                      "start": {
                                                        "line": 32,
                                                        "column": 23
                                                      },
                                                      "end": {
                                                        "line": 32,
                                                        "column": 29
                                                      }
                                                    },
                                                    "name": "reason"
                                                  }
                                                ]
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "VariableDeclaration",
                                  "start": 1160,
                                  "end": 1184,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 36
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 1164,
                                      "end": 1183,
                                      "loc": {
                                        "start": {
                                          "line": 35,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 35,
                                          "column": 35
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 1164,
                                        "end": 1171,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 23
                                          }
                                        },
                                        "name": "current"
                                      },
                                      "init": {
                                        "type": "Identifier",
                                        "start": 1174,
                                        "end": 1183,
                                        "loc": {
                                          "start": {
                                            "line": 35,
                                            "column": 26
                                          },
                                          "end": {
                                            "line": 35,
                                            "column": 35
                                          }
                                        },
                                        "name": "undefined"
                                      }
                                    }
                                  ],
                                  "kind": "let"
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1198,
                                  "end": 1399,
                                  "loc": {
                                    "start": {
                                      "line": 36,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1198,
                                    "end": 1398,
                                    "loc": {
                                      "start": {
                                        "line": 36,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 40,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1198,
                                      "end": 1212,
                                      "loc": {
                                        "start": {
                                          "line": 36,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 36,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1198,
                                        "end": 1209,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1198,
                                          "end": 1202,
                                          "loc": {
                                            "start": {
                                              "line": 36,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 36,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1203,
                                          "end": 1209,
                                          "loc": {
                                            "start": {
                                              "line": 36,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 36,
                                              "column": 23
                                            }
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1210,
                                        "end": 1212,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 26
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 1213,
                                        "end": 1221,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 36,
                                            "column": 35
                                          }
                                        },
                                        "value": "binary",
                                        "rawValue": "binary",
                                        "raw": "'binary'"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 1223,
                                        "end": 1397,
                                        "loc": {
                                          "start": {
                                            "line": 36,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 40,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 1224,
                                            "end": 1228,
                                            "loc": {
                                              "start": {
                                                "line": 36,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 36,
                                                "column": 42
                                              }
                                            },
                                            "name": "data"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 1230,
                                            "end": 1235,
                                            "loc": {
                                              "start": {
                                                "line": 36,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 36,
                                                "column": 49
                                              }
                                            },
                                            "name": "flags"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 1240,
                                          "end": 1397,
                                          "loc": {
                                            "start": {
                                              "line": 36,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 40,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1259,
                                              "end": 1286,
                                              "loc": {
                                                "start": {
                                                  "line": 37,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 37,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1259,
                                                "end": 1285,
                                                "loc": {
                                                  "start": {
                                                    "line": 37,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 37,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 1259,
                                                  "end": 1272,
                                                  "loc": {
                                                    "start": {
                                                      "line": 37,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 37,
                                                      "column": 29
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1259,
                                                    "end": 1267,
                                                    "loc": {
                                                      "start": {
                                                        "line": 37,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 37,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "SocketIO"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1268,
                                                    "end": 1272,
                                                    "loc": {
                                                      "start": {
                                                        "line": 37,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 37,
                                                        "column": 29
                                                      }
                                                    },
                                                    "name": "_ack"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 1273,
                                                    "end": 1284,
                                                    "loc": {
                                                      "start": {
                                                        "line": 37,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 37,
                                                        "column": 41
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 1273,
                                                      "end": 1277,
                                                      "loc": {
                                                        "start": {
                                                          "line": 37,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 37,
                                                          "column": 34
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1278,
                                                      "end": 1284,
                                                      "loc": {
                                                        "start": {
                                                          "line": 37,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 37,
                                                          "column": 41
                                                        }
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1304,
                                              "end": 1382,
                                              "loc": {
                                                "start": {
                                                  "line": 38,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 39,
                                                  "column": 64
                                                }
                                              },
                                              "test": {
                                                "type": "Identifier",
                                                "start": 1308,
                                                "end": 1315,
                                                "loc": {
                                                  "start": {
                                                    "line": 38,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 38,
                                                    "column": 27
                                                  }
                                                },
                                                "name": "current"
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 1338,
                                                "end": 1382,
                                                "loc": {
                                                  "start": {
                                                    "line": 39,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 39,
                                                    "column": 64
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 1338,
                                                  "end": 1381,
                                                  "loc": {
                                                    "start": {
                                                      "line": 39,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 39,
                                                      "column": 63
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "Identifier",
                                                    "start": 1338,
                                                    "end": 1350,
                                                    "loc": {
                                                      "start": {
                                                        "line": 39,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 39,
                                                        "column": 32
                                                      }
                                                    },
                                                    "name": "handleResult"
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 1351,
                                                      "end": 1358,
                                                      "loc": {
                                                        "start": {
                                                          "line": 39,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 39,
                                                          "column": 40
                                                        }
                                                      },
                                                      "name": "current"
                                                    },
                                                    {
                                                      "type": "NewExpression",
                                                      "start": 1360,
                                                      "end": 1380,
                                                      "loc": {
                                                        "start": {
                                                          "line": 39,
                                                          "column": 42
                                                        },
                                                        "end": {
                                                          "line": 39,
                                                          "column": 62
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "Identifier",
                                                        "start": 1364,
                                                        "end": 1374,
                                                        "loc": {
                                                          "start": {
                                                            "line": 39,
                                                            "column": 46
                                                          },
                                                          "end": {
                                                            "line": 39,
                                                            "column": 56
                                                          }
                                                        },
                                                        "name": "Uint8Array"
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "Identifier",
                                                          "start": 1375,
                                                          "end": 1379,
                                                          "loc": {
                                                            "start": {
                                                              "line": 39,
                                                              "column": 57
                                                            },
                                                            "end": {
                                                              "line": 39,
                                                              "column": 61
                                                            }
                                                          },
                                                          "name": "data"
                                                        }
                                                      ]
                                                    }
                                                  ]
                                                }
                                              },
                                              "alternate": null
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1415,
                                  "end": 1914,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 15
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1415,
                                    "end": 1913,
                                    "loc": {
                                      "start": {
                                        "line": 42,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 52,
                                        "column": 14
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1415,
                                      "end": 1429,
                                      "loc": {
                                        "start": {
                                          "line": 42,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 42,
                                          "column": 26
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1415,
                                        "end": 1426,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 23
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1415,
                                          "end": 1419,
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 16
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1420,
                                          "end": 1426,
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 42,
                                              "column": 23
                                            }
                                          },
                                          "name": "socket"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1427,
                                        "end": 1429,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 26
                                          }
                                        },
                                        "name": "on"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Literal",
                                        "start": 1430,
                                        "end": 1436,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 42,
                                            "column": 33
                                          }
                                        },
                                        "value": "json",
                                        "rawValue": "json",
                                        "raw": "'json'"
                                      },
                                      {
                                        "type": "ArrowFunctionExpression",
                                        "start": 1438,
                                        "end": 1912,
                                        "loc": {
                                          "start": {
                                            "line": 42,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 13
                                          }
                                        },
                                        "id": null,
                                        "generator": false,
                                        "expression": false,
                                        "async": false,
                                        "params": [
                                          {
                                            "type": "Identifier",
                                            "start": 1438,
                                            "end": 1442,
                                            "loc": {
                                              "start": {
                                                "line": 42,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 42,
                                                "column": 39
                                              }
                                            },
                                            "name": "data"
                                          }
                                        ],
                                        "body": {
                                          "type": "BlockStatement",
                                          "start": 1446,
                                          "end": 1912,
                                          "loc": {
                                            "start": {
                                              "line": 42,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 52,
                                              "column": 13
                                            }
                                          },
                                          "body": [
                                            {
                                              "type": "ExpressionStatement",
                                              "start": 1465,
                                              "end": 1492,
                                              "loc": {
                                                "start": {
                                                  "line": 43,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 43,
                                                  "column": 43
                                                }
                                              },
                                              "expression": {
                                                "type": "CallExpression",
                                                "start": 1465,
                                                "end": 1491,
                                                "loc": {
                                                  "start": {
                                                    "line": 43,
                                                    "column": 16
                                                  },
                                                  "end": {
                                                    "line": 43,
                                                    "column": 42
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 1465,
                                                  "end": 1478,
                                                  "loc": {
                                                    "start": {
                                                      "line": 43,
                                                      "column": 16
                                                    },
                                                    "end": {
                                                      "line": 43,
                                                      "column": 29
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1465,
                                                    "end": 1473,
                                                    "loc": {
                                                      "start": {
                                                        "line": 43,
                                                        "column": 16
                                                      },
                                                      "end": {
                                                        "line": 43,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "SocketIO"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1474,
                                                    "end": 1478,
                                                    "loc": {
                                                      "start": {
                                                        "line": 43,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 43,
                                                        "column": 29
                                                      }
                                                    },
                                                    "name": "_ack"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "MemberExpression",
                                                    "start": 1479,
                                                    "end": 1490,
                                                    "loc": {
                                                      "start": {
                                                        "line": 43,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 43,
                                                        "column": 41
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 1479,
                                                      "end": 1483,
                                                      "loc": {
                                                        "start": {
                                                          "line": 43,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 43,
                                                          "column": 34
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1484,
                                                      "end": 1490,
                                                      "loc": {
                                                        "start": {
                                                          "line": 43,
                                                          "column": 35
                                                        },
                                                        "end": {
                                                          "line": 43,
                                                          "column": 41
                                                        }
                                                      },
                                                      "name": "socket"
                                                    },
                                                    "computed": false
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1510,
                                              "end": 1608,
                                              "loc": {
                                                "start": {
                                                  "line": 44,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 45,
                                                  "column": 65
                                                }
                                              },
                                              "test": {
                                                "type": "BinaryExpression",
                                                "start": 1514,
                                                "end": 1540,
                                                "loc": {
                                                  "start": {
                                                    "line": 44,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 44,
                                                    "column": 46
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 1514,
                                                  "end": 1523,
                                                  "loc": {
                                                    "start": {
                                                      "line": 44,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 44,
                                                      "column": 29
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 1514,
                                                    "end": 1518,
                                                    "loc": {
                                                      "start": {
                                                        "line": 44,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 44,
                                                        "column": 24
                                                      }
                                                    },
                                                    "name": "data"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 1519,
                                                    "end": 1523,
                                                    "loc": {
                                                      "start": {
                                                        "line": 44,
                                                        "column": 25
                                                      },
                                                      "end": {
                                                        "line": 44,
                                                        "column": 29
                                                      }
                                                    },
                                                    "name": "from"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "===",
                                                "right": {
                                                  "type": "Literal",
                                                  "start": 1528,
                                                  "end": 1540,
                                                  "loc": {
                                                    "start": {
                                                      "line": 44,
                                                      "column": 34
                                                    },
                                                    "end": {
                                                      "line": 44,
                                                      "column": 46
                                                    }
                                                  },
                                                  "value": "BeginFrame",
                                                  "rawValue": "BeginFrame",
                                                  "raw": "'BeginFrame'"
                                                }
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 1563,
                                                "end": 1608,
                                                "loc": {
                                                  "start": {
                                                    "line": 45,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 45,
                                                    "column": 65
                                                  }
                                                },
                                                "expression": {
                                                  "type": "AssignmentExpression",
                                                  "start": 1563,
                                                  "end": 1607,
                                                  "loc": {
                                                    "start": {
                                                      "line": 45,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 45,
                                                      "column": 64
                                                    }
                                                  },
                                                  "operator": "=",
                                                  "left": {
                                                    "type": "Identifier",
                                                    "start": 1563,
                                                    "end": 1570,
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 27
                                                      }
                                                    },
                                                    "name": "current"
                                                  },
                                                  "right": {
                                                    "type": "CallExpression",
                                                    "start": 1573,
                                                    "end": 1607,
                                                    "loc": {
                                                      "start": {
                                                        "line": 45,
                                                        "column": 30
                                                      },
                                                      "end": {
                                                        "line": 45,
                                                        "column": 64
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 1573,
                                                      "end": 1587,
                                                      "loc": {
                                                        "start": {
                                                          "line": 45,
                                                          "column": 30
                                                        },
                                                        "end": {
                                                          "line": 45,
                                                          "column": 44
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 1573,
                                                        "end": 1583,
                                                        "loc": {
                                                          "start": {
                                                            "line": 45,
                                                            "column": 30
                                                          },
                                                          "end": {
                                                            "line": 45,
                                                            "column": 40
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "ThisExpression",
                                                          "start": 1573,
                                                          "end": 1577,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 30
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 34
                                                            }
                                                          }
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1578,
                                                          "end": 1583,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 35
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 40
                                                            }
                                                          },
                                                          "name": "tasks"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 1584,
                                                        "end": 1587,
                                                        "loc": {
                                                          "start": {
                                                            "line": 45,
                                                            "column": 41
                                                          },
                                                          "end": {
                                                            "line": 45,
                                                            "column": 44
                                                          }
                                                        },
                                                        "name": "get"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "MemberExpression",
                                                        "start": 1588,
                                                        "end": 1606,
                                                        "loc": {
                                                          "start": {
                                                            "line": 45,
                                                            "column": 45
                                                          },
                                                          "end": {
                                                            "line": 45,
                                                            "column": 63
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 1588,
                                                          "end": 1592,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 45
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 49
                                                            }
                                                          },
                                                          "name": "data"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1593,
                                                          "end": 1606,
                                                          "loc": {
                                                            "start": {
                                                              "line": 45,
                                                              "column": 50
                                                            },
                                                            "end": {
                                                              "line": 45,
                                                              "column": 63
                                                            }
                                                          },
                                                          "name": "transactionID"
                                                        },
                                                        "computed": false
                                                      }
                                                    ]
                                                  }
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1626,
                                              "end": 1688,
                                              "loc": {
                                                "start": {
                                                  "line": 46,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 48
                                                }
                                              },
                                              "test": {
                                                "type": "Identifier",
                                                "start": 1630,
                                                "end": 1637,
                                                "loc": {
                                                  "start": {
                                                    "line": 46,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 46,
                                                    "column": 27
                                                  }
                                                },
                                                "name": "current"
                                              },
                                              "consequent": {
                                                "type": "ExpressionStatement",
                                                "start": 1660,
                                                "end": 1688,
                                                "loc": {
                                                  "start": {
                                                    "line": 47,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 47,
                                                    "column": 48
                                                  }
                                                },
                                                "expression": {
                                                  "type": "CallExpression",
                                                  "start": 1660,
                                                  "end": 1687,
                                                  "loc": {
                                                    "start": {
                                                      "line": 47,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 47,
                                                      "column": 47
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "Identifier",
                                                    "start": 1660,
                                                    "end": 1672,
                                                    "loc": {
                                                      "start": {
                                                        "line": 47,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 47,
                                                        "column": 32
                                                      }
                                                    },
                                                    "name": "handleResult"
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 1673,
                                                      "end": 1680,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 33
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 40
                                                        }
                                                      },
                                                      "name": "current"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 1682,
                                                      "end": 1686,
                                                      "loc": {
                                                        "start": {
                                                          "line": 47,
                                                          "column": 42
                                                        },
                                                        "end": {
                                                          "line": 47,
                                                          "column": 46
                                                        }
                                                      },
                                                      "name": "data"
                                                    }
                                                  ]
                                                }
                                              },
                                              "alternate": null
                                            },
                                            {
                                              "type": "IfStatement",
                                              "start": 1706,
                                              "end": 1897,
                                              "loc": {
                                                "start": {
                                                  "line": 48,
                                                  "column": 16
                                                },
                                                "end": {
                                                  "line": 51,
                                                  "column": 17
                                                }
                                              },
                                              "test": {
                                                "type": "LogicalExpression",
                                                "start": 1710,
                                                "end": 1782,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 48,
                                                    "column": 92
                                                  }
                                                },
                                                "left": {
                                                  "type": "LogicalExpression",
                                                  "start": 1710,
                                                  "end": 1745,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 55
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "Identifier",
                                                    "start": 1710,
                                                    "end": 1717,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 27
                                                      }
                                                    },
                                                    "name": "current"
                                                  },
                                                  "operator": "&&",
                                                  "right": {
                                                    "type": "BinaryExpression",
                                                    "start": 1721,
                                                    "end": 1745,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 55
                                                      }
                                                    },
                                                    "left": {
                                                      "type": "MemberExpression",
                                                      "start": 1721,
                                                      "end": 1730,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 31
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 40
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "Identifier",
                                                        "start": 1721,
                                                        "end": 1725,
                                                        "loc": {
                                                          "start": {
                                                            "line": 48,
                                                            "column": 31
                                                          },
                                                          "end": {
                                                            "line": 48,
                                                            "column": 35
                                                          }
                                                        },
                                                        "name": "data"
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 1726,
                                                        "end": 1730,
                                                        "loc": {
                                                          "start": {
                                                            "line": 48,
                                                            "column": 36
                                                          },
                                                          "end": {
                                                            "line": 48,
                                                            "column": 40
                                                          }
                                                        },
                                                        "name": "from"
                                                      },
                                                      "computed": false
                                                    },
                                                    "operator": "===",
                                                    "right": {
                                                      "type": "Literal",
                                                      "start": 1735,
                                                      "end": 1745,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 55
                                                        }
                                                      },
                                                      "value": "EndFrame",
                                                      "rawValue": "EndFrame",
                                                      "raw": "'EndFrame'"
                                                    }
                                                  }
                                                },
                                                "operator": "&&",
                                                "right": {
                                                  "type": "BinaryExpression",
                                                  "start": 1749,
                                                  "end": 1782,
                                                  "loc": {
                                                    "start": {
                                                      "line": 48,
                                                      "column": 59
                                                    },
                                                    "end": {
                                                      "line": 48,
                                                      "column": 92
                                                    }
                                                  },
                                                  "left": {
                                                    "type": "MemberExpression",
                                                    "start": 1749,
                                                    "end": 1767,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 59
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 77
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1749,
                                                      "end": 1753,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 59
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 63
                                                        }
                                                      },
                                                      "name": "data"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1754,
                                                      "end": 1767,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 64
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 77
                                                        }
                                                      },
                                                      "name": "transactionID"
                                                    },
                                                    "computed": false
                                                  },
                                                  "operator": "===",
                                                  "right": {
                                                    "type": "MemberExpression",
                                                    "start": 1772,
                                                    "end": 1782,
                                                    "loc": {
                                                      "start": {
                                                        "line": 48,
                                                        "column": 82
                                                      },
                                                      "end": {
                                                        "line": 48,
                                                        "column": 92
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 1772,
                                                      "end": 1779,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 82
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 89
                                                        }
                                                      },
                                                      "name": "current"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 1780,
                                                      "end": 1782,
                                                      "loc": {
                                                        "start": {
                                                          "line": 48,
                                                          "column": 90
                                                        },
                                                        "end": {
                                                          "line": 48,
                                                          "column": 92
                                                        }
                                                      },
                                                      "name": "id"
                                                    },
                                                    "computed": false
                                                  }
                                                }
                                              },
                                              "consequent": {
                                                "type": "BlockStatement",
                                                "start": 1784,
                                                "end": 1897,
                                                "loc": {
                                                  "start": {
                                                    "line": 48,
                                                    "column": 94
                                                  },
                                                  "end": {
                                                    "line": 51,
                                                    "column": 17
                                                  }
                                                },
                                                "body": [
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 1807,
                                                    "end": 1836,
                                                    "loc": {
                                                      "start": {
                                                        "line": 49,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 49,
                                                        "column": 49
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "CallExpression",
                                                      "start": 1807,
                                                      "end": 1836,
                                                      "loc": {
                                                        "start": {
                                                          "line": 49,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 49,
                                                          "column": 49
                                                        }
                                                      },
                                                      "callee": {
                                                        "type": "MemberExpression",
                                                        "start": 1807,
                                                        "end": 1824,
                                                        "loc": {
                                                          "start": {
                                                            "line": 49,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 49,
                                                            "column": 37
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "MemberExpression",
                                                          "start": 1807,
                                                          "end": 1817,
                                                          "loc": {
                                                            "start": {
                                                              "line": 49,
                                                              "column": 20
                                                            },
                                                            "end": {
                                                              "line": 49,
                                                              "column": 30
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "ThisExpression",
                                                            "start": 1807,
                                                            "end": 1811,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 20
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 24
                                                              }
                                                            }
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 1812,
                                                            "end": 1817,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 25
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 30
                                                              }
                                                            },
                                                            "name": "tasks"
                                                          },
                                                          "computed": false
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 1818,
                                                          "end": 1824,
                                                          "loc": {
                                                            "start": {
                                                              "line": 49,
                                                              "column": 31
                                                            },
                                                            "end": {
                                                              "line": 49,
                                                              "column": 37
                                                            }
                                                          },
                                                          "name": "delete"
                                                        },
                                                        "computed": false
                                                      },
                                                      "arguments": [
                                                        {
                                                          "type": "MemberExpression",
                                                          "start": 1825,
                                                          "end": 1835,
                                                          "loc": {
                                                            "start": {
                                                              "line": 49,
                                                              "column": 38
                                                            },
                                                            "end": {
                                                              "line": 49,
                                                              "column": 48
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 1825,
                                                            "end": 1832,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 38
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 45
                                                              }
                                                            },
                                                            "name": "current"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 1833,
                                                            "end": 1835,
                                                            "loc": {
                                                              "start": {
                                                                "line": 49,
                                                                "column": 46
                                                              },
                                                              "end": {
                                                                "line": 49,
                                                                "column": 48
                                                              }
                                                            },
                                                            "name": "id"
                                                          },
                                                          "computed": false
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "type": "ExpressionStatement",
                                                    "start": 1858,
                                                    "end": 1878,
                                                    "loc": {
                                                      "start": {
                                                        "line": 50,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 50,
                                                        "column": 40
                                                      }
                                                    },
                                                    "expression": {
                                                      "type": "AssignmentExpression",
                                                      "start": 1858,
                                                      "end": 1877,
                                                      "loc": {
                                                        "start": {
                                                          "line": 50,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 50,
                                                          "column": 39
                                                        }
                                                      },
                                                      "operator": "=",
                                                      "left": {
                                                        "type": "Identifier",
                                                        "start": 1858,
                                                        "end": 1865,
                                                        "loc": {
                                                          "start": {
                                                            "line": 50,
                                                            "column": 20
                                                          },
                                                          "end": {
                                                            "line": 50,
                                                            "column": 27
                                                          }
                                                        },
                                                        "name": "current"
                                                      },
                                                      "right": {
                                                        "type": "Identifier",
                                                        "start": 1868,
                                                        "end": 1877,
                                                        "loc": {
                                                          "start": {
                                                            "line": 50,
                                                            "column": 30
                                                          },
                                                          "end": {
                                                            "line": 50,
                                                            "column": 39
                                                          }
                                                        },
                                                        "name": "undefined"
                                                      }
                                                    }
                                                  }
                                                ]
                                              },
                                              "alternate": null
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 1942,
              "end": 2107,
              "loc": {
                "start": {
                  "line": 56,
                  "column": 4
                },
                "end": {
                  "line": 61,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1942,
                "end": 1952,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 4
                  },
                  "end": {
                    "line": 56,
                    "column": 14
                  }
                },
                "name": "disconnect"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 1952,
                "end": 2107,
                "loc": {
                  "start": {
                    "line": 56,
                    "column": 14
                  },
                  "end": {
                    "line": 61,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1955,
                  "end": 2107,
                  "loc": {
                    "start": {
                      "line": 56,
                      "column": 17
                    },
                    "end": {
                      "line": 61,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1966,
                      "end": 1991,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1966,
                        "end": 1990,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1966,
                          "end": 1988,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1966,
                            "end": 1977,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 19
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1966,
                              "end": 1970,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 8
                                },
                                "end": {
                                  "line": 57,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1971,
                              "end": 1977,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 13
                                },
                                "end": {
                                  "line": 57,
                                  "column": 19
                                }
                              },
                              "name": "socket"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1978,
                            "end": 1988,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 20
                              },
                              "end": {
                                "line": 57,
                                "column": 30
                              }
                            },
                            "name": "disconnect"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2001,
                      "end": 2025,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 58,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2001,
                        "end": 2024,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 58,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2001,
                          "end": 2012,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2001,
                            "end": 2005,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2006,
                            "end": 2012,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 13
                              },
                              "end": {
                                "line": 58,
                                "column": 19
                              }
                            },
                            "name": "socket"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 2015,
                          "end": 2024,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 22
                            },
                            "end": {
                              "line": 58,
                              "column": 31
                            }
                          },
                          "name": "undefined"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2035,
                      "end": 2058,
                      "loc": {
                        "start": {
                          "line": 59,
                          "column": 8
                        },
                        "end": {
                          "line": 59,
                          "column": 31
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2035,
                        "end": 2057,
                        "loc": {
                          "start": {
                            "line": 59,
                            "column": 8
                          },
                          "end": {
                            "line": 59,
                            "column": 30
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2035,
                          "end": 2045,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 8
                            },
                            "end": {
                              "line": 59,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2035,
                            "end": 2039,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 8
                              },
                              "end": {
                                "line": 59,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2040,
                            "end": 2045,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 13
                              },
                              "end": {
                                "line": 59,
                                "column": 18
                              }
                            },
                            "name": "tasks"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 2048,
                          "end": 2057,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 21
                            },
                            "end": {
                              "line": 59,
                              "column": 30
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2052,
                            "end": 2055,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 25
                              },
                              "end": {
                                "line": 59,
                                "column": 28
                              }
                            },
                            "name": "Map"
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2068,
                      "end": 2100,
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 8
                        },
                        "end": {
                          "line": 60,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2068,
                        "end": 2099,
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 8
                          },
                          "end": {
                            "line": 60,
                            "column": 39
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2068,
                          "end": 2077,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 8
                            },
                            "end": {
                              "line": 60,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2068,
                            "end": 2072,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 8
                              },
                              "end": {
                                "line": 60,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2073,
                            "end": 2077,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 60,
                                "column": 17
                              }
                            },
                            "name": "emit"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 2078,
                            "end": 2092,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 18
                              },
                              "end": {
                                "line": 60,
                                "column": 32
                              }
                            },
                            "value": "disconnected",
                            "rawValue": "disconnected",
                            "raw": "'disconnected'"
                          },
                          {
                            "type": "ThisExpression",
                            "start": 2094,
                            "end": 2098,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 34
                              },
                              "end": {
                                "line": 60,
                                "column": 38
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2115,
              "end": 2632,
              "loc": {
                "start": {
                  "line": 63,
                  "column": 4
                },
                "end": {
                  "line": 73,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2115,
                "end": 2122,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 4
                  },
                  "end": {
                    "line": 63,
                    "column": 11
                  }
                },
                "name": "request"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2122,
                "end": 2632,
                "loc": {
                  "start": {
                    "line": 63,
                    "column": 11
                  },
                  "end": {
                    "line": 73,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2123,
                    "end": 2130,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 12
                      },
                      "end": {
                        "line": 63,
                        "column": 19
                      }
                    },
                    "name": "command"
                  },
                  {
                    "type": "Identifier",
                    "start": 2132,
                    "end": 2139,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 21
                      },
                      "end": {
                        "line": 63,
                        "column": 28
                      }
                    },
                    "name": "factory"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2141,
                  "end": 2632,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 30
                    },
                    "end": {
                      "line": 73,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 2152,
                      "end": 2625,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 11
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 2159,
                        "end": 2624,
                        "loc": {
                          "start": {
                            "line": 64,
                            "column": 15
                          },
                          "end": {
                            "line": 72,
                            "column": 10
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2159,
                          "end": 2478,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 15
                            },
                            "end": {
                              "line": 69,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "NewExpression",
                            "start": 2159,
                            "end": 2473,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 15
                              },
                              "end": {
                                "line": 69,
                                "column": 10
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2163,
                              "end": 2170,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 19
                                },
                                "end": {
                                  "line": 64,
                                  "column": 26
                                }
                              },
                              "name": "Promise"
                            },
                            "arguments": [
                              {
                                "type": "ArrowFunctionExpression",
                                "start": 2171,
                                "end": 2472,
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 9
                                  }
                                },
                                "id": null,
                                "generator": false,
                                "expression": false,
                                "async": false,
                                "params": [
                                  {
                                    "type": "Identifier",
                                    "start": 2172,
                                    "end": 2179,
                                    "loc": {
                                      "start": {
                                        "line": 64,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 35
                                      }
                                    },
                                    "name": "resolve"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 2181,
                                    "end": 2187,
                                    "loc": {
                                      "start": {
                                        "line": 64,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 43
                                      }
                                    },
                                    "name": "reject"
                                  }
                                ],
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 2192,
                                  "end": 2472,
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 9
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 2207,
                                      "end": 2270,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 75
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 2211,
                                          "end": 2269,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 74
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 2211,
                                            "end": 2218,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 23
                                              }
                                            },
                                            "name": "context"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 2221,
                                            "end": 2269,
                                            "loc": {
                                              "start": {
                                                "line": 65,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 65,
                                                "column": 74
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 2221,
                                              "end": 2234,
                                              "loc": {
                                                "start": {
                                                  "line": 65,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 65,
                                                  "column": 39
                                                }
                                              },
                                              "name": "createContext"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 2235,
                                                "end": 2242,
                                                "loc": {
                                                  "start": {
                                                    "line": 65,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 65,
                                                    "column": 47
                                                  }
                                                },
                                                "name": "factory"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 2244,
                                                "end": 2251,
                                                "loc": {
                                                  "start": {
                                                    "line": 65,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 65,
                                                    "column": 56
                                                  }
                                                },
                                                "name": "resolve"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 2253,
                                                "end": 2259,
                                                "loc": {
                                                  "start": {
                                                    "line": 65,
                                                    "column": 58
                                                  },
                                                  "end": {
                                                    "line": 65,
                                                    "column": 64
                                                  }
                                                },
                                                "name": "reject"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 2261,
                                                "end": 2268,
                                                "loc": {
                                                  "start": {
                                                    "line": 65,
                                                    "column": 66
                                                  },
                                                  "end": {
                                                    "line": 65,
                                                    "column": 73
                                                  }
                                                },
                                                "name": "command"
                                              }
                                            ]
                                          }
                                        }
                                      ],
                                      "kind": "let"
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2284,
                                      "end": 2352,
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 80
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2284,
                                        "end": 2351,
                                        "loc": {
                                          "start": {
                                            "line": 66,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 66,
                                            "column": 79
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2284,
                                          "end": 2308,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 36
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2284,
                                            "end": 2299,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 27
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2284,
                                              "end": 2291,
                                              "loc": {
                                                "start": {
                                                  "line": 66,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 66,
                                                  "column": 19
                                                }
                                              },
                                              "name": "context"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2292,
                                              "end": 2299,
                                              "loc": {
                                                "start": {
                                                  "line": 66,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 66,
                                                  "column": 27
                                                }
                                              },
                                              "name": "options"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2300,
                                            "end": 2308,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 36
                                              }
                                            },
                                            "name": "callback"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "ObjectExpression",
                                            "start": 2309,
                                            "end": 2350,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 78
                                              }
                                            },
                                            "properties": [
                                              {
                                                "type": "Property",
                                                "start": 2311,
                                                "end": 2339,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 67
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": false,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2311,
                                                  "end": 2315,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 39
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 43
                                                    }
                                                  },
                                                  "name": "type"
                                                },
                                                "value": {
                                                  "type": "MemberExpression",
                                                  "start": 2317,
                                                  "end": 2339,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 67
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 2317,
                                                    "end": 2331,
                                                    "loc": {
                                                      "start": {
                                                        "line": 66,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 66,
                                                        "column": 59
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 2317,
                                                      "end": 2323,
                                                      "loc": {
                                                        "start": {
                                                          "line": 66,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 66,
                                                          "column": 51
                                                        }
                                                      },
                                                      "name": "Parser"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 2324,
                                                      "end": 2331,
                                                      "loc": {
                                                        "start": {
                                                          "line": 66,
                                                          "column": 52
                                                        },
                                                        "end": {
                                                          "line": 66,
                                                          "column": 59
                                                        }
                                                      },
                                                      "name": "Factory"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 2332,
                                                    "end": 2339,
                                                    "loc": {
                                                      "start": {
                                                        "line": 66,
                                                        "column": 60
                                                      },
                                                      "end": {
                                                        "line": 66,
                                                        "column": 67
                                                      }
                                                    },
                                                    "name": "Started"
                                                  },
                                                  "computed": false
                                                },
                                                "kind": "init"
                                              },
                                              {
                                                "type": "Property",
                                                "start": 2341,
                                                "end": 2348,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 69
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 76
                                                  }
                                                },
                                                "method": false,
                                                "shorthand": true,
                                                "computed": false,
                                                "key": {
                                                  "type": "Identifier",
                                                  "start": 2341,
                                                  "end": 2348,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 76
                                                    }
                                                  },
                                                  "name": "context"
                                                },
                                                "kind": "init",
                                                "value": {
                                                  "type": "Identifier",
                                                  "start": 2341,
                                                  "end": 2348,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 69
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 76
                                                    }
                                                  },
                                                  "name": "context"
                                                }
                                              }
                                            ]
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2366,
                                      "end": 2401,
                                      "loc": {
                                        "start": {
                                          "line": 67,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 67,
                                          "column": 47
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2366,
                                        "end": 2401,
                                        "loc": {
                                          "start": {
                                            "line": 67,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 67,
                                            "column": 47
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2366,
                                          "end": 2380,
                                          "loc": {
                                            "start": {
                                              "line": 67,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 67,
                                              "column": 26
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2366,
                                            "end": 2376,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 22
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 2366,
                                              "end": 2370,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2371,
                                              "end": 2376,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 22
                                                }
                                              },
                                              "name": "tasks"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2377,
                                            "end": 2380,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 26
                                              }
                                            },
                                            "name": "set"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "MemberExpression",
                                            "start": 2381,
                                            "end": 2391,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 27
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 37
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2381,
                                              "end": 2388,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 27
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 34
                                                }
                                              },
                                              "name": "context"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2389,
                                              "end": 2391,
                                              "loc": {
                                                "start": {
                                                  "line": 67,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 67,
                                                  "column": 37
                                                }
                                              },
                                              "name": "id"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2393,
                                            "end": 2400,
                                            "loc": {
                                              "start": {
                                                "line": 67,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 67,
                                                "column": 46
                                              }
                                            },
                                            "name": "context"
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 2415,
                                      "end": 2461,
                                      "loc": {
                                        "start": {
                                          "line": 68,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 68,
                                          "column": 58
                                        }
                                      },
                                      "expression": {
                                        "type": "CallExpression",
                                        "start": 2415,
                                        "end": 2460,
                                        "loc": {
                                          "start": {
                                            "line": 68,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 68,
                                            "column": 57
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 2415,
                                          "end": 2431,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 28
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 2415,
                                            "end": 2426,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 23
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 2415,
                                              "end": 2419,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 16
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2420,
                                              "end": 2426,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 17
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 23
                                                }
                                              },
                                              "name": "socket"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 2427,
                                            "end": 2431,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 28
                                              }
                                            },
                                            "name": "emit"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 2432,
                                            "end": 2438,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 35
                                              }
                                            },
                                            "value": "send",
                                            "rawValue": "send",
                                            "raw": "'send'"
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "start": 2440,
                                            "end": 2450,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 37
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 47
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 2440,
                                              "end": 2447,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 44
                                                }
                                              },
                                              "name": "context"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 2448,
                                              "end": 2450,
                                              "loc": {
                                                "start": {
                                                  "line": 68,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 68,
                                                  "column": 47
                                                }
                                              },
                                              "name": "id"
                                            },
                                            "computed": false
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 2452,
                                            "end": 2459,
                                            "loc": {
                                              "start": {
                                                "line": 68,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 68,
                                                "column": 56
                                              }
                                            },
                                            "name": "command"
                                          }
                                        ]
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2474,
                            "end": 2478,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 11
                              },
                              "end": {
                                "line": 69,
                                "column": 15
                              }
                            },
                            "name": "then"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2479,
                            "end": 2623,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 16
                              },
                              "end": {
                                "line": 72,
                                "column": 9
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 2479,
                                "end": 2486,
                                "loc": {
                                  "start": {
                                    "line": 69,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 69,
                                    "column": 23
                                  }
                                },
                                "name": "results"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 2490,
                              "end": 2623,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 27
                                },
                                "end": {
                                  "line": 72,
                                  "column": 9
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 2505,
                                  "end": 2583,
                                  "loc": {
                                    "start": {
                                      "line": 70,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 70,
                                      "column": 90
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 2505,
                                    "end": 2582,
                                    "loc": {
                                      "start": {
                                        "line": 70,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 70,
                                        "column": 89
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 2505,
                                      "end": 2529,
                                      "loc": {
                                        "start": {
                                          "line": 70,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 70,
                                          "column": 36
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2505,
                                        "end": 2520,
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 27
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2505,
                                          "end": 2512,
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 19
                                            }
                                          },
                                          "name": "results"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2513,
                                          "end": 2520,
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 27
                                            }
                                          },
                                          "name": "options"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2521,
                                        "end": 2529,
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 36
                                          }
                                        },
                                        "name": "callback"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "ObjectExpression",
                                        "start": 2530,
                                        "end": 2581,
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 37
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 88
                                          }
                                        },
                                        "properties": [
                                          {
                                            "type": "Property",
                                            "start": 2532,
                                            "end": 2561,
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 68
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2532,
                                              "end": 2536,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 39
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 43
                                                }
                                              },
                                              "name": "type"
                                            },
                                            "value": {
                                              "type": "MemberExpression",
                                              "start": 2538,
                                              "end": 2561,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 68
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 2538,
                                                "end": 2552,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 59
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 2538,
                                                  "end": 2544,
                                                  "loc": {
                                                    "start": {
                                                      "line": 70,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 70,
                                                      "column": 51
                                                    }
                                                  },
                                                  "name": "Parser"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 2545,
                                                  "end": 2552,
                                                  "loc": {
                                                    "start": {
                                                      "line": 70,
                                                      "column": 52
                                                    },
                                                    "end": {
                                                      "line": 70,
                                                      "column": 59
                                                    }
                                                  },
                                                  "name": "Factory"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 2553,
                                                "end": 2561,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 60
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 68
                                                  }
                                                },
                                                "name": "Finished"
                                              },
                                              "computed": false
                                            },
                                            "kind": "init"
                                          },
                                          {
                                            "type": "Property",
                                            "start": 2563,
                                            "end": 2579,
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 70
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 86
                                              }
                                            },
                                            "method": false,
                                            "shorthand": false,
                                            "computed": false,
                                            "key": {
                                              "type": "Identifier",
                                              "start": 2563,
                                              "end": 2570,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 70
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 77
                                                }
                                              },
                                              "name": "context"
                                            },
                                            "value": {
                                              "type": "Identifier",
                                              "start": 2572,
                                              "end": 2579,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 79
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 86
                                                }
                                              },
                                              "name": "results"
                                            },
                                            "kind": "init"
                                          }
                                        ]
                                      }
                                    ]
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 2597,
                                  "end": 2612,
                                  "loc": {
                                    "start": {
                                      "line": 71,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 71,
                                      "column": 27
                                    }
                                  },
                                  "argument": {
                                    "type": "Identifier",
                                    "start": 2604,
                                    "end": 2611,
                                    "loc": {
                                      "start": {
                                        "line": 71,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 71,
                                        "column": 26
                                      }
                                    },
                                    "name": "results"
                                  }
                                }
                              ]
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 2640,
              "end": 2777,
              "loc": {
                "start": {
                  "line": 75,
                  "column": 4
                },
                "end": {
                  "line": 78,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 2647,
                "end": 2651,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 11
                  },
                  "end": {
                    "line": 75,
                    "column": 15
                  }
                },
                "name": "_ack"
              },
              "static": true,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 2651,
                "end": 2777,
                "loc": {
                  "start": {
                    "line": 75,
                    "column": 15
                  },
                  "end": {
                    "line": 78,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 2652,
                    "end": 2658,
                    "loc": {
                      "start": {
                        "line": 75,
                        "column": 16
                      },
                      "end": {
                        "line": 75,
                        "column": 22
                      }
                    },
                    "name": "socket"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 2660,
                  "end": 2777,
                  "loc": {
                    "start": {
                      "line": 75,
                      "column": 24
                    },
                    "end": {
                      "line": 78,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2736,
                      "end": 2770,
                      "loc": {
                        "start": {
                          "line": 77,
                          "column": 8
                        },
                        "end": {
                          "line": 77,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "LogicalExpression",
                        "start": 2736,
                        "end": 2769,
                        "loc": {
                          "start": {
                            "line": 77,
                            "column": 8
                          },
                          "end": {
                            "line": 77,
                            "column": 41
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 2736,
                          "end": 2742,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 8
                            },
                            "end": {
                              "line": 77,
                              "column": 14
                            }
                          },
                          "name": "socket",
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "CallExpression",
                          "start": 2746,
                          "end": 2769,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 18
                            },
                            "end": {
                              "line": 77,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2746,
                            "end": 2757,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 18
                              },
                              "end": {
                                "line": 77,
                                "column": 29
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2746,
                              "end": 2752,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 18
                                },
                                "end": {
                                  "line": 77,
                                  "column": 24
                                }
                              },
                              "name": "socket"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2753,
                              "end": 2757,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 25
                                },
                                "end": {
                                  "line": 77,
                                  "column": 29
                                }
                              },
                              "name": "emit"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Literal",
                              "start": 2758,
                              "end": 2768,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 30
                                },
                                "end": {
                                  "line": 77,
                                  "column": 40
                                }
                              },
                              "value": "received",
                              "rawValue": "received",
                              "raw": "'received'"
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "if (socket.io.engine.transport.name !== 'websocket');",
                          "start": 2671,
                          "end": 2726,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 8
                            },
                            "end": {
                              "line": 76,
                              "column": 63
                            }
                          },
                          "range": [
                            2671,
                            2726
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      }
    }
  ]
}