{
  "type": "Program",
  "start": 0,
  "end": 4283,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 126,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 96,
      "end": 130,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 34
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 105,
          "end": 117,
          "loc": {
            "start": {
              "line": 3,
              "column": 9
            },
            "end": {
              "line": 3,
              "column": 21
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 105,
            "end": 117,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 21
              }
            },
            "name": "readFileSync",
            "leadingComments": null
          },
          "local": {
            "type": "Identifier",
            "start": 105,
            "end": 117,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 21
              }
            },
            "name": "readFileSync",
            "leadingComments": [
              {
                "type": "Block",
                "value": " global USE_DEFAULT_KOA_MIDDLEWARES HAS_KOA_MIDDLEWARES KOA_MIDDLEWARES ROC_PATH __DEV__  ",
                "start": 0,
                "end": 94,
                "loc": {
                  "start": {
                    "line": 1,
                    "column": 0
                  },
                  "end": {
                    "line": 1,
                    "column": 94
                  }
                },
                "range": [
                  0,
                  94
                ]
              }
            ]
          },
          "leadingComments": null
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 125,
        "end": 129,
        "loc": {
          "start": {
            "line": 3,
            "column": 29
          },
          "end": {
            "line": 3,
            "column": 33
          }
        },
        "value": "fs",
        "rawValue": "fs",
        "raw": "'fs'"
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": " global USE_DEFAULT_KOA_MIDDLEWARES HAS_KOA_MIDDLEWARES KOA_MIDDLEWARES ROC_PATH __DEV__  ",
          "start": 0,
          "end": 94,
          "loc": {
            "start": {
              "line": 1,
              "column": 0
            },
            "end": {
              "line": 1,
              "column": 94
            }
          },
          "range": [
            0,
            94
          ]
        }
      ]
    },
    {
      "type": "ImportDeclaration",
      "start": 131,
      "end": 157,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 138,
          "end": 143,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 138,
            "end": 143,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 12
              }
            },
            "name": "debug"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 149,
        "end": 156,
        "loc": {
          "start": {
            "line": 4,
            "column": 18
          },
          "end": {
            "line": 4,
            "column": 25
          }
        },
        "value": "debug",
        "rawValue": "debug",
        "raw": "'debug'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 158,
      "end": 182,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 24
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 165,
          "end": 169,
          "loc": {
            "start": {
              "line": 5,
              "column": 7
            },
            "end": {
              "line": 5,
              "column": 11
            }
          },
          "local": {
            "type": "Identifier",
            "start": 165,
            "end": 169,
            "loc": {
              "start": {
                "line": 5,
                "column": 7
              },
              "end": {
                "line": 5,
                "column": 11
              }
            },
            "name": "http"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 175,
        "end": 181,
        "loc": {
          "start": {
            "line": 5,
            "column": 17
          },
          "end": {
            "line": 5,
            "column": 23
          }
        },
        "value": "http",
        "rawValue": "http",
        "raw": "'http'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 183,
      "end": 209,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 190,
          "end": 195,
          "loc": {
            "start": {
              "line": 6,
              "column": 7
            },
            "end": {
              "line": 6,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 190,
            "end": 195,
            "loc": {
              "start": {
                "line": 6,
                "column": 7
              },
              "end": {
                "line": 6,
                "column": 12
              }
            },
            "name": "https"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 201,
        "end": 208,
        "loc": {
          "start": {
            "line": 6,
            "column": 18
          },
          "end": {
            "line": 6,
            "column": 25
          }
        },
        "value": "https",
        "rawValue": "https",
        "raw": "'https'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 210,
      "end": 232,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "end": {
          "line": 7,
          "column": 22
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 217,
          "end": 220,
          "loc": {
            "start": {
              "line": 7,
              "column": 7
            },
            "end": {
              "line": 7,
              "column": 10
            }
          },
          "local": {
            "type": "Identifier",
            "start": 217,
            "end": 220,
            "loc": {
              "start": {
                "line": 7,
                "column": 7
              },
              "end": {
                "line": 7,
                "column": 10
              }
            },
            "name": "koa"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 226,
        "end": 231,
        "loc": {
          "start": {
            "line": 7,
            "column": 16
          },
          "end": {
            "line": 7,
            "column": 21
          }
        },
        "value": "koa",
        "rawValue": "koa",
        "raw": "'koa'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 233,
      "end": 264,
      "loc": {
        "start": {
          "line": 8,
          "column": 0
        },
        "end": {
          "line": 8,
          "column": 31
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 240,
          "end": 245,
          "loc": {
            "start": {
              "line": 8,
              "column": 7
            },
            "end": {
              "line": 8,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 240,
            "end": 245,
            "loc": {
              "start": {
                "line": 8,
                "column": 7
              },
              "end": {
                "line": 8,
                "column": 12
              }
            },
            "name": "serve"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 251,
        "end": 263,
        "loc": {
          "start": {
            "line": 8,
            "column": 18
          },
          "end": {
            "line": 8,
            "column": 30
          }
        },
        "value": "koa-static",
        "rawValue": "koa-static",
        "raw": "'koa-static'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 265,
      "end": 295,
      "loc": {
        "start": {
          "line": 9,
          "column": 0
        },
        "end": {
          "line": 9,
          "column": 30
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 272,
          "end": 277,
          "loc": {
            "start": {
              "line": 9,
              "column": 7
            },
            "end": {
              "line": 9,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 272,
            "end": 277,
            "loc": {
              "start": {
                "line": 9,
                "column": 7
              },
              "end": {
                "line": 9,
                "column": 12
              }
            },
            "name": "mount"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 283,
        "end": 294,
        "loc": {
          "start": {
            "line": 9,
            "column": 18
          },
          "end": {
            "line": 9,
            "column": 29
          }
        },
        "value": "koa-mount",
        "rawValue": "koa-mount",
        "raw": "'koa-mount'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 297,
      "end": 353,
      "loc": {
        "start": {
          "line": 11,
          "column": 0
        },
        "end": {
          "line": 11,
          "column": 56
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 304,
          "end": 320,
          "loc": {
            "start": {
              "line": 11,
              "column": 7
            },
            "end": {
              "line": 11,
              "column": 23
            }
          },
          "local": {
            "type": "Identifier",
            "start": 304,
            "end": 320,
            "loc": {
              "start": {
                "line": 11,
                "column": 7
              },
              "end": {
                "line": 11,
                "column": 23
              }
            },
            "name": "addTrailingSlash"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 326,
        "end": 352,
        "loc": {
          "start": {
            "line": 11,
            "column": 29
          },
          "end": {
            "line": 11,
            "column": 55
          }
        },
        "value": "koa-add-trailing-slashes",
        "rawValue": "koa-add-trailing-slashes",
        "raw": "'koa-add-trailing-slashes'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 354,
      "end": 401,
      "loc": {
        "start": {
          "line": 12,
          "column": 0
        },
        "end": {
          "line": 12,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 361,
          "end": 374,
          "loc": {
            "start": {
              "line": 12,
              "column": 7
            },
            "end": {
              "line": 12,
              "column": 20
            }
          },
          "local": {
            "type": "Identifier",
            "start": 361,
            "end": 374,
            "loc": {
              "start": {
                "line": 12,
                "column": 7
              },
              "end": {
                "line": 12,
                "column": 20
              }
            },
            "name": "normalizePath"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 380,
        "end": 400,
        "loc": {
          "start": {
            "line": 12,
            "column": 26
          },
          "end": {
            "line": 12,
            "column": 46
          }
        },
        "value": "koa-normalize-path",
        "rawValue": "koa-normalize-path",
        "raw": "'koa-normalize-path'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 402,
      "end": 449,
      "loc": {
        "start": {
          "line": 13,
          "column": 0
        },
        "end": {
          "line": 13,
          "column": 47
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 409,
          "end": 422,
          "loc": {
            "start": {
              "line": 13,
              "column": 7
            },
            "end": {
              "line": 13,
              "column": 20
            }
          },
          "local": {
            "type": "Identifier",
            "start": 409,
            "end": 422,
            "loc": {
              "start": {
                "line": 13,
                "column": 7
              },
              "end": {
                "line": 13,
                "column": 20
              }
            },
            "name": "lowercasePath"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 428,
        "end": 448,
        "loc": {
          "start": {
            "line": 13,
            "column": 26
          },
          "end": {
            "line": 13,
            "column": 46
          }
        },
        "value": "koa-lowercase-path",
        "rawValue": "koa-lowercase-path",
        "raw": "'koa-lowercase-path'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 450,
      "end": 512,
      "loc": {
        "start": {
          "line": 14,
          "column": 0
        },
        "end": {
          "line": 14,
          "column": 62
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 457,
          "end": 476,
          "loc": {
            "start": {
              "line": 14,
              "column": 7
            },
            "end": {
              "line": 14,
              "column": 26
            }
          },
          "local": {
            "type": "Identifier",
            "start": 457,
            "end": 476,
            "loc": {
              "start": {
                "line": 14,
                "column": 7
              },
              "end": {
                "line": 14,
                "column": 26
              }
            },
            "name": "removeTrailingSlash"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 482,
        "end": 511,
        "loc": {
          "start": {
            "line": 14,
            "column": 32
          },
          "end": {
            "line": 14,
            "column": 61
          }
        },
        "value": "koa-remove-trailing-slashes",
        "rawValue": "koa-remove-trailing-slashes",
        "raw": "'koa-remove-trailing-slashes'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 514,
      "end": 572,
      "loc": {
        "start": {
          "line": 16,
          "column": 0
        },
        "end": {
          "line": 16,
          "column": 58
        }
      },
      "specifiers": [
        {
          "type": "ImportSpecifier",
          "start": 523,
          "end": 528,
          "loc": {
            "start": {
              "line": 16,
              "column": 9
            },
            "end": {
              "line": 16,
              "column": 14
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 523,
            "end": 528,
            "loc": {
              "start": {
                "line": 16,
                "column": 9
              },
              "end": {
                "line": 16,
                "column": 14
              }
            },
            "name": "merge"
          },
          "local": {
            "type": "Identifier",
            "start": 523,
            "end": 528,
            "loc": {
              "start": {
                "line": 16,
                "column": 9
              },
              "end": {
                "line": 16,
                "column": 14
              }
            },
            "name": "merge"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 530,
          "end": 541,
          "loc": {
            "start": {
              "line": 16,
              "column": 16
            },
            "end": {
              "line": 16,
              "column": 27
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 530,
            "end": 541,
            "loc": {
              "start": {
                "line": 16,
                "column": 16
              },
              "end": {
                "line": 16,
                "column": 27
              }
            },
            "name": "getSettings"
          },
          "local": {
            "type": "Identifier",
            "start": 530,
            "end": 541,
            "loc": {
              "start": {
                "line": 16,
                "column": 16
              },
              "end": {
                "line": 16,
                "column": 27
              }
            },
            "name": "getSettings"
          }
        },
        {
          "type": "ImportSpecifier",
          "start": 543,
          "end": 558,
          "loc": {
            "start": {
              "line": 16,
              "column": 29
            },
            "end": {
              "line": 16,
              "column": 44
            }
          },
          "imported": {
            "type": "Identifier",
            "start": 543,
            "end": 558,
            "loc": {
              "start": {
                "line": 16,
                "column": 29
              },
              "end": {
                "line": 16,
                "column": 44
              }
            },
            "name": "getAbsolutePath"
          },
          "local": {
            "type": "Identifier",
            "start": 543,
            "end": 558,
            "loc": {
              "start": {
                "line": 16,
                "column": 29
              },
              "end": {
                "line": 16,
                "column": 44
              }
            },
            "name": "getAbsolutePath"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 566,
        "end": 571,
        "loc": {
          "start": {
            "line": 16,
            "column": 52
          },
          "end": {
            "line": 16,
            "column": 57
          }
        },
        "value": "roc",
        "rawValue": "roc",
        "raw": "'roc'"
      },
      "trailingComments": [
        {
          "type": "Block",
          "value": "*\n * Creates a server instance.\n *\n * @example\n * import { createServer } from 'roc-web/app';\n *\n * const server = createServer({\n *    serve: 'static',\n *    favicon: 'static/favicon.png'\n * });\n *\n * server.start();\n *\n * @param {rocServerOptions} options - Options for the server. Will override configuration in roc.config.js.\n * @param {Function[]} beforeUserMiddlewares - Middlewares that should be added before the user middlewares.\n * @returns {rocServer} server - Roc server instace.\n ",
          "start": 574,
          "end": 1071,
          "loc": {
            "start": {
              "line": 18,
              "column": 0
            },
            "end": {
              "line": 34,
              "column": 3
            }
          },
          "range": [
            574,
            1071
          ]
        }
      ]
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 1072,
      "end": 4282,
      "loc": {
        "start": {
          "line": 35,
          "column": 0
        },
        "end": {
          "line": 125,
          "column": 1
        }
      },
      "declaration": {
        "type": "FunctionDeclaration",
        "start": 1087,
        "end": 4282,
        "loc": {
          "start": {
            "line": 35,
            "column": 15
          },
          "end": {
            "line": 125,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 1096,
          "end": 1108,
          "loc": {
            "start": {
              "line": 35,
              "column": 24
            },
            "end": {
              "line": 35,
              "column": 36
            }
          },
          "name": "createServer",
          "leadingComments": null
        },
        "generator": false,
        "expression": false,
        "async": false,
        "params": [
          {
            "type": "AssignmentPattern",
            "start": 1109,
            "end": 1121,
            "loc": {
              "start": {
                "line": 35,
                "column": 37
              },
              "end": {
                "line": 35,
                "column": 49
              }
            },
            "operator": "=",
            "left": {
              "type": "Identifier",
              "start": 1109,
              "end": 1116,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 37
                },
                "end": {
                  "line": 35,
                  "column": 44
                }
              },
              "name": "options"
            },
            "right": {
              "type": "ObjectExpression",
              "start": 1119,
              "end": 1121,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 47
                },
                "end": {
                  "line": 35,
                  "column": 49
                }
              },
              "properties": []
            }
          },
          {
            "type": "AssignmentPattern",
            "start": 1123,
            "end": 1149,
            "loc": {
              "start": {
                "line": 35,
                "column": 51
              },
              "end": {
                "line": 35,
                "column": 77
              }
            },
            "operator": "=",
            "left": {
              "type": "Identifier",
              "start": 1123,
              "end": 1144,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 51
                },
                "end": {
                  "line": 35,
                  "column": 72
                }
              },
              "name": "beforeUserMiddlewares"
            },
            "right": {
              "type": "ArrayExpression",
              "start": 1147,
              "end": 1149,
              "loc": {
                "start": {
                  "line": 35,
                  "column": 75
                },
                "end": {
                  "line": 35,
                  "column": 77
                }
              },
              "elements": []
            }
          }
        ],
        "body": {
          "type": "BlockStatement",
          "start": 1151,
          "end": 4282,
          "loc": {
            "start": {
              "line": 35,
              "column": 79
            },
            "end": {
              "line": 125,
              "column": 1
            }
          },
          "body": [
            {
              "type": "VariableDeclaration",
              "start": 1157,
              "end": 1192,
              "loc": {
                "start": {
                  "line": 36,
                  "column": 4
                },
                "end": {
                  "line": 36,
                  "column": 39
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1163,
                  "end": 1191,
                  "loc": {
                    "start": {
                      "line": 36,
                      "column": 10
                    },
                    "end": {
                      "line": 36,
                      "column": 38
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1163,
                    "end": 1169,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 10
                      },
                      "end": {
                        "line": 36,
                        "column": 16
                      }
                    },
                    "name": "logger"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1172,
                    "end": 1191,
                    "loc": {
                      "start": {
                        "line": 36,
                        "column": 19
                      },
                      "end": {
                        "line": 36,
                        "column": 38
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 1172,
                      "end": 1177,
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 19
                        },
                        "end": {
                          "line": 36,
                          "column": 24
                        }
                      },
                      "name": "debug"
                    },
                    "arguments": [
                      {
                        "type": "Literal",
                        "start": 1178,
                        "end": 1190,
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 25
                          },
                          "end": {
                            "line": 36,
                            "column": 37
                          }
                        },
                        "value": "roc:server",
                        "rawValue": "roc:server",
                        "raw": "'roc:server'"
                      }
                    ]
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "VariableDeclaration",
              "start": 1198,
              "end": 1219,
              "loc": {
                "start": {
                  "line": 38,
                  "column": 4
                },
                "end": {
                  "line": 38,
                  "column": 25
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1204,
                  "end": 1218,
                  "loc": {
                    "start": {
                      "line": 38,
                      "column": 10
                    },
                    "end": {
                      "line": 38,
                      "column": 24
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1204,
                    "end": 1210,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 10
                      },
                      "end": {
                        "line": 38,
                        "column": 16
                      }
                    },
                    "name": "server"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1213,
                    "end": 1218,
                    "loc": {
                      "start": {
                        "line": 38,
                        "column": 19
                      },
                      "end": {
                        "line": 38,
                        "column": 24
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 1213,
                      "end": 1216,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 19
                        },
                        "end": {
                          "line": 38,
                          "column": 22
                        }
                      },
                      "name": "koa"
                    },
                    "arguments": []
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "VariableDeclaration",
              "start": 1224,
              "end": 1280,
              "loc": {
                "start": {
                  "line": 39,
                  "column": 4
                },
                "end": {
                  "line": 39,
                  "column": 60
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1230,
                  "end": 1279,
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 10
                    },
                    "end": {
                      "line": 39,
                      "column": 59
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1230,
                    "end": 1238,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 10
                      },
                      "end": {
                        "line": 39,
                        "column": 18
                      }
                    },
                    "name": "settings"
                  },
                  "init": {
                    "type": "CallExpression",
                    "start": 1241,
                    "end": 1279,
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 21
                      },
                      "end": {
                        "line": 39,
                        "column": 59
                      }
                    },
                    "callee": {
                      "type": "Identifier",
                      "start": 1241,
                      "end": 1246,
                      "loc": {
                        "start": {
                          "line": 39,
                          "column": 21
                        },
                        "end": {
                          "line": 39,
                          "column": 26
                        }
                      },
                      "name": "merge"
                    },
                    "arguments": [
                      {
                        "type": "CallExpression",
                        "start": 1247,
                        "end": 1269,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 27
                          },
                          "end": {
                            "line": 39,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 1247,
                          "end": 1258,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 27
                            },
                            "end": {
                              "line": 39,
                              "column": 38
                            }
                          },
                          "name": "getSettings"
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 1259,
                            "end": 1268,
                            "loc": {
                              "start": {
                                "line": 39,
                                "column": 39
                              },
                              "end": {
                                "line": 39,
                                "column": 48
                              }
                            },
                            "value": "runtime",
                            "rawValue": "runtime",
                            "raw": "'runtime'"
                          }
                        ]
                      },
                      {
                        "type": "Identifier",
                        "start": 1271,
                        "end": 1278,
                        "loc": {
                          "start": {
                            "line": 39,
                            "column": 51
                          },
                          "end": {
                            "line": 39,
                            "column": 58
                          }
                        },
                        "name": "options"
                      }
                    ]
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "IfStatement",
              "start": 1286,
              "end": 1459,
              "loc": {
                "start": {
                  "line": 41,
                  "column": 4
                },
                "end": {
                  "line": 44,
                  "column": 5
                }
              },
              "test": {
                "type": "Identifier",
                "start": 1290,
                "end": 1317,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 8
                  },
                  "end": {
                    "line": 41,
                    "column": 35
                  }
                },
                "name": "USE_DEFAULT_KOA_MIDDLEWARES"
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 1319,
                "end": 1459,
                "loc": {
                  "start": {
                    "line": 41,
                    "column": 37
                  },
                  "end": {
                    "line": 44,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 1329,
                    "end": 1384,
                    "loc": {
                      "start": {
                        "line": 42,
                        "column": 8
                      },
                      "end": {
                        "line": 42,
                        "column": 63
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1335,
                        "end": 1383,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 14
                          },
                          "end": {
                            "line": 42,
                            "column": 62
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1335,
                          "end": 1346,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 14
                            },
                            "end": {
                              "line": 42,
                              "column": 25
                            }
                          },
                          "name": "middlewares"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1349,
                          "end": 1383,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 28
                            },
                            "end": {
                              "line": 42,
                              "column": 62
                            }
                          },
                          "callee": {
                            "type": "CallExpression",
                            "start": 1349,
                            "end": 1373,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 28
                              },
                              "end": {
                                "line": 42,
                                "column": 52
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1349,
                              "end": 1356,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 28
                                },
                                "end": {
                                  "line": 42,
                                  "column": 35
                                }
                              },
                              "name": "require"
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 1357,
                                "end": 1372,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 51
                                  }
                                },
                                "value": "./middlewares",
                                "rawValue": "./middlewares",
                                "raw": "'./middlewares'"
                              }
                            ]
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1374,
                              "end": 1382,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 53
                                },
                                "end": {
                                  "line": 42,
                                  "column": 61
                                }
                              },
                              "name": "settings"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "const"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1393,
                    "end": 1453,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 8
                      },
                      "end": {
                        "line": 43,
                        "column": 68
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1393,
                      "end": 1452,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 67
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1393,
                        "end": 1412,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1393,
                          "end": 1404,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 19
                            }
                          },
                          "name": "middlewares"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1405,
                          "end": 1412,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 20
                            },
                            "end": {
                              "line": 43,
                              "column": 27
                            }
                          },
                          "name": "forEach"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 1413,
                          "end": 1451,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 28
                            },
                            "end": {
                              "line": 43,
                              "column": 66
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 1414,
                              "end": 1424,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 29
                                },
                                "end": {
                                  "line": 43,
                                  "column": 39
                                }
                              },
                              "name": "middleware"
                            }
                          ],
                          "body": {
                            "type": "CallExpression",
                            "start": 1429,
                            "end": 1451,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 44
                              },
                              "end": {
                                "line": 43,
                                "column": 66
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1429,
                              "end": 1439,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 44
                                },
                                "end": {
                                  "line": 43,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1429,
                                "end": 1435,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 50
                                  }
                                },
                                "name": "server"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1436,
                                "end": 1439,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 54
                                  }
                                },
                                "name": "use"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1440,
                                "end": 1450,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 65
                                  }
                                },
                                "name": "middleware"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 1465,
              "end": 1585,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 4
                },
                "end": {
                  "line": 48,
                  "column": 5
                }
              },
              "test": {
                "type": "MemberExpression",
                "start": 1469,
                "end": 1497,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 8
                  },
                  "end": {
                    "line": 46,
                    "column": 36
                  }
                },
                "object": {
                  "type": "Identifier",
                  "start": 1469,
                  "end": 1490,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 8
                    },
                    "end": {
                      "line": 46,
                      "column": 29
                    }
                  },
                  "name": "beforeUserMiddlewares"
                },
                "property": {
                  "type": "Identifier",
                  "start": 1491,
                  "end": 1497,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 30
                    },
                    "end": {
                      "line": 46,
                      "column": 36
                    }
                  },
                  "name": "length"
                },
                "computed": false
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 1499,
                "end": 1585,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 38
                  },
                  "end": {
                    "line": 48,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 1509,
                    "end": 1579,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 8
                      },
                      "end": {
                        "line": 47,
                        "column": 78
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1509,
                      "end": 1578,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 77
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1509,
                        "end": 1538,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 37
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1509,
                          "end": 1530,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 29
                            }
                          },
                          "name": "beforeUserMiddlewares"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1531,
                          "end": 1538,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 30
                            },
                            "end": {
                              "line": 47,
                              "column": 37
                            }
                          },
                          "name": "forEach"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 1539,
                          "end": 1577,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 38
                            },
                            "end": {
                              "line": 47,
                              "column": 76
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 1540,
                              "end": 1550,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 39
                                },
                                "end": {
                                  "line": 47,
                                  "column": 49
                                }
                              },
                              "name": "middleware"
                            }
                          ],
                          "body": {
                            "type": "CallExpression",
                            "start": 1555,
                            "end": 1577,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 54
                              },
                              "end": {
                                "line": 47,
                                "column": 76
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1555,
                              "end": 1565,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 54
                                },
                                "end": {
                                  "line": 47,
                                  "column": 64
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1555,
                                "end": 1561,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 60
                                  }
                                },
                                "name": "server"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1562,
                                "end": 1565,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 64
                                  }
                                },
                                "name": "use"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1566,
                                "end": 1576,
                                "loc": {
                                  "start": {
                                    "line": 47,
                                    "column": 65
                                  },
                                  "end": {
                                    "line": 47,
                                    "column": 75
                                  }
                                },
                                "name": "middleware"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 1591,
              "end": 1756,
              "loc": {
                "start": {
                  "line": 50,
                  "column": 4
                },
                "end": {
                  "line": 53,
                  "column": 5
                }
              },
              "test": {
                "type": "Identifier",
                "start": 1595,
                "end": 1614,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 8
                  },
                  "end": {
                    "line": 50,
                    "column": 27
                  }
                },
                "name": "HAS_KOA_MIDDLEWARES"
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 1616,
                "end": 1756,
                "loc": {
                  "start": {
                    "line": 50,
                    "column": 29
                  },
                  "end": {
                    "line": 53,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 1626,
                    "end": 1681,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 8
                      },
                      "end": {
                        "line": 51,
                        "column": 63
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1632,
                        "end": 1680,
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 14
                          },
                          "end": {
                            "line": 51,
                            "column": 62
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1632,
                          "end": 1643,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 14
                            },
                            "end": {
                              "line": 51,
                              "column": 25
                            }
                          },
                          "name": "middlewares"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1646,
                          "end": 1680,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 28
                            },
                            "end": {
                              "line": 51,
                              "column": 62
                            }
                          },
                          "callee": {
                            "type": "CallExpression",
                            "start": 1646,
                            "end": 1670,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 28
                              },
                              "end": {
                                "line": 51,
                                "column": 52
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 1646,
                              "end": 1653,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 28
                                },
                                "end": {
                                  "line": 51,
                                  "column": 35
                                }
                              },
                              "name": "require"
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1654,
                                "end": 1669,
                                "loc": {
                                  "start": {
                                    "line": 51,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 51,
                                    "column": 51
                                  }
                                },
                                "name": "KOA_MIDDLEWARES"
                              }
                            ]
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 1671,
                              "end": 1679,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 53
                                },
                                "end": {
                                  "line": 51,
                                  "column": 61
                                }
                              },
                              "name": "settings"
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "const"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 1690,
                    "end": 1750,
                    "loc": {
                      "start": {
                        "line": 52,
                        "column": 8
                      },
                      "end": {
                        "line": 52,
                        "column": 68
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 1690,
                      "end": 1749,
                      "loc": {
                        "start": {
                          "line": 52,
                          "column": 8
                        },
                        "end": {
                          "line": 52,
                          "column": 67
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 1690,
                        "end": 1709,
                        "loc": {
                          "start": {
                            "line": 52,
                            "column": 8
                          },
                          "end": {
                            "line": 52,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 1690,
                          "end": 1701,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 19
                            }
                          },
                          "name": "middlewares"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 1702,
                          "end": 1709,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 20
                            },
                            "end": {
                              "line": 52,
                              "column": 27
                            }
                          },
                          "name": "forEach"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 1710,
                          "end": 1748,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 28
                            },
                            "end": {
                              "line": 52,
                              "column": 66
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 1711,
                              "end": 1721,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 29
                                },
                                "end": {
                                  "line": 52,
                                  "column": 39
                                }
                              },
                              "name": "middleware"
                            }
                          ],
                          "body": {
                            "type": "CallExpression",
                            "start": 1726,
                            "end": 1748,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 44
                              },
                              "end": {
                                "line": 52,
                                "column": 66
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1726,
                              "end": 1736,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 44
                                },
                                "end": {
                                  "line": 52,
                                  "column": 54
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1726,
                                "end": 1732,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 50
                                  }
                                },
                                "name": "server"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1733,
                                "end": 1736,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 54
                                  }
                                },
                                "name": "use"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 1737,
                                "end": 1747,
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 65
                                  }
                                },
                                "name": "middleware"
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "VariableDeclaration",
              "start": 1762,
              "end": 2143,
              "loc": {
                "start": {
                  "line": 55,
                  "column": 4
                },
                "end": {
                  "line": 62,
                  "column": 6
                }
              },
              "declarations": [
                {
                  "type": "VariableDeclarator",
                  "start": 1768,
                  "end": 2142,
                  "loc": {
                    "start": {
                      "line": 55,
                      "column": 10
                    },
                    "end": {
                      "line": 62,
                      "column": 5
                    }
                  },
                  "id": {
                    "type": "Identifier",
                    "start": 1768,
                    "end": 1777,
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 10
                      },
                      "end": {
                        "line": 55,
                        "column": 19
                      }
                    },
                    "name": "makeServe"
                  },
                  "init": {
                    "type": "ArrowFunctionExpression",
                    "start": 1780,
                    "end": 2142,
                    "loc": {
                      "start": {
                        "line": 55,
                        "column": 22
                      },
                      "end": {
                        "line": 62,
                        "column": 5
                      }
                    },
                    "id": null,
                    "generator": false,
                    "expression": false,
                    "async": false,
                    "params": [
                      {
                        "type": "AssignmentPattern",
                        "start": 1781,
                        "end": 1793,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 23
                          },
                          "end": {
                            "line": 55,
                            "column": 35
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1781,
                          "end": 1788,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 23
                            },
                            "end": {
                              "line": 55,
                              "column": 30
                            }
                          },
                          "name": "toServe"
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "start": 1791,
                          "end": 1793,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 33
                            },
                            "end": {
                              "line": 55,
                              "column": 35
                            }
                          },
                          "elements": []
                        }
                      }
                    ],
                    "body": {
                      "type": "BlockStatement",
                      "start": 1798,
                      "end": 2142,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 40
                        },
                        "end": {
                          "line": 62,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 1808,
                          "end": 1837,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 37
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 1808,
                            "end": 1836,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 36
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 1808,
                              "end": 1815,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 15
                                }
                              },
                              "name": "toServe"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 1818,
                              "end": 1836,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 18
                                },
                                "end": {
                                  "line": 56,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1818,
                                "end": 1827,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 27
                                  }
                                },
                                "object": {
                                  "type": "ArrayExpression",
                                  "start": 1818,
                                  "end": 1820,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 20
                                    }
                                  },
                                  "elements": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1821,
                                  "end": 1827,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 27
                                    }
                                  },
                                  "name": "concat"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 1828,
                                  "end": 1835,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 35
                                    }
                                  },
                                  "name": "toServe"
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "ForOfStatement",
                          "start": 1846,
                          "end": 2136,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 61,
                              "column": 9
                            }
                          },
                          "left": {
                            "type": "VariableDeclaration",
                            "start": 1851,
                            "end": 1861,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 13
                              },
                              "end": {
                                "line": 57,
                                "column": 23
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 1857,
                                "end": 1861,
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 23
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 1857,
                                  "end": 1861,
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 19
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 23
                                    }
                                  },
                                  "name": "path"
                                },
                                "init": null
                              }
                            ],
                            "kind": "const"
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 1865,
                            "end": 1872,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 27
                              },
                              "end": {
                                "line": 57,
                                "column": 34
                              }
                            },
                            "name": "toServe"
                          },
                          "body": {
                            "type": "BlockStatement",
                            "start": 1874,
                            "end": 2136,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 36
                              },
                              "end": {
                                "line": 61,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 2085,
                                "end": 2126,
                                "loc": {
                                  "start": {
                                    "line": 60,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 60,
                                    "column": 53
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 2085,
                                  "end": 2125,
                                  "loc": {
                                    "start": {
                                      "line": 60,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 60,
                                      "column": 52
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 2085,
                                    "end": 2095,
                                    "loc": {
                                      "start": {
                                        "line": 60,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 60,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2085,
                                      "end": 2091,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 18
                                        }
                                      },
                                      "name": "server",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2092,
                                      "end": 2095,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 22
                                        }
                                      },
                                      "name": "use"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 2096,
                                      "end": 2124,
                                      "loc": {
                                        "start": {
                                          "line": 60,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 60,
                                          "column": 51
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 2096,
                                        "end": 2101,
                                        "loc": {
                                          "start": {
                                            "line": 60,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 60,
                                            "column": 28
                                          }
                                        },
                                        "name": "serve"
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 2102,
                                          "end": 2106,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 33
                                            }
                                          },
                                          "name": "path"
                                        },
                                        {
                                          "type": "ObjectExpression",
                                          "start": 2108,
                                          "end": 2123,
                                          "loc": {
                                            "start": {
                                              "line": 60,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 60,
                                              "column": 50
                                            }
                                          },
                                          "properties": [
                                            {
                                              "type": "Property",
                                              "start": 2110,
                                              "end": 2121,
                                              "loc": {
                                                "start": {
                                                  "line": 60,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 60,
                                                  "column": 48
                                                }
                                              },
                                              "method": false,
                                              "shorthand": false,
                                              "computed": false,
                                              "key": {
                                                "type": "Identifier",
                                                "start": 2110,
                                                "end": 2115,
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 42
                                                  }
                                                },
                                                "name": "defer"
                                              },
                                              "value": {
                                                "type": "Literal",
                                                "start": 2117,
                                                "end": 2121,
                                                "loc": {
                                                  "start": {
                                                    "line": 60,
                                                    "column": 44
                                                  },
                                                  "end": {
                                                    "line": 60,
                                                    "column": 48
                                                  }
                                                },
                                                "value": true,
                                                "rawValue": true,
                                                "raw": "true"
                                              },
                                              "kind": "init"
                                            }
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " We use defer here to no try to fetch a file if we have set something on body, something that is done in",
                                    "start": 1888,
                                    "end": 1994,
                                    "loc": {
                                      "start": {
                                        "line": 58,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 58,
                                        "column": 118
                                      }
                                    },
                                    "range": [
                                      1888,
                                      1994
                                    ]
                                  },
                                  {
                                    "type": "CommentLine",
                                    "value": " redirect. This because https://github.com/koajs/send/issues/51",
                                    "start": 2007,
                                    "end": 2072,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 77
                                      }
                                    },
                                    "range": [
                                      2007,
                                      2072
                                    ]
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                }
              ],
              "kind": "const"
            },
            {
              "type": "IfStatement",
              "start": 2149,
              "end": 2268,
              "loc": {
                "start": {
                  "line": 64,
                  "column": 4
                },
                "end": {
                  "line": 66,
                  "column": 5
                }
              },
              "test": {
                "type": "MemberExpression",
                "start": 2153,
                "end": 2183,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 8
                  },
                  "end": {
                    "line": 64,
                    "column": 38
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 2153,
                  "end": 2175,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 8
                    },
                    "end": {
                      "line": 64,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 2153,
                    "end": 2165,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 8
                      },
                      "end": {
                        "line": 64,
                        "column": 20
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2153,
                      "end": 2161,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 8
                        },
                        "end": {
                          "line": 64,
                          "column": 16
                        }
                      },
                      "name": "settings"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2162,
                      "end": 2165,
                      "loc": {
                        "start": {
                          "line": 64,
                          "column": 17
                        },
                        "end": {
                          "line": 64,
                          "column": 20
                        }
                      },
                      "name": "koa"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2166,
                    "end": 2175,
                    "loc": {
                      "start": {
                        "line": 64,
                        "column": 21
                      },
                      "end": {
                        "line": 64,
                        "column": 30
                      }
                    },
                    "name": "normalize"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 2176,
                  "end": 2183,
                  "loc": {
                    "start": {
                      "line": 64,
                      "column": 31
                    },
                    "end": {
                      "line": 64,
                      "column": 38
                    }
                  },
                  "name": "enabled"
                },
                "computed": false
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 2185,
                "end": 2268,
                "loc": {
                  "start": {
                    "line": 64,
                    "column": 40
                  },
                  "end": {
                    "line": 66,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2195,
                    "end": 2262,
                    "loc": {
                      "start": {
                        "line": 65,
                        "column": 8
                      },
                      "end": {
                        "line": 65,
                        "column": 75
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2195,
                      "end": 2261,
                      "loc": {
                        "start": {
                          "line": 65,
                          "column": 8
                        },
                        "end": {
                          "line": 65,
                          "column": 74
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2195,
                        "end": 2205,
                        "loc": {
                          "start": {
                            "line": 65,
                            "column": 8
                          },
                          "end": {
                            "line": 65,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2195,
                          "end": 2201,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 8
                            },
                            "end": {
                              "line": 65,
                              "column": 14
                            }
                          },
                          "name": "server"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2202,
                          "end": 2205,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 15
                            },
                            "end": {
                              "line": 65,
                              "column": 18
                            }
                          },
                          "name": "use"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 2206,
                          "end": 2260,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 19
                            },
                            "end": {
                              "line": 65,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2206,
                            "end": 2219,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 19
                              },
                              "end": {
                                "line": 65,
                                "column": 32
                              }
                            },
                            "name": "normalizePath"
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 2220,
                              "end": 2259,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 33
                                },
                                "end": {
                                  "line": 65,
                                  "column": 72
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 2222,
                                  "end": 2257,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 70
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2222,
                                    "end": 2227,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 40
                                      }
                                    },
                                    "name": "defer"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 2229,
                                    "end": 2257,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 70
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2229,
                                      "end": 2251,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 64
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2229,
                                        "end": 2241,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 54
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2229,
                                          "end": 2237,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 50
                                            }
                                          },
                                          "name": "settings"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2238,
                                          "end": 2241,
                                          "loc": {
                                            "start": {
                                              "line": 65,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 65,
                                              "column": 54
                                            }
                                          },
                                          "name": "koa"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2242,
                                        "end": 2251,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 64
                                          }
                                        },
                                        "name": "normalize"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2252,
                                      "end": 2257,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 70
                                        }
                                      },
                                      "name": "defer"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 2274,
              "end": 2393,
              "loc": {
                "start": {
                  "line": 68,
                  "column": 4
                },
                "end": {
                  "line": 70,
                  "column": 5
                }
              },
              "test": {
                "type": "MemberExpression",
                "start": 2278,
                "end": 2308,
                "loc": {
                  "start": {
                    "line": 68,
                    "column": 8
                  },
                  "end": {
                    "line": 68,
                    "column": 38
                  }
                },
                "object": {
                  "type": "MemberExpression",
                  "start": 2278,
                  "end": 2300,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 8
                    },
                    "end": {
                      "line": 68,
                      "column": 30
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 2278,
                    "end": 2290,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 8
                      },
                      "end": {
                        "line": 68,
                        "column": 20
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2278,
                      "end": 2286,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 8
                        },
                        "end": {
                          "line": 68,
                          "column": 16
                        }
                      },
                      "name": "settings"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2287,
                      "end": 2290,
                      "loc": {
                        "start": {
                          "line": 68,
                          "column": 17
                        },
                        "end": {
                          "line": 68,
                          "column": 20
                        }
                      },
                      "name": "koa"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2291,
                    "end": 2300,
                    "loc": {
                      "start": {
                        "line": 68,
                        "column": 21
                      },
                      "end": {
                        "line": 68,
                        "column": 30
                      }
                    },
                    "name": "lowercase"
                  },
                  "computed": false
                },
                "property": {
                  "type": "Identifier",
                  "start": 2301,
                  "end": 2308,
                  "loc": {
                    "start": {
                      "line": 68,
                      "column": 31
                    },
                    "end": {
                      "line": 68,
                      "column": 38
                    }
                  },
                  "name": "enabled"
                },
                "computed": false
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 2310,
                "end": 2393,
                "loc": {
                  "start": {
                    "line": 68,
                    "column": 40
                  },
                  "end": {
                    "line": 70,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2320,
                    "end": 2387,
                    "loc": {
                      "start": {
                        "line": 69,
                        "column": 8
                      },
                      "end": {
                        "line": 69,
                        "column": 75
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2320,
                      "end": 2386,
                      "loc": {
                        "start": {
                          "line": 69,
                          "column": 8
                        },
                        "end": {
                          "line": 69,
                          "column": 74
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2320,
                        "end": 2330,
                        "loc": {
                          "start": {
                            "line": 69,
                            "column": 8
                          },
                          "end": {
                            "line": 69,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2320,
                          "end": 2326,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 8
                            },
                            "end": {
                              "line": 69,
                              "column": 14
                            }
                          },
                          "name": "server"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2327,
                          "end": 2330,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 15
                            },
                            "end": {
                              "line": 69,
                              "column": 18
                            }
                          },
                          "name": "use"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 2331,
                          "end": 2385,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 19
                            },
                            "end": {
                              "line": 69,
                              "column": 73
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2331,
                            "end": 2344,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 19
                              },
                              "end": {
                                "line": 69,
                                "column": 32
                              }
                            },
                            "name": "lowercasePath"
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 2345,
                              "end": 2384,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 33
                                },
                                "end": {
                                  "line": 69,
                                  "column": 72
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 2347,
                                  "end": 2382,
                                  "loc": {
                                    "start": {
                                      "line": 69,
                                      "column": 35
                                    },
                                    "end": {
                                      "line": 69,
                                      "column": 70
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2347,
                                    "end": 2352,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 40
                                      }
                                    },
                                    "name": "defer"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 2354,
                                    "end": 2382,
                                    "loc": {
                                      "start": {
                                        "line": 69,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 69,
                                        "column": 70
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2354,
                                      "end": 2376,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 42
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 64
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2354,
                                        "end": 2366,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 54
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2354,
                                          "end": 2362,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 50
                                            }
                                          },
                                          "name": "settings"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2363,
                                          "end": 2366,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 69,
                                              "column": 54
                                            }
                                          },
                                          "name": "koa"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2367,
                                        "end": 2376,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 69,
                                            "column": 64
                                          }
                                        },
                                        "name": "lowercase"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2377,
                                      "end": 2382,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 69,
                                          "column": 70
                                        }
                                      },
                                      "name": "defer"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  }
                ]
              },
              "alternate": null
            },
            {
              "type": "IfStatement",
              "start": 2399,
              "end": 2650,
              "loc": {
                "start": {
                  "line": 72,
                  "column": 4
                },
                "end": {
                  "line": 76,
                  "column": 5
                }
              },
              "test": {
                "type": "BinaryExpression",
                "start": 2403,
                "end": 2448,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 8
                  },
                  "end": {
                    "line": 72,
                    "column": 53
                  }
                },
                "left": {
                  "type": "MemberExpression",
                  "start": 2403,
                  "end": 2439,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 8
                    },
                    "end": {
                      "line": 72,
                      "column": 44
                    }
                  },
                  "object": {
                    "type": "MemberExpression",
                    "start": 2403,
                    "end": 2431,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 8
                      },
                      "end": {
                        "line": 72,
                        "column": 36
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 2403,
                      "end": 2415,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 8
                        },
                        "end": {
                          "line": 72,
                          "column": 20
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 2403,
                        "end": 2411,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 8
                          },
                          "end": {
                            "line": 72,
                            "column": 16
                          }
                        },
                        "name": "settings"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2412,
                        "end": 2415,
                        "loc": {
                          "start": {
                            "line": 72,
                            "column": 17
                          },
                          "end": {
                            "line": 72,
                            "column": 20
                          }
                        },
                        "name": "koa"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2416,
                      "end": 2431,
                      "loc": {
                        "start": {
                          "line": 72,
                          "column": 21
                        },
                        "end": {
                          "line": 72,
                          "column": 36
                        }
                      },
                      "name": "trailingSlashes"
                    },
                    "computed": false
                  },
                  "property": {
                    "type": "Identifier",
                    "start": 2432,
                    "end": 2439,
                    "loc": {
                      "start": {
                        "line": 72,
                        "column": 37
                      },
                      "end": {
                        "line": 72,
                        "column": 44
                      }
                    },
                    "name": "enabled"
                  },
                  "computed": false
                },
                "operator": "===",
                "right": {
                  "type": "Literal",
                  "start": 2444,
                  "end": 2448,
                  "loc": {
                    "start": {
                      "line": 72,
                      "column": 49
                    },
                    "end": {
                      "line": 72,
                      "column": 53
                    }
                  },
                  "value": true,
                  "rawValue": true,
                  "raw": "true"
                }
              },
              "consequent": {
                "type": "BlockStatement",
                "start": 2450,
                "end": 2542,
                "loc": {
                  "start": {
                    "line": 72,
                    "column": 55
                  },
                  "end": {
                    "line": 74,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2460,
                    "end": 2536,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 8
                      },
                      "end": {
                        "line": 73,
                        "column": 84
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2460,
                      "end": 2535,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 8
                        },
                        "end": {
                          "line": 73,
                          "column": 83
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2460,
                        "end": 2470,
                        "loc": {
                          "start": {
                            "line": 73,
                            "column": 8
                          },
                          "end": {
                            "line": 73,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2460,
                          "end": 2466,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 8
                            },
                            "end": {
                              "line": 73,
                              "column": 14
                            }
                          },
                          "name": "server"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2467,
                          "end": 2470,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 15
                            },
                            "end": {
                              "line": 73,
                              "column": 18
                            }
                          },
                          "name": "use"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 2471,
                          "end": 2534,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 19
                            },
                            "end": {
                              "line": 73,
                              "column": 82
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2471,
                            "end": 2487,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 19
                              },
                              "end": {
                                "line": 73,
                                "column": 35
                              }
                            },
                            "name": "addTrailingSlash"
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 2488,
                              "end": 2533,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 36
                                },
                                "end": {
                                  "line": 73,
                                  "column": 81
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 2490,
                                  "end": 2531,
                                  "loc": {
                                    "start": {
                                      "line": 73,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 73,
                                      "column": 79
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 2490,
                                    "end": 2495,
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 43
                                      }
                                    },
                                    "name": "defer"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 2497,
                                    "end": 2531,
                                    "loc": {
                                      "start": {
                                        "line": 73,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 73,
                                        "column": 79
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 2497,
                                      "end": 2525,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 45
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 73
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 2497,
                                        "end": 2509,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 57
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 2497,
                                          "end": 2505,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 53
                                            }
                                          },
                                          "name": "settings"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 2506,
                                          "end": 2509,
                                          "loc": {
                                            "start": {
                                              "line": 73,
                                              "column": 54
                                            },
                                            "end": {
                                              "line": 73,
                                              "column": 57
                                            }
                                          },
                                          "name": "koa"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2510,
                                        "end": 2525,
                                        "loc": {
                                          "start": {
                                            "line": 73,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 73,
                                            "column": 73
                                          }
                                        },
                                        "name": "trailingSlashes"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2526,
                                      "end": 2531,
                                      "loc": {
                                        "start": {
                                          "line": 73,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 73,
                                          "column": 79
                                        }
                                      },
                                      "name": "defer"
                                    },
                                    "computed": false
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  }
                ]
              },
              "alternate": {
                "type": "IfStatement",
                "start": 2548,
                "end": 2650,
                "loc": {
                  "start": {
                    "line": 74,
                    "column": 11
                  },
                  "end": {
                    "line": 76,
                    "column": 5
                  }
                },
                "test": {
                  "type": "BinaryExpression",
                  "start": 2552,
                  "end": 2598,
                  "loc": {
                    "start": {
                      "line": 74,
                      "column": 15
                    },
                    "end": {
                      "line": 74,
                      "column": 61
                    }
                  },
                  "left": {
                    "type": "MemberExpression",
                    "start": 2552,
                    "end": 2588,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 15
                      },
                      "end": {
                        "line": 74,
                        "column": 51
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 2552,
                      "end": 2580,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 15
                        },
                        "end": {
                          "line": 74,
                          "column": 43
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 2552,
                        "end": 2564,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 15
                          },
                          "end": {
                            "line": 74,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2552,
                          "end": 2560,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 15
                            },
                            "end": {
                              "line": 74,
                              "column": 23
                            }
                          },
                          "name": "settings"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2561,
                          "end": 2564,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 24
                            },
                            "end": {
                              "line": 74,
                              "column": 27
                            }
                          },
                          "name": "koa"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 2565,
                        "end": 2580,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 28
                          },
                          "end": {
                            "line": 74,
                            "column": 43
                          }
                        },
                        "name": "trailingSlashes"
                      },
                      "computed": false
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2581,
                      "end": 2588,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 44
                        },
                        "end": {
                          "line": 74,
                          "column": 51
                        }
                      },
                      "name": "enabled"
                    },
                    "computed": false
                  },
                  "operator": "===",
                  "right": {
                    "type": "Literal",
                    "start": 2593,
                    "end": 2598,
                    "loc": {
                      "start": {
                        "line": 74,
                        "column": 56
                      },
                      "end": {
                        "line": 74,
                        "column": 61
                      }
                    },
                    "value": false,
                    "rawValue": false,
                    "raw": "false"
                  }
                },
                "consequent": {
                  "type": "BlockStatement",
                  "start": 2600,
                  "end": 2650,
                  "loc": {
                    "start": {
                      "line": 74,
                      "column": 63
                    },
                    "end": {
                      "line": 76,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 2610,
                      "end": 2644,
                      "loc": {
                        "start": {
                          "line": 75,
                          "column": 8
                        },
                        "end": {
                          "line": 75,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2610,
                        "end": 2643,
                        "loc": {
                          "start": {
                            "line": 75,
                            "column": 8
                          },
                          "end": {
                            "line": 75,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2610,
                          "end": 2620,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 8
                            },
                            "end": {
                              "line": 75,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2610,
                            "end": 2616,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 8
                              },
                              "end": {
                                "line": 75,
                                "column": 14
                              }
                            },
                            "name": "server"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2617,
                            "end": 2620,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 15
                              },
                              "end": {
                                "line": 75,
                                "column": 18
                              }
                            },
                            "name": "use"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 2621,
                            "end": 2642,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 19
                              },
                              "end": {
                                "line": 75,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 2621,
                              "end": 2640,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 19
                                },
                                "end": {
                                  "line": 75,
                                  "column": 38
                                }
                              },
                              "name": "removeTrailingSlash"
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ],
                  "trailingComments": null
                },
                "alternate": null,
                "trailingComments": null
              },
              "trailingComments": [
                {
                  "type": "CommentLine",
                  "value": " Serve folders",
                  "start": 2656,
                  "end": 2672,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 20
                    }
                  },
                  "range": [
                    2656,
                    2672
                  ]
                }
              ]
            },
            {
              "type": "ExpressionStatement",
              "start": 2677,
              "end": 2703,
              "loc": {
                "start": {
                  "line": 79,
                  "column": 4
                },
                "end": {
                  "line": 79,
                  "column": 30
                }
              },
              "expression": {
                "type": "CallExpression",
                "start": 2677,
                "end": 2702,
                "loc": {
                  "start": {
                    "line": 79,
                    "column": 4
                  },
                  "end": {
                    "line": 79,
                    "column": 29
                  }
                },
                "callee": {
                  "type": "Identifier",
                  "start": 2677,
                  "end": 2686,
                  "loc": {
                    "start": {
                      "line": 79,
                      "column": 4
                    },
                    "end": {
                      "line": 79,
                      "column": 13
                    }
                  },
                  "name": "makeServe",
                  "leadingComments": null
                },
                "arguments": [
                  {
                    "type": "MemberExpression",
                    "start": 2687,
                    "end": 2701,
                    "loc": {
                      "start": {
                        "line": 79,
                        "column": 14
                      },
                      "end": {
                        "line": 79,
                        "column": 28
                      }
                    },
                    "object": {
                      "type": "Identifier",
                      "start": 2687,
                      "end": 2695,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 14
                        },
                        "end": {
                          "line": 79,
                          "column": 22
                        }
                      },
                      "name": "settings"
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 2696,
                      "end": 2701,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 23
                        },
                        "end": {
                          "line": 79,
                          "column": 28
                        }
                      },
                      "name": "serve"
                    },
                    "computed": false
                  }
                ],
                "leadingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentLine",
                  "value": " Serve folders",
                  "start": 2656,
                  "end": 2672,
                  "loc": {
                    "start": {
                      "line": 78,
                      "column": 4
                    },
                    "end": {
                      "line": 78,
                      "column": 20
                    }
                  },
                  "range": [
                    2656,
                    2672
                  ]
                }
              ]
            },
            {
              "type": "FunctionDeclaration",
              "start": 2709,
              "end": 4229,
              "loc": {
                "start": {
                  "line": 81,
                  "column": 4
                },
                "end": {
                  "line": 119,
                  "column": 5
                }
              },
              "id": {
                "type": "Identifier",
                "start": 2718,
                "end": 2723,
                "loc": {
                  "start": {
                    "line": 81,
                    "column": 13
                  },
                  "end": {
                    "line": 81,
                    "column": 18
                  }
                },
                "name": "start"
              },
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 2724,
                  "end": 2728,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 19
                    },
                    "end": {
                      "line": 81,
                      "column": 23
                    }
                  },
                  "name": "port"
                },
                {
                  "type": "Identifier",
                  "start": 2730,
                  "end": 2739,
                  "loc": {
                    "start": {
                      "line": 81,
                      "column": 25
                    },
                    "end": {
                      "line": 81,
                      "column": 34
                    }
                  },
                  "name": "httpsPort"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 2741,
                "end": 4229,
                "loc": {
                  "start": {
                    "line": 81,
                    "column": 36
                  },
                  "end": {
                    "line": 119,
                    "column": 5
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 2751,
                    "end": 2800,
                    "loc": {
                      "start": {
                        "line": 82,
                        "column": 8
                      },
                      "end": {
                        "line": 82,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2751,
                      "end": 2799,
                      "loc": {
                        "start": {
                          "line": 82,
                          "column": 8
                        },
                        "end": {
                          "line": 82,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2751,
                        "end": 2755,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 8
                          },
                          "end": {
                            "line": 82,
                            "column": 12
                          }
                        },
                        "name": "port"
                      },
                      "right": {
                        "type": "LogicalExpression",
                        "start": 2758,
                        "end": 2799,
                        "loc": {
                          "start": {
                            "line": 82,
                            "column": 15
                          },
                          "end": {
                            "line": 82,
                            "column": 56
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 2758,
                          "end": 2782,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 15
                            },
                            "end": {
                              "line": 82,
                              "column": 39
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2758,
                            "end": 2762,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 15
                              },
                              "end": {
                                "line": 82,
                                "column": 19
                              }
                            },
                            "name": "port"
                          },
                          "operator": "||",
                          "right": {
                            "type": "MemberExpression",
                            "start": 2766,
                            "end": 2782,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 23
                              },
                              "end": {
                                "line": 82,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2766,
                              "end": 2777,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 23
                                },
                                "end": {
                                  "line": 82,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2766,
                                "end": 2773,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 30
                                  }
                                },
                                "name": "process"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2774,
                                "end": 2777,
                                "loc": {
                                  "start": {
                                    "line": 82,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 82,
                                    "column": 34
                                  }
                                },
                                "name": "env"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2778,
                              "end": 2782,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 35
                                },
                                "end": {
                                  "line": 82,
                                  "column": 39
                                }
                              },
                              "name": "PORT"
                            },
                            "computed": false
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "MemberExpression",
                          "start": 2786,
                          "end": 2799,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 43
                            },
                            "end": {
                              "line": 82,
                              "column": 56
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 2786,
                            "end": 2794,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 43
                              },
                              "end": {
                                "line": 82,
                                "column": 51
                              }
                            },
                            "name": "settings"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2795,
                            "end": 2799,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 52
                              },
                              "end": {
                                "line": 82,
                                "column": 56
                              }
                            },
                            "name": "port"
                          },
                          "computed": false
                        }
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2809,
                    "end": 2880,
                    "loc": {
                      "start": {
                        "line": 83,
                        "column": 8
                      },
                      "end": {
                        "line": 83,
                        "column": 79
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 2809,
                      "end": 2879,
                      "loc": {
                        "start": {
                          "line": 83,
                          "column": 8
                        },
                        "end": {
                          "line": 83,
                          "column": 78
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "Identifier",
                        "start": 2809,
                        "end": 2818,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 8
                          },
                          "end": {
                            "line": 83,
                            "column": 17
                          }
                        },
                        "name": "httpsPort"
                      },
                      "right": {
                        "type": "LogicalExpression",
                        "start": 2821,
                        "end": 2879,
                        "loc": {
                          "start": {
                            "line": 83,
                            "column": 20
                          },
                          "end": {
                            "line": 83,
                            "column": 78
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 2821,
                          "end": 2856,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 20
                            },
                            "end": {
                              "line": 83,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 2821,
                            "end": 2830,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 20
                              },
                              "end": {
                                "line": 83,
                                "column": 29
                              }
                            },
                            "name": "httpsPort"
                          },
                          "operator": "||",
                          "right": {
                            "type": "MemberExpression",
                            "start": 2834,
                            "end": 2856,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 33
                              },
                              "end": {
                                "line": 83,
                                "column": 55
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 2834,
                              "end": 2845,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 33
                                },
                                "end": {
                                  "line": 83,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 2834,
                                "end": 2841,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 40
                                  }
                                },
                                "name": "process"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 2842,
                                "end": 2845,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 44
                                  }
                                },
                                "name": "env"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2846,
                              "end": 2856,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 45
                                },
                                "end": {
                                  "line": 83,
                                  "column": 55
                                }
                              },
                              "name": "HTTPS_PORT"
                            },
                            "computed": false
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "MemberExpression",
                          "start": 2860,
                          "end": 2879,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 59
                            },
                            "end": {
                              "line": 83,
                              "column": 78
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2860,
                            "end": 2874,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 59
                              },
                              "end": {
                                "line": 83,
                                "column": 73
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2860,
                              "end": 2868,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 59
                                },
                                "end": {
                                  "line": 83,
                                  "column": 67
                                }
                              },
                              "name": "settings"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2869,
                              "end": 2874,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 68
                                },
                                "end": {
                                  "line": 83,
                                  "column": 73
                                }
                              },
                              "name": "https"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2875,
                            "end": 2879,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 74
                              },
                              "end": {
                                "line": 83,
                                "column": 78
                              }
                            },
                            "name": "port"
                          },
                          "computed": false
                        }
                      }
                    }
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 2890,
                    "end": 2908,
                    "loc": {
                      "start": {
                        "line": 85,
                        "column": 8
                      },
                      "end": {
                        "line": 85,
                        "column": 26
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 2896,
                        "end": 2907,
                        "loc": {
                          "start": {
                            "line": 85,
                            "column": 14
                          },
                          "end": {
                            "line": 85,
                            "column": 25
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 2896,
                          "end": 2899,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 14
                            },
                            "end": {
                              "line": 85,
                              "column": 17
                            }
                          },
                          "name": "app"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 2902,
                          "end": 2907,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 20
                            },
                            "end": {
                              "line": 85,
                              "column": 25
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2902,
                            "end": 2905,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 20
                              },
                              "end": {
                                "line": 85,
                                "column": 23
                              }
                            },
                            "name": "koa"
                          },
                          "arguments": []
                        }
                      }
                    ],
                    "kind": "const"
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2917,
                    "end": 2950,
                    "loc": {
                      "start": {
                        "line": 86,
                        "column": 8
                      },
                      "end": {
                        "line": 86,
                        "column": 41
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2917,
                      "end": 2949,
                      "loc": {
                        "start": {
                          "line": 86,
                          "column": 8
                        },
                        "end": {
                          "line": 86,
                          "column": 40
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2917,
                        "end": 2924,
                        "loc": {
                          "start": {
                            "line": 86,
                            "column": 8
                          },
                          "end": {
                            "line": 86,
                            "column": 15
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 2917,
                          "end": 2920,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 8
                            },
                            "end": {
                              "line": 86,
                              "column": 11
                            }
                          },
                          "name": "app"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 2921,
                          "end": 2924,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 12
                            },
                            "end": {
                              "line": 86,
                              "column": 15
                            }
                          },
                          "name": "use"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "CallExpression",
                          "start": 2925,
                          "end": 2948,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 16
                            },
                            "end": {
                              "line": 86,
                              "column": 39
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 2925,
                            "end": 2930,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 16
                              },
                              "end": {
                                "line": 86,
                                "column": 21
                              }
                            },
                            "name": "mount"
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 2931,
                              "end": 2939,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 22
                                },
                                "end": {
                                  "line": 86,
                                  "column": 30
                                }
                              },
                              "name": "ROC_PATH"
                            },
                            {
                              "type": "Identifier",
                              "start": 2941,
                              "end": 2947,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 32
                                },
                                "end": {
                                  "line": 86,
                                  "column": 38
                                }
                              },
                              "name": "server"
                            }
                          ]
                        }
                      ]
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Start the server on HTTP",
                        "start": 2960,
                        "end": 2987,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 8
                          },
                          "end": {
                            "line": 88,
                            "column": 35
                          }
                        },
                        "range": [
                          2960,
                          2987
                        ]
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 2996,
                    "end": 3043,
                    "loc": {
                      "start": {
                        "line": 89,
                        "column": 8
                      },
                      "end": {
                        "line": 89,
                        "column": 55
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 2996,
                      "end": 3042,
                      "loc": {
                        "start": {
                          "line": 89,
                          "column": 8
                        },
                        "end": {
                          "line": 89,
                          "column": 54
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 2996,
                        "end": 3036,
                        "loc": {
                          "start": {
                            "line": 89,
                            "column": 8
                          },
                          "end": {
                            "line": 89,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 2996,
                          "end": 3029,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 8
                            },
                            "end": {
                              "line": 89,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 2996,
                            "end": 3013,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 8
                              },
                              "end": {
                                "line": 89,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 2996,
                              "end": 3000,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 8
                                },
                                "end": {
                                  "line": 89,
                                  "column": 12
                                }
                              },
                              "name": "http",
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 3001,
                              "end": 3013,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 13
                                },
                                "end": {
                                  "line": 89,
                                  "column": 25
                                }
                              },
                              "name": "createServer"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "CallExpression",
                              "start": 3014,
                              "end": 3028,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 26
                                },
                                "end": {
                                  "line": 89,
                                  "column": 40
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3014,
                                "end": 3026,
                                "loc": {
                                  "start": {
                                    "line": 89,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 89,
                                    "column": 38
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3014,
                                  "end": 3017,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 29
                                    }
                                  },
                                  "name": "app"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3018,
                                  "end": 3026,
                                  "loc": {
                                    "start": {
                                      "line": 89,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 89,
                                      "column": 38
                                    }
                                  },
                                  "name": "callback"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          ],
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3030,
                          "end": 3036,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 42
                            },
                            "end": {
                              "line": 89,
                              "column": 48
                            }
                          },
                          "name": "listen"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 3037,
                          "end": 3041,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 49
                            },
                            "end": {
                              "line": 89,
                              "column": 53
                            }
                          },
                          "name": "port"
                        }
                      ],
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " Start the server on HTTP",
                        "start": 2960,
                        "end": 2987,
                        "loc": {
                          "start": {
                            "line": 88,
                            "column": 8
                          },
                          "end": {
                            "line": 88,
                            "column": 35
                          }
                        },
                        "range": [
                          2960,
                          2987
                        ]
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 3052,
                    "end": 3128,
                    "loc": {
                      "start": {
                        "line": 90,
                        "column": 8
                      },
                      "end": {
                        "line": 90,
                        "column": 84
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 3052,
                      "end": 3127,
                      "loc": {
                        "start": {
                          "line": 90,
                          "column": 8
                        },
                        "end": {
                          "line": 90,
                          "column": 83
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 3052,
                        "end": 3058,
                        "loc": {
                          "start": {
                            "line": 90,
                            "column": 8
                          },
                          "end": {
                            "line": 90,
                            "column": 14
                          }
                        },
                        "name": "logger"
                      },
                      "arguments": [
                        {
                          "type": "TemplateLiteral",
                          "start": 3059,
                          "end": 3126,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 15
                            },
                            "end": {
                              "line": 90,
                              "column": 82
                            }
                          },
                          "expressions": [
                            {
                              "type": "Identifier",
                              "start": 3085,
                              "end": 3089,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 41
                                },
                                "end": {
                                  "line": 90,
                                  "column": 45
                                }
                              },
                              "name": "port"
                            },
                            {
                              "type": "Identifier",
                              "start": 3116,
                              "end": 3124,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 72
                                },
                                "end": {
                                  "line": 90,
                                  "column": 80
                                }
                              },
                              "name": "ROC_PATH"
                            }
                          ],
                          "quasis": [
                            {
                              "type": "TemplateElement",
                              "start": 3060,
                              "end": 3083,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 16
                                },
                                "end": {
                                  "line": 90,
                                  "column": 39
                                }
                              },
                              "value": {
                                "raw": "Server started on port ",
                                "cooked": "Server started on port "
                              },
                              "tail": false
                            },
                            {
                              "type": "TemplateElement",
                              "start": 3090,
                              "end": 3114,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 46
                                },
                                "end": {
                                  "line": 90,
                                  "column": 70
                                }
                              },
                              "value": {
                                "raw": " (HTTP) and served from ",
                                "cooked": " (HTTP) and served from "
                              },
                              "tail": false
                            },
                            {
                              "type": "TemplateElement",
                              "start": 3125,
                              "end": 3125,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 81
                                },
                                "end": {
                                  "line": 90,
                                  "column": 81
                                }
                              },
                              "value": {
                                "raw": "",
                                "cooked": ""
                              },
                              "tail": true
                            }
                          ]
                        }
                      ]
                    },
                    "trailingComments": [
                      {
                        "type": "CommentLine",
                        "value": " If a HTTPS port is defined we will try to start the application with SSL/TLS",
                        "start": 3138,
                        "end": 3217,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 8
                          },
                          "end": {
                            "line": 92,
                            "column": 87
                          }
                        },
                        "range": [
                          3138,
                          3217
                        ]
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 3226,
                    "end": 4148,
                    "loc": {
                      "start": {
                        "line": 93,
                        "column": 8
                      },
                      "end": {
                        "line": 114,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 3230,
                      "end": 3239,
                      "loc": {
                        "start": {
                          "line": 93,
                          "column": 12
                        },
                        "end": {
                          "line": 93,
                          "column": 21
                        }
                      },
                      "name": "httpsPort",
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 3241,
                      "end": 4148,
                      "loc": {
                        "start": {
                          "line": 93,
                          "column": 23
                        },
                        "end": {
                          "line": 114,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 3255,
                          "end": 3301,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 12
                            },
                            "end": {
                              "line": 94,
                              "column": 58
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 3259,
                              "end": 3300,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 16
                                },
                                "end": {
                                  "line": 94,
                                  "column": 57
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 3259,
                                "end": 3262,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 19
                                  }
                                },
                                "name": "key"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 3265,
                                "end": 3300,
                                "loc": {
                                  "start": {
                                    "line": 94,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 3265,
                                  "end": 3280,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 37
                                    }
                                  },
                                  "name": "getAbsolutePath"
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 3281,
                                    "end": 3299,
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 56
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3281,
                                      "end": 3295,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 52
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3281,
                                        "end": 3289,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 46
                                          }
                                        },
                                        "name": "settings"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3290,
                                        "end": 3295,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 47
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 52
                                          }
                                        },
                                        "name": "https"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3296,
                                      "end": 3299,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 53
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 56
                                        }
                                      },
                                      "name": "key"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "VariableDeclaration",
                          "start": 3314,
                          "end": 3362,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 12
                            },
                            "end": {
                              "line": 95,
                              "column": 60
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 3318,
                              "end": 3361,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 16
                                },
                                "end": {
                                  "line": 95,
                                  "column": 59
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 3318,
                                "end": 3322,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 20
                                  }
                                },
                                "name": "cert"
                              },
                              "init": {
                                "type": "CallExpression",
                                "start": 3325,
                                "end": 3361,
                                "loc": {
                                  "start": {
                                    "line": 95,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 95,
                                    "column": 59
                                  }
                                },
                                "callee": {
                                  "type": "Identifier",
                                  "start": 3325,
                                  "end": 3340,
                                  "loc": {
                                    "start": {
                                      "line": 95,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 95,
                                      "column": 38
                                    }
                                  },
                                  "name": "getAbsolutePath"
                                },
                                "arguments": [
                                  {
                                    "type": "MemberExpression",
                                    "start": 3341,
                                    "end": 3360,
                                    "loc": {
                                      "start": {
                                        "line": 95,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 95,
                                        "column": 58
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 3341,
                                      "end": 3355,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 53
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 3341,
                                        "end": 3349,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 47
                                          }
                                        },
                                        "name": "settings"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3350,
                                        "end": 3355,
                                        "loc": {
                                          "start": {
                                            "line": 95,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 95,
                                            "column": 53
                                          }
                                        },
                                        "name": "https"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3356,
                                      "end": 3360,
                                      "loc": {
                                        "start": {
                                          "line": 95,
                                          "column": 54
                                        },
                                        "end": {
                                          "line": 95,
                                          "column": 58
                                        }
                                      },
                                      "name": "cert"
                                    },
                                    "computed": false
                                  }
                                ]
                              }
                            }
                          ],
                          "kind": "let",
                          "trailingComments": [
                            {
                              "type": "CommentLine",
                              "value": " Add a self-signed certificate for development purposes if non is provided.",
                              "start": 3376,
                              "end": 3453,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 12
                                },
                                "end": {
                                  "line": 97,
                                  "column": 89
                                }
                              },
                              "range": [
                                3376,
                                3453
                              ]
                            }
                          ]
                        },
                        {
                          "type": "IfStatement",
                          "start": 3466,
                          "end": 3639,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 12
                            },
                            "end": {
                              "line": 101,
                              "column": 13
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 3470,
                            "end": 3494,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 16
                              },
                              "end": {
                                "line": 98,
                                "column": 40
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 3470,
                              "end": 3485,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 16
                                },
                                "end": {
                                  "line": 98,
                                  "column": 31
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 3470,
                                "end": 3477,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 23
                                  }
                                },
                                "name": "__DEV__",
                                "leadingComments": null
                              },
                              "operator": "&&",
                              "right": {
                                "type": "UnaryExpression",
                                "start": 3481,
                                "end": 3485,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 31
                                  }
                                },
                                "operator": "!",
                                "prefix": true,
                                "argument": {
                                  "type": "Identifier",
                                  "start": 3482,
                                  "end": 3485,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 31
                                    }
                                  },
                                  "name": "key"
                                }
                              },
                              "leadingComments": null
                            },
                            "operator": "&&",
                            "right": {
                              "type": "UnaryExpression",
                              "start": 3489,
                              "end": 3494,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 35
                                },
                                "end": {
                                  "line": 98,
                                  "column": 40
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "Identifier",
                                "start": 3490,
                                "end": 3494,
                                "loc": {
                                  "start": {
                                    "line": 98,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 40
                                  }
                                },
                                "name": "cert"
                              }
                            },
                            "leadingComments": null
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 3496,
                            "end": 3639,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 42
                              },
                              "end": {
                                "line": 101,
                                "column": 13
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 3514,
                                "end": 3560,
                                "loc": {
                                  "start": {
                                    "line": 99,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 99,
                                    "column": 62
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 3514,
                                  "end": 3559,
                                  "loc": {
                                    "start": {
                                      "line": 99,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 99,
                                      "column": 61
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 3514,
                                    "end": 3517,
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 19
                                      }
                                    },
                                    "name": "key"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 3520,
                                    "end": 3559,
                                    "loc": {
                                      "start": {
                                        "line": 99,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 99,
                                        "column": 61
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3520,
                                      "end": 3557,
                                      "loc": {
                                        "start": {
                                          "line": 99,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 99,
                                          "column": 59
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 3520,
                                        "end": 3550,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 52
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 3520,
                                          "end": 3527,
                                          "loc": {
                                            "start": {
                                              "line": 99,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 99,
                                              "column": 29
                                            }
                                          },
                                          "name": "require"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 3528,
                                            "end": 3549,
                                            "loc": {
                                              "start": {
                                                "line": 99,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 99,
                                                "column": 51
                                              }
                                            },
                                            "value": "roc-web/certificate",
                                            "rawValue": "roc-web/certificate",
                                            "raw": "'roc-web/certificate'"
                                          }
                                        ]
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3551,
                                        "end": 3557,
                                        "loc": {
                                          "start": {
                                            "line": 99,
                                            "column": 53
                                          },
                                          "end": {
                                            "line": 99,
                                            "column": 59
                                          }
                                        },
                                        "name": "getKey"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3577,
                                "end": 3625,
                                "loc": {
                                  "start": {
                                    "line": 100,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 100,
                                    "column": 64
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 3577,
                                  "end": 3624,
                                  "loc": {
                                    "start": {
                                      "line": 100,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 100,
                                      "column": 63
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 3577,
                                    "end": 3581,
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 20
                                      }
                                    },
                                    "name": "cert"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 3584,
                                    "end": 3624,
                                    "loc": {
                                      "start": {
                                        "line": 100,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 100,
                                        "column": 63
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3584,
                                      "end": 3622,
                                      "loc": {
                                        "start": {
                                          "line": 100,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 100,
                                          "column": 61
                                        }
                                      },
                                      "object": {
                                        "type": "CallExpression",
                                        "start": 3584,
                                        "end": 3614,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 53
                                          }
                                        },
                                        "callee": {
                                          "type": "Identifier",
                                          "start": 3584,
                                          "end": 3591,
                                          "loc": {
                                            "start": {
                                              "line": 100,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 100,
                                              "column": 30
                                            }
                                          },
                                          "name": "require"
                                        },
                                        "arguments": [
                                          {
                                            "type": "Literal",
                                            "start": 3592,
                                            "end": 3613,
                                            "loc": {
                                              "start": {
                                                "line": 100,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 100,
                                                "column": 52
                                              }
                                            },
                                            "value": "roc-web/certificate",
                                            "rawValue": "roc-web/certificate",
                                            "raw": "'roc-web/certificate'"
                                          }
                                        ]
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3615,
                                        "end": 3622,
                                        "loc": {
                                          "start": {
                                            "line": 100,
                                            "column": 54
                                          },
                                          "end": {
                                            "line": 100,
                                            "column": 61
                                          }
                                        },
                                        "name": "getCert"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  }
                                }
                              }
                            ]
                          },
                          "alternate": null,
                          "leadingComments": [
                            {
                              "type": "CommentLine",
                              "value": " Add a self-signed certificate for development purposes if non is provided.",
                              "start": 3376,
                              "end": 3453,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 12
                                },
                                "end": {
                                  "line": 97,
                                  "column": 89
                                }
                              },
                              "range": [
                                3376,
                                3453
                              ]
                            }
                          ]
                        },
                        {
                          "type": "IfStatement",
                          "start": 3653,
                          "end": 4138,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 12
                            },
                            "end": {
                              "line": 113,
                              "column": 13
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 3657,
                            "end": 3668,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 16
                              },
                              "end": {
                                "line": 103,
                                "column": 27
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 3657,
                              "end": 3660,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 16
                                },
                                "end": {
                                  "line": 103,
                                  "column": 19
                                }
                              },
                              "name": "key"
                            },
                            "operator": "&&",
                            "right": {
                              "type": "Identifier",
                              "start": 3664,
                              "end": 3668,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 23
                                },
                                "end": {
                                  "line": 103,
                                  "column": 27
                                }
                              },
                              "name": "cert"
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 3670,
                            "end": 4016,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 29
                              },
                              "end": {
                                "line": 111,
                                "column": 13
                              }
                            },
                            "body": [
                              {
                                "type": "VariableDeclaration",
                                "start": 3688,
                                "end": 3818,
                                "loc": {
                                  "start": {
                                    "line": 104,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 18
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 3694,
                                    "end": 3817,
                                    "loc": {
                                      "start": {
                                        "line": 104,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 107,
                                        "column": 17
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 3694,
                                      "end": 3706,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 104,
                                          "column": 34
                                        }
                                      },
                                      "name": "httpsOptions"
                                    },
                                    "init": {
                                      "type": "ObjectExpression",
                                      "start": 3709,
                                      "end": 3817,
                                      "loc": {
                                        "start": {
                                          "line": 104,
                                          "column": 37
                                        },
                                        "end": {
                                          "line": 107,
                                          "column": 17
                                        }
                                      },
                                      "properties": [
                                        {
                                          "type": "Property",
                                          "start": 3731,
                                          "end": 3753,
                                          "loc": {
                                            "start": {
                                              "line": 105,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 105,
                                              "column": 42
                                            }
                                          },
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "key": {
                                            "type": "Identifier",
                                            "start": 3731,
                                            "end": 3734,
                                            "loc": {
                                              "start": {
                                                "line": 105,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 105,
                                                "column": 23
                                              }
                                            },
                                            "name": "key"
                                          },
                                          "value": {
                                            "type": "CallExpression",
                                            "start": 3736,
                                            "end": 3753,
                                            "loc": {
                                              "start": {
                                                "line": 105,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 105,
                                                "column": 42
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 3736,
                                              "end": 3748,
                                              "loc": {
                                                "start": {
                                                  "line": 105,
                                                  "column": 25
                                                },
                                                "end": {
                                                  "line": 105,
                                                  "column": 37
                                                }
                                              },
                                              "name": "readFileSync"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3749,
                                                "end": 3752,
                                                "loc": {
                                                  "start": {
                                                    "line": 105,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 105,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "key"
                                              }
                                            ]
                                          },
                                          "kind": "init"
                                        },
                                        {
                                          "type": "Property",
                                          "start": 3775,
                                          "end": 3799,
                                          "loc": {
                                            "start": {
                                              "line": 106,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 106,
                                              "column": 44
                                            }
                                          },
                                          "method": false,
                                          "shorthand": false,
                                          "computed": false,
                                          "key": {
                                            "type": "Identifier",
                                            "start": 3775,
                                            "end": 3779,
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 24
                                              }
                                            },
                                            "name": "cert"
                                          },
                                          "value": {
                                            "type": "CallExpression",
                                            "start": 3781,
                                            "end": 3799,
                                            "loc": {
                                              "start": {
                                                "line": 106,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 106,
                                                "column": 44
                                              }
                                            },
                                            "callee": {
                                              "type": "Identifier",
                                              "start": 3781,
                                              "end": 3793,
                                              "loc": {
                                                "start": {
                                                  "line": 106,
                                                  "column": 26
                                                },
                                                "end": {
                                                  "line": 106,
                                                  "column": 38
                                                }
                                              },
                                              "name": "readFileSync"
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 3794,
                                                "end": 3798,
                                                "loc": {
                                                  "start": {
                                                    "line": 106,
                                                    "column": 39
                                                  },
                                                  "end": {
                                                    "line": 106,
                                                    "column": 43
                                                  }
                                                },
                                                "name": "cert"
                                              }
                                            ]
                                          },
                                          "kind": "init"
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "kind": "const"
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3836,
                                "end": 3903,
                                "loc": {
                                  "start": {
                                    "line": 109,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 109,
                                    "column": 83
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3836,
                                  "end": 3902,
                                  "loc": {
                                    "start": {
                                      "line": 109,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 109,
                                      "column": 82
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3836,
                                    "end": 3891,
                                    "loc": {
                                      "start": {
                                        "line": 109,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 109,
                                        "column": 71
                                      }
                                    },
                                    "object": {
                                      "type": "CallExpression",
                                      "start": 3836,
                                      "end": 3884,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 64
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 3836,
                                        "end": 3854,
                                        "loc": {
                                          "start": {
                                            "line": 109,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 109,
                                            "column": 34
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 3836,
                                          "end": 3841,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 21
                                            }
                                          },
                                          "name": "https"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 3842,
                                          "end": 3854,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 34
                                            }
                                          },
                                          "name": "createServer"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 3855,
                                          "end": 3867,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 47
                                            }
                                          },
                                          "name": "httpsOptions"
                                        },
                                        {
                                          "type": "CallExpression",
                                          "start": 3869,
                                          "end": 3883,
                                          "loc": {
                                            "start": {
                                              "line": 109,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 109,
                                              "column": 63
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 3869,
                                            "end": 3881,
                                            "loc": {
                                              "start": {
                                                "line": 109,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 109,
                                                "column": 61
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 3869,
                                              "end": 3872,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 49
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 52
                                                }
                                              },
                                              "name": "app"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3873,
                                              "end": 3881,
                                              "loc": {
                                                "start": {
                                                  "line": 109,
                                                  "column": 53
                                                },
                                                "end": {
                                                  "line": 109,
                                                  "column": 61
                                                }
                                              },
                                              "name": "callback"
                                            },
                                            "computed": false
                                          },
                                          "arguments": []
                                        }
                                      ]
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3885,
                                      "end": 3891,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 65
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 71
                                        }
                                      },
                                      "name": "listen"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 3892,
                                      "end": 3901,
                                      "loc": {
                                        "start": {
                                          "line": 109,
                                          "column": 72
                                        },
                                        "end": {
                                          "line": 109,
                                          "column": 81
                                        }
                                      },
                                      "name": "httpsPort"
                                    }
                                  ]
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3920,
                                "end": 4002,
                                "loc": {
                                  "start": {
                                    "line": 110,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 110,
                                    "column": 98
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3920,
                                  "end": 4001,
                                  "loc": {
                                    "start": {
                                      "line": 110,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 110,
                                      "column": 97
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 3920,
                                    "end": 3926,
                                    "loc": {
                                      "start": {
                                        "line": 110,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 110,
                                        "column": 22
                                      }
                                    },
                                    "name": "logger"
                                  },
                                  "arguments": [
                                    {
                                      "type": "TemplateLiteral",
                                      "start": 3927,
                                      "end": 4000,
                                      "loc": {
                                        "start": {
                                          "line": 110,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 110,
                                          "column": 96
                                        }
                                      },
                                      "expressions": [
                                        {
                                          "type": "Identifier",
                                          "start": 3953,
                                          "end": 3962,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 58
                                            }
                                          },
                                          "name": "httpsPort"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 3990,
                                          "end": 3998,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 86
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 94
                                            }
                                          },
                                          "name": "ROC_PATH"
                                        }
                                      ],
                                      "quasis": [
                                        {
                                          "type": "TemplateElement",
                                          "start": 3928,
                                          "end": 3951,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 47
                                            }
                                          },
                                          "value": {
                                            "raw": "Server started on port ",
                                            "cooked": "Server started on port "
                                          },
                                          "tail": false
                                        },
                                        {
                                          "type": "TemplateElement",
                                          "start": 3963,
                                          "end": 3988,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 84
                                            }
                                          },
                                          "value": {
                                            "raw": " (HTTPS) and served from ",
                                            "cooked": " (HTTPS) and served from "
                                          },
                                          "tail": false
                                        },
                                        {
                                          "type": "TemplateElement",
                                          "start": 3999,
                                          "end": 3999,
                                          "loc": {
                                            "start": {
                                              "line": 110,
                                              "column": 95
                                            },
                                            "end": {
                                              "line": 110,
                                              "column": 95
                                            }
                                          },
                                          "value": {
                                            "raw": "",
                                            "cooked": ""
                                          },
                                          "tail": true
                                        }
                                      ]
                                    }
                                  ]
                                }
                              }
                            ]
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 4022,
                            "end": 4138,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 19
                              },
                              "end": {
                                "line": 113,
                                "column": 13
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 4040,
                                "end": 4124,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 100
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 4040,
                                  "end": 4123,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 99
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 4040,
                                    "end": 4046,
                                    "loc": {
                                      "start": {
                                        "line": 112,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 112,
                                        "column": 22
                                      }
                                    },
                                    "name": "logger"
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 4047,
                                      "end": 4122,
                                      "loc": {
                                        "start": {
                                          "line": 112,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 112,
                                          "column": 98
                                        }
                                      },
                                      "value": "You have defined a HTTPS port but not given any certificate files to use…",
                                      "rawValue": "You have defined a HTTPS port but not given any certificate files to use…",
                                      "raw": "'You have defined a HTTPS port but not given any certificate files to use…'"
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "alternate": null,
                    "leadingComments": [
                      {
                        "type": "CommentLine",
                        "value": " If a HTTPS port is defined we will try to start the application with SSL/TLS",
                        "start": 3138,
                        "end": 3217,
                        "loc": {
                          "start": {
                            "line": 92,
                            "column": 8
                          },
                          "end": {
                            "line": 92,
                            "column": 87
                          }
                        },
                        "range": [
                          3138,
                          3217
                        ]
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 4158,
                    "end": 4223,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 8
                      },
                      "end": {
                        "line": 118,
                        "column": 9
                      }
                    },
                    "test": {
                      "type": "MemberExpression",
                      "start": 4162,
                      "end": 4174,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 12
                        },
                        "end": {
                          "line": 116,
                          "column": 24
                        }
                      },
                      "object": {
                        "type": "Identifier",
                        "start": 4162,
                        "end": 4169,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 12
                          },
                          "end": {
                            "line": 116,
                            "column": 19
                          }
                        },
                        "name": "process"
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 4170,
                        "end": 4174,
                        "loc": {
                          "start": {
                            "line": 116,
                            "column": 20
                          },
                          "end": {
                            "line": 116,
                            "column": 24
                          }
                        },
                        "name": "send"
                      },
                      "computed": false
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 4176,
                      "end": 4223,
                      "loc": {
                        "start": {
                          "line": 116,
                          "column": 26
                        },
                        "end": {
                          "line": 118,
                          "column": 9
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 4190,
                          "end": 4213,
                          "loc": {
                            "start": {
                              "line": 117,
                              "column": 12
                            },
                            "end": {
                              "line": 117,
                              "column": 35
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 4190,
                            "end": 4212,
                            "loc": {
                              "start": {
                                "line": 117,
                                "column": 12
                              },
                              "end": {
                                "line": 117,
                                "column": 34
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4190,
                              "end": 4202,
                              "loc": {
                                "start": {
                                  "line": 117,
                                  "column": 12
                                },
                                "end": {
                                  "line": 117,
                                  "column": 24
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4190,
                                "end": 4197,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 19
                                  }
                                },
                                "name": "process"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4198,
                                "end": 4202,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 24
                                  }
                                },
                                "name": "send"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 4203,
                                "end": 4211,
                                "loc": {
                                  "start": {
                                    "line": 117,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 117,
                                    "column": 33
                                  }
                                },
                                "value": "online",
                                "rawValue": "online",
                                "raw": "'online'"
                              }
                            ]
                          }
                        }
                      ]
                    },
                    "alternate": null
                  }
                ]
              }
            },
            {
              "type": "ReturnStatement",
              "start": 4235,
              "end": 4280,
              "loc": {
                "start": {
                  "line": 121,
                  "column": 4
                },
                "end": {
                  "line": 124,
                  "column": 6
                }
              },
              "argument": {
                "type": "ObjectExpression",
                "start": 4242,
                "end": 4279,
                "loc": {
                  "start": {
                    "line": 121,
                    "column": 11
                  },
                  "end": {
                    "line": 124,
                    "column": 5
                  }
                },
                "properties": [
                  {
                    "type": "Property",
                    "start": 4252,
                    "end": 4258,
                    "loc": {
                      "start": {
                        "line": 122,
                        "column": 8
                      },
                      "end": {
                        "line": 122,
                        "column": 14
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4252,
                      "end": 4258,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 14
                        }
                      },
                      "name": "server"
                    },
                    "kind": "init",
                    "value": {
                      "type": "Identifier",
                      "start": 4252,
                      "end": 4258,
                      "loc": {
                        "start": {
                          "line": 122,
                          "column": 8
                        },
                        "end": {
                          "line": 122,
                          "column": 14
                        }
                      },
                      "name": "server"
                    }
                  },
                  {
                    "type": "Property",
                    "start": 4268,
                    "end": 4273,
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 8
                      },
                      "end": {
                        "line": 123,
                        "column": 13
                      }
                    },
                    "method": false,
                    "shorthand": true,
                    "computed": false,
                    "key": {
                      "type": "Identifier",
                      "start": 4268,
                      "end": 4273,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 8
                        },
                        "end": {
                          "line": 123,
                          "column": 13
                        }
                      },
                      "name": "start"
                    },
                    "kind": "init",
                    "value": {
                      "type": "Identifier",
                      "start": 4268,
                      "end": 4273,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 8
                        },
                        "end": {
                          "line": 123,
                          "column": 13
                        }
                      },
                      "name": "start"
                    }
                  }
                ]
              }
            }
          ]
        },
        "leadingComments": [
          {
            "type": "Block",
            "value": "*\n * Creates a server instance.\n *\n * @example\n * import { createServer } from 'roc-web/app';\n *\n * const server = createServer({\n *    serve: 'static',\n *    favicon: 'static/favicon.png'\n * });\n *\n * server.start();\n *\n * @param {rocServerOptions} options - Options for the server. Will override configuration in roc.config.js.\n * @param {Function[]} beforeUserMiddlewares - Middlewares that should be added before the user middlewares.\n * @returns {rocServer} server - Roc server instace.\n ",
            "start": 574,
            "end": 1071,
            "loc": {
              "start": {
                "line": 18,
                "column": 0
              },
              "end": {
                "line": 34,
                "column": 3
              }
            },
            "range": [
              574,
              1071
            ]
          }
        ],
        "trailingComments": []
      },
      "leadingComments": [
        {
          "type": "Block",
          "value": "*\n * Creates a server instance.\n *\n * @example\n * import { createServer } from 'roc-web/app';\n *\n * const server = createServer({\n *    serve: 'static',\n *    favicon: 'static/favicon.png'\n * });\n *\n * server.start();\n *\n * @param {rocServerOptions} options - Options for the server. Will override configuration in roc.config.js.\n * @param {Function[]} beforeUserMiddlewares - Middlewares that should be added before the user middlewares.\n * @returns {rocServer} server - Roc server instace.\n ",
          "start": 574,
          "end": 1071,
          "loc": {
            "start": {
              "line": 18,
              "column": 0
            },
            "end": {
              "line": 34,
              "column": 3
            }
          },
          "range": [
            574,
            1071
          ]
        }
      ]
    }
  ]
}