@sap/cds 7.2.1 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +168 -126
  2. package/README.md +1 -1
  3. package/apis/core.d.ts +6 -4
  4. package/apis/services.d.ts +24 -4
  5. package/apis/test.d.ts +24 -10
  6. package/bin/serve.js +4 -3
  7. package/lib/auth/ias-auth.js +7 -8
  8. package/lib/compile/cdsc.js +5 -7
  9. package/lib/compile/etc/csv.js +22 -11
  10. package/lib/compile/for/lean_drafts.js +1 -1
  11. package/lib/dbs/cds-deploy.js +1 -2
  12. package/lib/env/cds-env.js +26 -20
  13. package/lib/env/defaults.js +4 -3
  14. package/lib/env/schema.js +9 -0
  15. package/lib/i18n/localize.js +83 -77
  16. package/lib/index.js +6 -2
  17. package/lib/linked/classes.js +13 -13
  18. package/lib/plugins.js +41 -45
  19. package/lib/req/user.js +2 -2
  20. package/lib/srv/protocols/_legacy.js +0 -1
  21. package/lib/srv/protocols/odata-v4.js +4 -0
  22. package/lib/utils/axios.js +7 -1
  23. package/lib/utils/cds-test.js +140 -133
  24. package/lib/utils/cds-utils.js +10 -3
  25. package/lib/utils/check-version.js +6 -0
  26. package/lib/utils/data.js +19 -6
  27. package/libx/_runtime/cds-services/adapter/odata-v4/OData.js +20 -19
  28. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +10 -1
  29. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/error.js +1 -1
  30. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +2 -3
  31. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-commons/utils/ValueConverter.js +0 -14
  32. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/core/OdataRequest.js +1 -0
  33. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/deserializer/BatchRequestListBuilder.js +5 -2
  34. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/MetadataHandler.js +1 -1
  35. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/handler/ServiceHandler.js +1 -1
  36. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/invocation/DispatcherCommand.js +2 -2
  37. package/libx/_runtime/cds-services/adapter/odata-v4/okra/odata-server/utils/BufferedWriter.js +1 -3
  38. package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +1 -1
  39. package/libx/_runtime/common/composition/update.js +18 -2
  40. package/libx/_runtime/common/error/frontend.js +46 -34
  41. package/libx/_runtime/common/generic/auth/capabilities.js +33 -14
  42. package/libx/_runtime/common/generic/input.js +1 -1
  43. package/libx/_runtime/common/utils/cqn2cqn4sql.js +3 -3
  44. package/libx/_runtime/db/query/update.js +48 -30
  45. package/libx/_runtime/fiori/lean-draft.js +2 -3
  46. package/libx/_runtime/hana/conversion.js +3 -2
  47. package/libx/_runtime/messaging/enterprise-messaging-utils/getTenantInfo.js +1 -1
  48. package/libx/_runtime/messaging/outbox/utils.js +1 -1
  49. package/libx/_runtime/remote/Service.js +1 -17
  50. package/libx/_runtime/remote/utils/client.js +3 -3
  51. package/libx/_runtime/remote/utils/data.js +5 -7
  52. package/libx/odata/{grammar.pegjs → grammar.peggy} +1 -1
  53. package/libx/odata/metadata.js +121 -0
  54. package/libx/odata/parser.js +1 -1
  55. package/libx/odata/service-document.js +61 -0
  56. package/libx/odata/utils.js +102 -48
  57. package/libx/rest/RestAdapter.js +2 -2
  58. package/libx/rest/middleware/error.js +1 -1
  59. package/package.json +1 -1
@@ -0,0 +1,121 @@
1
+ const cds = require('../../lib')
2
+ const LOG = cds.log('odata')
3
+ const crypto = require('crypto')
4
+
5
+ const _requestedFormat = (queryOption, header) => {
6
+ if (queryOption) return queryOption.match(/json/i) ? 'json' : 'xml'
7
+ if (header) {
8
+ const jsonIndex = header.indexOf('application/json')
9
+ if (jsonIndex === -1) return 'xml'
10
+ const xmlIndex = header.indexOf('application/xml')
11
+ if (xmlIndex === -1) return 'json'
12
+ return jsonIndex < xmlIndex ? 'json' : 'xml'
13
+ }
14
+ return 'xml'
15
+ }
16
+
17
+ const _metadataFromFile = async srv => {
18
+ const fs = require('fs')
19
+ const filePath = cds.root + `/srv/odata/v4/${srv.name}.xml`
20
+ let exists
21
+ try {
22
+ exists = !(await fs.promises.access(filePath, fs.constants.F_OK))
23
+ } catch (e) {
24
+ LOG._debug && LOG.debug(`No metadata file found for service ${srv.name} at ${filePath}`)
25
+ }
26
+ if (exists) {
27
+ const file = await fs.promises.readFile(filePath)
28
+ return file.toString()
29
+ }
30
+ }
31
+
32
+ const normalize_header = value => {
33
+ return value.split(',').map(str => str.trim())
34
+ }
35
+
36
+ const validate_etag = (ifNoneMatch, etag) => {
37
+ const ifNoneMatchEtags = normalize_header(ifNoneMatch)
38
+ return ifNoneMatchEtags.includes(etag) || ifNoneMatchEtags.includes('*')
39
+ }
40
+
41
+ const generateEtag = s => {
42
+ return `W/"${crypto.createHash('sha256').update(s).digest('base64')}"`
43
+ }
44
+
45
+ const odata_error = (code, message) => ({ error: { code, message } })
46
+
47
+ module.exports = srv =>
48
+ async function metadata(req, res, next) {
49
+ if (req.path === '/$metadata') {
50
+ if (req.method !== 'GET')
51
+ return res
52
+ .status(405)
53
+ .json(odata_error('METHOD_NOT_ALLOWED', `Method ${req.method} not allowed for $metadata.`))
54
+
55
+ const tenant = cds.context.tenant
56
+ const locale = cds.context.locale
57
+ const format = _requestedFormat(req.query['$format'], req.headers['accept'])
58
+
59
+ // REVISIT: edm(x) and etag cache is only evicted with model
60
+ const csnService = (cds.context.model || cds.model).definitions[srv.name]
61
+ const metadataCache = (csnService.metadataCache = csnService.metadataCache || { jsonEtag: {}, xmlEtag: {} })
62
+
63
+ const etag = format === 'json' ? metadataCache.jsonEtag?.[locale] : metadataCache.xmlEtag?.[locale]
64
+
65
+ if (req.headers['if-none-match']) {
66
+ if (etag) {
67
+ const unchanged = validate_etag(req.headers['if-none-match'], etag)
68
+ if (unchanged) {
69
+ res.set('Etag', etag)
70
+ return res.status(304).end()
71
+ }
72
+ }
73
+ }
74
+
75
+ const { 'cds.xt.ModelProviderService': mps } = cds.services
76
+ if (mps) {
77
+ if (format === 'json')
78
+ res
79
+ .status(400)
80
+ .json(
81
+ odata_error(
82
+ 'UNSUPPORTED_METADATA_TYPE',
83
+ 'JSON metadata is not supported if cds.requires.extensibilty: true.'
84
+ )
85
+ )
86
+
87
+ try {
88
+ const edmx = await mps.getEdmx({ tenant, model: srv.model, service: srv.definition.name, locale })
89
+ metadataCache.xmlEtag[locale] = generateEtag(edmx)
90
+ res.set('Content-Type', 'application/xml')
91
+ res.send(edmx)
92
+ } catch (e) {
93
+ if (LOG._error) {
94
+ e.message = 'Unable to get EDMX for tenant ' + tenant + ' due to error: ' + e.message
95
+ LOG.error(e)
96
+ }
97
+
98
+ return res.status(503).json(odata_error('SERVICE_UNAVAILABLE', 'Service unavailable'))
99
+ }
100
+ }
101
+
102
+ if (format === 'json') {
103
+ const edm =
104
+ metadataCache.edm || (metadataCache.edm = cds.compile.to.edm(srv.model, { service: srv.definition.name }))
105
+ const localized = cds.localize(srv.model, locale, edm)
106
+ metadataCache.jsonEtag[locale] = generateEtag(localized)
107
+ return res.json(JSON.parse(localized))
108
+ }
109
+
110
+ const edmx =
111
+ metadataCache.edmx ||
112
+ (await _metadataFromFile(srv)) ||
113
+ (metadataCache.edmx = cds.compile.to.edmx(srv.model, { service: srv.definition.name }))
114
+ const localized = cds.localize(srv.model, locale, edmx)
115
+ metadataCache.xmlEtag[locale] = generateEtag(localized)
116
+ res.set('Etag', metadataCache.xmlEtag[locale])
117
+ res.set('Content-Type', 'application/xml')
118
+ return res.send(localized)
119
+ }
120
+ return next()
121
+ }
@@ -1 +1 @@
1
- "use strict";function peg$subclass(u,t){function r(){this.constructor=u}r.prototype=t.prototype,u.prototype=new r}function peg$SyntaxError(u,t,r,e){this.message=u,this.expected=t,this.found=r,this.location=e,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,peg$SyntaxError)}function peg$parse(u,t){t=void 0!==t?t:{};var r,e={},n={ODataRelativeURI:Vs},s=Vs,o="/",a=Ms("/",!1),c=function(u){ra=u},i="?",f=Ms("?",!1),l="&",A=Ms("&",!1),h=function(){if(ea)return ra.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete ra.expand,delete ra.limit,delete ra.orderBy,ra.apply?Aa(ra,ra.apply):{SELECT:ra};let u;if(ra.expand){ra.columns||(ra.columns=["*"],u=!0);for(const u of ra.expand){const t=ra.columns.findIndex(ca(u));t>-1&&ra.columns.splice(t,1),ra.columns.push(u)}delete ra.expand}return ra.count&&ra.apply&&(ra.__countAggregated=!0),ra.apply?Aa(ra,ra.apply,u):{SELECT:ra}},p="$count",C=Ms("$count",!1),d=function(){ea=!0},F="$ref",B=Ms("$ref",!1),g="$value",E=Ms("$value",!1),m=function(u){return!na.includes(u)&&{from:{ref:[u]}}},v=function(u){return[u]},b=function(u,t){return t},D=function(u,t){if(t=t&&t[1],!u&&!t)return{from:{ref:[""]}};if(!u&&t&&t.from)return t.from.ref.unshift(""),t;const[r,e]=u,n=[];if(e?e.length>2?n.push({id:r,where:e[1].map((u=>u.val&&u.val.match&&u.val.match(/^"(.*)"$/)?{val:u.val.match(/^"(.*)"$/)[1]}:u))}):n.push({id:r,where:[]}):ua?n.push(`${"object"==typeof r&&"val"in r?r.val:r}`):"object"==typeof r&&"string"==typeof r.val&&r.val.match(/^[1-9]\d*$|^0$/)?n.push({val:sa(r.val)}):n.push(r),t&&t.from){const u=t.from.ref;Object.prototype.hasOwnProperty.call(u[0],"val")&&(n[n.length-1]={id:n[n.length-1],where:[u.shift()]}),n.push(...u)}const s={from:{ref:n}};return t&&t.columns&&(s.columns=t.columns),s},y="=",w=Ms("=",!1),x=function(u,t,r){const e=[u,"=",t];return r&&e.push("and",...r[1]),e},$=function(u){u&&u.apply&&(ra.apply=u.apply)},L="$skiptoken=",S=Ms("$skiptoken=",!1),T="$select=",j=Ms("$select=",!1),Z="$expand=",k=Ms("$expand=",!1),z="$filter=",O=Ms("$filter=",!1),_=function(u){ra.where=u},R="$orderby=",q=Ms("$orderby=",!1),I=function(u,t){Fa(t)},N=function(u){Fa(u,!0)},U="$top=",M=Ms("$top=",!1),P=function(u){(ra.limit||(ra.limit={})).rows={val:u}},G="$skip=",H=Ms("$skip=",!1),J=function(u){da(u)},K="$search=",Q=Ms("$search=",!1),V=function(u){u&&(ra.search=u)},W="$count=",X=Ms("$count=",!1),Y="$apply=",uu=Ms("$apply=",!1),tu=function(u){return u},ru="$at",eu=Ms("$at",!1),nu="$from",su=Ms("$from",!1),ou="$toInclusive",au=Ms("$toInclusive",!1),cu="$to",iu=Ms("$to",!1),fu="*",lu=Ms("*",!1),Au=function(u){return ra.columns=Array.isArray(ra.columns)?ra.columns:[],ra.columns.find(ca(u))||ra.columns.push(u),u},hu="/$count",pu=Ms("/$count",!1),Cu=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},du=";",Fu=Ms(";",!1),Bu=function(u){return u},gu=function(u){if(u.find((u=>u&&void 0!==u.apply))){const u=new Error('"$apply" is not supported for expand operation');throw u.statusCode=501,u}if(ra.columns){for(const u of ra.columns)ra.expand.find(ca(u))||ra.expand.push(u);delete ra.columns}else Array.isArray(ra.expand)&&-1===ra.expand.indexOf("*")&&ra.expand.unshift("*")},Eu=function(){ta.push(ra),ra=ra.expand[ra.expand.length-1],ra.expand=[]},mu=function(){ra.expand.length||ra.expand.push("*"),ra=ta.pop()},vu=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(ra.expand)||(ra.expand=[]),ra.expand.find(ca(t))||ra.expand.push(t),t},bu=function(u){return u},Du=function(u){oa(u,{SELECT:ra})},yu=function(u){return u},wu=function(u){return u?[u]:[]},xu=function(u,t){u.push({xpr:t})},$u=function(u,t){u.push({val:t})},Lu=function(u,t,r){u.push(t,...r)},Su=function(u){return u},Tu=function(u,t){u.push(...t)},ju=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},Zu=function(u,t){u.push(t)},ku=function(u,t){u.push(...t)},zu=function(u){return[u]},Ou=function(u,t){u.push(t)},_u=function(u,t){let r=u.pop();if(!t)return["exists",{ref:[...u,{id:r}]}];let e=[];for(let u=0,n=0;u<t.length;++u){let s=t[u];s.ref&&0===s.ref.length&&"="===t[u+1]?e[n++]={func:"contains",args:[{ref:[r]},t[u+=2]]}:e[n++]=s}return e.length<t.length?u.length?(r=u.pop(),["exists",{ref:[...u,{id:r,where:e}]}]):e:["exists",{ref:[...u,{id:r,where:t}]}]},Ru=function(u,t){let r=u.pop();return["not","exists",{ref:[...u,{id:r,where:["not",{xpr:[...t]}]}]}]},qu=function(u,t){return t},Iu=function(u){return u?[u]:[]},Nu=function(u,t){u.push("(",...t,")")},Uu=function(u,t){u.push(...t)},Mu=function(u,t){u.push(t)},Pu=function(u,t){u.push(...t)},Gu=function(u,t){u.push(...t)},Hu=function(u,t,r){u.push(t,...r)},Ju=":",Ku=Ms(":",!1),Qu=function(u,t){return Ba(u,t)},Vu="any",Wu=Ms("any",!1),Xu="all",Yu=Ms("all",!1),ut=function(){const u=new Error('"$orderby" does not support lambda');throw u.statusCode=501,u},tt="asc",rt=Ms("asc",!1),et="desc",nt=Ms("desc",!1),st=function(u,t){return t},ot=function(u,t){return Xo(u,t&&{sort:t})},at=function(u){u&&(ra.count=!0)},ct=function(u,t){return t},it=function(u,t){if(void 0!==u){t=Array.isArray(t)?t:[t];for(let r of t)for(const t in r)if("limit"===t&&r.limit&&u.limit&&u.limit.offset&&r.limit.rows)u.limit.rows=r.limit.rows;else if(u[t]||"groupBy"===t&&(u.where||u.search)||"aggregate"===t&&"groupBy"in u&&!("groupBy"in r)){let e=u;u={apply:e},"limit"===t&&r[t].offset&&e.limit&&e.limit.offset&&e.limit.offset.val&&(r[t].offset+=e.limit.offset.val),e=u,e[t]=r[t]}else u[t]=r[t];return{apply:u}}},ft="[",lt=Ms("[",!1),At="]",ht=Ms("]",!1),pt=function(u){return{list:u}},Ct=/^[a-zA-Z0-9\-_.~]/,dt=Ps([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),Ft=/^[^&]/,Bt=Ps(["&"],!0,!1),gt=Gs("an aliased parameter (@param)"),Et="@",mt=Ms("@",!1),vt=function(u){return"@"+u},bt=function(u,t){Ea(ra,u,t)},Dt="$format=",yt=Ms("$format=",!1),wt=function(u){if("json"!==u.toLowerCase()){const u=new Error('Only query parameter "json" is allowed in "$format".');throw u.statusCode=501,u}},xt="eq",$t=Ms("eq",!1),Lt="ne",St=Ms("ne",!1),Tt="lt",jt=Ms("lt",!1),Zt="gt",kt=Ms("gt",!1),zt="le",Ot=Ms("le",!1),_t="ge",Rt=Ms("ge",!1),qt=function(u,t,r){return[u,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[t]||t,r]},It=function(u){return{list:u}},Nt="in",Ut=Ms("in",!1),Mt=function(u,t){return[u,"in",t]},Pt=(Ms("add",!1),Ms("sub",!1),Ms("mul",!1),Ms("div",!1),Ms("mod",!1),Gs("navigation with $count")),Gt=function(u,t){return t},Ht=function(u,t){return t?{id:u,where:t}:u},Jt=function(u,t){return{func:"count",as:"$count",args:[{ref:u}]}},Kt=Gs("a reference"),Qt=function(u,t){return t},Vt=function(u,t){return"null"===u?{val:null}:{ref:[u,...t]}},Wt=function(u){return{val:u}},Xt=function(u){return"number"==typeof u?{val:u}:{val:u,literal:"number"}},Yt=Gs("null"),ur="null",tr=Ms("null",!1),rr=function(){return{val:null}},er=Gs("a json object"),nr="{",sr=Ms("{",!1),or=/^[^}]/,ar=Ps(["}"],!0,!1),cr="}",ir=Ms("}",!1),fr=Gs("a json array"),lr=/^[^\]]/,Ar=Ps(["]"],!0,!1),hr=Gs("a list"),pr=function(u){return{list:u.replace(/"/g,"").split(",").map((u=>({val:u})))}},Cr=",",dr=Ms(",",!1),Fr=function(u,t){return t},Br=function(u,t){return[u,...t]},gr=function(u){return{list:u}},Er=Gs("a function name"),mr=/^[a-zA-Z]/,vr=Ps([["a","z"],["A","Z"]],!1,!1),br=function(u,t){if(Yo&&!(u.toLowerCase()in Yo.functions))throw Object.assign(new Error(`"${u}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:u.toLowerCase(),args:t}},Dr=function(u,t){return t},yr=function(u,t){return[u,...t]},wr=function(u){return u.length?u[0]:u},xr="contains",$r=Ms("contains",!0),Lr="endswith",Sr=Ms("endswith",!0),Tr="startswith",jr=Ms("startswith",!0),Zr=function(u,t,r){return{func:u.toLowerCase(),args:[t,r]}},kr="not",zr=Ms("NOT",!0),Or=function(){return"not"},_r="and",Rr=Ms("AND",!0),qr=function(){return"and"},Ir="or",Nr=Ms("OR",!0),Ur=function(){return"or"},Mr="aggregate",Pr=Ms("aggregate",!1),Gr=function(u){return u},Hr="groupby",Jr=Ms("groupby",!1),Kr=function(u){return u},Qr="filter",Vr=Ms("filter",!1),Wr=function(u){return u},Xr="search",Yr=Ms("search",!1),ue=function(u){return u},te="concat",re=Ms("concat",!1),ee=function(u){return u},ne="compute",se=Ms("compute",!1),oe=function(u){return u},ae="top",ce=Ms("top",!1),ie=function(u){return u},fe="skip",le=Ms("skip",!1),Ae=function(u){return u},he="orderby",pe=Ms("orderby",!1),Ce=function(u){return u},de="topcount",Fe=Ms("topcount",!0),Be="bottomcount",ge=Ms("bottomcount",!0),Ee="topsum",me=Ms("topsum",!0),ve="bottomsum",be=Ms("bottomsum",!0),De="toppercent",ye=Ms("toppercent",!0),we="bottompercent",xe=Ms("bottompercent",!0),$e=function(u,t){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[u=u.toLowerCase()])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},Le=function(u){return u},Se=function(u,t){return t},Te=function(u,t){return{aggregate:[u,...t]}},je=function(u){return{func:"count",args:[{val:1}],as:u}},Ze=function(u){return u},ke=function(u,t,r){return{func:t,args:[u],as:r}},ze="with",Oe=Ms("with",!1),_e=function(u){return u.toLowerCase()},Re="from",qe=Ms("from",!1),Ie="as",Ne=Ms("as",!1),Ue=function(u){return u},Me=function(u,t){return{groupBy:[u,...t]}},Pe=function(u,t,r){return r},Ge=function(u,t,r){let e={};return e=r?{groupBy:[u,...t],...r.apply}:{groupBy:[u,...t]},e},He=function(u){return u},Je="rollup",Ke=Ms("rollup",!1),Qe="$all",Ve=Ms("$all",!1),We=function(u){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Xe=function(u){return u},Ye=function(u){return{where:u}},un=function(u){if(u)return u},tn=function(u){return{search:u}},rn=function(u,t){return t},en=function(u,t){return{concat:[u,...t]}},nn=function(u,t){return[u,t]},sn="identity",on=Ms("identity",!1),an=function(){return{identity:!0}},cn=function(u){return{limit:{rows:{val:u}}}},fn=function(u){return{limit:{offset:{val:u}}}},ln=function(u,t){return t},An=function(u,t){return{orderBy:[u,...t]}},hn=Gs("a boolean"),pn="true",Cn=Ms("true",!1),dn="false",Fn=Ms("false",!1),Bn=function(u){return"true"===u},gn=Gs("a single quoted string"),En="'",mn=Ms("'",!1),vn="''",bn=Ms("''",!1),Dn=/^[^']/,yn=Ps(["'"],!0,!1),wn=function(u){return u.replace(/''/g,"'")},xn=Gs("a doubled quoted string"),$n='"',Ln=Ms('"',!1),Sn='\\"',Tn=Ms('\\"',!1),jn=/^[^"]/,Zn=Ps(['"'],!0,!1),kn=function(u){return u.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},zn=Gs("a string"),On=/^[^ \t\n()"&;]/,_n=Ps([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Rn=Gs("a time"),qn=/^[0-9]/,In=Ps([["0","9"]],!1,!1),Nn=Gs("a date"),Un="-",Mn=Ms("-",!1),Pn="T",Gn=Ms("T",!1),Hn=".",Jn=Ms(".",!1),Kn="Z",Qn=Ms("Z",!1),Vn="+",Wn=Ms("+",!1),Xn=function(u){if(u.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${u}'`),{statusCode:400});return u},Yn=Gs("a number"),us=/^[+\-]/,ts=Ps(["+","-"],!1,!1),rs="e",es=Ms("e",!1),ns=function(u){return sa(u)},ss=Gs("an integer"),os=function(u){return parseInt(u)},as=Gs("an identifier"),cs=/^[_a-zA-Z]/,is=Ps(["_",["a","z"],["A","Z"]],!1,!1),fs=/^[_a-zA-Z0-9"."A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,ls=Ps(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"',["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],"Ͷ","ͷ",["ͺ","ͽ"],"Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԧ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],"ٮ","ٯ",["ٱ","ۓ"],"ە","ۥ","ۦ","ۮ","ۯ",["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],"ߴ","ߵ","ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],"ࢠ",["ࢢ","ࢬ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ॷ"],["ॹ","ॿ"],["অ","ঌ"],"এ","ঐ",["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ","ড়","ঢ়",["য়","ৡ"],"ৰ","ৱ",["ਅ","ਊ"],"ਏ","ਐ",["ਓ","ਨ"],["ਪ","ਰ"],"ਲ","ਲ਼","ਵ","ਸ਼","ਸ","ਹ",["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],"લ","ળ",["વ","હ"],"ઽ","ૐ","ૠ","ૡ",["ଅ","ଌ"],"ଏ","ଐ",["ଓ","ନ"],["ପ","ର"],"ଲ","ଳ",["ଵ","ହ"],"ଽ","ଡ଼","ଢ଼",["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],"ங","ச","ஜ","ஞ","ட","ண","த",["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","ళ"],["వ","హ"],"ఽ","ౘ","ౙ","ౠ","ౡ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ","ೠ","ೡ","ೱ","ೲ",["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ","ൠ","ൡ",["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],"า","ำ",["เ","ๆ"],"ກ","ຂ","ຄ","ງ","ຈ","ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ","ສ","ຫ",["ອ","ະ"],"າ","ຳ","ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ","ၥ","ၦ",["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏼ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤜ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᧁ","ᧇ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],"ᮮ","ᮯ",["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],"ᳵ","ᳶ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ","Ↄ","ↄ",["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],"Ⳳ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ","々","〆",["〱","〵"],"〻","〼",["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿌"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],"ꘪ","ꘫ",["Ꙁ","ꙮ"],["ꙿ","ꚗ"],["ꚠ","ꛥ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꞎ"],["Ꞑ","ꞓ"],["Ꞡ","Ɦ"],["ꟸ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꪀ","ꪯ"],"ꪱ","ꪵ","ꪶ",["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ","נּ","סּ","ףּ","פּ",["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),As=function(u){return u},hs=Gs("a guid"),ps=Gs("a hex value"),Cs=/^[0-9a-fA-F]/,ds=Ps([["0","9"],["a","f"],["A","F"]],!1,!1),Fs=/^[^\/?]/,Bs=Ps(["/","?"],!0,!1),gs=function(u){return{val:u}},Es=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,ms=Ps([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),vs=Gs("a binary"),bs="binary'",Ds=Ms("binary'",!1),ys=/^[a-zA-Z0-9\-_]/,ws=Ps([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),xs="==",$s=Ms("==",!1),Ls=function(u){return aa(u)},Ss="(",Ts=Ms("(",!1),js=")",Zs=Ms(")",!1),ks=Gs("an optional whitespace"),zs=/^[ \t\n]/,Os=Ps([" ","\t","\n"],!1,!1),_s=Gs("a whitespace"),Rs=0,qs=[{line:1,column:1}],Is=0,Ns=[],Us=0;if("startRule"in t){if(!(t.startRule in n))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=n[t.startRule]}function Ms(u,t){return{type:"literal",text:u,ignoreCase:t}}function Ps(u,t,r){return{type:"class",parts:u,inverted:t,ignoreCase:r}}function Gs(u){return{type:"other",description:u}}function Hs(t){var r,e=qs[t];if(e)return e;for(r=t-1;!qs[r];)r--;for(e={line:(e=qs[r]).line,column:e.column};r<t;)10===u.charCodeAt(r)?(e.line++,e.column=1):e.column++,r++;return qs[t]=e,e}function Js(u,t){var r=Hs(u),e=Hs(t);return{start:{offset:u,line:r.line,column:r.column},end:{offset:t,line:e.line,column:e.column}}}function Ks(u){Rs<Is||(Rs>Is&&(Is=Rs,Ns=[]),Ns.push(u))}function Qs(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function Vs(){var t,r,n,s,p,C,d,F,B,g,E,m,v,b,D;if(t=Rs,47===u.charCodeAt(Rs)?(r=o,Rs++):(r=e,0===Us&&Ks(a)),r===e&&(r=null),r!==e)if(n=Rs,(s=Ws())!==e&&(n,s=c(s)),(n=s)!==e){if(s=Rs,(p=Vo())!==e)if(63===u.charCodeAt(Rs)?(C=i,Rs++):(C=e,0===Us&&Ks(f)),C!==e)if((d=Vo())!==e){if(F=Rs,(B=Ys())!==e){for(g=[],E=Rs,(m=Vo())!==e?(38===u.charCodeAt(Rs)?(v=l,Rs++):(v=e,0===Us&&Ks(A)),v!==e&&(b=Vo())!==e&&(D=Ys())!==e?E=m=[m,v,b,D]:(Rs=E,E=e)):(Rs=E,E=e);E!==e;)g.push(E),E=Rs,(m=Vo())!==e?(38===u.charCodeAt(Rs)?(v=l,Rs++):(v=e,0===Us&&Ks(A)),v!==e&&(b=Vo())!==e&&(D=Ys())!==e?E=m=[m,v,b,D]:(Rs=E,E=e)):(Rs=E,E=e);g!==e?F=B=[B,g]:(Rs=F,F=e)}else Rs=F,F=e;F===e&&(F=null),F!==e?s=p=[p,C,d,F]:(Rs=s,s=e)}else Rs=s,s=e;else Rs=s,s=e;else Rs=s,s=e;s===e&&(s=null),s!==e&&(p=Vo())!==e?(t,t=r=h()):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;return t}function Ws(){var t,r,n,s,c,i,f;return t=Rs,u.substr(Rs,6)===p?(r=p,Rs+=6):(r=e,0===Us&&Ks(C)),r!==e&&(t,r=d()),(t=r)===e&&(t=Rs,r=Rs,u.substr(Rs,4)===F?(n=F,Rs+=4):(n=e,0===Us&&Ks(B)),n===e&&(u.substr(Rs,6)===g?(n=g,Rs+=6):(n=e,0===Us&&Ks(E))),(r=n!==e?u.substring(r,Rs):n)!==e&&(t,r=m(r)),(t=r)===e&&(t=Rs,r=Rs,(n=Mo())!==e?(s=Rs,(c=Ko())!==e&&(i=Qo())!==e?s=c=[c,i]:(Rs=s,s=e),s===e&&(s=Rs,(c=Ko())!==e&&(i=Xs())!==e&&(f=Qo())!==e?s=c=[c,i,f]:(Rs=s,s=e)),s===e&&(s=null),s!==e?(c=Rs,Us++,i=Ho(),Us--,i===e?c=void 0:(Rs=c,c=e),c!==e?r=n=[n,s,c]:(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e),r===e&&(r=Rs,(n=Ho())!==e&&(r,n=v(n)),r=n),r===e&&(r=null),r!==e?(n=Rs,s=Rs,47===u.charCodeAt(Rs)?(c=o,Rs++):(c=e,0===Us&&Ks(a)),c!==e&&(s,c=b(r,c)),(s=c)!==e?((c=Ws())===e&&(c=null),c!==e?n=s=[s,c]:(Rs=n,n=e)):(Rs=n,n=e),n===e&&(n=null),n!==e?(t,t=r=D(r,n)):(Rs=t,t=e)):(Rs=t,t=e))),t}function Xs(){var t,r,n,s,o,a,c;return t=Rs,(r=vo())!==e&&(t,r=v(r)),(t=r)===e&&(t=Rs,(r=mo())!==e&&Vo()!==e?(61===u.charCodeAt(Rs)?(n=y,Rs++):(n=e,0===Us&&Ks(w)),n!==e&&Vo()!==e&&(s=vo())!==e?(o=Rs,(a=Jo())!==e&&(c=Xs())!==e?o=a=[a,c]:(Rs=o,o=e),o===e&&(o=null),o!==e?(t,t=r=x(r,s,o)):(Rs=t,t=e)):(Rs=t,t=e)):(Rs=t,t=e)),t}function Ys(){var t,r,n,s;return t=Rs,(r=uo())!==e&&(t,r=$(r)),(t=r)===e&&(t=Rs,u.substr(Rs,11)===L?(r=L,Rs+=11):(r=e,0===Us&&Ks(S)),r!==e&&(n=Vo())!==e?(s=function(){var t,r;t=Rs,r=function(){var t,r,n;t=Rs,r=[],Es.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(ms));if(n!==e)for(;n!==e;)r.push(n),Es.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(ms));else r=e;t=r!==e?u.substring(t,Rs):r;return t}(),r===e&&(r=null);r!==e&&(t,r=Du(r));return t=r,t}(),s!==e?t=r=[r,n,s]:(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=function(){var t,r,n,s;t=Rs,u.substr(Rs,3)===ru?(r=ru,Rs+=3):(r=e,0===Us&&Ks(eu));r===e&&(u.substr(Rs,5)===nu?(r=nu,Rs+=5):(r=e,0===Us&&Ks(su)),r===e&&(u.substr(Rs,12)===ou?(r=ou,Rs+=12):(r=e,0===Us&&Ks(au)),r===e&&(u.substr(Rs,3)===cu?(r=cu,Rs+=3):(r=e,0===Us&&Ks(iu)))));r!==e?(61===u.charCodeAt(Rs)?(n=y,Rs++):(n=e,0===Us&&Ks(w)),n!==e&&(s=No())!==e?t=r=[r,n,s]:(Rs=t,t=e)):(Rs=t,t=e);return t}(),t===e&&(t=function(){var t,r,n,s,o;t=Rs,u.substr(Rs,8)===Dt?(r=Dt,Rs+=8):(r=e,0===Us&&Ks(yt));if(r!==e){for(n=Rs,s=[],Ft.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Bt));o!==e;)s.push(o),Ft.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Bt));(n=s!==e?u.substring(n,Rs):s)!==e?(t,t=r=wt(n)):(Rs=t,t=e)}else Rs=t,t=e;return t}(),t===e&&(t=function(){var t,r,n,s,o;t=Rs,r=[],Ct.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(dt));if(n!==e)for(;n!==e;)r.push(n),Ct.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(dt));else r=e;if(r!==e)if(61===u.charCodeAt(Rs)?(n=y,Rs++):(n=e,0===Us&&Ks(w)),n!==e){for(s=[],Ft.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Bt));o!==e;)s.push(o),Ft.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Bt));s!==e?t=r=[r,n,s]:(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;return t}(),t===e&&(t=function(){var t,r,n,s,o;t=Rs,r=Co(),r!==e?(61===u.charCodeAt(Rs)?(n=y,Rs++):(n=e,0===Us&&Ks(w)),n!==e?(s=Rs,Us++,o=Co(),Us--,o===e?s=void 0:(Rs=s,s=e),s!==e?(o=function(){var t,r,n,s;t=vo(),t===e&&(t=bo())===e&&(t=Do())===e&&(t=Rs,91===u.charCodeAt(Rs)?(r=ft,Rs++):(r=e,0===Us&&Ks(lt)),r!==e&&(n=yo())!==e?(93===u.charCodeAt(Rs)?(s=At,Rs++):(s=e,0===Us&&Ks(ht)),s!==e?(t,t=r=pt(n)):(Rs=t,t=e)):(Rs=t,t=e));return t}(),o!==e?(t,t=r=bt(r,o)):(Rs=t,t=e)):(Rs=t,t=e)):(Rs=t,t=e)):(Rs=t,t=e);return t}()))))),t}function uo(){var t,r,n,s,o,a,c,i;if(t=Rs,u.substr(Rs,8)===T?(r=T,Rs+=8):(r=e,0===Us&&Ks(j)),r!==e)if((n=Vo())!==e)if((s=to())!==e){for(o=[],a=Rs,(c=Jo())!==e&&(i=to())!==e?a=c=[c,i]:(Rs=a,a=e);a!==e;)o.push(a),a=Rs,(c=Jo())!==e&&(i=to())!==e?a=c=[c,i]:(Rs=a,a=e);o!==e?t=r=[r,n,s,o]:(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;else Rs=t,t=e;if(t===e){if(t=Rs,u.substr(Rs,8)===Z?(r=Z,Rs+=8):(r=e,0===Us&&Ks(k)),r!==e)if((n=Vo())!==e)if((s=eo())!==e){for(o=[],a=Rs,(c=Jo())!==e&&(i=eo())!==e?a=c=[c,i]:(Rs=a,a=e);a!==e;)o.push(a),a=Rs,(c=Jo())!==e&&(i=eo())!==e?a=c=[c,i]:(Rs=a,a=e);o!==e?(a=function(){var t,r;t=Rs,u.substr(Rs,7)===hu?(r=hu,Rs+=7):(r=e,0===Us&&Ks(pu));r!==e&&(t,r=Cu());return t=r,t}(),a===e&&(a=null),a!==e?t=r=[r,n,s,o,a]:(Rs=t,t=e)):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;else Rs=t,t=e;if(t===e&&(t=Rs,u.substr(Rs,8)===z?(r=z,Rs+=8):(r=e,0===Us&&Ks(O)),r!==e&&(n=Vo())!==e&&(s=co())!==e?(t,t=r=_(s)):(Rs=t,t=e),t===e)){if(t=Rs,u.substr(Rs,9)===R?(r=R,Rs+=9):(r=e,0===Us&&Ks(q)),r!==e)if((n=Vo())!==e)if((s=ho())!==e){for(o=[],a=Rs,(c=Jo())!==e&&(i=ho())!==e?(a,a=c=I(s,i)):(Rs=a,a=e);a!==e;)o.push(a),a=Rs,(c=Jo())!==e&&(i=ho())!==e?(a,a=c=I(s,i)):(Rs=a,a=e);o!==e?(t,t=r=N(s)):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;else Rs=t,t=e;t===e&&(t=Rs,u.substr(Rs,5)===U?(r=U,Rs+=5):(r=e,0===Us&&Ks(M)),r!==e&&(n=Vo())!==e&&(s=no())!==e?(t,t=r=P(s)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,6)===G?(r=G,Rs+=6):(r=e,0===Us&&Ks(H)),r!==e&&(n=Vo())!==e&&(s=so())!==e?(t,t=r=J(s)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,8)===K?(r=K,Rs+=8):(r=e,0===Us&&Ks(Q)),r!==e&&(n=Vo())!==e&&(s=oo())!==e?(t,t=r=V(s)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,7)===W?(r=W,Rs+=7):(r=e,0===Us&&Ks(X)),r!==e&&(n=Vo())!==e?(s=function(){var u,t;u=Rs,t=qo(),t!==e&&(u,t=at(t));return u=t,u}(),s!==e?t=r=[r,n,s]:(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,7)===Y?(r=Y,Rs+=7):(r=e,0===Us&&Ks(uu)),r!==e&&(n=Vo())!==e&&(s=po())!==e?(t,t=r=tu(s)):(Rs=t,t=e))))))}}return t}function to(){var t,r;return t=Rs,42===u.charCodeAt(Rs)?(r=fu,Rs++):(r=e,0===Us&&Ks(lu)),r===e&&(r=mo()),r!==e&&(t,r=Au(r)),t=r}function ro(){var t,r,n,s,o;return t=Rs,r=Rs,(n=Ko())!==e&&(r,n=Eu()),(r=n)!==e?(n=function(){var t,r,n,s,o;for(t=Rs,r=[],n=Rs,(s=uo())!==e&&Vo()!==e?(59===u.charCodeAt(Rs)?(o=du,Rs++):(o=e,0===Us&&Ks(Fu)),o===e&&(o=null),o!==e?(n,n=s=Bu(s)):(Rs=n,n=e)):(Rs=n,n=e);n!==e;)r.push(n),n=Rs,(s=uo())!==e&&Vo()!==e?(59===u.charCodeAt(Rs)?(o=du,Rs++):(o=e,0===Us&&Ks(Fu)),o===e&&(o=null),o!==e?(n,n=s=Bu(s)):(Rs=n,n=e)):(Rs=n,n=e);return r!==e&&(t,r=gu(r)),r}(),n===e&&(n=null),n!==e?(s=Rs,(o=Qo())!==e&&(s,o=mu()),(s=o)!==e?t=r=[r,n,s]:(Rs=t,t=e)):(Rs=t,t=e)):(Rs=t,t=e),t}function eo(){var t,r,n;return t=Rs,r=Rs,42===u.charCodeAt(Rs)?(n=fu,Rs++):(n=e,0===Us&&Ks(lu)),n===e&&(n=mo()),n!==e&&(r,n=vu(n)),(r=n)!==e?((n=ro())===e&&(n=null),n!==e?t=r=[r,n]:(Rs=t,t=e)):(Rs=t,t=e),t}function no(){var u,t;return u=Rs,(t=Uo())!==e&&(u,t=bu(t)),u=t}function so(){var u,t;return u=Rs,(t=Uo())!==e&&(u,t=bu(t)),u=t}function oo(){var u,t;return u=Rs,(t=ao())!==e&&(u,t=yu(t)),(u=t)===e&&(u=Vo()),u}function ao(){var t,r,n,s,o,a,c;if(t=Rs,r=Rs,(n=xo())===e&&(n=null),n!==e&&(r,n=wu(n)),(r=n)!==e)if(n=Rs,(s=Ko())!==e&&(o=ao())!==e&&(a=Qo())!==e?(n,n=s=xu(r,o)):(Rs=n,n=e),n===e&&(n=Rs,s=function(){var t,r,n,s,o;Us++,t=Rs,34===u.charCodeAt(Rs)?(r=$n,Rs++):(r=e,0===Us&&Ks(Ln));if(r!==e){for(n=Rs,s=[],u.substr(Rs,2)===Sn?(o=Sn,Rs+=2):(o=e,0===Us&&Ks(Tn)),o===e&&(jn.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Zn)));o!==e;)s.push(o),u.substr(Rs,2)===Sn?(o=Sn,Rs+=2):(o=e,0===Us&&Ks(Tn)),o===e&&(jn.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Zn)));(n=s!==e?u.substring(n,Rs):s)!==e?(34===u.charCodeAt(Rs)?(s=$n,Rs++):(s=e,0===Us&&Ks(Ln)),s!==e?(t,t=r=kn(n)):(Rs=t,t=e)):(Rs=t,t=e)}else Rs=t,t=e;Us--,t===e&&(r=e,0===Us&&Ks(xn));return t}(),s!==e&&(n,s=$u(r,s)),(n=s)===e&&(n=Rs,(s=Io())!==e&&(n,s=$u(r,s)),(n=s)===e&&(n=Rs,s=function(){var t,r,n;Us++,t=Rs,r=[],On.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(_n));if(n!==e)for(;n!==e;)r.push(n),On.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(_n));else r=e;t=r!==e?u.substring(t,Rs):r;Us--,t===e&&(r=e,0===Us&&Ks(zn));return t}(),s!==e&&(n,s=$u(r,s)),n=s))),n!==e){for(s=[],o=Rs,(a=$o())===e&&(a=So())===e&&(a=Lo()),a!==e&&(c=ao())!==e?(o,o=a=Lu(r,a,c)):(Rs=o,o=e);o!==e;)s.push(o),o=Rs,(a=$o())===e&&(a=So())===e&&(a=Lo()),a!==e&&(c=ao())!==e?(o,o=a=Lu(r,a,c)):(Rs=o,o=e);s!==e?(t,t=r=Su(r)):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;return t}function co(){var u,t;return u=Rs,(t=io())!==e&&(u,t=Su(t)),u=t}function io(){var t,r,n,s,o,a,c;if(t=Rs,r=Rs,(n=xo())===e&&(n=null),n!==e&&(r,n=wu(n)),(r=n)!==e)if(n=Rs,(s=Ko())!==e&&(o=io())!==e&&(a=Qo())!==e?(n,n=s=xu(r,o)):(Rs=n,n=e),n===e&&(n=Rs,(s=Fo())!==e&&(n,s=Tu(r,s)),(n=s)===e&&(n=Rs,(s=fo())!==e&&(n,s=ju(r,s)),(n=s)===e&&(n=Rs,s=function(){var t,r,n,s;t=Rs,u.substr(Rs,8).toLowerCase()===xr?(r=u.substr(Rs,8),Rs+=8):(r=e,0===Us&&Ks($r));r===e&&(u.substr(Rs,8).toLowerCase()===Lr?(r=u.substr(Rs,8),Rs+=8):(r=e,0===Us&&Ks(Sr)),r===e&&(u.substr(Rs,10).toLowerCase()===Tr?(r=u.substr(Rs,10),Rs+=10):(r=e,0===Us&&Ks(jr))));r!==e&&Ko()!==e&&(n=Eo())!==e&&Jo()!==e&&(s=Eo())!==e&&Qo()!==e?(t,t=r=Zr(r,n,s)):(Rs=t,t=e);return t}(),s!==e&&(n,s=Zu(r,s)),(n=s)===e&&(n=Rs,(s=qo())!==e&&(n,s=$u(r,s)),(n=s)===e&&(n=Rs,(s=go())!==e&&(n,s=ku(r,s)),n=s))))),n!==e){for(s=[],o=Rs,(a=$o())===e&&(a=So()),a!==e&&(c=io())!==e?(o,o=a=Lu(r,a,c)):(Rs=o,o=e);o!==e;)s.push(o),o=Rs,(a=$o())===e&&(a=So()),a!==e&&(c=io())!==e?(o,o=a=Lu(r,a,c)):(Rs=o,o=e);s!==e?(t,t=r=Su(r)):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;return t}function fo(){var t,r,n,s,c,i,f;if(t=Rs,r=Rs,(n=Mo())!==e&&(r,n=zu(n)),(r=n)!==e)if(47===u.charCodeAt(Rs)?(n=o,Rs++):(n=e,0===Us&&Ks(a)),n!==e){for(s=[],c=Rs,(i=Mo())!==e?(47===u.charCodeAt(Rs)?(f=o,Rs++):(f=e,0===Us&&Ks(a)),f!==e?(c,c=i=Ou(r,i)):(Rs=c,c=e)):(Rs=c,c=e);c!==e;)s.push(c),c=Rs,(i=Mo())!==e?(47===u.charCodeAt(Rs)?(f=o,Rs++):(f=e,0===Us&&Ks(a)),f!==e?(c,c=i=Ou(r,i)):(Rs=c,c=e)):(Rs=c,c=e);s!==e?(c=Rs,i=function(){var t,r,n;t=Rs,u.substr(Rs,3)===Vu?(r=Vu,Rs+=3):(r=e,0===Us&&Ks(Wu));r!==e&&Ko()!==e?((n=Ao())===e&&(n=null),n!==e&&Qo()!==e?(t,t=r=Su(n)):(Rs=t,t=e)):(Rs=t,t=e);return t}(),i!==e&&(c,i=_u(r,i)),(c=i)===e&&(c=Rs,i=function(){var t,r,n;t=Rs,u.substr(Rs,3)===Xu?(r=Xu,Rs+=3):(r=e,0===Us&&Ks(Yu));r!==e&&Ko()!==e&&(n=Ao())!==e&&Qo()!==e?(t,t=r=Su(n)):(Rs=t,t=e);return t}(),i!==e&&(c,i=Ru(r,i)),c=i),c!==e?(t,t=r=qu(r,c)):(Rs=t,t=e)):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;return t}function lo(){var u,t,r,n,s,o,a;if(u=Rs,t=Rs,(r=xo())===e&&(r=null),r!==e&&(t,r=Iu(r)),(t=r)!==e)if(r=Rs,(n=Ko())!==e&&(s=lo())!==e&&(o=Qo())!==e?(r,r=n=Nu(t,s)):(Rs=r,r=e),r===e&&(r=Rs,(n=Fo())!==e&&(r,n=Uu(t,n)),(r=n)===e&&(r=Rs,(n=wo())!==e&&(r,n=Mu(t,n)),(r=n)===e&&(r=Rs,(n=fo())!==e&&(r,n=Pu(t,n)),(r=n)===e&&(r=Rs,(n=go())!==e&&(r,n=Gu(t,n)),r=n)))),r!==e){for(n=[],s=Rs,(o=$o())===e&&(o=So()),o!==e&&(a=lo())!==e?(s,s=o=Hu(t,o,a)):(Rs=s,s=e);s!==e;)n.push(s),s=Rs,(o=$o())===e&&(o=So()),o!==e&&(a=lo())!==e?(s,s=o=Hu(t,o,a)):(Rs=s,s=e);n!==e?(u,u=t=Su(t)):(Rs=u,u=e)}else Rs=u,u=e;else Rs=u,u=e;return u}function Ao(){var t,r,n,s;return t=Rs,(r=Mo())!==e?(58===u.charCodeAt(Rs)?(n=Ju,Rs++):(n=e,0===Us&&Ks(Ku)),n!==e&&(s=lo())!==e?(t,t=r=Qu(r,s)):(Rs=t,t=e)):(Rs=t,t=e),t}function ho(){var t,r,n,s,o;return t=Rs,r=Rs,(n=fo())!==e&&(r,n=ut()),(r=n)===e&&(r=wo())===e&&(r=mo()),r!==e?(n=Rs,Wo()!==e?(s=Rs,u.substr(Rs,3)===tt?(o=tt,Rs+=3):(o=e,0===Us&&Ks(rt)),o===e&&(u.substr(Rs,4)===et?(o=et,Rs+=4):(o=e,0===Us&&Ks(nt))),(s=o!==e?u.substring(s,Rs):o)!==e?(n,n=st(r,s)):(Rs=n,n=e)):(Rs=n,n=e),n===e&&(n=null),n!==e?(t,t=r=ot(r,n)):(Rs=t,t=e)):(Rs=t,t=e),t}function po(){var t,r,n,s,c,i;if(t=Rs,(r=To())!==e){for(n=[],s=Rs,47===u.charCodeAt(Rs)?(c=o,Rs++):(c=e,0===Us&&Ks(a)),c!==e&&(i=To())!==e?(s,s=c=ct(r,i)):(Rs=s,s=e);s!==e;)n.push(s),s=Rs,47===u.charCodeAt(Rs)?(c=o,Rs++):(c=e,0===Us&&Ks(a)),c!==e&&(i=To())!==e?(s,s=c=ct(r,i)):(Rs=s,s=e);n!==e?(t,t=r=it(r,n)):(Rs=t,t=e)}else Rs=t,t=e;return t}function Co(){var t,r,n;return Us++,t=Rs,64===u.charCodeAt(Rs)?(r=Et,Rs++):(r=e,0===Us&&Ks(mt)),r!==e&&(n=Mo())!==e?(t,t=r=vt(n)):(Rs=t,t=e),Us--,t===e&&(r=e,0===Us&&Ks(gt)),t}function Fo(){var t,r,n,s,o;return t=Rs,(r=Eo())!==e&&Wo()!==e?(n=Rs,u.substr(Rs,2)===xt?(s=xt,Rs+=2):(s=e,0===Us&&Ks($t)),s===e&&(u.substr(Rs,2)===Lt?(s=Lt,Rs+=2):(s=e,0===Us&&Ks(St)),s===e&&(u.substr(Rs,2)===Tt?(s=Tt,Rs+=2):(s=e,0===Us&&Ks(jt)),s===e&&(u.substr(Rs,2)===Zt?(s=Zt,Rs+=2):(s=e,0===Us&&Ks(kt)),s===e&&(u.substr(Rs,2)===zt?(s=zt,Rs+=2):(s=e,0===Us&&Ks(Ot)),s===e&&(u.substr(Rs,2)===_t?(s=_t,Rs+=2):(s=e,0===Us&&Ks(Rt))))))),(n=s!==e?u.substring(n,Rs):s)!==e&&(s=Wo())!==e&&(o=Eo())!==e?(t,t=r=qt(r,n,o)):(Rs=t,t=e)):(Rs=t,t=e),t}function Bo(){var u,t;return u=Rs,(t=Co())!==e&&(u,t=It(t)),(u=t)===e&&(u=function(){var u,t,r;Us++,u=Rs,t=Ko(),t!==e&&(r=yo())!==e&&Qo()!==e?(u,u=t=gr(r)):(Rs=u,u=e);Us--,u===e&&(t=e,0===Us&&Ks(hr));return u}()),u}function go(){var t,r,n,s;return t=Rs,(r=Eo())!==e&&Wo()!==e?(u.substr(Rs,2)===Nt?(n=Nt,Rs+=2):(n=e,0===Us&&Ks(Ut)),n!==e&&Wo()!==e&&(s=Bo())!==e?(t,t=r=Mt(r,s)):(Rs=t,t=e)):(Rs=t,t=e),t}function Eo(){var t;return(t=function(){var t,r,n,s,c,i,f;Us++,t=Rs,r=[],n=Rs,(s=Mo())!==e?(c=Rs,(i=Ko())!==e&&(f=Xs())!==e&&Qo()!==e?(c,c=i=Gt(s,f)):(Rs=c,c=e),c===e&&(c=null),c!==e?(47===u.charCodeAt(Rs)?(i=o,Rs++):(i=e,0===Us&&Ks(a)),i!==e?(n,n=s=Ht(s,c)):(Rs=n,n=e)):(Rs=n,n=e)):(Rs=n,n=e);if(n!==e)for(;n!==e;)r.push(n),n=Rs,(s=Mo())!==e?(c=Rs,(i=Ko())!==e&&(f=Xs())!==e&&Qo()!==e?(c,c=i=Gt(s,f)):(Rs=c,c=e),c===e&&(c=null),c!==e?(47===u.charCodeAt(Rs)?(i=o,Rs++):(i=e,0===Us&&Ks(a)),i!==e?(n,n=s=Ht(s,c)):(Rs=n,n=e)):(Rs=n,n=e)):(Rs=n,n=e);else r=e;r!==e?(u.substr(Rs,6)===p?(n=p,Rs+=6):(n=e,0===Us&&Ks(C)),n!==e?(t,t=r=Jt(r,n)):(Rs=t,t=e)):(Rs=t,t=e);Us--,t===e&&(r=e,0===Us&&Ks(Pt));return t}())===e&&(t=wo())===e&&(t=vo())===e&&(t=mo())===e&&(t=bo())===e&&(t=Do())===e&&(t=function(){var t,r,n,s,o;Us++,t=Rs,91===u.charCodeAt(Rs)?(r=ft,Rs++):(r=e,0===Us&&Ks(lt));if(r!==e){for(n=Rs,s=[],lr.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Ar));o!==e;)s.push(o),lr.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(Ar));(n=s!==e?u.substring(n,Rs):s)!==e?(93===u.charCodeAt(Rs)?(s=At,Rs++):(s=e,0===Us&&Ks(ht)),s!==e?(t,t=r=pr(n)):(Rs=t,t=e)):(Rs=t,t=e)}else Rs=t,t=e;Us--,t===e&&(r=e,0===Us&&Ks(hr));return t}()),t}function mo(){var t,r,n,s,c,i;if(Us++,t=Rs,(r=Mo())!==e){for(n=[],s=Rs,47===u.charCodeAt(Rs)?(c=o,Rs++):(c=e,0===Us&&Ks(a)),c!==e&&(i=Mo())!==e?(s,s=c=Qt(r,i)):(Rs=s,s=e);s!==e;)n.push(s),s=Rs,47===u.charCodeAt(Rs)?(c=o,Rs++):(c=e,0===Us&&Ks(a)),c!==e&&(i=Mo())!==e?(s,s=c=Qt(r,i)):(Rs=s,s=e);n!==e?(t,t=r=Vt(r,n)):(Rs=t,t=e)}else Rs=t,t=e;return Us--,t===e&&(r=e,0===Us&&Ks(Kt)),t}function vo(){var t,r;return t=Rs,(r=qo())===e&&(r=No()),r!==e&&(t,r=Wt(r)),(t=r)===e&&(t=Rs,r=function(){var t,r,n,s,o,a,c,i,f,l;Us++,t=Rs,r=Rs,qn.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(In));n!==e?(qn.test(u.charAt(Rs))?(s=u.charAt(Rs),Rs++):(s=e,0===Us&&Ks(In)),s!==e?(58===u.charCodeAt(Rs)?(o=Ju,Rs++):(o=e,0===Us&&Ks(Ku)),o!==e?(qn.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(In)),a!==e?(qn.test(u.charAt(Rs))?(c=u.charAt(Rs),Rs++):(c=e,0===Us&&Ks(In)),c!==e?(58===u.charCodeAt(Rs)?(i=Ju,Rs++):(i=e,0===Us&&Ks(Ku)),i!==e?(qn.test(u.charAt(Rs))?(f=u.charAt(Rs),Rs++):(f=e,0===Us&&Ks(In)),f!==e?(qn.test(u.charAt(Rs))?(l=u.charAt(Rs),Rs++):(l=e,0===Us&&Ks(In)),l!==e?r=n=[n,s,o,a,c,i,f,l]:(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e);t=r!==e?u.substring(t,Rs):r;Us--,t===e&&(r=e,0===Us&&Ks(Rn));return t}(),r!==e&&(t,r=Wt(r)),(t=r)===e&&(t=Rs,(r=No())!==e&&(t,r=Wt(r)),(t=r)===e&&(t=Rs,(r=Po())!==e&&(t,r=Wt(r)),(t=r)===e&&(t=Rs,r=function(){var t,r,n,s,o,a,c,i,f,l,A;Us++,t=Rs,r=Rs,Us++,n=function(){var t,r,n;t=Rs,r=[],qn.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(In));if(n!==e)for(;n!==e;)r.push(n),qn.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(In));else r=e;r!==e?(45===u.charCodeAt(Rs)?(n=Un,Rs++):(n=e,0===Us&&Ks(Mn)),n!==e?t=r=[r,n]:(Rs=t,t=e)):(Rs=t,t=e);return t}(),Us--,n===e?r=void 0:(Rs=r,r=e);if(r!==e){if(n=Rs,s=Rs,us.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(ts)),o===e&&(o=null),o!==e){if(a=[],qn.test(u.charAt(Rs))?(c=u.charAt(Rs),Rs++):(c=e,0===Us&&Ks(In)),c!==e)for(;c!==e;)a.push(c),qn.test(u.charAt(Rs))?(c=u.charAt(Rs),Rs++):(c=e,0===Us&&Ks(In));else a=e;if(a!==e){if(c=Rs,46===u.charCodeAt(Rs)?(i=Hn,Rs++):(i=e,0===Us&&Ks(Jn)),i!==e){if(f=[],qn.test(u.charAt(Rs))?(l=u.charAt(Rs),Rs++):(l=e,0===Us&&Ks(In)),l!==e)for(;l!==e;)f.push(l),qn.test(u.charAt(Rs))?(l=u.charAt(Rs),Rs++):(l=e,0===Us&&Ks(In));else f=e;f!==e?c=i=[i,f]:(Rs=c,c=e)}else Rs=c,c=e;if(c===e&&(c=null),c!==e){if(i=Rs,101===u.charCodeAt(Rs)?(f=rs,Rs++):(f=e,0===Us&&Ks(es)),f!==e){if(l=[],qn.test(u.charAt(Rs))?(A=u.charAt(Rs),Rs++):(A=e,0===Us&&Ks(In)),A!==e)for(;A!==e;)l.push(A),qn.test(u.charAt(Rs))?(A=u.charAt(Rs),Rs++):(A=e,0===Us&&Ks(In));else l=e;l!==e?i=f=[f,l]:(Rs=i,i=e)}else Rs=i,i=e;i===e&&(i=null),i!==e?s=o=[o,a,c,i]:(Rs=s,s=e)}else Rs=s,s=e}else Rs=s,s=e}else Rs=s,s=e;(n=s!==e?u.substring(n,Rs):s)!==e?(t,t=r=ns(n)):(Rs=t,t=e)}else Rs=t,t=e;Us--,t===e&&(r=e,0===Us&&Ks(Yn));return t}(),r!==e&&(t,r=Xt(r)),(t=r)===e&&(t=Rs,(r=Io())!==e&&(t,r=Wt(r)),(t=r)===e&&(t=Rs,r=function(){var t,r,n,s,o,a;Us++,t=Rs,u.substr(Rs,7)===bs?(r=bs,Rs+=7):(r=e,0===Us&&Ks(Ds));if(r!==e){if(n=Rs,s=Rs,o=[],ys.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(ws)),a!==e)for(;a!==e;)o.push(a),ys.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(ws));else o=e;o!==e?(u.substr(Rs,2)===xs?(a=xs,Rs+=2):(a=e,0===Us&&Ks($s)),a===e&&(61===u.charCodeAt(Rs)?(a=y,Rs++):(a=e,0===Us&&Ks(w))),a===e&&(a=null),a!==e?s=o=[o,a]:(Rs=s,s=e)):(Rs=s,s=e),(n=s!==e?u.substring(n,Rs):s)!==e?(39===u.charCodeAt(Rs)?(s=En,Rs++):(s=e,0===Us&&Ks(mn)),s!==e?(t,t=r=Ls(n)):(Rs=t,t=e)):(Rs=t,t=e)}else Rs=t,t=e;Us--,t===e&&(r=e,0===Us&&Ks(vs));return t}(),r!==e&&(t,r=Wt(r)),(t=r)===e&&(t=Rs,(r=Co())!==e&&(t,r=Wt(r)),(t=r)===e&&(t=function(){var t,r;Us++,t=Rs,u.substr(Rs,4)===ur?(r=ur,Rs+=4):(r=e,0===Us&&Ks(tr));r!==e&&(t,r=rr());t=r,Us--,t===e&&(r=e,0===Us&&Ks(Yt));return t}())))))))),t}function bo(){var t,r,n,s,o,a;if(Us++,t=Rs,r=Rs,n=Rs,123===u.charCodeAt(Rs)?(s=nr,Rs++):(s=e,0===Us&&Ks(sr)),s!==e){for(o=[],(a=bo())===e&&(or.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(ar)));a!==e;)o.push(a),(a=bo())===e&&(or.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(ar)));o!==e?(125===u.charCodeAt(Rs)?(a=cr,Rs++):(a=e,0===Us&&Ks(ir)),a!==e?n=s=[s,o,a]:(Rs=n,n=e)):(Rs=n,n=e)}else Rs=n,n=e;return(r=n!==e?u.substring(r,Rs):n)!==e&&(t,r=Wt(r)),Us--,(t=r)===e&&(r=e,0===Us&&Ks(er)),t}function Do(){var t,r,n,s,o,a,c,i;if(Us++,t=Rs,r=Rs,n=Rs,91===u.charCodeAt(Rs)?(s=ft,Rs++):(s=e,0===Us&&Ks(lt)),s!==e&&(o=Vo())!==e?(93===u.charCodeAt(Rs)?(a=At,Rs++):(a=e,0===Us&&Ks(ht)),a!==e?n=s=[s,o,a]:(Rs=n,n=e)):(Rs=n,n=e),n===e)if(n=Rs,91===u.charCodeAt(Rs)?(s=ft,Rs++):(s=e,0===Us&&Ks(lt)),s!==e)if((o=Vo())!==e)if(123===u.charCodeAt(Rs)?(a=nr,Rs++):(a=e,0===Us&&Ks(sr)),a!==e){for(c=[],(i=Do())===e&&(lr.test(u.charAt(Rs))?(i=u.charAt(Rs),Rs++):(i=e,0===Us&&Ks(Ar)));i!==e;)c.push(i),(i=Do())===e&&(lr.test(u.charAt(Rs))?(i=u.charAt(Rs),Rs++):(i=e,0===Us&&Ks(Ar)));c!==e?(93===u.charCodeAt(Rs)?(i=At,Rs++):(i=e,0===Us&&Ks(ht)),i!==e?n=s=[s,o,a,c,i]:(Rs=n,n=e)):(Rs=n,n=e)}else Rs=n,n=e;else Rs=n,n=e;else Rs=n,n=e;return(r=n!==e?u.substring(r,Rs):n)!==e&&(t,r=Wt(r)),Us--,(t=r)===e&&(r=e,0===Us&&Ks(fr)),t}function yo(){var t,r,n,s,o,a;if(t=Rs,(r=vo())!==e){for(n=[],s=Rs,44===u.charCodeAt(Rs)?(o=Cr,Rs++):(o=e,0===Us&&Ks(dr)),o!==e&&(a=vo())!==e?(s,s=o=Fr(r,a)):(Rs=s,s=e);s!==e;)n.push(s),s=Rs,44===u.charCodeAt(Rs)?(o=Cr,Rs++):(o=e,0===Us&&Ks(dr)),o!==e&&(a=vo())!==e?(s,s=o=Fr(r,a)):(Rs=s,s=e);n!==e?(t,t=r=Br(r,n)):(Rs=t,t=e)}else Rs=t,t=e;return t}function wo(){var t,r,n;return t=Rs,r=function(){var t,r,n;if(Us++,t=Rs,r=[],mr.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(vr)),n!==e)for(;n!==e;)r.push(n),mr.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(vr));else r=e;return t=r!==e?u.substring(t,Rs):r,Us--,t===e&&(r=e,0===Us&&Ks(Er)),t}(),r!==e&&Ko()!==e?(n=function(){var u,t,r,n,s,o,a;if(u=Rs,t=[],r=Rs,n=Eo(),n!==e){for(s=[],o=Rs,Jo()!==e&&(a=Eo())!==e?(o,o=Dr(n,a)):(Rs=o,o=e);o!==e;)s.push(o),o=Rs,Jo()!==e&&(a=Eo())!==e?(o,o=Dr(n,a)):(Rs=o,o=e);s!==e?(r,r=n=yr(n,s)):(Rs=r,r=e)}else Rs=r,r=e;for(;r!==e;)if(t.push(r),r=Rs,(n=Eo())!==e){for(s=[],o=Rs,Jo()!==e&&(a=Eo())!==e?(o,o=Dr(n,a)):(Rs=o,o=e);o!==e;)s.push(o),o=Rs,Jo()!==e&&(a=Eo())!==e?(o,o=Dr(n,a)):(Rs=o,o=e);s!==e?(r,r=n=yr(n,s)):(Rs=r,r=e)}else Rs=r,r=e;t!==e&&(u,t=wr(t));return u=t,u}(),n!==e&&Qo()!==e?(t,t=r=br(r,n)):(Rs=t,t=e)):(Rs=t,t=e),t}function xo(){var t,r;return t=Rs,Vo()!==e?(u.substr(Rs,3).toLowerCase()===kr?(r=u.substr(Rs,3),Rs+=3):(r=e,0===Us&&Ks(zr)),r!==e&&Wo()!==e?(t,t=Or()):(Rs=t,t=e)):(Rs=t,t=e),t}function $o(){var t,r;return t=Rs,Wo()!==e?(u.substr(Rs,3).toLowerCase()===_r?(r=u.substr(Rs,3),Rs+=3):(r=e,0===Us&&Ks(Rr)),r!==e&&Wo()!==e?(t,t=qr()):(Rs=t,t=e)):(Rs=t,t=e),t}function Lo(){var u,t;return u=Rs,(t=Wo())!==e&&(u,t=qr()),u=t}function So(){var t,r;return t=Rs,Wo()!==e?(u.substr(Rs,2).toLowerCase()===Ir?(r=u.substr(Rs,2),Rs+=2):(r=e,0===Us&&Ks(Nr)),r!==e&&Wo()!==e?(t,t=Ur()):(Rs=t,t=e)):(Rs=t,t=e),t}function To(){var t,r,n;return t=Rs,u.substr(Rs,9)===Mr?(r=Mr,Rs+=9):(r=e,0===Us&&Ks(Pr)),r!==e?(n=function(){var u,t,r,n,s,o;if(u=Rs,t=Ko(),t!==e)if(Vo()!==e)if((r=jo())!==e){for(n=[],s=Rs,Vo()!==e&&Jo()!==e&&Vo()!==e&&(o=jo())!==e?(s,s=Se(r,o)):(Rs=s,s=e);s!==e;)n.push(s),s=Rs,Vo()!==e&&Jo()!==e&&Vo()!==e&&(o=jo())!==e?(s,s=Se(r,o)):(Rs=s,s=e);n!==e&&(s=Vo())!==e&&Qo()!==e?(u,u=t=Te(r,n)):(Rs=u,u=e)}else Rs=u,u=e;else Rs=u,u=e;else Rs=u,u=e;return u}(),n!==e?(t,t=r=Gr(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,7)===Hr?(r=Hr,Rs+=7):(r=e,0===Us&&Ks(Jr)),r!==e?(n=function(){var u,t,r,n,s,o,a,c;if(u=Rs,t=Ko(),t!==e)if(Ko()!==e)if((r=_o())!==e){for(n=[],s=Rs,(o=Jo())!==e&&(a=_o())!==e?(s,s=o=Se(r,a)):(Rs=s,s=e);s!==e;)n.push(s),s=Rs,(o=Jo())!==e&&(a=_o())!==e?(s,s=o=Se(r,a)):(Rs=s,s=e);n!==e?(s=Rs,(o=Qo())!==e&&(s,o=Me(r,n)),(s=o)!==e?(o=Rs,(a=Jo())!==e&&(c=po())!==e?(o,o=a=Pe(r,n,c)):(Rs=o,o=e),o===e&&(o=null),o!==e&&(a=Qo())!==e?(u,u=t=Ge(r,n,o)):(Rs=u,u=e)):(Rs=u,u=e)):(Rs=u,u=e)}else Rs=u,u=e;else Rs=u,u=e;else Rs=u,u=e;return u}(),n!==e?(t,t=r=Kr(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,6)===Qr?(r=Qr,Rs+=6):(r=e,0===Us&&Ks(Vr)),r!==e?(n=function(){var u,t,r,n;u=Rs,t=Ko(),t!==e&&Vo()!==e?(r=Rs,(n=co())!==e&&(r,n=Xe(n)),(r=n)!==e&&(n=Vo())!==e&&Qo()!==e?(u,u=t=Ye(r)):(Rs=u,u=e)):(Rs=u,u=e);return u}(),n!==e?(t,t=r=Wr(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,6)===Xr?(r=Xr,Rs+=6):(r=e,0===Us&&Ks(Yr)),r!==e?(n=function(){var u,t,r,n;u=Rs,t=Ko(),t!==e&&Vo()!==e?(r=Rs,(n=oo())!==e&&(r,n=un(n)),(r=n)!==e&&(n=Vo())!==e&&Qo()!==e?(u,u=t=tn(r)):(Rs=u,u=e)):(Rs=u,u=e);return u}(),n!==e?(t,t=r=ue(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,6)===te?(r=te,Rs+=6):(r=e,0===Us&&Ks(re)),r!==e?(n=function(){var u,t,r,n,s,o;if(u=Rs,t=Ko(),t!==e)if(Vo()!==e)if((r=po())!==e){if(n=[],s=Rs,Vo()!==e&&Jo()!==e&&Vo()!==e&&(o=po())!==e?(s,s=rn(r,o)):(Rs=s,s=e),s!==e)for(;s!==e;)n.push(s),s=Rs,Vo()!==e&&Jo()!==e&&Vo()!==e&&(o=po())!==e?(s,s=rn(r,o)):(Rs=s,s=e);else n=e;n!==e&&(s=Vo())!==e&&Qo()!==e?(u,u=t=en(r,n)):(Rs=u,u=e)}else Rs=u,u=e;else Rs=u,u=e;else Rs=u,u=e;return u}(),n!==e?(t,t=r=ee(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,7)===ne?(r=ne,Rs+=7):(r=e,0===Us&&Ks(se)),r!==e?(n=function(){var u,t,r,n,s,o,a,c,i,f;if(u=Rs,t=Ko(),t!==e)if((r=Vo())!==e)if((n=Ro())!==e){for(s=[],o=Rs,(a=Vo())!==e&&(c=Jo())!==e&&(i=Vo())!==e&&(f=Ro())!==e?o=a=[a,c,i,f]:(Rs=o,o=e);o!==e;)s.push(o),o=Rs,(a=Vo())!==e&&(c=Jo())!==e&&(i=Vo())!==e&&(f=Ro())!==e?o=a=[a,c,i,f]:(Rs=o,o=e);s!==e&&(o=Vo())!==e&&(a=Qo())!==e?u=t=[t,r,n,s,o,a]:(Rs=u,u=e)}else Rs=u,u=e;else Rs=u,u=e;else Rs=u,u=e;return u}(),n!==e?(t,t=r=oe(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,3)===ae?(r=ae,Rs+=3):(r=e,0===Us&&Ks(ce)),r!==e?(n=function(){var u,t,r;u=Rs,t=Ko(),t!==e&&Vo()!==e&&(r=no())!==e&&Vo()!==e&&Qo()!==e?(u,u=t=cn(r)):(Rs=u,u=e);return u}(),n!==e?(t,t=r=ie(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,4)===fe?(r=fe,Rs+=4):(r=e,0===Us&&Ks(le)),r!==e?(n=function(){var u,t,r;u=Rs,t=Ko(),t!==e&&Vo()!==e&&(r=so())!==e&&Vo()!==e&&Qo()!==e?(u,u=t=fn(r)):(Rs=u,u=e);return u}(),n!==e?(t,t=r=Ae(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,7)===he?(r=he,Rs+=7):(r=e,0===Us&&Ks(pe)),r!==e?(n=function(){var u,t,r,n,s,o;if(u=Rs,t=Ko(),t!==e)if(Vo()!==e)if((r=ho())!==e){for(n=[],s=Rs,Jo()!==e&&(o=ho())!==e?(s,s=ln(r,o)):(Rs=s,s=e);s!==e;)n.push(s),s=Rs,Jo()!==e&&(o=ho())!==e?(s,s=ln(r,o)):(Rs=s,s=e);n!==e&&(s=Vo())!==e&&Qo()!==e?(u,u=t=An(r,n)):(Rs=u,u=e)}else Rs=u,u=e;else Rs=u,u=e;else Rs=u,u=e;return u}(),n!==e?(t,t=r=Ce(n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,u.substr(Rs,8).toLowerCase()===de?(r=u.substr(Rs,8),Rs+=8):(r=e,0===Us&&Ks(Fe)),r===e&&(u.substr(Rs,11).toLowerCase()===Be?(r=u.substr(Rs,11),Rs+=11):(r=e,0===Us&&Ks(ge)),r===e&&(u.substr(Rs,6).toLowerCase()===Ee?(r=u.substr(Rs,6),Rs+=6):(r=e,0===Us&&Ks(me)),r===e&&(u.substr(Rs,9).toLowerCase()===ve?(r=u.substr(Rs,9),Rs+=9):(r=e,0===Us&&Ks(be)),r===e&&(u.substr(Rs,10).toLowerCase()===De?(r=u.substr(Rs,10),Rs+=10):(r=e,0===Us&&Ks(ye)),r===e&&(u.substr(Rs,13).toLowerCase()===we?(r=u.substr(Rs,13),Rs+=13):(r=e,0===Us&&Ks(xe))))))),r!==e?(n=function(){var u,t,r,n;u=Rs,t=Ko(),t!==e&&Vo()!==e&&(r=Eo())!==e&&Vo()!==e&&Jo()!==e&&Vo()!==e&&(n=Eo())!==e&&Vo()!==e&&Qo()!==e?(u,u=t=nn(r,n)):(Rs=u,u=e);return u}(),n!==e?(t,t=r=$e(r,n)):(Rs=t,t=e)):(Rs=t,t=e),t===e&&(t=Rs,r=function(){var t,r;t=Rs,u.substr(Rs,8)===sn?(r=sn,Rs+=8):(r=e,0===Us&&Ks(on));r!==e&&(t,r=an());return t=r,t}(),r!==e&&(t,r=Le(r)),t=r)))))))))),t}function jo(){var t,r,n,s;return t=Rs,r=Rs,u.substr(Rs,6)===p?(n=p,Rs+=6):(n=e,0===Us&&Ks(C)),n!==e&&(s=Oo())!==e?(r,r=n=je(s)):(Rs=r,r=e),r===e&&(r=Zo()),r!==e&&(t,r=Ze(r)),t=r}function Zo(){var u,t,r,n,s;return u=Rs,(t=mo())!==e?((r=ko())===e&&(r=null),r!==e?((n=zo())===e&&(n=null),n!==e?((s=Oo())===e&&(s=null),s!==e?(u,u=t=ke(t,r,s)):(Rs=u,u=e)):(Rs=u,u=e)):(Rs=u,u=e)):(Rs=u,u=e),u===e&&(u=Rs,(t=Mo())!==e&&(r=Ko())!==e&&(n=Zo())!==e&&(s=Qo())!==e?u=t=[t,r,n,s]:(Rs=u,u=e)),u}function ko(){var t,r,n,s,o;if(t=Rs,Wo()!==e)if(u.substr(Rs,4)===ze?(r=ze,Rs+=4):(r=e,0===Us&&Ks(Oe)),r!==e)if(Wo()!==e){if(n=Rs,s=[],mr.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(vr)),o!==e)for(;o!==e;)s.push(o),mr.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(vr));else s=e;(n=s!==e?u.substring(n,Rs):s)!==e?(t,t=_e(n)):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;else Rs=t,t=e;return t}function zo(){var t,r,n,s,o,a,c;return t=Rs,(r=Wo())!==e?(u.substr(Rs,4)===Re?(n=Re,Rs+=4):(n=e,0===Us&&Ks(qe)),n!==e&&(s=Wo())!==e&&(o=mo())!==e&&(a=ko())!==e?((c=zo())===e&&(c=null),c!==e?t=r=[r,n,s,o,a,c]:(Rs=t,t=e)):(Rs=t,t=e)):(Rs=t,t=e),t}function Oo(){var t,r,n;return t=Rs,Wo()!==e?(u.substr(Rs,2)===Ie?(r=Ie,Rs+=2):(r=e,0===Us&&Ks(Ne)),r!==e&&Wo()!==e&&(n=Mo())!==e?(t,t=Ue(n)):(Rs=t,t=e)):(Rs=t,t=e),t}function _o(){var t,r;return t=Rs,r=function(){var t,r,n,s,o,a,c,i,f,l,A;t=Rs,r=Rs,u.substr(Rs,6)===Je?(n=Je,Rs+=6):(n=e,0===Us&&Ks(Ke));if(n!==e)if((s=Ko())!==e)if((o=Vo())!==e)if(u.substr(Rs,4)===Qe?(a=Qe,Rs+=4):(a=e,0===Us&&Ks(Ve)),a===e&&(a=mo()),a!==e){if(c=[],i=Rs,(f=Vo())!==e&&(l=Jo())!==e&&(A=mo())!==e?i=f=[f,l,A]:(Rs=i,i=e),i!==e)for(;i!==e;)c.push(i),i=Rs,(f=Vo())!==e&&(l=Jo())!==e&&(A=mo())!==e?i=f=[f,l,A]:(Rs=i,i=e);else c=e;c!==e&&(i=Vo())!==e&&(f=Qo())!==e?r=n=[n,s,o,a,c,i,f]:(Rs=r,r=e)}else Rs=r,r=e;else Rs=r,r=e;else Rs=r,r=e;else Rs=r,r=e;r!==e&&(t,r=We(r));return t=r,t}(),r===e&&(r=mo()),r!==e&&(t,r=He(r)),t=r}function Ro(){var u,t,r;return u=Rs,(t=io())!==e&&(r=Oo())!==e?u=t=[t,r]:(Rs=u,u=e),u}function qo(){var t,r;return Us++,t=Rs,u.substr(Rs,4)===pn?(r=pn,Rs+=4):(r=e,0===Us&&Ks(Cn)),r===e&&(u.substr(Rs,5)===dn?(r=dn,Rs+=5):(r=e,0===Us&&Ks(Fn))),r!==e&&(t,r=Bn(r)),Us--,(t=r)===e&&(r=e,0===Us&&Ks(hn)),t}function Io(){var t,r,n,s,o;if(Us++,t=Rs,39===u.charCodeAt(Rs)?(r=En,Rs++):(r=e,0===Us&&Ks(mn)),r!==e){for(n=Rs,s=[],u.substr(Rs,2)===vn?(o=vn,Rs+=2):(o=e,0===Us&&Ks(bn)),o===e&&(Dn.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(yn)));o!==e;)s.push(o),u.substr(Rs,2)===vn?(o=vn,Rs+=2):(o=e,0===Us&&Ks(bn)),o===e&&(Dn.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(yn)));(n=s!==e?u.substring(n,Rs):s)!==e?(39===u.charCodeAt(Rs)?(s=En,Rs++):(s=e,0===Us&&Ks(mn)),s!==e?(t,t=r=wn(n)):(Rs=t,t=e)):(Rs=t,t=e)}else Rs=t,t=e;return Us--,t===e&&(r=e,0===Us&&Ks(gn)),t}function No(){var t,r,n,s,o,a,c,i,f,l,A,h,p,C,d,F,B,g,E,m,v,b,D,y,w;if(Us++,t=Rs,r=Rs,n=Rs,s=[],qn.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(In)),o!==e)for(;o!==e;)s.push(o),qn.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(In));else s=e;if(s!==e)if(45===u.charCodeAt(Rs)?(o=Un,Rs++):(o=e,0===Us&&Ks(Mn)),o!==e)if(qn.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(In)),a!==e)if(qn.test(u.charAt(Rs))?(c=u.charAt(Rs),Rs++):(c=e,0===Us&&Ks(In)),c!==e)if(45===u.charCodeAt(Rs)?(i=Un,Rs++):(i=e,0===Us&&Ks(Mn)),i!==e)if(qn.test(u.charAt(Rs))?(f=u.charAt(Rs),Rs++):(f=e,0===Us&&Ks(In)),f!==e)if(qn.test(u.charAt(Rs))?(l=u.charAt(Rs),Rs++):(l=e,0===Us&&Ks(In)),l!==e){if(A=Rs,84===u.charCodeAt(Rs)?(h=Pn,Rs++):(h=e,0===Us&&Ks(Gn)),h!==e)if(qn.test(u.charAt(Rs))?(p=u.charAt(Rs),Rs++):(p=e,0===Us&&Ks(In)),p!==e)if(qn.test(u.charAt(Rs))?(C=u.charAt(Rs),Rs++):(C=e,0===Us&&Ks(In)),C!==e)if(58===u.charCodeAt(Rs)?(d=Ju,Rs++):(d=e,0===Us&&Ks(Ku)),d!==e)if(qn.test(u.charAt(Rs))?(F=u.charAt(Rs),Rs++):(F=e,0===Us&&Ks(In)),F!==e)if(qn.test(u.charAt(Rs))?(B=u.charAt(Rs),Rs++):(B=e,0===Us&&Ks(In)),B!==e){if(g=Rs,58===u.charCodeAt(Rs)?(E=Ju,Rs++):(E=e,0===Us&&Ks(Ku)),E!==e)if(qn.test(u.charAt(Rs))?(m=u.charAt(Rs),Rs++):(m=e,0===Us&&Ks(In)),m!==e)if(qn.test(u.charAt(Rs))?(v=u.charAt(Rs),Rs++):(v=e,0===Us&&Ks(In)),v!==e){if(b=Rs,46===u.charCodeAt(Rs)?(D=Hn,Rs++):(D=e,0===Us&&Ks(Jn)),D!==e){if(y=[],qn.test(u.charAt(Rs))?(w=u.charAt(Rs),Rs++):(w=e,0===Us&&Ks(In)),w!==e)for(;w!==e;)y.push(w),qn.test(u.charAt(Rs))?(w=u.charAt(Rs),Rs++):(w=e,0===Us&&Ks(In));else y=e;y!==e?b=D=[D,y]:(Rs=b,b=e)}else Rs=b,b=e;b===e&&(b=null),b!==e?g=E=[E,m,v,b]:(Rs=g,g=e)}else Rs=g,g=e;else Rs=g,g=e;else Rs=g,g=e;g===e&&(g=null),g!==e?(90===u.charCodeAt(Rs)?(E=Kn,Rs++):(E=e,0===Us&&Ks(Qn)),E===e&&(E=Rs,43===u.charCodeAt(Rs)?(m=Vn,Rs++):(m=e,0===Us&&Ks(Wn)),m===e&&(45===u.charCodeAt(Rs)?(m=Un,Rs++):(m=e,0===Us&&Ks(Mn))),m!==e?(qn.test(u.charAt(Rs))?(v=u.charAt(Rs),Rs++):(v=e,0===Us&&Ks(In)),v!==e?(qn.test(u.charAt(Rs))?(b=u.charAt(Rs),Rs++):(b=e,0===Us&&Ks(In)),b!==e?(58===u.charCodeAt(Rs)?(D=Ju,Rs++):(D=e,0===Us&&Ks(Ku)),D!==e?(qn.test(u.charAt(Rs))?(y=u.charAt(Rs),Rs++):(y=e,0===Us&&Ks(In)),y!==e?(qn.test(u.charAt(Rs))?(w=u.charAt(Rs),Rs++):(w=e,0===Us&&Ks(In)),w!==e?E=m=[m,v,b,D,y,w]:(Rs=E,E=e)):(Rs=E,E=e)):(Rs=E,E=e)):(Rs=E,E=e)):(Rs=E,E=e)):(Rs=E,E=e)),E===e&&(E=null),E!==e?A=h=[h,p,C,d,F,B,g,E]:(Rs=A,A=e)):(Rs=A,A=e)}else Rs=A,A=e;else Rs=A,A=e;else Rs=A,A=e;else Rs=A,A=e;else Rs=A,A=e;else Rs=A,A=e;A===e&&(A=null),A!==e?n=s=[s,o,a,c,i,f,l,A]:(Rs=n,n=e)}else Rs=n,n=e;else Rs=n,n=e;else Rs=n,n=e;else Rs=n,n=e;else Rs=n,n=e;else Rs=n,n=e;else Rs=n,n=e;return(r=n!==e?u.substring(r,Rs):n)!==e&&(t,r=Xn(r)),Us--,(t=r)===e&&(r=e,0===Us&&Ks(Nn)),t}function Uo(){var t,r,n,s,o,a;if(Us++,t=Rs,r=Rs,n=Rs,us.test(u.charAt(Rs))?(s=u.charAt(Rs),Rs++):(s=e,0===Us&&Ks(ts)),s===e&&(s=null),s!==e){if(o=[],qn.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(In)),a!==e)for(;a!==e;)o.push(a),qn.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(In));else o=e;o!==e?n=s=[s,o]:(Rs=n,n=e)}else Rs=n,n=e;return(r=n!==e?u.substring(r,Rs):n)!==e&&(t,r=os(r)),Us--,(t=r)===e&&(r=e,0===Us&&Ks(ss)),t}function Mo(){var t,r,n,s,o,a,c,i;if(Us++,t=Rs,r=Rs,Us++,n=qo(),Us--,n===e?r=void 0:(Rs=r,r=e),r!==e)if(n=Rs,Us++,s=Po(),Us--,s===e?n=void 0:(Rs=n,n=e),n!==e){if(s=Rs,o=Rs,cs.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(is)),a!==e){for(c=[],fs.test(u.charAt(Rs))?(i=u.charAt(Rs),Rs++):(i=e,0===Us&&Ks(ls));i!==e;)c.push(i),fs.test(u.charAt(Rs))?(i=u.charAt(Rs),Rs++):(i=e,0===Us&&Ks(ls));c!==e?o=a=[a,c]:(Rs=o,o=e)}else Rs=o,o=e;(s=o!==e?u.substring(s,Rs):o)!==e?(t,t=r=As(s)):(Rs=t,t=e)}else Rs=t,t=e;else Rs=t,t=e;return Us--,t===e&&(r=e,0===Us&&Ks(as)),t}function Po(){var t,r,n,s,o,a,c,i,f,l,A,h,p,C;return Us++,t=Rs,r=Rs,(n=Go())!==e&&(s=Go())!==e?(45===u.charCodeAt(Rs)?(o=Un,Rs++):(o=e,0===Us&&Ks(Mn)),o===e&&(o=null),o!==e&&(a=Go())!==e?(45===u.charCodeAt(Rs)?(c=Un,Rs++):(c=e,0===Us&&Ks(Mn)),c===e&&(c=null),c!==e&&(i=Go())!==e?(45===u.charCodeAt(Rs)?(f=Un,Rs++):(f=e,0===Us&&Ks(Mn)),f===e&&(f=null),f!==e&&(l=Go())!==e?(45===u.charCodeAt(Rs)?(A=Un,Rs++):(A=e,0===Us&&Ks(Mn)),A===e&&(A=null),A!==e&&(h=Go())!==e&&(p=Go())!==e&&(C=Go())!==e?r=n=[n,s,o,a,c,i,f,l,A,h,p,C]:(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e),t=r!==e?u.substring(t,Rs):r,Us--,t===e&&(r=e,0===Us&&Ks(hs)),t}function Go(){var t,r,n,s,o,a;return Us++,t=Rs,r=Rs,Cs.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(ds)),n!==e?(Cs.test(u.charAt(Rs))?(s=u.charAt(Rs),Rs++):(s=e,0===Us&&Ks(ds)),s!==e?(Cs.test(u.charAt(Rs))?(o=u.charAt(Rs),Rs++):(o=e,0===Us&&Ks(ds)),o!==e?(Cs.test(u.charAt(Rs))?(a=u.charAt(Rs),Rs++):(a=e,0===Us&&Ks(ds)),a!==e?r=n=[n,s,o,a]:(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e)):(Rs=r,r=e),t=r!==e?u.substring(t,Rs):r,Us--,t===e&&(r=e,0===Us&&Ks(ps)),t}function Ho(){var t,r,n,s;if(t=Rs,r=Rs,n=[],Fs.test(u.charAt(Rs))?(s=u.charAt(Rs),Rs++):(s=e,0===Us&&Ks(Bs)),s!==e)for(;s!==e;)n.push(s),Fs.test(u.charAt(Rs))?(s=u.charAt(Rs),Rs++):(s=e,0===Us&&Ks(Bs));else n=e;return(r=n!==e?u.substring(r,Rs):n)!==e&&(t,r=gs(r)),t=r}function Jo(){var t,r,n,s;return t=Rs,(r=Vo())!==e?(44===u.charCodeAt(Rs)?(n=Cr,Rs++):(n=e,0===Us&&Ks(dr)),n!==e&&(s=Vo())!==e?t=r=[r,n,s]:(Rs=t,t=e)):(Rs=t,t=e),t}function Ko(){var t,r,n,s;return t=Rs,(r=Vo())!==e?(40===u.charCodeAt(Rs)?(n=Ss,Rs++):(n=e,0===Us&&Ks(Ts)),n!==e&&(s=Vo())!==e?t=r=[r,n,s]:(Rs=t,t=e)):(Rs=t,t=e),t}function Qo(){var t,r,n;return t=Rs,(r=Vo())!==e?(41===u.charCodeAt(Rs)?(n=js,Rs++):(n=e,0===Us&&Ks(Zs)),n!==e?t=r=[r,n]:(Rs=t,t=e)):(Rs=t,t=e),t}function Vo(){var t,r,n;for(Us++,t=Rs,r=[],zs.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(Os));n!==e;)r.push(n),zs.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(Os));return t=r!==e?u.substring(t,Rs):r,Us--,t===e&&(r=e,0===Us&&Ks(ks)),t}function Wo(){var t,r,n;if(Us++,t=Rs,r=[],zs.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(Os)),n!==e)for(;n!==e;)r.push(n),zs.test(u.charAt(Rs))?(n=u.charAt(Rs),Rs++):(n=e,0===Us&&Ks(Os));else r=e;return t=r!==e?u.substring(t,Rs):r,Us--,t===e&&(r=e,0===Us&&Ks(_s)),t}const Xo=Object.assign,{strict:Yo,minimal:ua}=t,ta=[];let ra,ea;const na=["$value"],sa=t.safeNumber||function(u){const t=Number(u);return Number.isSafeInteger(t)?t:u},oa=t.skipToken,aa=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},ca=u=>t=>u===t||u.as&&t.as&&u.as===t.as||t.as&&u.ref&&t.as===u.ref[u.ref.length-1]||u.ref&&t.ref&&u.ref.join("")===t.ref.join(""),ia=u=>t=>{if(Array.isArray(t))return t.map(ia(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},fa=u=>t=>Array.isArray(t)?t.map(fa(u)):t.ref&&!u.find(ca(t))?{val:null}:t,la=(u,t)=>{if(1===t.ref.length)u.find(ca(t))||u.push(t);else{const r=t.ref.shift(),e=u.find((u=>u.ref&&u.ref[0]===r));if(e)la(e.expand,t);else{const e={ref:[r],expand:[]};la(e.expand,t),u.push(e)}}},Aa=(u,t,r=!1)=>{let e=Ca({from:u.from},t,r);if(Array.isArray(e))for(let t=0;t<e.length;t++)e[t]=ha(e[t],u,r);else e=ha(e,u,r);return e},ha=(u,t,r)=>{if(!t)return u;t.apply&&delete t.apply;let e={};t.columns&&"$count"===t.columns[0].as||u.SELECT.where&&t.where||u.SELECT.limit&&t.limit||u.SELECT.orderBy&&t.orderBy||u.SELECT.search&&t.search?e.from=u:e=u.SELECT;for(const u in t)"columns"===u?(t.columns=t.columns.map((u=>e.columns&&e.columns.find((t=>u.ref&&u.ref[0]===t.as||t.ref&&u.ref&&u.ref[0]===t.ref[0]&&!u.expand))||u)),e.columns&&e.groupBy&&t.columns.push(...e.columns.filter((u=>r&&e.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===u.as||t.ref&&u.ref&&t.ref[0]===u.ref[0]||t.as&&t.as===u.as))))||[]),e.columns=t.columns):"from"!==u&&(e[u]=t[u]);const n=[...e.columns&&e.columns.filter((u=>e.groupBy&&e.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))))||[],...e.columns&&e.columns.filter((u=>u&&"object"==typeof u&&"func"in u))||[]];return pa(e,n,r),{SELECT:e}},pa=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const e=t.find(ca(r));return e&&u.push(e),u}),[]):t,u.where&&(u.where=u.where.map(ia(u.columns)),u.groupBy&&(u.having=u.where.map(fa(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(ca(r))?la(u,{ref:[...r.ref]}):u.push(r),u)),[]))},Ca=(u,t,r)=>{if(!t)return;if(u.apply&&delete u.apply,t.identity&&u.from.SELECT&&(u=u.from.SELECT),(t.apply||t.where&&u.where||t.search&&u.search||t.limit&&u.limit||t.orderBy&&u.orderBy)&&(u.from={SELECT:{...u}}),t.where&&(u.where=t.where),t.search&&(u.search=t.search),t.groupBy){u.groupBy=[];for(const r of t.groupBy)u.groupBy.find(ca(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const e=[...u.groupBy||[],...t.aggregate||[]];if(pa(u,e,r),t.apply&&u.from&&Ca(u.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const r=[];for(let e of t.concat){e.from=1===Object.keys(u).length?u.from:{SELECT:u};const t=Ca(e,e.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},da=u=>{ra.limit&&ra.limit.offset&&ra.limit.offset.val&&(u+=ra.limit.offset.val),(ra.limit||(ra.limit={})).offset={val:u}},Fa=(u,t=!1)=>{ra.orderBy=ra.orderBy?t?[u,...ra.orderBy]:[...ra.orderBy,u]:[u]},Ba=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Ba(u,r.args);return t},ga=(u,t,r,e=!1)=>{u?.forEach((u=>{u.val===t?u.val=r.val:u.list===t?u.list=r.list:u.func?u.args.forEach(((u,n)=>{u.val===t?u.val=r.val:u.func&&ga(u.args,t,r,e)})):u.SELECT&&Ea(u.SELECT,t,r,e)}))},Ea=(u,t,r,e=!1)=>{const{where:n,from:s}=u;ga(n,t,r),s?.ref?.forEach((u=>{ga(u.where,t,r,!0)}))};if((r=s())!==e&&Rs===u.length)return r;throw r!==e&&Rs<u.length&&Ks({type:"end"}),Qs(Ns,Is<u.length?u.charAt(Is):null,Is<u.length?Js(Is,Is+1):Js(Is,Is))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.buildMessage=function(u,t){var r={literal:function(u){return'"'+n(u.text)+'"'},class:function(u){var t,r="";for(t=0;t<u.parts.length;t++)r+=u.parts[t]instanceof Array?s(u.parts[t][0])+"-"+s(u.parts[t][1]):s(u.parts[t]);return"["+(u.inverted?"^":"")+r+"]"},any:function(u){return"any character"},end:function(u){return"end of input"},other:function(u){return u.description}};function e(u){return u.charCodeAt(0).toString(16).toUpperCase()}function n(u){return u.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+e(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+e(u)}))}function s(u){return u.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+e(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+e(u)}))}return"Expected "+function(u){var t,e,n,s=new Array(u.length);for(t=0;t<u.length;t++)s[t]=(n=u[t],r[n.type](n));if(s.sort(),s.length>0){for(t=1,e=1;t<s.length;t++)s[t-1]!==s[t]&&(s[e]=s[t],e++);s.length=e}switch(s.length){case 1:return s[0];case 2:return s[0]+" or "+s[1];default:return s.slice(0,-1).join(", ")+", or "+s[s.length-1]}}(u)+" but "+function(u){return u?'"'+n(u)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
1
+ "use strict";function peg$subclass(u,t){function r(){this.constructor=u}r.prototype=t.prototype,u.prototype=new r}function peg$SyntaxError(u,t,r,n){var e=Error.call(this,u);return Object.setPrototypeOf&&Object.setPrototypeOf(e,peg$SyntaxError.prototype),e.expected=t,e.found=r,e.location=n,e.name="SyntaxError",e}function peg$padEnd(u,t,r){return r=r||" ",u.length>t?u:(t-=u.length,u+(r+=r.repeat(t)).slice(0,t))}function peg$parse(u,t){var r,n={},e=(t=void 0!==t?t:{}).grammarSource,o={ODataRelativeURI:Es},s=Es,a="/",c="?",i="&",f="$count",l="$ref",A="$value",h="=",p="$skiptoken=",C="$select=",d="$expand=",F="$filter=",B="$orderby=",g="$top=",v="$skip=",E="$search=",m="$count=",b="$apply=",D="$at",y="$from",w="$toInclusive",x="$to",$="*",L="/$count",S=";",T=":",j="any",O="all",Z="asc",z="desc",k="[",_="]",R="@",q="$format=",I="eq",N="ne",P="lt",U="gt",M="le",G="ge",H="in",J="null",K="{",Q="}",V=",",W="contains",X="endswith",Y="startswith",uu="not",tu="and",ru="or",nu="aggregate",eu="groupby",ou="filter",su="search",au="concat",cu="compute",iu="top",fu="skip",lu="orderby",Au="topcount",hu="bottomcount",pu="topsum",Cu="bottomsum",du="toppercent",Fu="bottompercent",Bu="with",gu="from",vu="as",Eu="rollup",mu="$all",bu="identity",Du="true",yu="false",wu="'",xu="''",$u='"',Lu='\\"',Su="-",Tu="T",ju=".",Ou="Z",Zu="+",zu="e",ku="binary'",_u="==",Ru="(",qu=")",Iu=/^[a-zA-Z0-9\-_.~]/,Nu=/^[^&]/,Pu=/^[^}]/,Uu=/^[^\]]/,Mu=/^[a-zA-Z]/,Gu=/^[^']/,Hu=/^[^"]/,Ju=/^[^ \t\n()"&;]/,Ku=/^[0-9]/,Qu=/^[+\-]/,Vu=/^[_a-zA-Z]/,Wu=/^[_a-zA-Z0-9"."A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,Xu=/^[0-9a-fA-F]/,Yu=/^[^\/?]/,ut=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,tt=/^[a-zA-Z0-9\-_]/,rt=/^[ \t\n]/,nt=ps("/",!1),et=ps("?",!1),ot=ps("&",!1),st=ps("$count",!1),at=ps("$ref",!1),ct=ps("$value",!1),it=ps("=",!1),ft=ps("$skiptoken=",!1),lt=ps("$select=",!1),At=ps("$expand=",!1),ht=ps("$filter=",!1),pt=ps("$orderby=",!1),Ct=ps("$top=",!1),dt=ps("$skip=",!1),Ft=ps("$search=",!1),Bt=ps("$count=",!1),gt=ps("$apply=",!1),vt=ps("$at",!1),Et=ps("$from",!1),mt=ps("$toInclusive",!1),bt=ps("$to",!1),Dt=ps("*",!1),yt=ps("/$count",!1),wt=ps(";",!1),xt=ps(":",!1),$t=ps("any",!1),Lt=ps("all",!1),St=ps("asc",!1),Tt=ps("desc",!1),jt=ps("[",!1),Ot=ps("]",!1),Zt=Cs([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),zt=Cs(["&"],!0,!1),kt=ds("an aliased parameter (@param)"),_t=ps("@",!1),Rt=ps("$format=",!1),qt=ps("eq",!1),It=ps("ne",!1),Nt=ps("lt",!1),Pt=ps("gt",!1),Ut=ps("le",!1),Mt=ps("ge",!1),Gt=ps("in",!1),Ht=(ps("add",!1),ps("sub",!1),ps("mul",!1),ps("div",!1),ps("mod",!1),ds("navigation with $count")),Jt=ds("a reference"),Kt=ds("null"),Qt=ps("null",!1),Vt=ds("a json object"),Wt=ps("{",!1),Xt=Cs(["}"],!0,!1),Yt=ps("}",!1),ur=ds("a json array"),tr=Cs(["]"],!0,!1),rr=ds("a list"),nr=ps(",",!1),er=ds("a function name"),or=Cs([["a","z"],["A","Z"]],!1,!1),sr=ps("contains",!0),ar=ps("endswith",!0),cr=ps("startswith",!0),ir=ps("NOT",!0),fr=ps("AND",!0),lr=ps("OR",!0),Ar=ps("aggregate",!1),hr=ps("groupby",!1),pr=ps("filter",!1),Cr=ps("search",!1),dr=ps("concat",!1),Fr=ps("compute",!1),Br=ps("top",!1),gr=ps("skip",!1),vr=ps("orderby",!1),Er=ps("topcount",!0),mr=ps("bottomcount",!0),br=ps("topsum",!0),Dr=ps("bottomsum",!0),yr=ps("toppercent",!0),wr=ps("bottompercent",!0),xr=ps("with",!1),$r=ps("from",!1),Lr=ps("as",!1),Sr=ps("rollup",!1),Tr=ps("$all",!1),jr=ps("identity",!1),Or=ds("a boolean"),Zr=ps("true",!1),zr=ps("false",!1),kr=ds("a single quoted string"),_r=ps("'",!1),Rr=ps("''",!1),qr=Cs(["'"],!0,!1),Ir=ds("a doubled quoted string"),Nr=ps('"',!1),Pr=ps('\\"',!1),Ur=Cs(['"'],!0,!1),Mr=ds("a string"),Gr=Cs([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Hr=ds("a time"),Jr=Cs([["0","9"]],!1,!1),Kr=ds("a date"),Qr=ps("-",!1),Vr=ps("T",!1),Wr=ps(".",!1),Xr=ps("Z",!1),Yr=ps("+",!1),un=ds("a number"),tn=Cs(["+","-"],!1,!1),rn=ps("e",!1),nn=ds("an integer"),en=ds("an identifier"),on=Cs(["_",["a","z"],["A","Z"]],!1,!1),sn=Cs(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"',["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],"Ͷ","ͷ",["ͺ","ͽ"],"Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԧ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],"ٮ","ٯ",["ٱ","ۓ"],"ە","ۥ","ۦ","ۮ","ۯ",["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],"ߴ","ߵ","ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],"ࢠ",["ࢢ","ࢬ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ॷ"],["ॹ","ॿ"],["অ","ঌ"],"এ","ঐ",["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ","ড়","ঢ়",["য়","ৡ"],"ৰ","ৱ",["ਅ","ਊ"],"ਏ","ਐ",["ਓ","ਨ"],["ਪ","ਰ"],"ਲ","ਲ਼","ਵ","ਸ਼","ਸ","ਹ",["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],"લ","ળ",["વ","હ"],"ઽ","ૐ","ૠ","ૡ",["ଅ","ଌ"],"ଏ","ଐ",["ଓ","ନ"],["ପ","ର"],"ଲ","ଳ",["ଵ","ହ"],"ଽ","ଡ଼","ଢ଼",["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],"ங","ச","ஜ","ஞ","ட","ண","த",["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","ళ"],["వ","హ"],"ఽ","ౘ","ౙ","ౠ","ౡ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ","ೠ","ೡ","ೱ","ೲ",["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ","ൠ","ൡ",["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],"า","ำ",["เ","ๆ"],"ກ","ຂ","ຄ","ງ","ຈ","ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ","ສ","ຫ",["ອ","ະ"],"າ","ຳ","ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ","ၥ","ၦ",["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏼ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤜ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᧁ","ᧇ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],"ᮮ","ᮯ",["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],"ᳵ","ᳶ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ","Ↄ","ↄ",["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],"Ⳳ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ","々","〆",["〱","〵"],"〻","〼",["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿌"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],"ꘪ","ꘫ",["Ꙁ","ꙮ"],["ꙿ","ꚗ"],["ꚠ","ꛥ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꞎ"],["Ꞑ","ꞓ"],["Ꞡ","Ɦ"],["ꟸ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꪀ","ꪯ"],"ꪱ","ꪵ","ꪶ",["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ","נּ","סּ","ףּ","פּ",["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),an=ds("a guid"),cn=ds("a hex value"),fn=Cs([["0","9"],["a","f"],["A","F"]],!1,!1),ln=Cs(["/","?"],!0,!1),An=Cs([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),hn=ds("a binary"),pn=ps("binary'",!1),Cn=Cs([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),dn=ps("==",!1),Fn=ps("(",!1),Bn=ps(")",!1),gn=ds("an optional whitespace"),vn=Cs([" ","\t","\n"],!1,!1),En=ds("a whitespace"),mn=function(u){wa=u},bn=function(){if(xa)return wa.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete wa.expand,delete wa.limit,delete wa.orderBy,wa.apply?ka(wa,wa.apply):{SELECT:wa};let u;if(wa.expand){wa.columns||(wa.columns=["*"],u=!0);for(const u of wa.expand){const t=wa.columns.findIndex(ja(u));t>-1&&wa.columns.splice(t,1),wa.columns.push(u)}delete wa.expand}return wa.count&&wa.apply&&(wa.__countAggregated=!0),wa.apply?ka(wa,wa.apply,u):{SELECT:wa}},Dn=function(){xa=!0},yn=function(u){return!$a.includes(u)&&{from:{ref:[u]}}},wn=function(u){return[u]},xn=function(u,t){return t},$n=function(u,t){if(t=t&&t[1],!u&&!t)return{from:{ref:[""]}};if(!u&&t&&t.from)return t.from.ref.unshift(""),t;const[r,n]=u,e=[];if(n?n.length>2?e.push({id:r,where:n[1].map((u=>u.val&&u.val.match&&u.val.match(/^"(.*)"$/)?{val:u.val.match(/^"(.*)"$/)[1]}:u))}):e.push({id:r,where:[]}):Da?e.push(`${"object"==typeof r&&"val"in r?r.val:r}`):"object"==typeof r&&"string"==typeof r.val&&r.val.match(/^[1-9]\d*$|^0$/)?e.push({val:La(r.val)}):e.push(r),t&&t.from){const u=t.from.ref;Object.prototype.hasOwnProperty.call(u[0],"val")&&(e[e.length-1]={id:e[e.length-1],where:[u.shift()]}),e.push(...u)}const o={from:{ref:e}};return t&&t.columns&&(o.columns=t.columns),o},Ln=function(u){return[u]},Sn=function(u,t,r){const n=[u,"=",t];return r&&n.push("and",...r[1]),n},Tn=function(u){u&&u.apply&&(wa.apply=u.apply)},jn=function(u){wa.where=u},On=function(u,t){Na(t)},Zn=function(u){Na(u,!0)},zn=function(u){(wa.limit||(wa.limit={})).rows={val:u}},kn=function(u){Ia(u)},_n=function(u){u&&(wa.search=u)},Rn=function(u){return u},qn=function(u){return wa.columns=Array.isArray(wa.columns)?wa.columns:[],wa.columns.find(ja(u))||wa.columns.push(u),u},In=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},Nn=function(u){return u},Pn=function(u){if(u.find((u=>u&&void 0!==u.apply))){const u=new Error('"$apply" is not supported for expand operation');throw u.statusCode=501,u}if(wa.columns){for(const u of wa.columns)wa.expand.find(ja(u))||wa.expand.push(u);delete wa.columns}else Array.isArray(wa.expand)&&-1===wa.expand.indexOf("*")&&wa.expand.unshift("*")},Un=function(){ya.push(wa),wa=wa.expand[wa.expand.length-1],wa.expand=[]},Mn=function(){wa.expand.length||wa.expand.push("*"),wa=ya.pop()},Gn=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(wa.expand)||(wa.expand=[]),wa.expand.find(ja(t))||wa.expand.push(t),t},Hn=function(u){return u},Jn=function(u){Sa(u,{SELECT:wa})},Kn=function(u){return u},Qn=function(u){return u},Vn=function(u){return u?[u]:[]},Wn=function(u,t){u.push({xpr:t})},Xn=function(u,t){u.push({val:t})},Yn=function(u,t){u.push({val:t})},ue=function(u,t){u.push({val:t})},te=function(u,t,r){u.push(t,...r)},re=function(u){return u},ne=function(u){return u},ee=function(u){return u?[u]:[]},oe=function(u,t){u.push({xpr:t})},se=function(u,t){u.push(...t)},ae=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},ce=function(u,t){u.push(t)},ie=function(u,t){u.push({val:t})},fe=function(u,t){u.push(...t)},le=function(u,t,r){u.push(t,...r)},Ae=function(u){return u},he=function(u){return[u]},pe=function(u,t){u.push(t)},Ce=function(u,t){let r=u.pop();if(!t)return["exists",{ref:[...u,{id:r}]}];let n=[];for(let u=0,e=0;u<t.length;++u){let o=t[u];o.ref&&0===o.ref.length&&"="===t[u+1]?n[e++]={func:"contains",args:[{ref:[r]},t[u+=2]]}:n[e++]=o}return n.length<t.length?u.length?(r=u.pop(),["exists",{ref:[...u,{id:r,where:n}]}]):n:["exists",{ref:[...u,{id:r,where:t}]}]},de=function(u,t){let r=u.pop();return["not","exists",{ref:[...u,{id:r,where:["not",{xpr:[...t]}]}]}]},Fe=function(u,t){return t},Be=function(u){return u?[u]:[]},ge=function(u,t){u.push("(",...t,")")},ve=function(u,t){u.push(...t)},Ee=function(u,t){u.push(t)},me=function(u,t){u.push(...t)},be=function(u,t){u.push(...t)},De=function(u,t,r){u.push(t,...r)},ye=function(u){return u},we=function(u,t){return Pa(u,t)},xe=function(u){return u},$e=function(u){return u},Le=function(){const u=new Error('"$orderby" does not support lambda');throw u.statusCode=501,u},Se=function(u,t){return t},Te=function(u,t){return ma(u,t&&{sort:t})},je=function(u){u&&(wa.count=!0)},Oe=function(u,t){return t},Ze=function(u,t){if(void 0!==u){t=Array.isArray(t)?t:[t];for(let r of t)for(const t in r)if("limit"===t&&r.limit&&u.limit&&u.limit.offset&&r.limit.rows)u.limit.rows=r.limit.rows;else if(u[t]||"groupBy"===t&&(u.where||u.search)||"aggregate"===t&&"groupBy"in u&&!("groupBy"in r)){let n=u;u={apply:n},"limit"===t&&r[t].offset&&n.limit&&n.limit.offset&&n.limit.offset.val&&(r[t].offset+=n.limit.offset.val),n=u,n[t]=r[t]}else u[t]=r[t];return{apply:u}}},ze=function(u){return{list:u}},ke=function(u){return"@"+u},_e=function(u,t){Ma(wa,u,t)},Re=function(u){if("json"!==u.toLowerCase()){const u=new Error('Only query parameter "json" is allowed in "$format".');throw u.statusCode=501,u}},qe=function(u,t,r){return[u,{eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="}[t]||t,r]},Ie=function(u){return{list:u}},Ne=function(u,t){return[u,"in",t]},Pe=function(u,t){return t},Ue=function(u,t){return t?{id:u,where:t}:u},Me=function(u,t){return{func:"count",as:"$count",args:[{ref:u}]}},Ge=function(u,t){return t},He=function(u,t){return"null"===u?{val:null}:{ref:[u,...t]}},Je=function(u){return{val:u}},Ke=function(u){return{val:u}},Qe=function(u){return{val:u}},Ve=function(u){return{val:u}},We=function(u){return"number"==typeof u?{val:u}:{val:u,literal:"number"}},Xe=function(u){return{val:u}},Ye=function(u){return{val:u}},uo=function(u){return{val:u}},to=function(){return{val:null}},ro=function(u){return{val:u}},no=function(u){return{val:u}},eo=function(u){return{list:u.replace(/"/g,"").split(",").map((u=>({val:u})))}},oo=function(u,t){return t},so=function(u,t){return[u,...t]},ao=function(u){return{list:u}},co=function(u,t){if(ba&&!(u.toLowerCase()in ba.functions))throw Object.assign(new Error(`"${u}" is an unknown function in OData URL spec (strict mode)`),{statusCode:400});return{func:u.toLowerCase(),args:t}},io=function(u,t){return t},fo=function(u,t){return[u,...t]},lo=function(u){return u.length?u[0]:u},Ao=function(u,t,r){return{func:u.toLowerCase(),args:[t,r]}},ho=function(){return"not"},po=function(){return"and"},Co=function(){return"and"},Fo=function(){return"or"},Bo=function(u){return u},go=function(u){return u},vo=function(u){return u},Eo=function(u){return u},mo=function(u){return u},bo=function(u){return u},Do=function(u){return u},yo=function(u){return u},wo=function(u){return u},xo=function(u,t){if(!{topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1}[u=u.toLowerCase()])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},$o=function(u){return u},Lo=function(u,t){return t},So=function(u,t){return{aggregate:[u,...t]}},To=function(u){return{func:"count",args:[{val:1}],as:u}},jo=function(u){return u},Oo=function(u,t,r){return{func:t,args:[u],as:r}},Zo=function(u){return u.toLowerCase()},zo=function(u){return u},ko=function(u,t){return t},_o=function(u,t){return{groupBy:[u,...t]}},Ro=function(u,t,r){return r},qo=function(u,t,r){let n={};return n=r?{groupBy:[u,...t],...r.apply}:{groupBy:[u,...t]},n},Io=function(u){return u},No=function(u){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Po=function(u){return u},Uo=function(u){return{where:u}},Mo=function(u){if(u)return u},Go=function(u){return{search:u}},Ho=function(u,t){return t},Jo=function(u,t){return{concat:[u,...t]}},Ko=function(u,t){return[u,t]},Qo=function(){return{identity:!0}},Vo=function(u){return{limit:{rows:{val:u}}}},Wo=function(u){return{limit:{offset:{val:u}}}},Xo=function(u,t){return t},Yo=function(u,t){return{orderBy:[u,...t]}},us=function(u){return"true"===u},ts=function(u){return u.replace(/''/g,"'")},rs=function(u){return u.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},ns=function(u){if(u.split("-")[0].length>4)throw Object.assign(new Error(`The type 'Edm.DateTimeOffset' is not compatible with '${u}'`),{statusCode:400});return u},es=function(u){return La(u)},os=function(u){return parseInt(u)},ss=function(u){return u},as=function(u){return{val:u}},cs=function(u){return Ta(u)},is=0,fs=[{line:1,column:1}],ls=0,As=[],hs=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function ps(u,t){return{type:"literal",text:u,ignoreCase:t}}function Cs(u,t,r){return{type:"class",parts:u,inverted:t,ignoreCase:r}}function ds(u){return{type:"other",description:u}}function Fs(t){var r,n=fs[t];if(n)return n;for(r=t-1;!fs[r];)r--;for(n={line:(n=fs[r]).line,column:n.column};r<t;)10===u.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return fs[t]=n,n}function Bs(u,t,r){var n=Fs(u),o=Fs(t),s={source:e,start:{offset:u,line:n.line,column:n.column},end:{offset:t,line:o.line,column:o.column}};return r&&e&&"function"==typeof e.offset&&(s.start=e.offset(s.start),s.end=e.offset(s.end)),s}function gs(u){is<ls||(is>ls&&(ls=is,As=[]),As.push(u))}function vs(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function Es(){var t,r,e,o,s,f,l,A,h,p,C,d,F,B,g;if(t=is,47===u.charCodeAt(is)?(r=a,is++):(r=n,0===hs&&gs(nt)),r===n&&(r=null),e=is,(o=ms())!==n&&(e,o=mn(o)),(e=o)!==n){if(o=is,s=va(),63===u.charCodeAt(is)?(f=c,is++):(f=n,0===hs&&gs(et)),f!==n){if(l=va(),A=is,(h=Ds())!==n){for(p=[],C=is,d=va(),38===u.charCodeAt(is)?(F=i,is++):(F=n,0===hs&&gs(ot)),F!==n?(B=va(),(g=Ds())!==n?C=d=[d,F,B,g]:(is=C,C=n)):(is=C,C=n);C!==n;)p.push(C),C=is,d=va(),38===u.charCodeAt(is)?(F=i,is++):(F=n,0===hs&&gs(ot)),F!==n?(B=va(),(g=Ds())!==n?C=d=[d,F,B,g]:(is=C,C=n)):(is=C,C=n);A=h=[h,p]}else is=A,A=n;A===n&&(A=null),o=s=[s,f,l,A]}else is=o,o=n;o===n&&(o=null),s=va(),t,t=bn()}else is=t,t=n;return t}function ms(){var t,r,e,o,s,c,i;return t=is,u.substr(is,6)===f?(r=f,is+=6):(r=n,0===hs&&gs(st)),r!==n&&(t,r=Dn()),(t=r)===n&&(t=is,r=is,u.substr(is,4)===l?(e=l,is+=4):(e=n,0===hs&&gs(at)),e===n&&(u.substr(is,6)===A?(e=A,is+=6):(e=n,0===hs&&gs(ct))),(r=e!==n?u.substring(r,is):e)!==n&&(t,r=yn(r)),(t=r)===n&&(t=is,r=is,(e=ha())!==n?(o=is,(s=Ba())!==n&&(c=ga())!==n?o=s=[s,c]:(is=o,o=n),o===n&&(o=is,(s=Ba())!==n&&(c=bs())!==n&&(i=ga())!==n?o=s=[s,c,i]:(is=o,o=n)),o===n&&(o=null),s=is,hs++,c=da(),hs--,c===n?s=void 0:(is=s,s=n),s!==n?r=e=[e,o,s]:(is=r,r=n)):(is=r,r=n),r===n&&(r=is,(e=da())!==n&&(r,e=wn(e)),r=e),r===n&&(r=null),e=is,o=is,47===u.charCodeAt(is)?(s=a,is++):(s=n,0===hs&&gs(nt)),s!==n&&(o,s=xn(r,s)),(o=s)!==n?((s=ms())===n&&(s=null),e=o=[o,s]):(is=e,e=n),e===n&&(e=null),t,t=$n(r,e))),t}function bs(){var t,r,e,o,s,a,c;return t=is,(r=Hs())!==n&&(t,r=Ln(r)),(t=r)===n&&(t=is,(r=Gs())!==n?(va(),61===u.charCodeAt(is)?(e=h,is++):(e=n,0===hs&&gs(it)),e!==n?(va(),(o=Hs())!==n?(s=is,(a=Fa())!==n&&(c=bs())!==n?s=a=[a,c]:(is=s,s=n),s===n&&(s=null),t,t=Sn(r,o,s)):(is=t,t=n)):(is=t,t=n)):(is=t,t=n)),t}function Ds(){var t,r,e,o;return t=is,(r=ys())!==n&&(t,r=Tn(r)),(t=r)===n&&(t=is,u.substr(is,11)===p?(r=p,is+=11):(r=n,0===hs&&gs(ft)),r!==n?(e=va(),o=function(){var t,r;t=is,r=function(){var t,r,e;t=is,r=[],ut.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(An));if(e!==n)for(;e!==n;)r.push(e),ut.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(An));else r=n;t=r!==n?u.substring(t,is):r;return t}(),r===n&&(r=null);return t,r=Jn(r),t=r,t}(),t=r=[r,e,o]):(is=t,t=n),t===n&&(t=function(){var t,r,e,o;t=is,u.substr(is,3)===D?(r=D,is+=3):(r=n,0===hs&&gs(vt));r===n&&(u.substr(is,5)===y?(r=y,is+=5):(r=n,0===hs&&gs(Et)),r===n&&(u.substr(is,12)===w?(r=w,is+=12):(r=n,0===hs&&gs(mt)),r===n&&(u.substr(is,3)===x?(r=x,is+=3):(r=n,0===hs&&gs(bt)))));r!==n?(61===u.charCodeAt(is)?(e=h,is++):(e=n,0===hs&&gs(it)),e!==n&&(o=la())!==n?t=r=[r,e,o]:(is=t,t=n)):(is=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o,s;t=is,u.substr(is,8)===q?(r=q,is+=8):(r=n,0===hs&&gs(Rt));if(r!==n){for(e=is,o=[],Nu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(zt));s!==n;)o.push(s),Nu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(zt));e=u.substring(e,is),t,t=Re(e)}else is=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=is,r=[],Iu.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(Zt));if(e!==n)for(;e!==n;)r.push(e),Iu.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(Zt));else r=n;if(r!==n)if(61===u.charCodeAt(is)?(e=h,is++):(e=n,0===hs&&gs(it)),e!==n){for(o=[],Nu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(zt));s!==n;)o.push(s),Nu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(zt));t=r=[r,e,o]}else is=t,t=n;else is=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=is,r=Is(),r!==n?(61===u.charCodeAt(is)?(e=h,is++):(e=n,0===hs&&gs(it)),e!==n?(o=is,hs++,s=Is(),hs--,s===n?o=void 0:(is=o,o=n),o!==n?(s=function(){var t,r,e,o;t=Hs(),t===n&&(t=Js())===n&&(t=Ks())===n&&(t=is,91===u.charCodeAt(is)?(r=k,is++):(r=n,0===hs&&gs(jt)),r!==n&&(e=Qs())!==n?(93===u.charCodeAt(is)?(o=_,is++):(o=n,0===hs&&gs(Ot)),o!==n?(t,t=ze(e)):(is=t,t=n)):(is=t,t=n));return t}(),s!==n?(t,t=_e(r,s)):(is=t,t=n)):(is=t,t=n)):(is=t,t=n)):(is=t,t=n);return t}()))))),t}function ys(){var t,r,e,o,s,a,c,i;if(t=is,u.substr(is,8)===C?(r=C,is+=8):(r=n,0===hs&&gs(lt)),r!==n)if(e=va(),(o=ws())!==n){for(s=[],a=is,(c=Fa())!==n&&(i=ws())!==n?a=c=[c,i]:(is=a,a=n);a!==n;)s.push(a),a=is,(c=Fa())!==n&&(i=ws())!==n?a=c=[c,i]:(is=a,a=n);t=r=[r,e,o,s]}else is=t,t=n;else is=t,t=n;if(t===n){if(t=is,u.substr(is,8)===d?(r=d,is+=8):(r=n,0===hs&&gs(At)),r!==n)if(e=va(),(o=$s())!==n){for(s=[],a=is,(c=Fa())!==n&&(i=$s())!==n?a=c=[c,i]:(is=a,a=n);a!==n;)s.push(a),a=is,(c=Fa())!==n&&(i=$s())!==n?a=c=[c,i]:(is=a,a=n);a=function(){var t,r;t=is,u.substr(is,7)===L?(r=L,is+=7):(r=n,0===hs&&gs(yt));r!==n&&(t,r=In());return t=r,t}(),a===n&&(a=null),t=r=[r,e,o,s,a]}else is=t,t=n;else is=t,t=n;if(t===n&&(t=is,u.substr(is,8)===F?(r=F,is+=8):(r=n,0===hs&&gs(ht)),r!==n?(e=va(),(o=Os())!==n?(t,t=jn(o)):(is=t,t=n)):(is=t,t=n),t===n)){if(t=is,u.substr(is,9)===B?(r=B,is+=9):(r=n,0===hs&&gs(pt)),r!==n)if(e=va(),(o=Rs())!==n){for(s=[],a=is,(c=Fa())!==n&&(i=Rs())!==n?(a,a=On(o,i)):(is=a,a=n);a!==n;)s.push(a),a=is,(c=Fa())!==n&&(i=Rs())!==n?(a,a=On(o,i)):(is=a,a=n);t,t=Zn(o)}else is=t,t=n;else is=t,t=n;t===n&&(t=is,u.substr(is,5)===g?(r=g,is+=5):(r=n,0===hs&&gs(Ct)),r!==n?(e=va(),(o=Ls())!==n?(t,t=zn(o)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,6)===v?(r=v,is+=6):(r=n,0===hs&&gs(dt)),r!==n?(e=va(),(o=Ss())!==n?(t,t=kn(o)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,8)===E?(r=E,is+=8):(r=n,0===hs&&gs(Ft)),r!==n?(e=va(),(o=Ts())!==n?(t,t=_n(o)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,7)===m?(r=m,is+=7):(r=n,0===hs&&gs(Bt)),r!==n?(e=va(),o=function(){var u,t;u=is,t=ia(),t!==n&&(u,t=je(t));return u=t,u}(),o!==n?t=r=[r,e,o]:(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,7)===b?(r=b,is+=7):(r=n,0===hs&&gs(gt)),r!==n?(e=va(),(o=qs())!==n?(t,t=Rn(o)):(is=t,t=n)):(is=t,t=n))))))}}return t}function ws(){var t,r;return t=is,42===u.charCodeAt(is)?(r=$,is++):(r=n,0===hs&&gs(Dt)),r===n&&(r=Gs()),r!==n&&(t,r=qn(r)),t=r}function xs(){var t,r,e,o,s;return t=is,r=is,(e=Ba())!==n&&(r,e=Un()),(r=e)!==n?(e=function(){var t,r,e,o,s;for(t=is,r=[],e=is,(o=ys())!==n?(va(),59===u.charCodeAt(is)?(s=S,is++):(s=n,0===hs&&gs(wt)),s===n&&(s=null),e,e=Nn(o)):(is=e,e=n);e!==n;)r.push(e),e=is,(o=ys())!==n?(va(),59===u.charCodeAt(is)?(s=S,is++):(s=n,0===hs&&gs(wt)),s===n&&(s=null),e,e=Nn(o)):(is=e,e=n);return t,Pn(r)}(),o=is,(s=ga())!==n&&(o,s=Mn()),(o=s)!==n?t=r=[r,e,o]:(is=t,t=n)):(is=t,t=n),t}function $s(){var t,r,e;return t=is,r=is,42===u.charCodeAt(is)?(e=$,is++):(e=n,0===hs&&gs(Dt)),e===n&&(e=Gs()),e!==n&&(r,e=Gn(e)),(r=e)!==n?((e=xs())===n&&(e=null),t=r=[r,e]):(is=t,t=n),t}function Ls(){var u,t;return u=is,(t=Aa())!==n&&(u,t=Hn(t)),u=t}function Ss(){var u,t;return u=is,(t=Aa())!==n&&(u,t=Kn(t)),u=t}function Ts(){var u,t;return u=is,(t=js())!==n&&(u,t=Qn(t)),(u=t)===n&&(u=va()),u}function js(){var t,r,e,o,s,a,c;if(t=is,r=is,(e=Ws())===n&&(e=null),r,r=e=Vn(e),e=is,(o=Ba())!==n&&(s=js())!==n&&(a=ga())!==n?(e,e=Wn(r,s)):(is=e,e=n),e===n&&(e=is,o=function(){var t,r,e,o,s;hs++,t=is,34===u.charCodeAt(is)?(r=$u,is++):(r=n,0===hs&&gs(Nr));if(r!==n){for(e=is,o=[],u.substr(is,2)===Lu?(s=Lu,is+=2):(s=n,0===hs&&gs(Pr)),s===n&&(Hu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(Ur)));s!==n;)o.push(s),u.substr(is,2)===Lu?(s=Lu,is+=2):(s=n,0===hs&&gs(Pr)),s===n&&(Hu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(Ur)));e=u.substring(e,is),34===u.charCodeAt(is)?(o=$u,is++):(o=n,0===hs&&gs(Nr)),o!==n?(t,t=rs(e)):(is=t,t=n)}else is=t,t=n;hs--,t===n&&(r=n,0===hs&&gs(Ir));return t}(),o!==n&&(e,o=Xn(r,o)),(e=o)===n&&(e=is,(o=fa())!==n&&(e,o=Yn(r,o)),(e=o)===n&&(e=is,o=function(){var t,r,e;hs++,t=is,r=[],Ju.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(Gr));if(e!==n)for(;e!==n;)r.push(e),Ju.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(Gr));else r=n;t=r!==n?u.substring(t,is):r;hs--,t===n&&(r=n,0===hs&&gs(Mr));return t}(),o!==n&&(e,o=ue(r,o)),e=o))),e!==n){for(o=[],s=is,(a=Xs())===n&&(a=ua())===n&&(a=Ys()),a!==n&&(c=js())!==n?(s,s=te(r,a,c)):(is=s,s=n);s!==n;)o.push(s),s=is,(a=Xs())===n&&(a=ua())===n&&(a=Ys()),a!==n&&(c=js())!==n?(s,s=te(r,a,c)):(is=s,s=n);t,t=re(r)}else is=t,t=n;return t}function Os(){var u,t;return u=is,(t=Zs())!==n&&(u,t=ne(t)),u=t}function Zs(){var t,r,e,o,s,a,c;if(t=is,r=is,(e=Ws())===n&&(e=null),r,r=e=ee(e),e=is,(o=Ba())!==n&&(s=Zs())!==n&&(a=ga())!==n?(e,e=oe(r,s)):(is=e,e=n),e===n&&(e=is,(o=Ns())!==n&&(e,o=se(r,o)),(e=o)===n&&(e=is,(o=zs())!==n&&(e,o=ae(r,o)),(e=o)===n&&(e=is,o=function(){var t,r,e,o;t=is,u.substr(is,8).toLowerCase()===W?(r=u.substr(is,8),is+=8):(r=n,0===hs&&gs(sr));r===n&&(u.substr(is,8).toLowerCase()===X?(r=u.substr(is,8),is+=8):(r=n,0===hs&&gs(ar)),r===n&&(u.substr(is,10).toLowerCase()===Y?(r=u.substr(is,10),is+=10):(r=n,0===hs&&gs(cr))));r!==n&&Ba()!==n&&(e=Ms())!==n&&Fa()!==n&&(o=Ms())!==n&&ga()!==n?(t,t=Ao(r,e,o)):(is=t,t=n);return t}(),o!==n&&(e,o=ce(r,o)),(e=o)===n&&(e=is,(o=ia())!==n&&(e,o=ie(r,o)),(e=o)===n&&(e=is,(o=Us())!==n&&(e,o=fe(r,o)),e=o))))),e!==n){for(o=[],s=is,(a=Xs())===n&&(a=ua()),a!==n&&(c=Zs())!==n?(s,s=le(r,a,c)):(is=s,s=n);s!==n;)o.push(s),s=is,(a=Xs())===n&&(a=ua()),a!==n&&(c=Zs())!==n?(s,s=le(r,a,c)):(is=s,s=n);t,t=Ae(r)}else is=t,t=n;return t}function zs(){var t,r,e,o,s,c,i;if(t=is,r=is,(e=ha())!==n&&(r,e=he(e)),(r=e)!==n)if(47===u.charCodeAt(is)?(e=a,is++):(e=n,0===hs&&gs(nt)),e!==n){for(o=[],s=is,(c=ha())!==n?(47===u.charCodeAt(is)?(i=a,is++):(i=n,0===hs&&gs(nt)),i!==n?(s,s=pe(r,c)):(is=s,s=n)):(is=s,s=n);s!==n;)o.push(s),s=is,(c=ha())!==n?(47===u.charCodeAt(is)?(i=a,is++):(i=n,0===hs&&gs(nt)),i!==n?(s,s=pe(r,c)):(is=s,s=n)):(is=s,s=n);s=is,c=function(){var t,r,e;t=is,u.substr(is,3)===j?(r=j,is+=3):(r=n,0===hs&&gs($t));r!==n&&Ba()!==n?((e=_s())===n&&(e=null),ga()!==n?(t,t=xe(e)):(is=t,t=n)):(is=t,t=n);return t}(),c!==n&&(s,c=Ce(r,c)),(s=c)===n&&(s=is,c=function(){var t,r,e;t=is,u.substr(is,3)===O?(r=O,is+=3):(r=n,0===hs&&gs(Lt));r!==n&&Ba()!==n&&(e=_s())!==n&&ga()!==n?(t,t=$e(e)):(is=t,t=n);return t}(),c!==n&&(s,c=de(r,c)),s=c),s!==n?(t,t=Fe(r,s)):(is=t,t=n)}else is=t,t=n;else is=t,t=n;return t}function ks(){var u,t,r,e,o,s,a;if(u=is,t=is,(r=Ws())===n&&(r=null),t,t=r=Be(r),r=is,(e=Ba())!==n&&(o=ks())!==n&&(s=ga())!==n?(r,r=ge(t,o)):(is=r,r=n),r===n&&(r=is,(e=Ns())!==n&&(r,e=ve(t,e)),(r=e)===n&&(r=is,(e=Vs())!==n&&(r,e=Ee(t,e)),(r=e)===n&&(r=is,(e=zs())!==n&&(r,e=me(t,e)),(r=e)===n&&(r=is,(e=Us())!==n&&(r,e=be(t,e)),r=e)))),r!==n){for(e=[],o=is,(s=Xs())===n&&(s=ua()),s!==n&&(a=ks())!==n?(o,o=De(t,s,a)):(is=o,o=n);o!==n;)e.push(o),o=is,(s=Xs())===n&&(s=ua()),s!==n&&(a=ks())!==n?(o,o=De(t,s,a)):(is=o,o=n);u,u=ye(t)}else is=u,u=n;return u}function _s(){var t,r,e,o;return t=is,(r=ha())!==n?(58===u.charCodeAt(is)?(e=T,is++):(e=n,0===hs&&gs(xt)),e!==n&&(o=ks())!==n?(t,t=we(r,o)):(is=t,t=n)):(is=t,t=n),t}function Rs(){var t,r,e,o,s;return t=is,r=is,(e=zs())!==n&&(r,e=Le()),(r=e)===n&&(r=Vs())===n&&(r=Gs()),r!==n?(e=is,Ea()!==n?(o=is,u.substr(is,3)===Z?(s=Z,is+=3):(s=n,0===hs&&gs(St)),s===n&&(u.substr(is,4)===z?(s=z,is+=4):(s=n,0===hs&&gs(Tt))),(o=s!==n?u.substring(o,is):s)!==n?(e,e=Se(r,o)):(is=e,e=n)):(is=e,e=n),e===n&&(e=null),t,t=Te(r,e)):(is=t,t=n),t}function qs(){var t,r,e,o,s,c;if(t=is,(r=ta())!==n){for(e=[],o=is,47===u.charCodeAt(is)?(s=a,is++):(s=n,0===hs&&gs(nt)),s!==n&&(c=ta())!==n?(o,o=Oe(r,c)):(is=o,o=n);o!==n;)e.push(o),o=is,47===u.charCodeAt(is)?(s=a,is++):(s=n,0===hs&&gs(nt)),s!==n&&(c=ta())!==n?(o,o=Oe(r,c)):(is=o,o=n);t,t=Ze(r,e)}else is=t,t=n;return t}function Is(){var t,r,e;return hs++,t=is,64===u.charCodeAt(is)?(r=R,is++):(r=n,0===hs&&gs(_t)),r!==n&&(e=ha())!==n?(t,t=ke(e)):(is=t,t=n),hs--,t===n&&(r=n,0===hs&&gs(kt)),t}function Ns(){var t,r,e,o,s;return t=is,(r=Ms())!==n&&Ea()!==n?(e=is,u.substr(is,2)===I?(o=I,is+=2):(o=n,0===hs&&gs(qt)),o===n&&(u.substr(is,2)===N?(o=N,is+=2):(o=n,0===hs&&gs(It)),o===n&&(u.substr(is,2)===P?(o=P,is+=2):(o=n,0===hs&&gs(Nt)),o===n&&(u.substr(is,2)===U?(o=U,is+=2):(o=n,0===hs&&gs(Pt)),o===n&&(u.substr(is,2)===M?(o=M,is+=2):(o=n,0===hs&&gs(Ut)),o===n&&(u.substr(is,2)===G?(o=G,is+=2):(o=n,0===hs&&gs(Mt))))))),(e=o!==n?u.substring(e,is):o)!==n&&(o=Ea())!==n&&(s=Ms())!==n?(t,t=qe(r,e,s)):(is=t,t=n)):(is=t,t=n),t}function Ps(){var u,t;return u=is,(t=Is())!==n&&(u,t=Ie(t)),(u=t)===n&&(u=function(){var u,t,r;hs++,u=is,t=Ba(),t!==n&&(r=Qs())!==n&&ga()!==n?(u,u=ao(r)):(is=u,u=n);hs--,u===n&&(t=n,0===hs&&gs(rr));return u}()),u}function Us(){var t,r,e,o;return t=is,(r=Ms())!==n&&Ea()!==n?(u.substr(is,2)===H?(e=H,is+=2):(e=n,0===hs&&gs(Gt)),e!==n&&Ea()!==n&&(o=Ps())!==n?(t,t=Ne(r,o)):(is=t,t=n)):(is=t,t=n),t}function Ms(){var t;return(t=function(){var t,r,e,o,s,c,i;hs++,t=is,r=[],e=is,(o=ha())!==n?(s=is,(c=Ba())!==n&&(i=bs())!==n&&ga()!==n?(s,s=Pe(o,i)):(is=s,s=n),s===n&&(s=null),47===u.charCodeAt(is)?(c=a,is++):(c=n,0===hs&&gs(nt)),c!==n?(e,e=Ue(o,s)):(is=e,e=n)):(is=e,e=n);if(e!==n)for(;e!==n;)r.push(e),e=is,(o=ha())!==n?(s=is,(c=Ba())!==n&&(i=bs())!==n&&ga()!==n?(s,s=Pe(o,i)):(is=s,s=n),s===n&&(s=null),47===u.charCodeAt(is)?(c=a,is++):(c=n,0===hs&&gs(nt)),c!==n?(e,e=Ue(o,s)):(is=e,e=n)):(is=e,e=n);else r=n;r!==n?(u.substr(is,6)===f?(e=f,is+=6):(e=n,0===hs&&gs(st)),e!==n?(t,t=Me(r,e)):(is=t,t=n)):(is=t,t=n);hs--,t===n&&(r=n,0===hs&&gs(Ht));return t}())===n&&(t=Vs())===n&&(t=Hs())===n&&(t=Gs())===n&&(t=Js())===n&&(t=Ks())===n&&(t=function(){var t,r,e,o,s;hs++,t=is,91===u.charCodeAt(is)?(r=k,is++):(r=n,0===hs&&gs(jt));if(r!==n){for(e=is,o=[],Uu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(tr));s!==n;)o.push(s),Uu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(tr));e=u.substring(e,is),93===u.charCodeAt(is)?(o=_,is++):(o=n,0===hs&&gs(Ot)),o!==n?(t,t=eo(e)):(is=t,t=n)}else is=t,t=n;hs--,t===n&&(r=n,0===hs&&gs(rr));return t}()),t}function Gs(){var t,r,e,o,s,c;if(hs++,t=is,(r=ha())!==n){for(e=[],o=is,47===u.charCodeAt(is)?(s=a,is++):(s=n,0===hs&&gs(nt)),s!==n&&(c=ha())!==n?(o,o=Ge(r,c)):(is=o,o=n);o!==n;)e.push(o),o=is,47===u.charCodeAt(is)?(s=a,is++):(s=n,0===hs&&gs(nt)),s!==n&&(c=ha())!==n?(o,o=Ge(r,c)):(is=o,o=n);t,t=He(r,e)}else is=t,t=n;return hs--,t===n&&(r=n,0===hs&&gs(Jt)),t}function Hs(){var t,r;return t=is,(r=ia())===n&&(r=la()),r!==n&&(t,r=Je(r)),(t=r)===n&&(t=is,r=function(){var t,r,e,o,s,a,c,i,f,l;hs++,t=is,r=is,Ku.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(Jr));e!==n?(Ku.test(u.charAt(is))?(o=u.charAt(is),is++):(o=n,0===hs&&gs(Jr)),o!==n?(58===u.charCodeAt(is)?(s=T,is++):(s=n,0===hs&&gs(xt)),s!==n?(Ku.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Jr)),a!==n?(Ku.test(u.charAt(is))?(c=u.charAt(is),is++):(c=n,0===hs&&gs(Jr)),c!==n?(58===u.charCodeAt(is)?(i=T,is++):(i=n,0===hs&&gs(xt)),i!==n?(Ku.test(u.charAt(is))?(f=u.charAt(is),is++):(f=n,0===hs&&gs(Jr)),f!==n?(Ku.test(u.charAt(is))?(l=u.charAt(is),is++):(l=n,0===hs&&gs(Jr)),l!==n?r=e=[e,o,s,a,c,i,f,l]:(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n);t=r!==n?u.substring(t,is):r;hs--,t===n&&(r=n,0===hs&&gs(Hr));return t}(),r!==n&&(t,r=Ke(r)),(t=r)===n&&(t=is,(r=la())!==n&&(t,r=Qe(r)),(t=r)===n&&(t=is,(r=pa())!==n&&(t,r=Ve(r)),(t=r)===n&&(t=is,r=function(){var t,r,e,o,s,a,c,i,f,l,A;hs++,t=is,r=is,hs++,e=function(){var t,r,e;t=is,r=[],Ku.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(Jr));if(e!==n)for(;e!==n;)r.push(e),Ku.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(Jr));else r=n;r!==n?(45===u.charCodeAt(is)?(e=Su,is++):(e=n,0===hs&&gs(Qr)),e!==n?t=r=[r,e]:(is=t,t=n)):(is=t,t=n);return t}(),hs--,e===n?r=void 0:(is=r,r=n);if(r!==n){if(e=is,o=is,Qu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(tn)),s===n&&(s=null),a=[],Ku.test(u.charAt(is))?(c=u.charAt(is),is++):(c=n,0===hs&&gs(Jr)),c!==n)for(;c!==n;)a.push(c),Ku.test(u.charAt(is))?(c=u.charAt(is),is++):(c=n,0===hs&&gs(Jr));else a=n;if(a!==n){if(c=is,46===u.charCodeAt(is)?(i=ju,is++):(i=n,0===hs&&gs(Wr)),i!==n){if(f=[],Ku.test(u.charAt(is))?(l=u.charAt(is),is++):(l=n,0===hs&&gs(Jr)),l!==n)for(;l!==n;)f.push(l),Ku.test(u.charAt(is))?(l=u.charAt(is),is++):(l=n,0===hs&&gs(Jr));else f=n;f!==n?c=i=[i,f]:(is=c,c=n)}else is=c,c=n;if(c===n&&(c=null),i=is,101===u.charCodeAt(is)?(f=zu,is++):(f=n,0===hs&&gs(rn)),f!==n){if(l=[],Ku.test(u.charAt(is))?(A=u.charAt(is),is++):(A=n,0===hs&&gs(Jr)),A!==n)for(;A!==n;)l.push(A),Ku.test(u.charAt(is))?(A=u.charAt(is),is++):(A=n,0===hs&&gs(Jr));else l=n;l!==n?i=f=[f,l]:(is=i,i=n)}else is=i,i=n;i===n&&(i=null),o=s=[s,a,c,i]}else is=o,o=n;(e=o!==n?u.substring(e,is):o)!==n?(t,t=es(e)):(is=t,t=n)}else is=t,t=n;hs--,t===n&&(r=n,0===hs&&gs(un));return t}(),r!==n&&(t,r=We(r)),(t=r)===n&&(t=is,(r=fa())!==n&&(t,r=Xe(r)),(t=r)===n&&(t=is,r=function(){var t,r,e,o,s,a;hs++,t=is,u.substr(is,7)===ku?(r=ku,is+=7):(r=n,0===hs&&gs(pn));if(r!==n){if(e=is,o=is,s=[],tt.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Cn)),a!==n)for(;a!==n;)s.push(a),tt.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Cn));else s=n;s!==n?(u.substr(is,2)===_u?(a=_u,is+=2):(a=n,0===hs&&gs(dn)),a===n&&(61===u.charCodeAt(is)?(a=h,is++):(a=n,0===hs&&gs(it))),a===n&&(a=null),o=s=[s,a]):(is=o,o=n),(e=o!==n?u.substring(e,is):o)!==n?(39===u.charCodeAt(is)?(o=wu,is++):(o=n,0===hs&&gs(_r)),o!==n?(t,t=cs(e)):(is=t,t=n)):(is=t,t=n)}else is=t,t=n;hs--,t===n&&(r=n,0===hs&&gs(hn));return t}(),r!==n&&(t,r=Ye(r)),(t=r)===n&&(t=is,(r=Is())!==n&&(t,r=uo(r)),(t=r)===n&&(t=function(){var t,r;hs++,t=is,u.substr(is,4)===J?(r=J,is+=4):(r=n,0===hs&&gs(Qt));r!==n&&(t,r=to());t=r,hs--,t===n&&(r=n,0===hs&&gs(Kt));return t}())))))))),t}function Js(){var t,r,e,o,s,a;if(hs++,t=is,r=is,e=is,123===u.charCodeAt(is)?(o=K,is++):(o=n,0===hs&&gs(Wt)),o!==n){for(s=[],(a=Js())===n&&(Pu.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Xt)));a!==n;)s.push(a),(a=Js())===n&&(Pu.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Xt)));125===u.charCodeAt(is)?(a=Q,is++):(a=n,0===hs&&gs(Yt)),a!==n?e=o=[o,s,a]:(is=e,e=n)}else is=e,e=n;return(r=e!==n?u.substring(r,is):e)!==n&&(t,r=ro(r)),hs--,(t=r)===n&&(r=n,0===hs&&gs(Vt)),t}function Ks(){var t,r,e,o,s,a,c,i;if(hs++,t=is,r=is,e=is,91===u.charCodeAt(is)?(o=k,is++):(o=n,0===hs&&gs(jt)),o!==n?(s=va(),93===u.charCodeAt(is)?(a=_,is++):(a=n,0===hs&&gs(Ot)),a!==n?e=o=[o,s,a]:(is=e,e=n)):(is=e,e=n),e===n)if(e=is,91===u.charCodeAt(is)?(o=k,is++):(o=n,0===hs&&gs(jt)),o!==n)if(s=va(),123===u.charCodeAt(is)?(a=K,is++):(a=n,0===hs&&gs(Wt)),a!==n){for(c=[],(i=Ks())===n&&(Uu.test(u.charAt(is))?(i=u.charAt(is),is++):(i=n,0===hs&&gs(tr)));i!==n;)c.push(i),(i=Ks())===n&&(Uu.test(u.charAt(is))?(i=u.charAt(is),is++):(i=n,0===hs&&gs(tr)));93===u.charCodeAt(is)?(i=_,is++):(i=n,0===hs&&gs(Ot)),i!==n?e=o=[o,s,a,c,i]:(is=e,e=n)}else is=e,e=n;else is=e,e=n;return(r=e!==n?u.substring(r,is):e)!==n&&(t,r=no(r)),hs--,(t=r)===n&&(r=n,0===hs&&gs(ur)),t}function Qs(){var t,r,e,o,s,a;if(t=is,(r=Hs())!==n){for(e=[],o=is,44===u.charCodeAt(is)?(s=V,is++):(s=n,0===hs&&gs(nr)),s!==n&&(a=Hs())!==n?(o,o=oo(r,a)):(is=o,o=n);o!==n;)e.push(o),o=is,44===u.charCodeAt(is)?(s=V,is++):(s=n,0===hs&&gs(nr)),s!==n&&(a=Hs())!==n?(o,o=oo(r,a)):(is=o,o=n);t,t=so(r,e)}else is=t,t=n;return t}function Vs(){var t,r,e;return t=is,r=function(){var t,r,e;if(hs++,t=is,r=[],Mu.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(or)),e!==n)for(;e!==n;)r.push(e),Mu.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(or));else r=n;return t=r!==n?u.substring(t,is):r,hs--,t===n&&(r=n,0===hs&&gs(er)),t}(),r!==n&&Ba()!==n?(e=function(){var u,t,r,e,o,s,a;if(u=is,t=[],r=is,e=Ms(),e!==n){for(o=[],s=is,Fa()!==n&&(a=Ms())!==n?(s,s=io(e,a)):(is=s,s=n);s!==n;)o.push(s),s=is,Fa()!==n&&(a=Ms())!==n?(s,s=io(e,a)):(is=s,s=n);r,r=fo(e,o)}else is=r,r=n;for(;r!==n;)if(t.push(r),r=is,(e=Ms())!==n){for(o=[],s=is,Fa()!==n&&(a=Ms())!==n?(s,s=io(e,a)):(is=s,s=n);s!==n;)o.push(s),s=is,Fa()!==n&&(a=Ms())!==n?(s,s=io(e,a)):(is=s,s=n);r,r=fo(e,o)}else is=r,r=n;return u,t=lo(t),u=t,u}(),ga()!==n?(t,t=co(r,e)):(is=t,t=n)):(is=t,t=n),t}function Ws(){var t,r;return t=is,va(),u.substr(is,3).toLowerCase()===uu?(r=u.substr(is,3),is+=3):(r=n,0===hs&&gs(ir)),r!==n&&Ea()!==n?(t,t=ho()):(is=t,t=n),t}function Xs(){var t,r;return t=is,Ea()!==n?(u.substr(is,3).toLowerCase()===tu?(r=u.substr(is,3),is+=3):(r=n,0===hs&&gs(fr)),r!==n&&Ea()!==n?(t,t=po()):(is=t,t=n)):(is=t,t=n),t}function Ys(){var u,t;return u=is,(t=Ea())!==n&&(u,t=Co()),u=t}function ua(){var t,r;return t=is,Ea()!==n?(u.substr(is,2).toLowerCase()===ru?(r=u.substr(is,2),is+=2):(r=n,0===hs&&gs(lr)),r!==n&&Ea()!==n?(t,t=Fo()):(is=t,t=n)):(is=t,t=n),t}function ta(){var t,r,e;return t=is,u.substr(is,9)===nu?(r=nu,is+=9):(r=n,0===hs&&gs(Ar)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=is,t=Ba(),t!==n)if(va(),(r=ra())!==n){for(e=[],o=is,va(),Fa()!==n?(va(),(s=ra())!==n?(o,o=Lo(r,s)):(is=o,o=n)):(is=o,o=n);o!==n;)e.push(o),o=is,va(),Fa()!==n?(va(),(s=ra())!==n?(o,o=Lo(r,s)):(is=o,o=n)):(is=o,o=n);o=va(),ga()!==n?(u,u=So(r,e)):(is=u,u=n)}else is=u,u=n;else is=u,u=n;return u}(),e!==n?(t,t=Bo(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,7)===eu?(r=eu,is+=7):(r=n,0===hs&&gs(hr)),r!==n?(e=function(){var u,t,r,e,o,s,a,c;if(u=is,t=Ba(),t!==n)if(Ba()!==n)if((r=aa())!==n){for(e=[],o=is,(s=Fa())!==n&&(a=aa())!==n?(o,o=ko(r,a)):(is=o,o=n);o!==n;)e.push(o),o=is,(s=Fa())!==n&&(a=aa())!==n?(o,o=ko(r,a)):(is=o,o=n);o=is,(s=ga())!==n&&(o,s=_o(r,e)),(o=s)!==n?(s=is,(a=Fa())!==n&&(c=qs())!==n?(s,s=Ro(r,e,c)):(is=s,s=n),s===n&&(s=null),(a=ga())!==n?(u,u=qo(r,e,s)):(is=u,u=n)):(is=u,u=n)}else is=u,u=n;else is=u,u=n;else is=u,u=n;return u}(),e!==n?(t,t=go(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,6)===ou?(r=ou,is+=6):(r=n,0===hs&&gs(pr)),r!==n?(e=function(){var u,t,r,e;u=is,t=Ba(),t!==n?(va(),r=is,(e=Os())!==n&&(r,e=Po(e)),(r=e)!==n?(e=va(),ga()!==n?(u,u=Uo(r)):(is=u,u=n)):(is=u,u=n)):(is=u,u=n);return u}(),e!==n?(t,t=vo(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,6)===su?(r=su,is+=6):(r=n,0===hs&&gs(Cr)),r!==n?(e=function(){var u,t,r,e;u=is,t=Ba(),t!==n?(va(),r=is,(e=Ts())!==n&&(r,e=Mo(e)),(r=e)!==n?(e=va(),ga()!==n?(u,u=Go(r)):(is=u,u=n)):(is=u,u=n)):(is=u,u=n);return u}(),e!==n?(t,t=Eo(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,6)===au?(r=au,is+=6):(r=n,0===hs&&gs(dr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=is,t=Ba(),t!==n)if(va(),(r=qs())!==n){if(e=[],o=is,va(),Fa()!==n?(va(),(s=qs())!==n?(o,o=Ho(r,s)):(is=o,o=n)):(is=o,o=n),o!==n)for(;o!==n;)e.push(o),o=is,va(),Fa()!==n?(va(),(s=qs())!==n?(o,o=Ho(r,s)):(is=o,o=n)):(is=o,o=n);else e=n;e!==n?(o=va(),ga()!==n?(u,u=Jo(r,e)):(is=u,u=n)):(is=u,u=n)}else is=u,u=n;else is=u,u=n;return u}(),e!==n?(t,t=mo(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,7)===cu?(r=cu,is+=7):(r=n,0===hs&&gs(Fr)),r!==n?(e=function(){var u,t,r,e,o,s,a,c,i,f;if(u=is,t=Ba(),t!==n)if(r=va(),(e=ca())!==n){for(o=[],s=is,a=va(),(c=Fa())!==n?(i=va(),(f=ca())!==n?s=a=[a,c,i,f]:(is=s,s=n)):(is=s,s=n);s!==n;)o.push(s),s=is,a=va(),(c=Fa())!==n?(i=va(),(f=ca())!==n?s=a=[a,c,i,f]:(is=s,s=n)):(is=s,s=n);s=va(),(a=ga())!==n?u=t=[t,r,e,o,s,a]:(is=u,u=n)}else is=u,u=n;else is=u,u=n;return u}(),e!==n?(t,t=bo(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,3)===iu?(r=iu,is+=3):(r=n,0===hs&&gs(Br)),r!==n?(e=function(){var u,t,r;u=is,t=Ba(),t!==n?(va(),(r=Ls())!==n?(va(),ga()!==n?(u,u=Vo(r)):(is=u,u=n)):(is=u,u=n)):(is=u,u=n);return u}(),e!==n?(t,t=Do(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,4)===fu?(r=fu,is+=4):(r=n,0===hs&&gs(gr)),r!==n?(e=function(){var u,t,r;u=is,t=Ba(),t!==n?(va(),(r=Ss())!==n?(va(),ga()!==n?(u,u=Wo(r)):(is=u,u=n)):(is=u,u=n)):(is=u,u=n);return u}(),e!==n?(t,t=yo(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,7)===lu?(r=lu,is+=7):(r=n,0===hs&&gs(vr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=is,t=Ba(),t!==n)if(va(),(r=Rs())!==n){for(e=[],o=is,Fa()!==n&&(s=Rs())!==n?(o,o=Xo(r,s)):(is=o,o=n);o!==n;)e.push(o),o=is,Fa()!==n&&(s=Rs())!==n?(o,o=Xo(r,s)):(is=o,o=n);o=va(),ga()!==n?(u,u=Yo(r,e)):(is=u,u=n)}else is=u,u=n;else is=u,u=n;return u}(),e!==n?(t,t=wo(e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,u.substr(is,8).toLowerCase()===Au?(r=u.substr(is,8),is+=8):(r=n,0===hs&&gs(Er)),r===n&&(u.substr(is,11).toLowerCase()===hu?(r=u.substr(is,11),is+=11):(r=n,0===hs&&gs(mr)),r===n&&(u.substr(is,6).toLowerCase()===pu?(r=u.substr(is,6),is+=6):(r=n,0===hs&&gs(br)),r===n&&(u.substr(is,9).toLowerCase()===Cu?(r=u.substr(is,9),is+=9):(r=n,0===hs&&gs(Dr)),r===n&&(u.substr(is,10).toLowerCase()===du?(r=u.substr(is,10),is+=10):(r=n,0===hs&&gs(yr)),r===n&&(u.substr(is,13).toLowerCase()===Fu?(r=u.substr(is,13),is+=13):(r=n,0===hs&&gs(wr))))))),r!==n?(e=function(){var u,t,r,e;u=is,t=Ba(),t!==n?(va(),(r=Ms())!==n?(va(),Fa()!==n?(va(),(e=Ms())!==n?(va(),ga()!==n?(u,u=Ko(r,e)):(is=u,u=n)):(is=u,u=n)):(is=u,u=n)):(is=u,u=n)):(is=u,u=n);return u}(),e!==n?(t,t=xo(r,e)):(is=t,t=n)):(is=t,t=n),t===n&&(t=is,r=function(){var t,r;t=is,u.substr(is,8)===bu?(r=bu,is+=8):(r=n,0===hs&&gs(jr));r!==n&&(t,r=Qo());return t=r,t}(),r!==n&&(t,r=$o(r)),t=r)))))))))),t}function ra(){var t,r,e,o;return t=is,r=is,u.substr(is,6)===f?(e=f,is+=6):(e=n,0===hs&&gs(st)),e!==n&&(o=sa())!==n?(r,r=To(o)):(is=r,r=n),r===n&&(r=na()),r!==n&&(t,r=jo(r)),t=r}function na(){var u,t,r,e,o;return u=is,(t=Gs())!==n?((r=ea())===n&&(r=null),(e=oa())===n&&(e=null),(o=sa())===n&&(o=null),u,u=Oo(t,r,o)):(is=u,u=n),u===n&&(u=is,(t=ha())!==n&&(r=Ba())!==n&&(e=na())!==n&&(o=ga())!==n?u=t=[t,r,e,o]:(is=u,u=n)),u}function ea(){var t,r,e,o,s;if(t=is,Ea()!==n)if(u.substr(is,4)===Bu?(r=Bu,is+=4):(r=n,0===hs&&gs(xr)),r!==n)if(Ea()!==n){if(e=is,o=[],Mu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(or)),s!==n)for(;s!==n;)o.push(s),Mu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(or));else o=n;(e=o!==n?u.substring(e,is):o)!==n?(t,t=Zo(e)):(is=t,t=n)}else is=t,t=n;else is=t,t=n;else is=t,t=n;return t}function oa(){var t,r,e,o,s,a,c;return t=is,(r=Ea())!==n?(u.substr(is,4)===gu?(e=gu,is+=4):(e=n,0===hs&&gs($r)),e!==n&&(o=Ea())!==n&&(s=Gs())!==n&&(a=ea())!==n?((c=oa())===n&&(c=null),t=r=[r,e,o,s,a,c]):(is=t,t=n)):(is=t,t=n),t}function sa(){var t,r,e;return t=is,Ea()!==n?(u.substr(is,2)===vu?(r=vu,is+=2):(r=n,0===hs&&gs(Lr)),r!==n&&Ea()!==n&&(e=ha())!==n?(t,t=zo(e)):(is=t,t=n)):(is=t,t=n),t}function aa(){var t,r;return t=is,r=function(){var t,r,e,o,s,a,c,i,f,l,A;t=is,r=is,u.substr(is,6)===Eu?(e=Eu,is+=6):(e=n,0===hs&&gs(Sr));if(e!==n)if((o=Ba())!==n)if(s=va(),u.substr(is,4)===mu?(a=mu,is+=4):(a=n,0===hs&&gs(Tr)),a===n&&(a=Gs()),a!==n){if(c=[],i=is,f=va(),(l=Fa())!==n&&(A=Gs())!==n?i=f=[f,l,A]:(is=i,i=n),i!==n)for(;i!==n;)c.push(i),i=is,f=va(),(l=Fa())!==n&&(A=Gs())!==n?i=f=[f,l,A]:(is=i,i=n);else c=n;c!==n?(i=va(),(f=ga())!==n?r=e=[e,o,s,a,c,i,f]:(is=r,r=n)):(is=r,r=n)}else is=r,r=n;else is=r,r=n;else is=r,r=n;r!==n&&(t,r=No(r));return t=r,t}(),r===n&&(r=Gs()),r!==n&&(t,r=Io(r)),t=r}function ca(){var u,t,r;return u=is,(t=Zs())!==n&&(r=sa())!==n?u=t=[t,r]:(is=u,u=n),u}function ia(){var t,r;return hs++,t=is,u.substr(is,4)===Du?(r=Du,is+=4):(r=n,0===hs&&gs(Zr)),r===n&&(u.substr(is,5)===yu?(r=yu,is+=5):(r=n,0===hs&&gs(zr))),r!==n&&(t,r=us(r)),hs--,(t=r)===n&&(r=n,0===hs&&gs(Or)),t}function fa(){var t,r,e,o,s;if(hs++,t=is,39===u.charCodeAt(is)?(r=wu,is++):(r=n,0===hs&&gs(_r)),r!==n){for(e=is,o=[],u.substr(is,2)===xu?(s=xu,is+=2):(s=n,0===hs&&gs(Rr)),s===n&&(Gu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(qr)));s!==n;)o.push(s),u.substr(is,2)===xu?(s=xu,is+=2):(s=n,0===hs&&gs(Rr)),s===n&&(Gu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(qr)));e=u.substring(e,is),39===u.charCodeAt(is)?(o=wu,is++):(o=n,0===hs&&gs(_r)),o!==n?(t,t=ts(e)):(is=t,t=n)}else is=t,t=n;return hs--,t===n&&(r=n,0===hs&&gs(kr)),t}function la(){var t,r,e,o,s,a,c,i,f,l,A,h,p,C,d,F,B,g,v,E,m,b,D,y,w;if(hs++,t=is,r=is,e=is,o=[],Ku.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(Jr)),s!==n)for(;s!==n;)o.push(s),Ku.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(Jr));else o=n;if(o!==n)if(45===u.charCodeAt(is)?(s=Su,is++):(s=n,0===hs&&gs(Qr)),s!==n)if(Ku.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Jr)),a!==n)if(Ku.test(u.charAt(is))?(c=u.charAt(is),is++):(c=n,0===hs&&gs(Jr)),c!==n)if(45===u.charCodeAt(is)?(i=Su,is++):(i=n,0===hs&&gs(Qr)),i!==n)if(Ku.test(u.charAt(is))?(f=u.charAt(is),is++):(f=n,0===hs&&gs(Jr)),f!==n)if(Ku.test(u.charAt(is))?(l=u.charAt(is),is++):(l=n,0===hs&&gs(Jr)),l!==n){if(A=is,84===u.charCodeAt(is)?(h=Tu,is++):(h=n,0===hs&&gs(Vr)),h!==n)if(Ku.test(u.charAt(is))?(p=u.charAt(is),is++):(p=n,0===hs&&gs(Jr)),p!==n)if(Ku.test(u.charAt(is))?(C=u.charAt(is),is++):(C=n,0===hs&&gs(Jr)),C!==n)if(58===u.charCodeAt(is)?(d=T,is++):(d=n,0===hs&&gs(xt)),d!==n)if(Ku.test(u.charAt(is))?(F=u.charAt(is),is++):(F=n,0===hs&&gs(Jr)),F!==n)if(Ku.test(u.charAt(is))?(B=u.charAt(is),is++):(B=n,0===hs&&gs(Jr)),B!==n){if(g=is,58===u.charCodeAt(is)?(v=T,is++):(v=n,0===hs&&gs(xt)),v!==n)if(Ku.test(u.charAt(is))?(E=u.charAt(is),is++):(E=n,0===hs&&gs(Jr)),E!==n)if(Ku.test(u.charAt(is))?(m=u.charAt(is),is++):(m=n,0===hs&&gs(Jr)),m!==n){if(b=is,46===u.charCodeAt(is)?(D=ju,is++):(D=n,0===hs&&gs(Wr)),D!==n){if(y=[],Ku.test(u.charAt(is))?(w=u.charAt(is),is++):(w=n,0===hs&&gs(Jr)),w!==n)for(;w!==n;)y.push(w),Ku.test(u.charAt(is))?(w=u.charAt(is),is++):(w=n,0===hs&&gs(Jr));else y=n;y!==n?b=D=[D,y]:(is=b,b=n)}else is=b,b=n;b===n&&(b=null),g=v=[v,E,m,b]}else is=g,g=n;else is=g,g=n;else is=g,g=n;g===n&&(g=null),90===u.charCodeAt(is)?(v=Ou,is++):(v=n,0===hs&&gs(Xr)),v===n&&(v=is,43===u.charCodeAt(is)?(E=Zu,is++):(E=n,0===hs&&gs(Yr)),E===n&&(45===u.charCodeAt(is)?(E=Su,is++):(E=n,0===hs&&gs(Qr))),E!==n?(Ku.test(u.charAt(is))?(m=u.charAt(is),is++):(m=n,0===hs&&gs(Jr)),m!==n?(Ku.test(u.charAt(is))?(b=u.charAt(is),is++):(b=n,0===hs&&gs(Jr)),b!==n?(58===u.charCodeAt(is)?(D=T,is++):(D=n,0===hs&&gs(xt)),D!==n?(Ku.test(u.charAt(is))?(y=u.charAt(is),is++):(y=n,0===hs&&gs(Jr)),y!==n?(Ku.test(u.charAt(is))?(w=u.charAt(is),is++):(w=n,0===hs&&gs(Jr)),w!==n?v=E=[E,m,b,D,y,w]:(is=v,v=n)):(is=v,v=n)):(is=v,v=n)):(is=v,v=n)):(is=v,v=n)):(is=v,v=n)),v===n&&(v=null),A=h=[h,p,C,d,F,B,g,v]}else is=A,A=n;else is=A,A=n;else is=A,A=n;else is=A,A=n;else is=A,A=n;else is=A,A=n;A===n&&(A=null),e=o=[o,s,a,c,i,f,l,A]}else is=e,e=n;else is=e,e=n;else is=e,e=n;else is=e,e=n;else is=e,e=n;else is=e,e=n;else is=e,e=n;return(r=e!==n?u.substring(r,is):e)!==n&&(t,r=ns(r)),hs--,(t=r)===n&&(r=n,0===hs&&gs(Kr)),t}function Aa(){var t,r,e,o,s,a;if(hs++,t=is,r=is,e=is,Qu.test(u.charAt(is))?(o=u.charAt(is),is++):(o=n,0===hs&&gs(tn)),o===n&&(o=null),s=[],Ku.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Jr)),a!==n)for(;a!==n;)s.push(a),Ku.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(Jr));else s=n;return s!==n?e=o=[o,s]:(is=e,e=n),(r=e!==n?u.substring(r,is):e)!==n&&(t,r=os(r)),hs--,(t=r)===n&&(r=n,0===hs&&gs(nn)),t}function ha(){var t,r,e,o,s,a,c,i;if(hs++,t=is,r=is,hs++,e=ia(),hs--,e===n?r=void 0:(is=r,r=n),r!==n)if(e=is,hs++,o=pa(),hs--,o===n?e=void 0:(is=e,e=n),e!==n){if(o=is,s=is,Vu.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(on)),a!==n){for(c=[],Wu.test(u.charAt(is))?(i=u.charAt(is),is++):(i=n,0===hs&&gs(sn));i!==n;)c.push(i),Wu.test(u.charAt(is))?(i=u.charAt(is),is++):(i=n,0===hs&&gs(sn));s=a=[a,c]}else is=s,s=n;(o=s!==n?u.substring(o,is):s)!==n?(t,t=ss(o)):(is=t,t=n)}else is=t,t=n;else is=t,t=n;return hs--,t===n&&(r=n,0===hs&&gs(en)),t}function pa(){var t,r,e,o,s,a,c,i,f,l,A,h,p,C;return hs++,t=is,r=is,(e=Ca())!==n&&(o=Ca())!==n?(45===u.charCodeAt(is)?(s=Su,is++):(s=n,0===hs&&gs(Qr)),s===n&&(s=null),(a=Ca())!==n?(45===u.charCodeAt(is)?(c=Su,is++):(c=n,0===hs&&gs(Qr)),c===n&&(c=null),(i=Ca())!==n?(45===u.charCodeAt(is)?(f=Su,is++):(f=n,0===hs&&gs(Qr)),f===n&&(f=null),(l=Ca())!==n?(45===u.charCodeAt(is)?(A=Su,is++):(A=n,0===hs&&gs(Qr)),A===n&&(A=null),(h=Ca())!==n&&(p=Ca())!==n&&(C=Ca())!==n?r=e=[e,o,s,a,c,i,f,l,A,h,p,C]:(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n),t=r!==n?u.substring(t,is):r,hs--,t===n&&(r=n,0===hs&&gs(an)),t}function Ca(){var t,r,e,o,s,a;return hs++,t=is,r=is,Xu.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(fn)),e!==n?(Xu.test(u.charAt(is))?(o=u.charAt(is),is++):(o=n,0===hs&&gs(fn)),o!==n?(Xu.test(u.charAt(is))?(s=u.charAt(is),is++):(s=n,0===hs&&gs(fn)),s!==n?(Xu.test(u.charAt(is))?(a=u.charAt(is),is++):(a=n,0===hs&&gs(fn)),a!==n?r=e=[e,o,s,a]:(is=r,r=n)):(is=r,r=n)):(is=r,r=n)):(is=r,r=n),t=r!==n?u.substring(t,is):r,hs--,t===n&&(r=n,0===hs&&gs(cn)),t}function da(){var t,r,e,o;if(t=is,r=is,e=[],Yu.test(u.charAt(is))?(o=u.charAt(is),is++):(o=n,0===hs&&gs(ln)),o!==n)for(;o!==n;)e.push(o),Yu.test(u.charAt(is))?(o=u.charAt(is),is++):(o=n,0===hs&&gs(ln));else e=n;return(r=e!==n?u.substring(r,is):e)!==n&&(t,r=as(r)),t=r}function Fa(){var t,r,e;return t=is,r=va(),44===u.charCodeAt(is)?(e=V,is++):(e=n,0===hs&&gs(nr)),e!==n?t=r=[r,e,va()]:(is=t,t=n),t}function Ba(){var t,r,e;return t=is,r=va(),40===u.charCodeAt(is)?(e=Ru,is++):(e=n,0===hs&&gs(Fn)),e!==n?t=r=[r,e,va()]:(is=t,t=n),t}function ga(){var t,r,e;return t=is,r=va(),41===u.charCodeAt(is)?(e=qu,is++):(e=n,0===hs&&gs(Bn)),e!==n?t=r=[r,e]:(is=t,t=n),t}function va(){var t,r,e;for(hs++,t=is,r=[],rt.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(vn));e!==n;)r.push(e),rt.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(vn));return t=u.substring(t,is),hs--,r=n,0===hs&&gs(gn),t}function Ea(){var t,r,e;if(hs++,t=is,r=[],rt.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(vn)),e!==n)for(;e!==n;)r.push(e),rt.test(u.charAt(is))?(e=u.charAt(is),is++):(e=n,0===hs&&gs(vn));else r=n;return t=r!==n?u.substring(t,is):r,hs--,t===n&&(r=n,0===hs&&gs(En)),t}const ma=Object.assign,{strict:ba,minimal:Da}=t,ya=[];let wa,xa;const $a=["$value"],La=t.safeNumber||function(u){const t=Number(u);return Number.isSafeInteger(t)?t:u},Sa=t.skipToken,Ta=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},ja=u=>t=>u===t||u.as&&t.as&&u.as===t.as||t.as&&u.ref&&t.as===u.ref[u.ref.length-1]||u.ref&&t.ref&&u.ref.join("")===t.ref.join(""),Oa=u=>t=>{if(Array.isArray(t))return t.map(Oa(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},Za=u=>t=>Array.isArray(t)?t.map(Za(u)):t.ref&&!u.find(ja(t))?{val:null}:t,za=(u,t)=>{if(1===t.ref.length)u.find(ja(t))||u.push(t);else{const r=t.ref.shift(),n=u.find((u=>u.ref&&u.ref[0]===r));if(n)za(n.expand,t);else{const n={ref:[r],expand:[]};za(n.expand,t),u.push(n)}}},ka=(u,t,r=!1)=>{let n=qa({from:u.from},t,r);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=_a(n[t],u,r);else n=_a(n,u,r);return n},_a=(u,t,r)=>{if(!t)return u;t.apply&&delete t.apply;let n={};t.columns&&"$count"===t.columns[0].as||u.SELECT.where&&t.where||u.SELECT.limit&&t.limit||u.SELECT.orderBy&&t.orderBy||u.SELECT.search&&t.search?n.from=u:n=u.SELECT;for(const u in t)"columns"===u?(t.columns=t.columns.map((u=>n.columns&&n.columns.find((t=>u.ref&&u.ref[0]===t.as||t.ref&&u.ref&&u.ref[0]===t.ref[0]&&!u.expand))||u)),n.columns&&n.groupBy&&t.columns.push(...n.columns.filter((u=>r&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))&&!t.columns.some((t=>t.ref&&t.ref[0]===u.as||t.ref&&u.ref&&t.ref[0]===u.ref[0]||t.as&&t.as===u.as))))||[]),n.columns=t.columns):"from"!==u&&(n[u]=t[u]);const e=[...n.columns&&n.columns.filter((u=>n.groupBy&&n.groupBy.find((t=>u.ref&&u.ref[0]===t.ref[0]))))||[],...n.columns&&n.columns.filter((u=>u&&"object"==typeof u&&"func"in u))||[]];return Ra(n,e,r),{SELECT:n}},Ra=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const n=t.find(ja(r));return n&&u.push(n),u}),[]):t,u.where&&(u.where=u.where.map(Oa(u.columns)),u.groupBy&&(u.having=u.where.map(Za(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(ja(r))?za(u,{ref:[...r.ref]}):u.push(r),u)),[]))},qa=(u,t,r)=>{if(!t)return;if(u.apply&&delete u.apply,t.identity&&u.from.SELECT&&(u=u.from.SELECT),(t.apply||t.where&&u.where||t.search&&u.search||t.limit&&u.limit||t.orderBy&&u.orderBy)&&(u.from={SELECT:{...u}}),t.where&&(u.where=t.where),t.search&&(u.search=t.search),t.groupBy){u.groupBy=[];for(const r of t.groupBy)u.groupBy.find(ja(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const n=[...u.groupBy||[],...t.aggregate||[]];if(Ra(u,n,r),t.apply&&u.from&&qa(u.from.SELECT,t.apply),t.concat&&Array.isArray(t.concat)){const r=[];for(let n of t.concat){n.from=1===Object.keys(u).length?u.from:{SELECT:u};const t=qa(n,n.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},Ia=u=>{wa.limit&&wa.limit.offset&&wa.limit.offset.val&&(u+=wa.limit.offset.val),(wa.limit||(wa.limit={})).offset={val:u}},Na=(u,t=!1)=>{wa.orderBy=wa.orderBy?t?[u,...wa.orderBy]:[...wa.orderBy,u]:[u]},Pa=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Pa(u,r.args);return t},Ua=(u,t,r,n=!1)=>{u?.forEach((u=>{u.val===t?u.val=r.val:u.list===t?u.list=r.list:u.func?u.args.forEach(((u,e)=>{u.val===t?u.val=r.val:u.func&&Ua(u.args,t,r,n)})):u.SELECT&&Ma(u.SELECT,t,r,n)}))},Ma=(u,t,r,n=!1)=>{const{where:e,from:o}=u;Ua(e,t,r),o?.ref?.forEach((u=>{Ua(u.where,t,r,!0)}))};if((r=s())!==n&&is===u.length)return r;throw r!==n&&is<u.length&&gs({type:"end"}),vs(As,ls<u.length?u.charAt(ls):null,ls<u.length?Bs(ls,ls+1):Bs(ls,ls))}peg$subclass(peg$SyntaxError,Error),peg$SyntaxError.prototype.format=function(u){var t="Error: "+this.message;if(this.location){var r,n=null;for(r=0;r<u.length;r++)if(u[r].source===this.location.source){n=u[r].text.split(/\r\n|\n|\r/g);break}var e=this.location.start,o=this.location.source&&"function"==typeof this.location.source.offset?this.location.source.offset(e):e,s=this.location.source+":"+o.line+":"+o.column;if(n){var a=this.location.end,c=peg$padEnd("",o.line.toString().length," "),i=n[e.line-1],f=(e.line===a.line?a.column:i.length+1)-e.column||1;t+="\n --\x3e "+s+"\n"+c+" |\n"+o.line+" | "+i+"\n"+c+" | "+peg$padEnd("",e.column-1," ")+peg$padEnd("",f,"^")}else t+="\n at "+s}return t},peg$SyntaxError.buildMessage=function(u,t){var r={literal:function(u){return'"'+e(u.text)+'"'},class:function(u){var t=u.parts.map((function(u){return Array.isArray(u)?o(u[0])+"-"+o(u[1]):o(u)}));return"["+(u.inverted?"^":"")+t.join("")+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(u){return u.description}};function n(u){return u.charCodeAt(0).toString(16).toUpperCase()}function e(u){return u.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function o(u){return u.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(u){return"\\x0"+n(u)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(u){return"\\x"+n(u)}))}function s(u){return r[u.type](u)}return"Expected "+function(u){var t,r,n=u.map(s);if(n.sort(),n.length>0){for(t=1,r=1;t<n.length;t++)n[t-1]!==n[t]&&(n[r]=n[t],r++);n.length=r}switch(n.length){case 1:return n[0];case 2:return n[0]+" or "+n[1];default:return n.slice(0,-1).join(", ")+", or "+n[n.length-1]}}(u)+" but "+function(u){return u?'"'+e(u)+'"':"end of input"}(t)+" found."},module.exports={SyntaxError:peg$SyntaxError,parse:peg$parse};
@@ -0,0 +1,61 @@
1
+ const crypto = require('crypto')
2
+ const cds = require('../../lib')
3
+
4
+ const normalize_header = value => {
5
+ return value.split(',').map(str => str.trim())
6
+ }
7
+
8
+ const validate_etag = (ifNoneMatch, etag) => {
9
+ const ifNoneMatchEtags = normalize_header(ifNoneMatch)
10
+ return ifNoneMatchEtags.includes(etag) || ifNoneMatchEtags.includes('*')
11
+ }
12
+
13
+ const generateEtag = s => {
14
+ return `W/"${crypto.createHash('sha256').update(s).digest('base64')}"`
15
+ }
16
+
17
+ module.exports = srv =>
18
+ function service_document(req, res, next) {
19
+ if (req.path === '/') {
20
+ if (req.method === 'HEAD') return res.end()
21
+ if (req.method !== 'GET')
22
+ return res
23
+ .status(405)
24
+ .json({
25
+ error: { code: 'METHOD_NOT_ALLOWED', message: `Method ${req.method} not allowed for service document.` }
26
+ })
27
+
28
+ const m = cds.context.model || cds.model
29
+ const csnService = (cds.context.model || cds.model).definitions[srv.name]
30
+ csnService.srvDocEtag
31
+
32
+ if (req.headers['if-none-match']) {
33
+ if (csnService.srvDocEtag) {
34
+ const unchanged = validate_etag(req.headers['if-none-match'], csnService.srvDocEtag)
35
+ if (unchanged) {
36
+ res.set('Etag', csnService.srvDocEtag)
37
+ return res.status(304).end()
38
+ }
39
+ }
40
+ }
41
+
42
+ const srvEntities = m.childrenOf(srv.name)
43
+ // REVISIT: How to identify the exposed entities? api.ignore, autoexposed, ...
44
+ const exposedEntities = Object.keys(srvEntities).filter(
45
+ e => !srvEntities[e]['@cds.api.ignore'] && e !== 'DraftAdministrativeData'
46
+ )
47
+
48
+ csnService.srvDocEtag = generateEtag(JSON.stringify(exposedEntities))
49
+ res.set('Etag', csnService.srvDocEtag)
50
+ return res.json({
51
+ '@odata.context': `$metadata`,
52
+ '@odata.metadataEtag': csnService.srvDocEtag,
53
+ value: exposedEntities.map(e => {
54
+ const e_ = e.replace(/\./g, '_')
55
+ return { name: e_, url: e_ }
56
+ })
57
+ })
58
+ }
59
+
60
+ return next()
61
+ }