// Package certexp is autogenerated by https://github.com/0x51-dev/upeg. DO NOT EDIT.
package certexp

import (
	"github.com/0x51-dev/upeg/parser/op"
)

var (
	Value                  = op.And{"default_certification(", WS, ValidationArgs, WS, ')'}
	ValidationArgs         = op.And{"ValidationArgs{", WS, op.Or{NoCertification, op.And{"certification:", Certification}}, WS, '}'}
	NoCertification        = op.Capture{Name: "NoCertification", Value: op.And{"no_certification:", WS, "Empty{}"}}
	Certification          = op.Capture{Name: "Certification", Value: op.And{"Certification{", WS, op.Or{NoRequestCertification, op.And{"request_certification:", RequestCertification}}, WS, ',', WS, "response_certification:", WS, ResponseCertification, WS, '}'}}
	NoRequestCertification = op.Capture{Name: "NoRequestCertification", Value: op.And{"no_request_certification:", WS, "Empty{}"}}
	RequestCertification   = op.Capture{Name: "RequestCertification", Value: op.And{"RequestCertification{", WS, "certified_request_headers:", WS, StringList, WS, ',', WS, "certified_query_parameters:", WS, StringList, WS, '}'}}
	ResponseCertification  = op.And{"ResponseCertification{", WS, ResponseCertificationT, WS, ResponseHeaderList, WS, '}'}
	ResponseCertificationT = op.Capture{Name: "ResponseCertificationT", Value: op.Or{"response_header_exclusions:", "certified_response_headers:"}}
	ResponseHeaderList     = op.Capture{Name: "ResponseHeaderList", Value: op.And{"ResponseHeaderList{", WS, "headers:", WS, StringList, WS, '}'}}
	Char                   = op.Or{op.RuneRange{Min: 0x00, Max: 0x09}, op.RuneRange{Min: 0x0B, Max: 0x21}, op.RuneRange{Min: 0x23, Max: 0x10FFFF}}
	String                 = op.Capture{Name: "String", Value: op.And{rune(0x22), op.ZeroOrMore{Value: Char}, rune(0x22)}}
	StringList             = op.Capture{Name: "StringList", Value: op.And{'[', WS, op.ZeroOrMore{Value: op.And{String, WS}}, ']'}}
	WS                     = op.ZeroOrMore{Value: ' '}
)
