// DO NOT EDIT: This file is autogenerated via the builtin command.

package query

import (
	ast "github.com/influxdata/flux/ast"
	runtime "github.com/influxdata/flux/runtime"
)

func init() {
	runtime.RegisterPackage(pkgAST)
}

var pkgAST = &ast.Package{
	BaseNode: ast.BaseNode{
		Comments: nil,
		Errors:   nil,
		Loc:      nil,
	},
	Files: []*ast.File{&ast.File{
		BaseNode: ast.BaseNode{
			Comments: nil,
			Errors:   nil,
			Loc: &ast.SourceLocation{
				End: ast.Position{
					Column: 28,
					Line:   21,
				},
				File:   "from.flux",
				Source: "package query\n\n\nfromRange = (bucket, start, stop=now()) => from(bucket: bucket)\n    |> range(start: start, stop: stop)\nfilterMeasurement = (table=<-, measurement) => table |> filter(fn: (r) => r._measurement == measurement)\nfilterFields = (table=<-, fields=[]) => if length(arr: fields) == 0 then\n    table\nelse\n    table |> filter(fn: (r) => contains(value: r._field, set: fields))\ninBucket = (\n        bucket,\n        measurement,\n        start,\n        stop=now(),\n        fields=[],\n        predicate=(r) => true,\n) => fromRange(bucket: bucket, start: start, stop: stop)\n    |> filterMeasurement(measurement)\n    |> filter(fn: predicate)\n    |> filterFields(fields)",
				Start: ast.Position{
					Column: 1,
					Line:   1,
				},
			},
		},
		Body: []ast.Statement{&ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 39,
						Line:   5,
					},
					File:   "from.flux",
					Source: "fromRange = (bucket, start, stop=now()) => from(bucket: bucket)\n    |> range(start: start, stop: stop)",
					Start: ast.Position{
						Column: 1,
						Line:   4,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 10,
							Line:   4,
						},
						File:   "from.flux",
						Source: "fromRange",
						Start: ast.Position{
							Column: 1,
							Line:   4,
						},
					},
				},
				Name: "fromRange",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 39,
							Line:   5,
						},
						File:   "from.flux",
						Source: "(bucket, start, stop=now()) => from(bucket: bucket)\n    |> range(start: start, stop: stop)",
						Start: ast.Position{
							Column: 13,
							Line:   4,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 63,
										Line:   4,
									},
									File:   "from.flux",
									Source: "bucket: bucket",
									Start: ast.Position{
										Column: 49,
										Line:   4,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 63,
											Line:   4,
										},
										File:   "from.flux",
										Source: "bucket: bucket",
										Start: ast.Position{
											Column: 49,
											Line:   4,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 55,
												Line:   4,
											},
											File:   "from.flux",
											Source: "bucket",
											Start: ast.Position{
												Column: 49,
												Line:   4,
											},
										},
									},
									Name: "bucket",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 63,
												Line:   4,
											},
											File:   "from.flux",
											Source: "bucket",
											Start: ast.Position{
												Column: 57,
												Line:   4,
											},
										},
									},
									Name: "bucket",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 64,
									Line:   4,
								},
								File:   "from.flux",
								Source: "from(bucket: bucket)",
								Start: ast.Position{
									Column: 44,
									Line:   4,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 48,
										Line:   4,
									},
									File:   "from.flux",
									Source: "from",
									Start: ast.Position{
										Column: 44,
										Line:   4,
									},
								},
							},
							Name: "from",
						},
						Lparen: nil,
						Rparen: nil,
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   5,
							},
							File:   "from.flux",
							Source: "from(bucket: bucket)\n    |> range(start: start, stop: stop)",
							Start: ast.Position{
								Column: 44,
								Line:   4,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   5,
									},
									File:   "from.flux",
									Source: "start: start, stop: stop",
									Start: ast.Position{
										Column: 14,
										Line:   5,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 26,
											Line:   5,
										},
										File:   "from.flux",
										Source: "start: start",
										Start: ast.Position{
											Column: 14,
											Line:   5,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 19,
												Line:   5,
											},
											File:   "from.flux",
											Source: "start",
											Start: ast.Position{
												Column: 14,
												Line:   5,
											},
										},
									},
									Name: "start",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 26,
												Line:   5,
											},
											File:   "from.flux",
											Source: "start",
											Start: ast.Position{
												Column: 21,
												Line:   5,
											},
										},
									},
									Name: "start",
								},
							}, &ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   5,
										},
										File:   "from.flux",
										Source: "stop: stop",
										Start: ast.Position{
											Column: 28,
											Line:   5,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 32,
												Line:   5,
											},
											File:   "from.flux",
											Source: "stop",
											Start: ast.Position{
												Column: 28,
												Line:   5,
											},
										},
									},
									Name: "stop",
								},
								Separator: nil,
								Value: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 38,
												Line:   5,
											},
											File:   "from.flux",
											Source: "stop",
											Start: ast.Position{
												Column: 34,
												Line:   5,
											},
										},
									},
									Name: "stop",
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   5,
								},
								File:   "from.flux",
								Source: "range(start: start, stop: stop)",
								Start: ast.Position{
									Column: 8,
									Line:   5,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 13,
										Line:   5,
									},
									File:   "from.flux",
									Source: "range",
									Start: ast.Position{
										Column: 8,
										Line:   5,
									},
								},
							},
							Name: "range",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   4,
							},
							File:   "from.flux",
							Source: "bucket",
							Start: ast.Position{
								Column: 14,
								Line:   4,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   4,
								},
								File:   "from.flux",
								Source: "bucket",
								Start: ast.Position{
									Column: 14,
									Line:   4,
								},
							},
						},
						Name: "bucket",
					},
					Separator: nil,
					Value:     nil,
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 27,
								Line:   4,
							},
							File:   "from.flux",
							Source: "start",
							Start: ast.Position{
								Column: 22,
								Line:   4,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   4,
								},
								File:   "from.flux",
								Source: "start",
								Start: ast.Position{
									Column: 22,
									Line:   4,
								},
							},
						},
						Name: "start",
					},
					Separator: nil,
					Value:     nil,
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 39,
								Line:   4,
							},
							File:   "from.flux",
							Source: "stop=now()",
							Start: ast.Position{
								Column: 29,
								Line:   4,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   4,
								},
								File:   "from.flux",
								Source: "stop",
								Start: ast.Position{
									Column: 29,
									Line:   4,
								},
							},
						},
						Name: "stop",
					},
					Separator: nil,
					Value: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 39,
									Line:   4,
								},
								File:   "from.flux",
								Source: "now()",
								Start: ast.Position{
									Column: 34,
									Line:   4,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 37,
										Line:   4,
									},
									File:   "from.flux",
									Source: "now",
									Start: ast.Position{
										Column: 34,
										Line:   4,
									},
								},
							},
							Name: "now",
						},
						Lparen: nil,
						Rparen: nil,
					},
				}},
				Rparan: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 105,
						Line:   6,
					},
					File:   "from.flux",
					Source: "filterMeasurement = (table=<-, measurement) => table |> filter(fn: (r) => r._measurement == measurement)",
					Start: ast.Position{
						Column: 1,
						Line:   6,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 18,
							Line:   6,
						},
						File:   "from.flux",
						Source: "filterMeasurement",
						Start: ast.Position{
							Column: 1,
							Line:   6,
						},
					},
				},
				Name: "filterMeasurement",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 105,
							Line:   6,
						},
						File:   "from.flux",
						Source: "(table=<-, measurement) => table |> filter(fn: (r) => r._measurement == measurement)",
						Start: ast.Position{
							Column: 21,
							Line:   6,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 53,
									Line:   6,
								},
								File:   "from.flux",
								Source: "table",
								Start: ast.Position{
									Column: 48,
									Line:   6,
								},
							},
						},
						Name: "table",
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 105,
								Line:   6,
							},
							File:   "from.flux",
							Source: "table |> filter(fn: (r) => r._measurement == measurement)",
							Start: ast.Position{
								Column: 48,
								Line:   6,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 104,
										Line:   6,
									},
									File:   "from.flux",
									Source: "fn: (r) => r._measurement == measurement",
									Start: ast.Position{
										Column: 64,
										Line:   6,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 104,
											Line:   6,
										},
										File:   "from.flux",
										Source: "fn: (r) => r._measurement == measurement",
										Start: ast.Position{
											Column: 64,
											Line:   6,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 66,
												Line:   6,
											},
											File:   "from.flux",
											Source: "fn",
											Start: ast.Position{
												Column: 64,
												Line:   6,
											},
										},
									},
									Name: "fn",
								},
								Separator: nil,
								Value: &ast.FunctionExpression{
									Arrow: nil,
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 104,
												Line:   6,
											},
											File:   "from.flux",
											Source: "(r) => r._measurement == measurement",
											Start: ast.Position{
												Column: 68,
												Line:   6,
											},
										},
									},
									Body: &ast.BinaryExpression{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 104,
													Line:   6,
												},
												File:   "from.flux",
												Source: "r._measurement == measurement",
												Start: ast.Position{
													Column: 75,
													Line:   6,
												},
											},
										},
										Left: &ast.MemberExpression{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 89,
														Line:   6,
													},
													File:   "from.flux",
													Source: "r._measurement",
													Start: ast.Position{
														Column: 75,
														Line:   6,
													},
												},
											},
											Lbrack: nil,
											Object: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 76,
															Line:   6,
														},
														File:   "from.flux",
														Source: "r",
														Start: ast.Position{
															Column: 75,
															Line:   6,
														},
													},
												},
												Name: "r",
											},
											Property: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 89,
															Line:   6,
														},
														File:   "from.flux",
														Source: "_measurement",
														Start: ast.Position{
															Column: 77,
															Line:   6,
														},
													},
												},
												Name: "_measurement",
											},
											Rbrack: nil,
										},
										Operator: 17,
										Right: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 104,
														Line:   6,
													},
													File:   "from.flux",
													Source: "measurement",
													Start: ast.Position{
														Column: 93,
														Line:   6,
													},
												},
											},
											Name: "measurement",
										},
									},
									Lparen: nil,
									Params: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   6,
												},
												File:   "from.flux",
												Source: "r",
												Start: ast.Position{
													Column: 69,
													Line:   6,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   6,
													},
													File:   "from.flux",
													Source: "r",
													Start: ast.Position{
														Column: 69,
														Line:   6,
													},
												},
											},
											Name: "r",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rparan: nil,
								},
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 105,
									Line:   6,
								},
								File:   "from.flux",
								Source: "filter(fn: (r) => r._measurement == measurement)",
								Start: ast.Position{
									Column: 57,
									Line:   6,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 63,
										Line:   6,
									},
									File:   "from.flux",
									Source: "filter",
									Start: ast.Position{
										Column: 57,
										Line:   6,
									},
								},
							},
							Name: "filter",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   6,
							},
							File:   "from.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 22,
								Line:   6,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 27,
									Line:   6,
								},
								File:   "from.flux",
								Source: "table",
								Start: ast.Position{
									Column: 22,
									Line:   6,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   6,
							},
							File:   "from.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 28,
								Line:   6,
							},
						},
					}},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 43,
								Line:   6,
							},
							File:   "from.flux",
							Source: "measurement",
							Start: ast.Position{
								Column: 32,
								Line:   6,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 43,
									Line:   6,
								},
								File:   "from.flux",
								Source: "measurement",
								Start: ast.Position{
									Column: 32,
									Line:   6,
								},
							},
						},
						Name: "measurement",
					},
					Separator: nil,
					Value:     nil,
				}},
				Rparan: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 71,
						Line:   10,
					},
					File:   "from.flux",
					Source: "filterFields = (table=<-, fields=[]) => if length(arr: fields) == 0 then\n    table\nelse\n    table |> filter(fn: (r) => contains(value: r._field, set: fields))",
					Start: ast.Position{
						Column: 1,
						Line:   7,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 13,
							Line:   7,
						},
						File:   "from.flux",
						Source: "filterFields",
						Start: ast.Position{
							Column: 1,
							Line:   7,
						},
					},
				},
				Name: "filterFields",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 71,
							Line:   10,
						},
						File:   "from.flux",
						Source: "(table=<-, fields=[]) => if length(arr: fields) == 0 then\n    table\nelse\n    table |> filter(fn: (r) => contains(value: r._field, set: fields))",
						Start: ast.Position{
							Column: 16,
							Line:   7,
						},
					},
				},
				Body: &ast.ConditionalExpression{
					Alternate: &ast.PipeExpression{
						Argument: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 10,
										Line:   10,
									},
									File:   "from.flux",
									Source: "table",
									Start: ast.Position{
										Column: 5,
										Line:   10,
									},
								},
							},
							Name: "table",
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 71,
									Line:   10,
								},
								File:   "from.flux",
								Source: "table |> filter(fn: (r) => contains(value: r._field, set: fields))",
								Start: ast.Position{
									Column: 5,
									Line:   10,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 70,
											Line:   10,
										},
										File:   "from.flux",
										Source: "fn: (r) => contains(value: r._field, set: fields)",
										Start: ast.Position{
											Column: 21,
											Line:   10,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 70,
												Line:   10,
											},
											File:   "from.flux",
											Source: "fn: (r) => contains(value: r._field, set: fields)",
											Start: ast.Position{
												Column: 21,
												Line:   10,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 23,
													Line:   10,
												},
												File:   "from.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 21,
													Line:   10,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.FunctionExpression{
										Arrow: nil,
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 70,
													Line:   10,
												},
												File:   "from.flux",
												Source: "(r) => contains(value: r._field, set: fields)",
												Start: ast.Position{
													Column: 25,
													Line:   10,
												},
											},
										},
										Body: &ast.CallExpression{
											Arguments: []ast.Expression{&ast.ObjectExpression{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 69,
															Line:   10,
														},
														File:   "from.flux",
														Source: "value: r._field, set: fields",
														Start: ast.Position{
															Column: 41,
															Line:   10,
														},
													},
												},
												Lbrace: nil,
												Properties: []*ast.Property{&ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 56,
																Line:   10,
															},
															File:   "from.flux",
															Source: "value: r._field",
															Start: ast.Position{
																Column: 41,
																Line:   10,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 46,
																	Line:   10,
																},
																File:   "from.flux",
																Source: "value",
																Start: ast.Position{
																	Column: 41,
																	Line:   10,
																},
															},
														},
														Name: "value",
													},
													Separator: nil,
													Value: &ast.MemberExpression{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 56,
																	Line:   10,
																},
																File:   "from.flux",
																Source: "r._field",
																Start: ast.Position{
																	Column: 48,
																	Line:   10,
																},
															},
														},
														Lbrack: nil,
														Object: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 49,
																		Line:   10,
																	},
																	File:   "from.flux",
																	Source: "r",
																	Start: ast.Position{
																		Column: 48,
																		Line:   10,
																	},
																},
															},
															Name: "r",
														},
														Property: &ast.Identifier{
															BaseNode: ast.BaseNode{
																Comments: nil,
																Errors:   nil,
																Loc: &ast.SourceLocation{
																	End: ast.Position{
																		Column: 56,
																		Line:   10,
																	},
																	File:   "from.flux",
																	Source: "_field",
																	Start: ast.Position{
																		Column: 50,
																		Line:   10,
																	},
																},
															},
															Name: "_field",
														},
														Rbrack: nil,
													},
												}, &ast.Property{
													BaseNode: ast.BaseNode{
														Comments: nil,
														Errors:   nil,
														Loc: &ast.SourceLocation{
															End: ast.Position{
																Column: 69,
																Line:   10,
															},
															File:   "from.flux",
															Source: "set: fields",
															Start: ast.Position{
																Column: 58,
																Line:   10,
															},
														},
													},
													Comma: nil,
													Key: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 61,
																	Line:   10,
																},
																File:   "from.flux",
																Source: "set",
																Start: ast.Position{
																	Column: 58,
																	Line:   10,
																},
															},
														},
														Name: "set",
													},
													Separator: nil,
													Value: &ast.Identifier{
														BaseNode: ast.BaseNode{
															Comments: nil,
															Errors:   nil,
															Loc: &ast.SourceLocation{
																End: ast.Position{
																	Column: 69,
																	Line:   10,
																},
																File:   "from.flux",
																Source: "fields",
																Start: ast.Position{
																	Column: 63,
																	Line:   10,
																},
															},
														},
														Name: "fields",
													},
												}},
												Rbrace: nil,
												With:   nil,
											}},
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 70,
														Line:   10,
													},
													File:   "from.flux",
													Source: "contains(value: r._field, set: fields)",
													Start: ast.Position{
														Column: 32,
														Line:   10,
													},
												},
											},
											Callee: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 40,
															Line:   10,
														},
														File:   "from.flux",
														Source: "contains",
														Start: ast.Position{
															Column: 32,
															Line:   10,
														},
													},
												},
												Name: "contains",
											},
											Lparen: nil,
											Rparen: nil,
										},
										Lparen: nil,
										Params: []*ast.Property{&ast.Property{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 27,
														Line:   10,
													},
													File:   "from.flux",
													Source: "r",
													Start: ast.Position{
														Column: 26,
														Line:   10,
													},
												},
											},
											Comma: nil,
											Key: &ast.Identifier{
												BaseNode: ast.BaseNode{
													Comments: nil,
													Errors:   nil,
													Loc: &ast.SourceLocation{
														End: ast.Position{
															Column: 27,
															Line:   10,
														},
														File:   "from.flux",
														Source: "r",
														Start: ast.Position{
															Column: 26,
															Line:   10,
														},
													},
												},
												Name: "r",
											},
											Separator: nil,
											Value:     nil,
										}},
										Rparan: nil,
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 71,
										Line:   10,
									},
									File:   "from.flux",
									Source: "filter(fn: (r) => contains(value: r._field, set: fields))",
									Start: ast.Position{
										Column: 14,
										Line:   10,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 20,
											Line:   10,
										},
										File:   "from.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 14,
											Line:   10,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 71,
								Line:   10,
							},
							File:   "from.flux",
							Source: "if length(arr: fields) == 0 then\n    table\nelse\n    table |> filter(fn: (r) => contains(value: r._field, set: fields))",
							Start: ast.Position{
								Column: 41,
								Line:   7,
							},
						},
					},
					Consequent: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 10,
									Line:   8,
								},
								File:   "from.flux",
								Source: "table",
								Start: ast.Position{
									Column: 5,
									Line:   8,
								},
							},
						},
						Name: "table",
					},
					Test: &ast.BinaryExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 68,
									Line:   7,
								},
								File:   "from.flux",
								Source: "length(arr: fields) == 0",
								Start: ast.Position{
									Column: 44,
									Line:   7,
								},
							},
						},
						Left: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 62,
											Line:   7,
										},
										File:   "from.flux",
										Source: "arr: fields",
										Start: ast.Position{
											Column: 51,
											Line:   7,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 62,
												Line:   7,
											},
											File:   "from.flux",
											Source: "arr: fields",
											Start: ast.Position{
												Column: 51,
												Line:   7,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 54,
													Line:   7,
												},
												File:   "from.flux",
												Source: "arr",
												Start: ast.Position{
													Column: 51,
													Line:   7,
												},
											},
										},
										Name: "arr",
									},
									Separator: nil,
									Value: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 62,
													Line:   7,
												},
												File:   "from.flux",
												Source: "fields",
												Start: ast.Position{
													Column: 56,
													Line:   7,
												},
											},
										},
										Name: "fields",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 63,
										Line:   7,
									},
									File:   "from.flux",
									Source: "length(arr: fields)",
									Start: ast.Position{
										Column: 44,
										Line:   7,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 50,
											Line:   7,
										},
										File:   "from.flux",
										Source: "length",
										Start: ast.Position{
											Column: 44,
											Line:   7,
										},
									},
								},
								Name: "length",
							},
							Lparen: nil,
							Rparen: nil,
						},
						Operator: 17,
						Right: &ast.IntegerLiteral{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 68,
										Line:   7,
									},
									File:   "from.flux",
									Source: "0",
									Start: ast.Position{
										Column: 67,
										Line:   7,
									},
								},
							},
							Value: int64(0),
						},
					},
					Tk_else: nil,
					Tk_if:   nil,
					Tk_then: nil,
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   7,
							},
							File:   "from.flux",
							Source: "table=<-",
							Start: ast.Position{
								Column: 17,
								Line:   7,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 22,
									Line:   7,
								},
								File:   "from.flux",
								Source: "table",
								Start: ast.Position{
									Column: 17,
									Line:   7,
								},
							},
						},
						Name: "table",
					},
					Separator: nil,
					Value: &ast.PipeLiteral{BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 25,
								Line:   7,
							},
							File:   "from.flux",
							Source: "<-",
							Start: ast.Position{
								Column: 23,
								Line:   7,
							},
						},
					}},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 36,
								Line:   7,
							},
							File:   "from.flux",
							Source: "fields=[]",
							Start: ast.Position{
								Column: 27,
								Line:   7,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 33,
									Line:   7,
								},
								File:   "from.flux",
								Source: "fields",
								Start: ast.Position{
									Column: 27,
									Line:   7,
								},
							},
						},
						Name: "fields",
					},
					Separator: nil,
					Value: &ast.ArrayExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 36,
									Line:   7,
								},
								File:   "from.flux",
								Source: "[]",
								Start: ast.Position{
									Column: 34,
									Line:   7,
								},
							},
						},
						Elements: []ast.Expression{},
						Lbrack:   nil,
						Rbrack:   nil,
					},
				}},
				Rparan: nil,
			},
		}, &ast.VariableAssignment{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 28,
						Line:   21,
					},
					File:   "from.flux",
					Source: "inBucket = (\n        bucket,\n        measurement,\n        start,\n        stop=now(),\n        fields=[],\n        predicate=(r) => true,\n) => fromRange(bucket: bucket, start: start, stop: stop)\n    |> filterMeasurement(measurement)\n    |> filter(fn: predicate)\n    |> filterFields(fields)",
					Start: ast.Position{
						Column: 1,
						Line:   11,
					},
				},
			},
			ID: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 9,
							Line:   11,
						},
						File:   "from.flux",
						Source: "inBucket",
						Start: ast.Position{
							Column: 1,
							Line:   11,
						},
					},
				},
				Name: "inBucket",
			},
			Init: &ast.FunctionExpression{
				Arrow: nil,
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 28,
							Line:   21,
						},
						File:   "from.flux",
						Source: "(\n        bucket,\n        measurement,\n        start,\n        stop=now(),\n        fields=[],\n        predicate=(r) => true,\n) => fromRange(bucket: bucket, start: start, stop: stop)\n    |> filterMeasurement(measurement)\n    |> filter(fn: predicate)\n    |> filterFields(fields)",
						Start: ast.Position{
							Column: 12,
							Line:   11,
						},
					},
				},
				Body: &ast.PipeExpression{
					Argument: &ast.PipeExpression{
						Argument: &ast.PipeExpression{
							Argument: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 56,
												Line:   18,
											},
											File:   "from.flux",
											Source: "bucket: bucket, start: start, stop: stop",
											Start: ast.Position{
												Column: 16,
												Line:   18,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 30,
													Line:   18,
												},
												File:   "from.flux",
												Source: "bucket: bucket",
												Start: ast.Position{
													Column: 16,
													Line:   18,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 22,
														Line:   18,
													},
													File:   "from.flux",
													Source: "bucket",
													Start: ast.Position{
														Column: 16,
														Line:   18,
													},
												},
											},
											Name: "bucket",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 30,
														Line:   18,
													},
													File:   "from.flux",
													Source: "bucket",
													Start: ast.Position{
														Column: 24,
														Line:   18,
													},
												},
											},
											Name: "bucket",
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 44,
													Line:   18,
												},
												File:   "from.flux",
												Source: "start: start",
												Start: ast.Position{
													Column: 32,
													Line:   18,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   18,
													},
													File:   "from.flux",
													Source: "start",
													Start: ast.Position{
														Column: 32,
														Line:   18,
													},
												},
											},
											Name: "start",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 44,
														Line:   18,
													},
													File:   "from.flux",
													Source: "start",
													Start: ast.Position{
														Column: 39,
														Line:   18,
													},
												},
											},
											Name: "start",
										},
									}, &ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 56,
													Line:   18,
												},
												File:   "from.flux",
												Source: "stop: stop",
												Start: ast.Position{
													Column: 46,
													Line:   18,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 50,
														Line:   18,
													},
													File:   "from.flux",
													Source: "stop",
													Start: ast.Position{
														Column: 46,
														Line:   18,
													},
												},
											},
											Name: "stop",
										},
										Separator: nil,
										Value: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 56,
														Line:   18,
													},
													File:   "from.flux",
													Source: "stop",
													Start: ast.Position{
														Column: 52,
														Line:   18,
													},
												},
											},
											Name: "stop",
										},
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 57,
											Line:   18,
										},
										File:   "from.flux",
										Source: "fromRange(bucket: bucket, start: start, stop: stop)",
										Start: ast.Position{
											Column: 6,
											Line:   18,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 15,
												Line:   18,
											},
											File:   "from.flux",
											Source: "fromRange",
											Start: ast.Position{
												Column: 6,
												Line:   18,
											},
										},
									},
									Name: "fromRange",
								},
								Lparen: nil,
								Rparen: nil,
							},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 38,
										Line:   19,
									},
									File:   "from.flux",
									Source: "fromRange(bucket: bucket, start: start, stop: stop)\n    |> filterMeasurement(measurement)",
									Start: ast.Position{
										Column: 6,
										Line:   18,
									},
								},
							},
							Call: &ast.CallExpression{
								Arguments: []ast.Expression{&ast.ObjectExpression{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 37,
												Line:   19,
											},
											File:   "from.flux",
											Source: "measurement",
											Start: ast.Position{
												Column: 26,
												Line:   19,
											},
										},
									},
									Lbrace: nil,
									Properties: []*ast.Property{&ast.Property{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 37,
													Line:   19,
												},
												File:   "from.flux",
												Source: "measurement",
												Start: ast.Position{
													Column: 26,
													Line:   19,
												},
											},
										},
										Comma: nil,
										Key: &ast.Identifier{
											BaseNode: ast.BaseNode{
												Comments: nil,
												Errors:   nil,
												Loc: &ast.SourceLocation{
													End: ast.Position{
														Column: 37,
														Line:   19,
													},
													File:   "from.flux",
													Source: "measurement",
													Start: ast.Position{
														Column: 26,
														Line:   19,
													},
												},
											},
											Name: "measurement",
										},
										Separator: nil,
										Value:     nil,
									}},
									Rbrace: nil,
									With:   nil,
								}},
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 38,
											Line:   19,
										},
										File:   "from.flux",
										Source: "filterMeasurement(measurement)",
										Start: ast.Position{
											Column: 8,
											Line:   19,
										},
									},
								},
								Callee: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 25,
												Line:   19,
											},
											File:   "from.flux",
											Source: "filterMeasurement",
											Start: ast.Position{
												Column: 8,
												Line:   19,
											},
										},
									},
									Name: "filterMeasurement",
								},
								Lparen: nil,
								Rparen: nil,
							},
						},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 29,
									Line:   20,
								},
								File:   "from.flux",
								Source: "fromRange(bucket: bucket, start: start, stop: stop)\n    |> filterMeasurement(measurement)\n    |> filter(fn: predicate)",
								Start: ast.Position{
									Column: 6,
									Line:   18,
								},
							},
						},
						Call: &ast.CallExpression{
							Arguments: []ast.Expression{&ast.ObjectExpression{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 28,
											Line:   20,
										},
										File:   "from.flux",
										Source: "fn: predicate",
										Start: ast.Position{
											Column: 15,
											Line:   20,
										},
									},
								},
								Lbrace: nil,
								Properties: []*ast.Property{&ast.Property{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 28,
												Line:   20,
											},
											File:   "from.flux",
											Source: "fn: predicate",
											Start: ast.Position{
												Column: 15,
												Line:   20,
											},
										},
									},
									Comma: nil,
									Key: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 17,
													Line:   20,
												},
												File:   "from.flux",
												Source: "fn",
												Start: ast.Position{
													Column: 15,
													Line:   20,
												},
											},
										},
										Name: "fn",
									},
									Separator: nil,
									Value: &ast.Identifier{
										BaseNode: ast.BaseNode{
											Comments: nil,
											Errors:   nil,
											Loc: &ast.SourceLocation{
												End: ast.Position{
													Column: 28,
													Line:   20,
												},
												File:   "from.flux",
												Source: "predicate",
												Start: ast.Position{
													Column: 19,
													Line:   20,
												},
											},
										},
										Name: "predicate",
									},
								}},
								Rbrace: nil,
								With:   nil,
							}},
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 29,
										Line:   20,
									},
									File:   "from.flux",
									Source: "filter(fn: predicate)",
									Start: ast.Position{
										Column: 8,
										Line:   20,
									},
								},
							},
							Callee: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 14,
											Line:   20,
										},
										File:   "from.flux",
										Source: "filter",
										Start: ast.Position{
											Column: 8,
											Line:   20,
										},
									},
								},
								Name: "filter",
							},
							Lparen: nil,
							Rparen: nil,
						},
					},
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 28,
								Line:   21,
							},
							File:   "from.flux",
							Source: "fromRange(bucket: bucket, start: start, stop: stop)\n    |> filterMeasurement(measurement)\n    |> filter(fn: predicate)\n    |> filterFields(fields)",
							Start: ast.Position{
								Column: 6,
								Line:   18,
							},
						},
					},
					Call: &ast.CallExpression{
						Arguments: []ast.Expression{&ast.ObjectExpression{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 27,
										Line:   21,
									},
									File:   "from.flux",
									Source: "fields",
									Start: ast.Position{
										Column: 21,
										Line:   21,
									},
								},
							},
							Lbrace: nil,
							Properties: []*ast.Property{&ast.Property{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 27,
											Line:   21,
										},
										File:   "from.flux",
										Source: "fields",
										Start: ast.Position{
											Column: 21,
											Line:   21,
										},
									},
								},
								Comma: nil,
								Key: &ast.Identifier{
									BaseNode: ast.BaseNode{
										Comments: nil,
										Errors:   nil,
										Loc: &ast.SourceLocation{
											End: ast.Position{
												Column: 27,
												Line:   21,
											},
											File:   "from.flux",
											Source: "fields",
											Start: ast.Position{
												Column: 21,
												Line:   21,
											},
										},
									},
									Name: "fields",
								},
								Separator: nil,
								Value:     nil,
							}},
							Rbrace: nil,
							With:   nil,
						}},
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 28,
									Line:   21,
								},
								File:   "from.flux",
								Source: "filterFields(fields)",
								Start: ast.Position{
									Column: 8,
									Line:   21,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 20,
										Line:   21,
									},
									File:   "from.flux",
									Source: "filterFields",
									Start: ast.Position{
										Column: 8,
										Line:   21,
									},
								},
							},
							Name: "filterFields",
						},
						Lparen: nil,
						Rparen: nil,
					},
				},
				Lparen: nil,
				Params: []*ast.Property{&ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 15,
								Line:   12,
							},
							File:   "from.flux",
							Source: "bucket",
							Start: ast.Position{
								Column: 9,
								Line:   12,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   12,
								},
								File:   "from.flux",
								Source: "bucket",
								Start: ast.Position{
									Column: 9,
									Line:   12,
								},
							},
						},
						Name: "bucket",
					},
					Separator: nil,
					Value:     nil,
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 20,
								Line:   13,
							},
							File:   "from.flux",
							Source: "measurement",
							Start: ast.Position{
								Column: 9,
								Line:   13,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 20,
									Line:   13,
								},
								File:   "from.flux",
								Source: "measurement",
								Start: ast.Position{
									Column: 9,
									Line:   13,
								},
							},
						},
						Name: "measurement",
					},
					Separator: nil,
					Value:     nil,
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 14,
								Line:   14,
							},
							File:   "from.flux",
							Source: "start",
							Start: ast.Position{
								Column: 9,
								Line:   14,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 14,
									Line:   14,
								},
								File:   "from.flux",
								Source: "start",
								Start: ast.Position{
									Column: 9,
									Line:   14,
								},
							},
						},
						Name: "start",
					},
					Separator: nil,
					Value:     nil,
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 19,
								Line:   15,
							},
							File:   "from.flux",
							Source: "stop=now()",
							Start: ast.Position{
								Column: 9,
								Line:   15,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 13,
									Line:   15,
								},
								File:   "from.flux",
								Source: "stop",
								Start: ast.Position{
									Column: 9,
									Line:   15,
								},
							},
						},
						Name: "stop",
					},
					Separator: nil,
					Value: &ast.CallExpression{
						Arguments: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 19,
									Line:   15,
								},
								File:   "from.flux",
								Source: "now()",
								Start: ast.Position{
									Column: 14,
									Line:   15,
								},
							},
						},
						Callee: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 17,
										Line:   15,
									},
									File:   "from.flux",
									Source: "now",
									Start: ast.Position{
										Column: 14,
										Line:   15,
									},
								},
							},
							Name: "now",
						},
						Lparen: nil,
						Rparen: nil,
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 18,
								Line:   16,
							},
							File:   "from.flux",
							Source: "fields=[]",
							Start: ast.Position{
								Column: 9,
								Line:   16,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 15,
									Line:   16,
								},
								File:   "from.flux",
								Source: "fields",
								Start: ast.Position{
									Column: 9,
									Line:   16,
								},
							},
						},
						Name: "fields",
					},
					Separator: nil,
					Value: &ast.ArrayExpression{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   16,
								},
								File:   "from.flux",
								Source: "[]",
								Start: ast.Position{
									Column: 16,
									Line:   16,
								},
							},
						},
						Elements: []ast.Expression{},
						Lbrack:   nil,
						Rbrack:   nil,
					},
				}, &ast.Property{
					BaseNode: ast.BaseNode{
						Comments: nil,
						Errors:   nil,
						Loc: &ast.SourceLocation{
							End: ast.Position{
								Column: 30,
								Line:   17,
							},
							File:   "from.flux",
							Source: "predicate=(r) => true",
							Start: ast.Position{
								Column: 9,
								Line:   17,
							},
						},
					},
					Comma: nil,
					Key: &ast.Identifier{
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 18,
									Line:   17,
								},
								File:   "from.flux",
								Source: "predicate",
								Start: ast.Position{
									Column: 9,
									Line:   17,
								},
							},
						},
						Name: "predicate",
					},
					Separator: nil,
					Value: &ast.FunctionExpression{
						Arrow: nil,
						BaseNode: ast.BaseNode{
							Comments: nil,
							Errors:   nil,
							Loc: &ast.SourceLocation{
								End: ast.Position{
									Column: 30,
									Line:   17,
								},
								File:   "from.flux",
								Source: "(r) => true",
								Start: ast.Position{
									Column: 19,
									Line:   17,
								},
							},
						},
						Body: &ast.Identifier{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 30,
										Line:   17,
									},
									File:   "from.flux",
									Source: "true",
									Start: ast.Position{
										Column: 26,
										Line:   17,
									},
								},
							},
							Name: "true",
						},
						Lparen: nil,
						Params: []*ast.Property{&ast.Property{
							BaseNode: ast.BaseNode{
								Comments: nil,
								Errors:   nil,
								Loc: &ast.SourceLocation{
									End: ast.Position{
										Column: 21,
										Line:   17,
									},
									File:   "from.flux",
									Source: "r",
									Start: ast.Position{
										Column: 20,
										Line:   17,
									},
								},
							},
							Comma: nil,
							Key: &ast.Identifier{
								BaseNode: ast.BaseNode{
									Comments: nil,
									Errors:   nil,
									Loc: &ast.SourceLocation{
										End: ast.Position{
											Column: 21,
											Line:   17,
										},
										File:   "from.flux",
										Source: "r",
										Start: ast.Position{
											Column: 20,
											Line:   17,
										},
									},
								},
								Name: "r",
							},
							Separator: nil,
							Value:     nil,
						}},
						Rparan: nil,
					},
				}},
				Rparan: nil,
			},
		}},
		Eof:      nil,
		Imports:  nil,
		Metadata: "parser-type=rust",
		Name:     "from.flux",
		Package: &ast.PackageClause{
			BaseNode: ast.BaseNode{
				Comments: nil,
				Errors:   nil,
				Loc: &ast.SourceLocation{
					End: ast.Position{
						Column: 14,
						Line:   1,
					},
					File:   "from.flux",
					Source: "package query",
					Start: ast.Position{
						Column: 1,
						Line:   1,
					},
				},
			},
			Name: &ast.Identifier{
				BaseNode: ast.BaseNode{
					Comments: nil,
					Errors:   nil,
					Loc: &ast.SourceLocation{
						End: ast.Position{
							Column: 14,
							Line:   1,
						},
						File:   "from.flux",
						Source: "query",
						Start: ast.Position{
							Column: 9,
							Line:   1,
						},
					},
				},
				Name: "query",
			},
		},
	}},
	Package: "query",
	Path:    "experimental/query",
}
