@sap/cds 7.8.2 → 7.9.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 (138) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/_i18n/i18n_ar.properties +3 -0
  3. package/_i18n/i18n_cs.properties +3 -0
  4. package/_i18n/i18n_da.properties +3 -0
  5. package/_i18n/i18n_es_MX.properties +3 -0
  6. package/_i18n/i18n_fi.properties +3 -0
  7. package/_i18n/i18n_hu.properties +6 -0
  8. package/_i18n/i18n_ko.properties +3 -0
  9. package/_i18n/i18n_ms.properties +3 -0
  10. package/_i18n/i18n_nl.properties +3 -0
  11. package/_i18n/i18n_no.properties +3 -0
  12. package/_i18n/i18n_ro.properties +3 -0
  13. package/_i18n/i18n_sv.properties +3 -0
  14. package/_i18n/i18n_th.properties +3 -0
  15. package/_i18n/i18n_tr.properties +6 -0
  16. package/_i18n/i18n_zh_TW.properties +3 -0
  17. package/bin/serve.js +5 -5
  18. package/lib/auth/basic-auth.js +1 -1
  19. package/lib/compile/cdsc.js +33 -6
  20. package/lib/compile/etc/_localized.js +14 -7
  21. package/lib/compile/for/lean_drafts.js +9 -0
  22. package/lib/compile/to/edm-files.js +116 -0
  23. package/lib/compile/to/edm.js +8 -1
  24. package/lib/compile/to/hdbtabledata.js +3 -3
  25. package/lib/compile/to/sql.js +4 -2
  26. package/lib/compile/to/srvinfo.js +6 -5
  27. package/lib/compile/to/yaml.js +22 -21
  28. package/lib/dbs/cds-deploy.js +5 -6
  29. package/lib/env/cds-env.js +7 -0
  30. package/lib/env/cds-requires.js +20 -1
  31. package/lib/env/defaults.js +21 -5
  32. package/lib/env/schemas/cds-package.js +1 -1
  33. package/lib/env/schemas/cds-rc.js +85 -4
  34. package/lib/index.js +1 -1
  35. package/lib/linked/entities.js +10 -0
  36. package/lib/linked/models.js +1 -1
  37. package/lib/plugins.js +1 -1
  38. package/lib/ql/INSERT.js +17 -3
  39. package/lib/ql/Query.js +4 -0
  40. package/lib/ql/infer.js +1 -1
  41. package/lib/req/request.js +1 -1
  42. package/lib/srv/cds-serve.js +1 -0
  43. package/lib/srv/middlewares/cds-context.js +1 -1
  44. package/lib/srv/protocols/odata-v4.js +5 -6
  45. package/lib/srv/srv-models.js +9 -2
  46. package/lib/utils/cds-test.js +2 -0
  47. package/lib/utils/cds-utils.js +9 -4
  48. package/libx/_runtime/cds-services/adapter/odata-v4/ODataRequest.js +1 -1
  49. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/action.js +1 -1
  50. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/create.js +1 -1
  51. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/delete.js +1 -1
  52. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/metadata.js +3 -6
  53. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/read.js +22 -10
  54. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/request.js +4 -4
  55. package/libx/_runtime/cds-services/adapter/odata-v4/handlers/update.js +4 -3
  56. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/ExpressionToCQN.js +1 -1
  57. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/applyToCQN.js +4 -1
  58. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/expandToCQN.js +1 -1
  59. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/index.js +38 -1
  60. package/libx/_runtime/cds-services/adapter/odata-v4/odata-to-cqn/readToCQN.js +2 -2
  61. package/libx/_runtime/cds-services/adapter/odata-v4/to.js +32 -21
  62. package/libx/_runtime/cds-services/adapter/odata-v4/utils/data.js +1 -1
  63. package/libx/_runtime/cds-services/adapter/odata-v4/utils/metaInfo.js +1 -2
  64. package/libx/_runtime/cds-services/adapter/odata-v4/utils/readAfterWrite.js +0 -10
  65. package/libx/_runtime/cds-services/adapter/odata-v4/utils/request.js +3 -1
  66. package/libx/_runtime/cds-services/services/utils/compareJson.js +2 -274
  67. package/libx/_runtime/{cds-services/services → common}/Service.js +39 -29
  68. package/libx/_runtime/common/generic/auth/autoexpose.js +41 -0
  69. package/libx/_runtime/common/generic/auth/index.js +2 -0
  70. package/libx/_runtime/common/generic/auth/readOnly.js +0 -11
  71. package/libx/_runtime/common/generic/auth/restrict.js +6 -5
  72. package/libx/_runtime/common/generic/auth/utils.js +1 -1
  73. package/libx/_runtime/common/generic/crud.js +5 -8
  74. package/libx/_runtime/common/generic/etag.js +8 -6
  75. package/libx/_runtime/common/generic/sorting.js +2 -2
  76. package/libx/_runtime/common/i18n/messages.properties +1 -0
  77. package/libx/_runtime/{cds-services/services → common}/utils/columns.js +4 -4
  78. package/libx/_runtime/common/utils/compareJson.js +274 -0
  79. package/libx/_runtime/common/utils/cqn2cqn4sql.js +1 -1
  80. package/libx/_runtime/{cds-services/services → common}/utils/differ.js +8 -8
  81. package/libx/_runtime/common/utils/ensureIEEE754.js +29 -0
  82. package/libx/_runtime/common/utils/{postProcessing.js → postProcess.js} +1 -3
  83. package/libx/_runtime/common/utils/resolveView.js +0 -16
  84. package/libx/_runtime/common/utils/rewriteAsterisks.js +1 -1
  85. package/libx/_runtime/common/utils/search2cqn4sql.js +1 -1
  86. package/libx/_runtime/common/utils/streamProp.js +9 -2
  87. package/libx/_runtime/common/utils/ucsn.js +1 -1
  88. package/libx/_runtime/db/expand/expandCQNToJoin.js +5 -3
  89. package/libx/_runtime/db/generic/rewrite.js +7 -13
  90. package/libx/_runtime/fiori/generic/activate.js +1 -1
  91. package/libx/_runtime/fiori/generic/edit.js +1 -1
  92. package/libx/_runtime/fiori/generic/prepare.js +1 -1
  93. package/libx/_runtime/fiori/lean-draft.js +151 -46
  94. package/libx/_runtime/fiori/utils/handler.js +1 -1
  95. package/libx/_runtime/hana/execute.js +6 -2
  96. package/libx/_runtime/hana/pool.js +3 -0
  97. package/libx/_runtime/hana/search2cqn4sql.js +1 -1
  98. package/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +1 -2
  99. package/libx/_runtime/messaging/event-broker.js +212 -0
  100. package/libx/_runtime/remote/Service.js +9 -32
  101. package/libx/_runtime/remote/utils/client.js +13 -21
  102. package/libx/_runtime/sqlite/convertAssocToOneManaged.js +7 -1
  103. package/libx/_runtime/sqlite/execute.js +8 -3
  104. package/libx/_runtime/ucl/Service.js +259 -0
  105. package/libx/common/assert/index.js +5 -11
  106. package/libx/common/assert/validation.js +6 -1
  107. package/libx/odata/index.js +47 -25
  108. package/libx/odata/middleware/batch.js +8 -7
  109. package/libx/odata/middleware/create.js +42 -16
  110. package/libx/odata/middleware/delete.js +18 -11
  111. package/libx/odata/middleware/metadata.js +15 -14
  112. package/libx/odata/middleware/operation.js +30 -40
  113. package/libx/odata/middleware/parse.js +2 -3
  114. package/libx/odata/middleware/read.js +59 -52
  115. package/libx/odata/middleware/service-document.js +7 -7
  116. package/libx/odata/middleware/stream.js +26 -24
  117. package/libx/odata/middleware/update.js +53 -92
  118. package/libx/odata/parse/afterburner.js +45 -47
  119. package/libx/odata/parse/grammar.peggy +3 -3
  120. package/libx/odata/parse/multipartToJson.js +10 -22
  121. package/libx/odata/parse/parser.js +1 -1
  122. package/libx/odata/utils/etag.js +13 -0
  123. package/libx/odata/utils/handler.js +120 -0
  124. package/libx/odata/utils/index.js +15 -2
  125. package/libx/odata/utils/metaInfo.js +410 -0
  126. package/libx/odata/utils/path.js +5 -2
  127. package/libx/odata/utils/readAfterWrite.js +23 -0
  128. package/libx/odata/utils/result.js +4 -5
  129. package/libx/rest/RestAdapter.js +4 -13
  130. package/libx/rest/middleware/parse.js +40 -7
  131. package/package.json +1 -1
  132. package/server.js +1 -0
  133. package/libx/_runtime/cds-services/util/dataProcessUtils.js +0 -93
  134. package/libx/_runtime/common/utils/thenable.js +0 -51
  135. package/libx/_runtime/rest/service.js +0 -2
  136. package/libx/odata/parse/parseToCqn.js +0 -39
  137. package/libx/rest/middleware/input.js +0 -54
  138. package/libx/rest/middleware/payload.js +0 -13
@@ -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,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:vs},s=vs,i="/",a="?",c="&",f="$count",l="$ref",A="$value",p="=",h="$skiptoken=",C="$select=",d="$expand=",F="$filter=",g="$orderby=",B="$top=",E="$skip=",v="$search=",m="$count=",b="$apply=",D="$at",y="$from",$="$toInclusive",x="$to",w="*",L="/$count",S=";",T="'",j=":",O="any",Z="all",z="asc",k="desc",_="[",R="]",I="@",N="$format=",q="eq",P="ne",U="lt",M="gt",G="le",H="ge",J="in",K="null",Q="{",V="}",W=",",X="contains",Y="endswith",uu="startswith",tu="not",ru="and",nu="or",eu="aggregate",ou="groupby",su="filter",iu="search",au="concat",cu="compute",fu="top",lu="skip",Au="orderby",pu="topcount",hu="bottomcount",Cu="topsum",du="bottomsum",Fu="toppercent",gu="bottompercent",Bu="with",Eu="from",vu="as",mu="rollup",bu="$all",Du="identity",yu="true",$u="false",xu="''",wu='"',Lu='\\"',Su="\\\\",Tu="-",ju="T",Ou=".",Zu="Z",zu="e",ku="binary'",_u="==",Ru="(",Iu=")",Nu=/^[a-zA-Z0-9\-_.~]/,qu=/^[^&]/,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=hs("/",!1),et=hs("?",!1),ot=hs("&",!1),st=hs("$count",!1),it=hs("$ref",!1),at=hs("$value",!1),ct=hs("=",!1),ft=hs("$skiptoken=",!1),lt=hs("$select=",!1),At=hs("$expand=",!1),pt=hs("$filter=",!1),ht=hs("$orderby=",!1),Ct=hs("$top=",!1),dt=hs("$skip=",!1),Ft=hs("$search=",!1),gt=hs("$count=",!1),Bt=hs("$apply=",!1),Et=hs("$at",!1),vt=hs("$from",!1),mt=hs("$toInclusive",!1),bt=hs("$to",!1),Dt=hs("*",!1),yt=hs("/$count",!1),$t=hs(";",!1),xt=hs("'",!1),wt=hs(":",!1),Lt=hs("any",!1),St=hs("all",!1),Tt=hs("asc",!1),jt=hs("desc",!1),Ot=hs("[",!1),Zt=hs("]",!1),zt=Cs([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),kt=Cs(["&"],!0,!1),_t=ds("an aliased parameter (@param)"),Rt=hs("@",!1),It=hs("$format=",!1),Nt=hs("eq",!1),qt=hs("ne",!1),Pt=hs("lt",!1),Ut=hs("gt",!1),Mt=hs("le",!1),Gt=hs("ge",!1),Ht=hs("in",!1),Jt=(hs("add",!1),hs("sub",!1),hs("mul",!1),hs("div",!1),hs("mod",!1),ds("navigation with $count")),Kt=ds("a reference"),Qt=ds("null"),Vt=hs("null",!1),Wt=ds("a json object"),Xt=hs("{",!1),Yt=Cs(["}"],!0,!1),ur=hs("}",!1),tr=ds("a json array"),rr=Cs(["]"],!0,!1),nr=ds("a list"),er=hs(",",!1),or=ds("a function name"),sr=Cs([["a","z"],["A","Z"]],!1,!1),ir=hs("contains",!0),ar=hs("endswith",!0),cr=hs("startswith",!0),fr=hs("NOT",!0),lr=hs("AND",!0),Ar=hs("OR",!0),pr=hs("aggregate",!1),hr=hs("groupby",!1),Cr=hs("filter",!1),dr=hs("search",!1),Fr=hs("concat",!1),gr=hs("compute",!1),Br=hs("top",!1),Er=hs("skip",!1),vr=hs("orderby",!1),mr=hs("topcount",!0),br=hs("bottomcount",!0),Dr=hs("topsum",!0),yr=hs("bottomsum",!0),$r=hs("toppercent",!0),xr=hs("bottompercent",!0),wr=hs("with",!1),Lr=hs("from",!1),Sr=hs("as",!1),Tr=hs("rollup",!1),jr=hs("$all",!1),Or=hs("identity",!1),Zr=ds("a boolean"),zr=hs("true",!1),kr=hs("false",!1),_r=ds("a single quoted string"),Rr=hs("''",!1),Ir=Cs(["'"],!0,!1),Nr=ds("a doubled quoted string"),qr=hs('"',!1),Pr=hs('\\"',!1),Ur=hs("\\\\",!1),Mr=Cs(['"'],!0,!1),Gr=ds("a string"),Hr=Cs([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Jr=ds("a time"),Kr=Cs([["0","9"]],!1,!1),Qr=ds("a date"),Vr=hs("-",!1),Wr=hs("T",!1),Xr=hs(".",!1),Yr=hs("Z",!1),un=Cs(["+","-"],!1,!1),tn=ds("a number"),rn=hs("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),pn=ds("a binary"),hn=hs("binary'",!1),Cn=Cs([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),dn=hs("==",!1),Fn=hs("(",!1),gn=hs(")",!1),Bn=ds("an optional whitespace"),En=Cs([" ","\t","\n"],!1,!1),vn=ds("a whitespace"),mn=function(u){wi=u},bn=function(){if(Li)return wi.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete wi.expand,delete wi.limit,delete wi.orderBy,wi.apply?_i(wi,wi.apply):{SELECT:wi};let u;if(wi.expand){wi.columns||(wi.columns=["*"],u=!0);for(const u of wi.expand){const t=wi.columns.findIndex(Oi(u));t>-1&&wi.columns.splice(t,1),wi.columns.push(u)}delete wi.expand}return wi.count&&wi.apply&&(wi.__countAggregated=!0),wi.apply?_i(wi,wi.apply,u):{SELECT:wi}},Dn=function(){Li=!0},yn=function(u){return!vi.includes(u)&&{from:{ref:[u]}}},$n=function(u){return[u]},xn=function(u,t){return t},wn=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:[]}):$i?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:Si(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&&(wi.apply=u.apply)},jn=function(u){wi.where=u},On=function(u,t){Pi(t)},Zn=function(u){Pi(u,!0)},zn=function(u){(wi.limit||(wi.limit={})).rows={val:u}},kn=function(u){qi(u)},_n=function(u){u&&(wi.search=u)},Rn=function(u){return u},In=function(){return null},Nn=function(u){return wi.columns=Array.isArray(wi.columns)?wi.columns:[],wi.columns.find(Oi(u))||wi.columns.push(u),u},qn=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},Pn=function(u){return u},Un=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(wi.columns){for(const u of wi.columns)wi.expand.find(Oi(u))||wi.expand.push(u);delete wi.columns}else Array.isArray(wi.expand)&&-1===wi.expand.indexOf("*")&&wi.expand.unshift("*")},Mn=function(){xi.push(wi),wi=wi.expand[wi.expand.length-1],wi.expand=[]},Gn=function(){wi.expand.length||wi.expand.push("*"),wi=xi.pop()},Hn=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(wi.expand)||(wi.expand=[]),wi.expand.find(Oi(t))||wi.expand.push(t),t},Jn=function(u){return u},Kn=function(u){Ti(u,{SELECT:wi})},Qn=function(u){return u},Vn=function(u){return u},Wn=function(u){return u?[u]:[]},Xn=function(u,t){u.push({xpr: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)},ie=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},ae=function(u,t){u.push(t)},ce=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},pe=function(u){return[u]},he=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},ge=function(u){return u?[u]:[]},Be=function(u,t){u.push("(",...t,")")},Ee=function(u,t){u.push(...t)},ve=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},$e=function(u,t){return Ui(u,t)},xe=function(u){return u},we=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 Di(u,t&&{sort:t})},je=function(u){u&&(wi.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){Gi(wi,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}},Ie=function(u,t,r){return[u,mi[t]||t,r]},Ne=function(u){return{list:u}},qe=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]},io=function(u){return{list:u}},ao=function(u,t){if(yi&&!(u.toLowerCase()in yi.functions))throw Object.assign(new Error(`Function '${u}' is not supported`),{statusCode:400});return{func:u.toLowerCase(),args:t}},co=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]}},po=function(){return"not"},ho=function(){return"and"},Co=function(){return"and"},Fo=function(){return"or"},go=function(u){return u},Bo=function(u){return u},Eo=function(u){return u},vo=function(u){return u},mo=function(u){return u},bo=function(u){return u},Do=function(u){return u},yo=function(u){return u},$o=function(u){return u},xo=function(u,t){if(u=u.toLowerCase(),!bi[u])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},wo=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},Io=function(u,t,r){let n={};return n=r?{groupBy:[u,...t],...r.apply}:{groupBy:[u,...t]},n},No=function(u){return u},qo=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 Si(u)},os=function(u){return parseInt(u)},ss=function(u){return u},is=function(u){return{val:u}},as=function(u){return ji(u)},cs=0|t.peg$currPos,fs=[{line:1,column:1}],ls=cs,As=t.peg$maxFailExpected||[],ps=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function hs(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;if(t>=fs.length)r=fs.length-1;else for(r=t;!fs[--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 gs(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 Bs(u){cs<ls||(cs>ls&&(ls=cs,As=[]),As.push(u))}function Es(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function vs(){var t,r,e,o,s,f,l,A,p,h,C,d,F,g,B;if(t=cs,47===u.charCodeAt(cs)?(r=i,cs++):(r=n,0===ps&&Bs(nt)),r===n&&(r=null),e=cs,(o=ms())!==n&&(e,o=mn(o)),(e=o)!==n){if(o=cs,s=Bi(),63===u.charCodeAt(cs)?(f=a,cs++):(f=n,0===ps&&Bs(et)),f!==n){if(l=Bi(),A=cs,(p=Ds())!==n){for(h=[],C=cs,d=Bi(),38===u.charCodeAt(cs)?(F=c,cs++):(F=n,0===ps&&Bs(ot)),F!==n?(g=Bi(),(B=Ds())!==n?C=d=[d,F,g,B]:(cs=C,C=n)):(cs=C,C=n);C!==n;)h.push(C),C=cs,d=Bi(),38===u.charCodeAt(cs)?(F=c,cs++):(F=n,0===ps&&Bs(ot)),F!==n?(g=Bi(),(B=Ds())!==n?C=d=[d,F,g,B]:(cs=C,C=n)):(cs=C,C=n);A=p=[p,h]}else cs=A,A=n;A===n&&(A=null),o=s=[s,f,l,A]}else cs=o,o=n;o===n&&(o=null),s=Bi(),t,t=bn()}else cs=t,t=n;return t}function ms(){var t,r,e,o,s,a,c;return t=cs,u.substr(cs,6)===f?(r=f,cs+=6):(r=n,0===ps&&Bs(st)),r!==n&&(t,r=Dn()),(t=r)===n&&(t=cs,r=cs,u.substr(cs,4)===l?(e=l,cs+=4):(e=n,0===ps&&Bs(it)),e===n&&(u.substr(cs,6)===A?(e=A,cs+=6):(e=n,0===ps&&Bs(at))),(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=yn(r)),(t=r)===n&&(t=cs,r=cs,(e=Ai())!==n?(o=cs,(s=Fi())!==n&&(a=gi())!==n?o=s=[s,a]:(cs=o,o=n),o===n&&(o=cs,(s=Fi())!==n&&(a=bs())!==n&&(c=gi())!==n?o=s=[s,a,c]:(cs=o,o=n)),o===n&&(o=null),s=cs,ps++,a=Ci(),ps--,a===n?s=void 0:(cs=s,s=n),s!==n?r=e=[e,o,s]:(cs=r,r=n)):(cs=r,r=n),r===n&&(r=cs,(e=Ci())!==n&&(r,e=$n(e)),r=e),r===n&&(r=null),e=cs,o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(o,s=xn(r,s)),(o=s)!==n?((s=ms())===n&&(s=null),e=o=[o,s]):(cs=e,e=n),e===n&&(e=null),t,t=wn(r,e))),t}function bs(){var t,r,e,o,s,i,a;return t=cs,(r=Hs())!==n&&(t,r=Ln(r)),(t=r)===n&&(t=cs,(r=Gs())!==n?(Bi(),61===u.charCodeAt(cs)?(e=p,cs++):(e=n,0===ps&&Bs(ct)),e!==n?(Bi(),(o=Hs())!==n?(s=cs,(i=di())!==n&&(a=bs())!==n?s=i=[i,a]:(cs=s,s=n),s===n&&(s=null),t,t=Sn(r,o,s)):(cs=t,t=n)):(cs=t,t=n)):(cs=t,t=n)),t}function Ds(){var t,r,e,o;return t=cs,(r=ys())!==n&&(t,r=Tn(r)),(t=r)===n&&(t=cs,u.substr(cs,11)===h?(r=h,cs+=11):(r=n,0===ps&&Bs(ft)),r!==n?(e=Bi(),o=function(){var t,r;t=cs,r=function(){var t,r,e;t=cs,r=[],e=u.charAt(cs),ut.test(e)?cs++:(e=n,0===ps&&Bs(An));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),ut.test(e)?cs++:(e=n,0===ps&&Bs(An));else r=n;t=r!==n?u.substring(t,cs):r;return t}(),r===n&&(r=null);return t,r=Kn(r),t=r,t}(),t=r=[r,e,o]):(cs=t,t=n),t===n&&(t=function(){var t,r,e,o;t=cs,u.substr(cs,3)===D?(r=D,cs+=3):(r=n,0===ps&&Bs(Et));r===n&&(u.substr(cs,5)===y?(r=y,cs+=5):(r=n,0===ps&&Bs(vt)),r===n&&(u.substr(cs,12)===$?(r=$,cs+=12):(r=n,0===ps&&Bs(mt)),r===n&&(u.substr(cs,3)===x?(r=x,cs+=3):(r=n,0===ps&&Bs(bt)))));r!==n?(61===u.charCodeAt(cs)?(e=p,cs++):(e=n,0===ps&&Bs(ct)),e!==n&&(o=fi())!==n?t=r=[r,e,o]:(cs=t,t=n)):(cs=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o,s;t=cs,u.substr(cs,8)===N?(r=N,cs+=8):(r=n,0===ps&&Bs(It));if(r!==n){for(e=cs,o=[],s=u.charAt(cs),qu.test(s)?cs++:(s=n,0===ps&&Bs(kt));s!==n;)o.push(s),s=u.charAt(cs),qu.test(s)?cs++:(s=n,0===ps&&Bs(kt));e=u.substring(e,cs),t,t=Re(e)}else cs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s,i;t=cs,r=[],e=u.charAt(cs),Nu.test(e)?cs++:(e=n,0===ps&&Bs(zt));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Nu.test(e)?cs++:(e=n,0===ps&&Bs(zt));else r=n;if(r!==n){if(e=cs,61===u.charCodeAt(cs)?(o=p,cs++):(o=n,0===ps&&Bs(ct)),o!==n){for(s=[],i=u.charAt(cs),qu.test(i)?cs++:(i=n,0===ps&&Bs(kt));i!==n;)s.push(i),i=u.charAt(cs),qu.test(i)?cs++:(i=n,0===ps&&Bs(kt));e=o=[o,s]}else cs=e,e=n;e===n&&(e=null),t=r=[r,e]}else cs=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=cs,r=Ns(),r!==n?(61===u.charCodeAt(cs)?(e=p,cs++):(e=n,0===ps&&Bs(ct)),e!==n?(o=cs,ps++,s=Ns(),ps--,s===n?o=void 0:(cs=o,o=n),o!==n?(s=function(){var t,r,e,o;t=Hs(),t===n&&(t=Js())===n&&(t=Ks())===n&&(t=cs,91===u.charCodeAt(cs)?(r=_,cs++):(r=n,0===ps&&Bs(Ot)),r!==n&&(e=Qs())!==n?(93===u.charCodeAt(cs)?(o=R,cs++):(o=n,0===ps&&Bs(Zt)),o!==n?(t,t=ze(e)):(cs=t,t=n)):(cs=t,t=n));return t}(),s!==n?(t,t=_e(r,s)):(cs=t,t=n)):(cs=t,t=n)):(cs=t,t=n)):(cs=t,t=n);return t}()))))),t}function ys(){var t,r,e,o,s,i,a,c;if(t=cs,u.substr(cs,8)===C?(r=C,cs+=8):(r=n,0===ps&&Bs(lt)),r!==n)if(e=Bi(),(o=$s())!==n){for(s=[],i=cs,(a=di())!==n&&(c=$s())!==n?i=a=[a,c]:(cs=i,i=n);i!==n;)s.push(i),i=cs,(a=di())!==n&&(c=$s())!==n?i=a=[a,c]:(cs=i,i=n);t=r=[r,e,o,s]}else cs=t,t=n;else cs=t,t=n;if(t===n){if(t=cs,u.substr(cs,8)===d?(r=d,cs+=8):(r=n,0===ps&&Bs(At)),r!==n)if(e=Bi(),(o=ws())!==n){for(s=[],i=cs,(a=di())!==n&&(c=ws())!==n?i=a=[a,c]:(cs=i,i=n);i!==n;)s.push(i),i=cs,(a=di())!==n&&(c=ws())!==n?i=a=[a,c]:(cs=i,i=n);i=function(){var t,r;t=cs,u.substr(cs,7)===L?(r=L,cs+=7):(r=n,0===ps&&Bs(yt));r!==n&&(t,r=qn());return t=r,t}(),i===n&&(i=null),t=r=[r,e,o,s,i]}else cs=t,t=n;else cs=t,t=n;if(t===n&&(t=cs,u.substr(cs,8)===F?(r=F,cs+=8):(r=n,0===ps&&Bs(pt)),r!==n?(e=Bi(),(o=Os())!==n?(t,t=jn(o)):(cs=t,t=n)):(cs=t,t=n),t===n)){if(t=cs,u.substr(cs,9)===g?(r=g,cs+=9):(r=n,0===ps&&Bs(ht)),r!==n)if(e=Bi(),(o=Rs())!==n){for(s=[],i=cs,(a=di())!==n&&(c=Rs())!==n?(i,i=On(o,c)):(cs=i,i=n);i!==n;)s.push(i),i=cs,(a=di())!==n&&(c=Rs())!==n?(i,i=On(o,c)):(cs=i,i=n);t,t=Zn(o)}else cs=t,t=n;else cs=t,t=n;t===n&&(t=cs,u.substr(cs,5)===B?(r=B,cs+=5):(r=n,0===ps&&Bs(Ct)),r!==n?(e=Bi(),(o=Ls())!==n?(t,t=zn(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===E?(r=E,cs+=6):(r=n,0===ps&&Bs(dt)),r!==n?(e=Bi(),(o=Ss())!==n?(t,t=kn(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,8)===v?(r=v,cs+=8):(r=n,0===ps&&Bs(Ft)),r!==n?(e=Bi(),(o=Ts())!==n?(t,t=_n(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===m?(r=m,cs+=7):(r=n,0===ps&&Bs(gt)),r!==n?(e=Bi(),o=function(){var u,t;u=cs,t=ci(),t!==n&&(u,t=je(t));return u=t,u}(),o!==n?t=r=[r,e,o]:(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===b?(r=b,cs+=7):(r=n,0===ps&&Bs(Bt)),r!==n?(e=Bi(),(o=Is())!==n?(t,t=Rn(o)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,8)===d?(r=d,cs+=8):(r=n,0===ps&&Bs(At)),r!==n&&(t,r=In()),t=r))))))}}return t}function $s(){var t,r;return t=cs,42===u.charCodeAt(cs)?(r=w,cs++):(r=n,0===ps&&Bs(Dt)),r===n&&(r=Gs()),r!==n&&(t,r=Nn(r)),t=r}function xs(){var t,r,e,o,s;return t=cs,r=cs,(e=Fi())!==n&&(r,e=Mn()),(r=e)!==n?(e=function(){var t,r,e,o,s;for(t=cs,r=[],e=cs,(o=ys())!==n?(Bi(),59===u.charCodeAt(cs)?(s=S,cs++):(s=n,0===ps&&Bs($t)),s===n&&(s=null),e,e=Pn(o)):(cs=e,e=n);e!==n;)r.push(e),e=cs,(o=ys())!==n?(Bi(),59===u.charCodeAt(cs)?(s=S,cs++):(s=n,0===ps&&Bs($t)),s===n&&(s=null),e,e=Pn(o)):(cs=e,e=n);return t,Un(r)}(),o=cs,(s=gi())!==n&&(o,s=Gn()),(o=s)!==n?t=r=[r,e,o]:(cs=t,t=n)):(cs=t,t=n),t}function ws(){var t,r,e;return t=cs,r=cs,42===u.charCodeAt(cs)?(e=w,cs++):(e=n,0===ps&&Bs(Dt)),e===n&&(e=Gs()),e!==n&&(r,e=Hn(e)),(r=e)!==n?((e=xs())===n&&(e=null),t=r=[r,e]):(cs=t,t=n),t}function Ls(){var u,t;return u=cs,(t=li())!==n&&(u,t=Jn(t)),u=t}function Ss(){var u,t;return u=cs,(t=li())!==n&&(u,t=Qn(t)),u=t}function Ts(){var u,t;return u=cs,(t=js())!==n&&(u,t=Vn(t)),(u=t)===n&&(u=Bi()),u}function js(){var t,r,e,o,s,i,a;if(t=cs,r=cs,(e=Ws())===n&&(e=null),r,r=e=Wn(e),e=cs,(o=Fi())!==n&&(s=js())!==n&&(i=gi())!==n?(e,e=Xn(r,s)):(cs=e,e=n),e===n&&(e=cs,o=function(){var t,r,e,o,s;ps++,t=cs,34===u.charCodeAt(cs)?(r=wu,cs++):(r=n,0===ps&&Bs(qr));if(r!==n){for(e=cs,o=[],u.substr(cs,2)===Lu?(s=Lu,cs+=2):(s=n,0===ps&&Bs(Pr)),s===n&&(u.substr(cs,2)===Su?(s=Su,cs+=2):(s=n,0===ps&&Bs(Ur)),s===n&&(s=u.charAt(cs),Hu.test(s)?cs++:(s=n,0===ps&&Bs(Mr))));s!==n;)o.push(s),u.substr(cs,2)===Lu?(s=Lu,cs+=2):(s=n,0===ps&&Bs(Pr)),s===n&&(u.substr(cs,2)===Su?(s=Su,cs+=2):(s=n,0===ps&&Bs(Ur)),s===n&&(s=u.charAt(cs),Hu.test(s)?cs++:(s=n,0===ps&&Bs(Mr))));e=u.substring(e,cs),34===u.charCodeAt(cs)?(o=wu,cs++):(o=n,0===ps&&Bs(qr)),o!==n?(t,t=rs(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(Nr));return t}(),o!==n&&(e,o=Yn(r,o)),(e=o)===n&&(e=cs,o=cs,ps++,39===u.charCodeAt(cs)?(s=T,cs++):(s=n,0===ps&&Bs(xt)),ps--,s===n?o=void 0:(cs=o,o=n),o!==n?(s=function(){var t,r,e;ps++,t=cs,r=[],e=u.charAt(cs),Ju.test(e)?cs++:(e=n,0===ps&&Bs(Hr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Ju.test(e)?cs++:(e=n,0===ps&&Bs(Hr));else r=n;t=r!==n?u.substring(t,cs):r;ps--,t===n&&(r=n,0===ps&&Bs(Gr));return t}(),s!==n?(e,e=ue(r,s)):(cs=e,e=n)):(cs=e,e=n))),e!==n){for(o=[],s=cs,(i=Xs())===n&&(i=ui())===n&&(i=Ys()),i!==n&&(a=js())!==n?(s,s=te(r,i,a)):(cs=s,s=n);s!==n;)o.push(s),s=cs,(i=Xs())===n&&(i=ui())===n&&(i=Ys()),i!==n&&(a=js())!==n?(s,s=te(r,i,a)):(cs=s,s=n);t,t=re(r)}else cs=t,t=n;return t}function Os(){var u,t;return u=cs,(t=Zs())!==n&&(u,t=ne(t)),u=t}function Zs(){var t,r,e,o,s,i,a;if(t=cs,r=cs,(e=Ws())===n&&(e=null),r,r=e=ee(e),e=cs,(o=Fi())!==n&&(s=Zs())!==n&&(i=gi())!==n?(e,e=oe(r,s)):(cs=e,e=n),e===n&&(e=cs,(o=qs())!==n&&(e,o=se(r,o)),(e=o)===n&&(e=cs,(o=zs())!==n&&(e,o=ie(r,o)),(e=o)===n&&(e=cs,o=function(){var t,r,e,o;t=cs,r=u.substr(cs,8),r.toLowerCase()===X?cs+=8:(r=n,0===ps&&Bs(ir));r===n&&((r=u.substr(cs,8)).toLowerCase()===Y?cs+=8:(r=n,0===ps&&Bs(ar)),r===n&&((r=u.substr(cs,10)).toLowerCase()===uu?cs+=10:(r=n,0===ps&&Bs(cr))));r!==n&&Fi()!==n&&(e=Ms())!==n&&di()!==n&&(o=Ms())!==n&&gi()!==n?(t,t=Ao(r,e,o)):(cs=t,t=n);return t}(),o!==n&&(e,o=ae(r,o)),(e=o)===n&&(e=cs,(o=ci())!==n&&(e,o=ce(r,o)),(e=o)===n&&(e=cs,(o=Us())!==n&&(e,o=fe(r,o)),e=o))))),e!==n){for(o=[],s=cs,(i=Xs())===n&&(i=ui()),i!==n&&(a=Zs())!==n?(s,s=le(r,i,a)):(cs=s,s=n);s!==n;)o.push(s),s=cs,(i=Xs())===n&&(i=ui()),i!==n&&(a=Zs())!==n?(s,s=le(r,i,a)):(cs=s,s=n);t,t=Ae(r)}else cs=t,t=n;return t}function zs(){var t,r,e,o,s,a,c;if(t=cs,r=cs,(e=Ai())!==n&&(r,e=pe(e)),(r=e)!==n)if(47===u.charCodeAt(cs)?(e=i,cs++):(e=n,0===ps&&Bs(nt)),e!==n){for(o=[],s=cs,(a=Ai())!==n?(47===u.charCodeAt(cs)?(c=i,cs++):(c=n,0===ps&&Bs(nt)),c!==n?(s,s=he(r,a)):(cs=s,s=n)):(cs=s,s=n);s!==n;)o.push(s),s=cs,(a=Ai())!==n?(47===u.charCodeAt(cs)?(c=i,cs++):(c=n,0===ps&&Bs(nt)),c!==n?(s,s=he(r,a)):(cs=s,s=n)):(cs=s,s=n);s=cs,a=function(){var t,r,e;t=cs,u.substr(cs,3)===O?(r=O,cs+=3):(r=n,0===ps&&Bs(Lt));r!==n&&Fi()!==n?((e=_s())===n&&(e=null),gi()!==n?(t,t=xe(e)):(cs=t,t=n)):(cs=t,t=n);return t}(),a!==n&&(s,a=Ce(r,a)),(s=a)===n&&(s=cs,a=function(){var t,r,e;t=cs,u.substr(cs,3)===Z?(r=Z,cs+=3):(r=n,0===ps&&Bs(St));r!==n&&Fi()!==n&&(e=_s())!==n&&gi()!==n?(t,t=we(e)):(cs=t,t=n);return t}(),a!==n&&(s,a=de(r,a)),s=a),s!==n?(t,t=Fe(r,s)):(cs=t,t=n)}else cs=t,t=n;else cs=t,t=n;return t}function ks(){var u,t,r,e,o,s,i;if(u=cs,t=cs,(r=Ws())===n&&(r=null),t,t=r=ge(r),r=cs,(e=Fi())!==n&&(o=ks())!==n&&(s=gi())!==n?(r,r=Be(t,o)):(cs=r,r=n),r===n&&(r=cs,(e=qs())!==n&&(r,e=Ee(t,e)),(r=e)===n&&(r=cs,(e=Vs())!==n&&(r,e=ve(t,e)),(r=e)===n&&(r=cs,(e=zs())!==n&&(r,e=me(t,e)),(r=e)===n&&(r=cs,(e=Us())!==n&&(r,e=be(t,e)),r=e)))),r!==n){for(e=[],o=cs,(s=Xs())===n&&(s=ui()),s!==n&&(i=ks())!==n?(o,o=De(t,s,i)):(cs=o,o=n);o!==n;)e.push(o),o=cs,(s=Xs())===n&&(s=ui()),s!==n&&(i=ks())!==n?(o,o=De(t,s,i)):(cs=o,o=n);u,u=ye(t)}else cs=u,u=n;return u}function _s(){var t,r,e,o;return t=cs,(r=Ai())!==n?(58===u.charCodeAt(cs)?(e=j,cs++):(e=n,0===ps&&Bs(wt)),e!==n&&(o=ks())!==n?(t,t=$e(r,o)):(cs=t,t=n)):(cs=t,t=n),t}function Rs(){var t,r,e,o,s;return t=cs,r=cs,(e=zs())!==n&&(r,e=Le()),(r=e)===n&&(r=Vs())===n&&(r=Gs()),r!==n?(e=cs,Ei()!==n?(o=cs,u.substr(cs,3)===z?(s=z,cs+=3):(s=n,0===ps&&Bs(Tt)),s===n&&(u.substr(cs,4)===k?(s=k,cs+=4):(s=n,0===ps&&Bs(jt))),(o=s!==n?u.substring(o,cs):s)!==n?(e,e=Se(r,o)):(cs=e,e=n)):(cs=e,e=n),e===n&&(e=null),t,t=Te(r,e)):(cs=t,t=n),t}function Is(){var t,r,e,o,s,a;if(t=cs,(r=ti())!==n){for(e=[],o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=ti())!==n?(o,o=Oe(r,a)):(cs=o,o=n);o!==n;)e.push(o),o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=ti())!==n?(o,o=Oe(r,a)):(cs=o,o=n);t,t=Ze(r,e)}else cs=t,t=n;return t}function Ns(){var t,r,e;return ps++,t=cs,64===u.charCodeAt(cs)?(r=I,cs++):(r=n,0===ps&&Bs(Rt)),r!==n&&(e=Ai())!==n?(t,t=ke(e)):(cs=t,t=n),ps--,t===n&&(r=n,0===ps&&Bs(_t)),t}function qs(){var t,r,e,o,s;return t=cs,(r=Ms())!==n&&Ei()!==n?(e=cs,u.substr(cs,2)===q?(o=q,cs+=2):(o=n,0===ps&&Bs(Nt)),o===n&&(u.substr(cs,2)===P?(o=P,cs+=2):(o=n,0===ps&&Bs(qt)),o===n&&(u.substr(cs,2)===U?(o=U,cs+=2):(o=n,0===ps&&Bs(Pt)),o===n&&(u.substr(cs,2)===M?(o=M,cs+=2):(o=n,0===ps&&Bs(Ut)),o===n&&(u.substr(cs,2)===G?(o=G,cs+=2):(o=n,0===ps&&Bs(Mt)),o===n&&(u.substr(cs,2)===H?(o=H,cs+=2):(o=n,0===ps&&Bs(Gt))))))),(e=o!==n?u.substring(e,cs):o)!==n&&(o=Ei())!==n&&(s=Ms())!==n?(t,t=Ie(r,e,s)):(cs=t,t=n)):(cs=t,t=n),t}function Ps(){var u,t;return u=cs,(t=Ns())!==n&&(u,t=Ne(t)),(u=t)===n&&(u=function(){var u,t,r;ps++,u=cs,t=Fi(),t!==n&&(r=Qs())!==n&&gi()!==n?(u,u=io(r)):(cs=u,u=n);ps--,u===n&&(t=n,0===ps&&Bs(nr));return u}()),u}function Us(){var t,r,e,o;return t=cs,(r=Ms())!==n&&Ei()!==n?(u.substr(cs,2)===J?(e=J,cs+=2):(e=n,0===ps&&Bs(Ht)),e!==n&&Ei()!==n&&(o=Ps())!==n?(t,t=qe(r,o)):(cs=t,t=n)):(cs=t,t=n),t}function Ms(){var t;return(t=function(){var t,r,e,o,s,a,c;ps++,t=cs,r=[],e=cs,(o=Ai())!==n?(s=cs,(a=Fi())!==n&&(c=bs())!==n&&gi()!==n?(s,s=Pe(o,c)):(cs=s,s=n),s===n&&(s=null),47===u.charCodeAt(cs)?(a=i,cs++):(a=n,0===ps&&Bs(nt)),a!==n?(e,e=Ue(o,s)):(cs=e,e=n)):(cs=e,e=n);if(e!==n)for(;e!==n;)r.push(e),e=cs,(o=Ai())!==n?(s=cs,(a=Fi())!==n&&(c=bs())!==n&&gi()!==n?(s,s=Pe(o,c)):(cs=s,s=n),s===n&&(s=null),47===u.charCodeAt(cs)?(a=i,cs++):(a=n,0===ps&&Bs(nt)),a!==n?(e,e=Ue(o,s)):(cs=e,e=n)):(cs=e,e=n);else r=n;r!==n?(u.substr(cs,6)===f?(e=f,cs+=6):(e=n,0===ps&&Bs(st)),e!==n?(t,t=Me(r,e)):(cs=t,t=n)):(cs=t,t=n);ps--,t===n&&(r=n,0===ps&&Bs(Jt));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;ps++,t=cs,91===u.charCodeAt(cs)?(r=_,cs++):(r=n,0===ps&&Bs(Ot));if(r!==n){for(e=cs,o=[],s=u.charAt(cs),Uu.test(s)?cs++:(s=n,0===ps&&Bs(rr));s!==n;)o.push(s),s=u.charAt(cs),Uu.test(s)?cs++:(s=n,0===ps&&Bs(rr));e=u.substring(e,cs),93===u.charCodeAt(cs)?(o=R,cs++):(o=n,0===ps&&Bs(Zt)),o!==n?(t,t=eo(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(nr));return t}()),t}function Gs(){var t,r,e,o,s,a;if(ps++,t=cs,(r=Ai())!==n){for(e=[],o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=Ai())!==n?(o,o=Ge(r,a)):(cs=o,o=n);o!==n;)e.push(o),o=cs,47===u.charCodeAt(cs)?(s=i,cs++):(s=n,0===ps&&Bs(nt)),s!==n&&(a=Ai())!==n?(o,o=Ge(r,a)):(cs=o,o=n);t,t=He(r,e)}else cs=t,t=n;return ps--,t===n&&(r=n,0===ps&&Bs(Kt)),t}function Hs(){var t,r;return t=cs,(r=ci())!==n&&(t,r=Je(r)),(t=r)===n&&(t=cs,(r=fi())!==n&&(t,r=Ke(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s,i,a,c,f,l;ps++,t=cs,r=cs,e=u.charAt(cs),Ku.test(e)?cs++:(e=n,0===ps&&Bs(Kr));e!==n?(o=u.charAt(cs),Ku.test(o)?cs++:(o=n,0===ps&&Bs(Kr)),o!==n?(58===u.charCodeAt(cs)?(s=j,cs++):(s=n,0===ps&&Bs(wt)),s!==n?(i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr)),i!==n?(a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr)),a!==n?(58===u.charCodeAt(cs)?(c=j,cs++):(c=n,0===ps&&Bs(wt)),c!==n?(f=u.charAt(cs),Ku.test(f)?cs++:(f=n,0===ps&&Bs(Kr)),f!==n?(l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr)),l!==n?r=e=[e,o,s,i,a,c,f,l]:(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n);t=r!==n?u.substring(t,cs):r;ps--,t===n&&(r=n,0===ps&&Bs(Jr));return t}(),r!==n&&(t,r=Qe(r)),(t=r)===n&&(t=cs,(r=pi())!==n&&(t,r=Ve(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s,i,a,c,f,l,A;ps++,t=cs,r=cs,ps++,e=function(){var t,r,e;t=cs,r=[],e=u.charAt(cs),Ku.test(e)?cs++:(e=n,0===ps&&Bs(Kr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Ku.test(e)?cs++:(e=n,0===ps&&Bs(Kr));else r=n;r!==n?(45===u.charCodeAt(cs)?(e=Tu,cs++):(e=n,0===ps&&Bs(Vr)),e!==n?t=r=[r,e]:(cs=t,t=n)):(cs=t,t=n);return t}(),ps--,e===n?r=void 0:(cs=r,r=n);if(r!==n){if(e=cs,o=cs,s=u.charAt(cs),Qu.test(s)?cs++:(s=n,0===ps&&Bs(un)),s===n&&(s=null),i=[],a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr)),a!==n)for(;a!==n;)i.push(a),a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr));else i=n;if(i!==n){if(a=cs,46===u.charCodeAt(cs)?(c=Ou,cs++):(c=n,0===ps&&Bs(Xr)),c!==n){if(f=[],l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr)),l!==n)for(;l!==n;)f.push(l),l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr));else f=n;f!==n?a=c=[c,f]:(cs=a,a=n)}else cs=a,a=n;if(a===n&&(a=null),c=cs,101===u.charCodeAt(cs)?(f=zu,cs++):(f=n,0===ps&&Bs(rn)),f!==n){if(l=[],A=u.charAt(cs),Ku.test(A)?cs++:(A=n,0===ps&&Bs(Kr)),A!==n)for(;A!==n;)l.push(A),A=u.charAt(cs),Ku.test(A)?cs++:(A=n,0===ps&&Bs(Kr));else l=n;l!==n?c=f=[f,l]:(cs=c,c=n)}else cs=c,c=n;c===n&&(c=null),o=s=[s,i,a,c]}else cs=o,o=n;(e=o!==n?u.substring(e,cs):o)!==n?(t,t=es(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(tn));return t}(),r!==n&&(t,r=We(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s;ps++,t=cs,39===u.charCodeAt(cs)?(r=T,cs++):(r=n,0===ps&&Bs(xt));if(r!==n){for(e=cs,o=[],u.substr(cs,2)===xu?(s=xu,cs+=2):(s=n,0===ps&&Bs(Rr)),s===n&&(s=u.charAt(cs),Gu.test(s)?cs++:(s=n,0===ps&&Bs(Ir)));s!==n;)o.push(s),u.substr(cs,2)===xu?(s=xu,cs+=2):(s=n,0===ps&&Bs(Rr)),s===n&&(s=u.charAt(cs),Gu.test(s)?cs++:(s=n,0===ps&&Bs(Ir)));e=u.substring(e,cs),39===u.charCodeAt(cs)?(o=T,cs++):(o=n,0===ps&&Bs(xt)),o!==n?(t,t=ts(e)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(_r));return t}(),r!==n&&(t,r=Xe(r)),(t=r)===n&&(t=cs,r=function(){var t,r,e,o,s,i;ps++,t=cs,u.substr(cs,7)===ku?(r=ku,cs+=7):(r=n,0===ps&&Bs(hn));if(r!==n){if(e=cs,o=cs,s=[],i=u.charAt(cs),tt.test(i)?cs++:(i=n,0===ps&&Bs(Cn)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(cs),tt.test(i)?cs++:(i=n,0===ps&&Bs(Cn));else s=n;s!==n?(u.substr(cs,2)===_u?(i=_u,cs+=2):(i=n,0===ps&&Bs(dn)),i===n&&(61===u.charCodeAt(cs)?(i=p,cs++):(i=n,0===ps&&Bs(ct))),i===n&&(i=null),o=s=[s,i]):(cs=o,o=n),(e=o!==n?u.substring(e,cs):o)!==n?(39===u.charCodeAt(cs)?(o=T,cs++):(o=n,0===ps&&Bs(xt)),o!==n?(t,t=as(e)):(cs=t,t=n)):(cs=t,t=n)}else cs=t,t=n;ps--,t===n&&(r=n,0===ps&&Bs(pn));return t}(),r!==n&&(t,r=Ye(r)),(t=r)===n&&(t=cs,(r=Ns())!==n&&(t,r=uo(r)),(t=r)===n&&(t=function(){var t,r;ps++,t=cs,u.substr(cs,4)===K?(r=K,cs+=4):(r=n,0===ps&&Bs(Vt));r!==n&&(t,r=to());t=r,ps--,t===n&&(r=n,0===ps&&Bs(Qt));return t}())))))))),t}function Js(){var t,r,e,o,s,i;if(ps++,t=cs,r=cs,e=cs,123===u.charCodeAt(cs)?(o=Q,cs++):(o=n,0===ps&&Bs(Xt)),o!==n){for(s=[],(i=Js())===n&&(i=u.charAt(cs),Pu.test(i)?cs++:(i=n,0===ps&&Bs(Yt)));i!==n;)s.push(i),(i=Js())===n&&(i=u.charAt(cs),Pu.test(i)?cs++:(i=n,0===ps&&Bs(Yt)));125===u.charCodeAt(cs)?(i=V,cs++):(i=n,0===ps&&Bs(ur)),i!==n?e=o=[o,s,i]:(cs=e,e=n)}else cs=e,e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=ro(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(Wt)),t}function Ks(){var t,r,e,o,s,i,a,c;if(ps++,t=cs,r=cs,e=cs,91===u.charCodeAt(cs)?(o=_,cs++):(o=n,0===ps&&Bs(Ot)),o!==n?(s=Bi(),93===u.charCodeAt(cs)?(i=R,cs++):(i=n,0===ps&&Bs(Zt)),i!==n?e=o=[o,s,i]:(cs=e,e=n)):(cs=e,e=n),e===n)if(e=cs,91===u.charCodeAt(cs)?(o=_,cs++):(o=n,0===ps&&Bs(Ot)),o!==n)if(s=Bi(),123===u.charCodeAt(cs)?(i=Q,cs++):(i=n,0===ps&&Bs(Xt)),i!==n){for(a=[],(c=Ks())===n&&(c=u.charAt(cs),Uu.test(c)?cs++:(c=n,0===ps&&Bs(rr)));c!==n;)a.push(c),(c=Ks())===n&&(c=u.charAt(cs),Uu.test(c)?cs++:(c=n,0===ps&&Bs(rr)));93===u.charCodeAt(cs)?(c=R,cs++):(c=n,0===ps&&Bs(Zt)),c!==n?e=o=[o,s,i,a,c]:(cs=e,e=n)}else cs=e,e=n;else cs=e,e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=no(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(tr)),t}function Qs(){var t,r,e,o,s,i;if(t=cs,(r=Hs())!==n){for(e=[],o=cs,44===u.charCodeAt(cs)?(s=W,cs++):(s=n,0===ps&&Bs(er)),s!==n&&(i=Hs())!==n?(o,o=oo(r,i)):(cs=o,o=n);o!==n;)e.push(o),o=cs,44===u.charCodeAt(cs)?(s=W,cs++):(s=n,0===ps&&Bs(er)),s!==n&&(i=Hs())!==n?(o,o=oo(r,i)):(cs=o,o=n);t,t=so(r,e)}else cs=t,t=n;return t}function Vs(){var t,r,e;return t=cs,r=function(){var t,r,e;if(ps++,t=cs,r=[],e=u.charAt(cs),Mu.test(e)?cs++:(e=n,0===ps&&Bs(sr)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),Mu.test(e)?cs++:(e=n,0===ps&&Bs(sr));else r=n;return t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(or)),t}(),r!==n&&Fi()!==n?(e=function(){var u,t,r,e,o,s,i;if(u=cs,t=[],r=cs,e=Ms(),e!==n){for(o=[],s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);s!==n;)o.push(s),s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);r,r=fo(e,o)}else cs=r,r=n;for(;r!==n;)if(t.push(r),r=cs,(e=Ms())!==n){for(o=[],s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);s!==n;)o.push(s),s=cs,di()!==n&&(i=Ms())!==n?(s,s=co(e,i)):(cs=s,s=n);r,r=fo(e,o)}else cs=r,r=n;return u,t=lo(t),u=t,u}(),gi()!==n?(t,t=ao(r,e)):(cs=t,t=n)):(cs=t,t=n),t}function Ws(){var t,r;return t=cs,Bi(),(r=u.substr(cs,3)).toLowerCase()===tu?cs+=3:(r=n,0===ps&&Bs(fr)),r!==n&&Ei()!==n?(t,t=po()):(cs=t,t=n),t}function Xs(){var t,r;return t=cs,Ei()!==n?((r=u.substr(cs,3)).toLowerCase()===ru?cs+=3:(r=n,0===ps&&Bs(lr)),r!==n&&Ei()!==n?(t,t=ho()):(cs=t,t=n)):(cs=t,t=n),t}function Ys(){var u,t;return u=cs,(t=Ei())!==n&&(u,t=Co()),u=t}function ui(){var t,r;return t=cs,Ei()!==n?((r=u.substr(cs,2)).toLowerCase()===nu?cs+=2:(r=n,0===ps&&Bs(Ar)),r!==n&&Ei()!==n?(t,t=Fo()):(cs=t,t=n)):(cs=t,t=n),t}function ti(){var t,r,e;return t=cs,u.substr(cs,9)===eu?(r=eu,cs+=9):(r=n,0===ps&&Bs(pr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=cs,t=Fi(),t!==n)if(Bi(),(r=ri())!==n){for(e=[],o=cs,Bi(),di()!==n?(Bi(),(s=ri())!==n?(o,o=Lo(r,s)):(cs=o,o=n)):(cs=o,o=n);o!==n;)e.push(o),o=cs,Bi(),di()!==n?(Bi(),(s=ri())!==n?(o,o=Lo(r,s)):(cs=o,o=n)):(cs=o,o=n);o=Bi(),gi()!==n?(u,u=So(r,e)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=go(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===ou?(r=ou,cs+=7):(r=n,0===ps&&Bs(hr)),r!==n?(e=function(){var u,t,r,e,o,s,i,a;if(u=cs,t=Fi(),t!==n)if(Fi()!==n)if((r=ii())!==n){for(e=[],o=cs,(s=di())!==n&&(i=ii())!==n?(o,o=ko(r,i)):(cs=o,o=n);o!==n;)e.push(o),o=cs,(s=di())!==n&&(i=ii())!==n?(o,o=ko(r,i)):(cs=o,o=n);o=cs,(s=gi())!==n&&(o,s=_o(r,e)),(o=s)!==n?(s=cs,(i=di())!==n&&(a=Is())!==n?(s,s=Ro(r,e,a)):(cs=s,s=n),s===n&&(s=null),(i=gi())!==n?(u,u=Io(r,e,s)):(cs=u,u=n)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=Bo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===su?(r=su,cs+=6):(r=n,0===ps&&Bs(Cr)),r!==n?(e=function(){var u,t,r,e;u=cs,t=Fi(),t!==n?(Bi(),r=cs,(e=Os())!==n&&(r,e=Po(e)),(r=e)!==n?(e=Bi(),gi()!==n?(u,u=Uo(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=Eo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===iu?(r=iu,cs+=6):(r=n,0===ps&&Bs(dr)),r!==n?(e=function(){var u,t,r,e;u=cs,t=Fi(),t!==n?(Bi(),r=cs,(e=Ts())!==n&&(r,e=Mo(e)),(r=e)!==n?(e=Bi(),gi()!==n?(u,u=Go(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=vo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,6)===au?(r=au,cs+=6):(r=n,0===ps&&Bs(Fr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=cs,t=Fi(),t!==n)if(Bi(),(r=Is())!==n){if(e=[],o=cs,Bi(),di()!==n?(Bi(),(s=Is())!==n?(o,o=Ho(r,s)):(cs=o,o=n)):(cs=o,o=n),o!==n)for(;o!==n;)e.push(o),o=cs,Bi(),di()!==n?(Bi(),(s=Is())!==n?(o,o=Ho(r,s)):(cs=o,o=n)):(cs=o,o=n);else e=n;e!==n?(o=Bi(),gi()!==n?(u,u=Jo(r,e)):(cs=u,u=n)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=mo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===cu?(r=cu,cs+=7):(r=n,0===ps&&Bs(gr)),r!==n?(e=function(){var u,t,r,e,o,s,i,a,c,f;if(u=cs,t=Fi(),t!==n)if(r=Bi(),(e=ai())!==n){for(o=[],s=cs,i=Bi(),(a=di())!==n?(c=Bi(),(f=ai())!==n?s=i=[i,a,c,f]:(cs=s,s=n)):(cs=s,s=n);s!==n;)o.push(s),s=cs,i=Bi(),(a=di())!==n?(c=Bi(),(f=ai())!==n?s=i=[i,a,c,f]:(cs=s,s=n)):(cs=s,s=n);s=Bi(),(i=gi())!==n?u=t=[t,r,e,o,s,i]:(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=bo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,3)===fu?(r=fu,cs+=3):(r=n,0===ps&&Bs(Br)),r!==n?(e=function(){var u,t,r;u=cs,t=Fi(),t!==n?(Bi(),(r=Ls())!==n?(Bi(),gi()!==n?(u,u=Vo(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=Do(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,4)===lu?(r=lu,cs+=4):(r=n,0===ps&&Bs(Er)),r!==n?(e=function(){var u,t,r;u=cs,t=Fi(),t!==n?(Bi(),(r=Ss())!==n?(Bi(),gi()!==n?(u,u=Wo(r)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=yo(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,u.substr(cs,7)===Au?(r=Au,cs+=7):(r=n,0===ps&&Bs(vr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=cs,t=Fi(),t!==n)if(Bi(),(r=Rs())!==n){for(e=[],o=cs,di()!==n&&(s=Rs())!==n?(o,o=Xo(r,s)):(cs=o,o=n);o!==n;)e.push(o),o=cs,di()!==n&&(s=Rs())!==n?(o,o=Xo(r,s)):(cs=o,o=n);o=Bi(),gi()!==n?(u,u=Yo(r,e)):(cs=u,u=n)}else cs=u,u=n;else cs=u,u=n;return u}(),e!==n?(t,t=$o(e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,(r=u.substr(cs,8)).toLowerCase()===pu?cs+=8:(r=n,0===ps&&Bs(mr)),r===n&&((r=u.substr(cs,11)).toLowerCase()===hu?cs+=11:(r=n,0===ps&&Bs(br)),r===n&&((r=u.substr(cs,6)).toLowerCase()===Cu?cs+=6:(r=n,0===ps&&Bs(Dr)),r===n&&((r=u.substr(cs,9)).toLowerCase()===du?cs+=9:(r=n,0===ps&&Bs(yr)),r===n&&((r=u.substr(cs,10)).toLowerCase()===Fu?cs+=10:(r=n,0===ps&&Bs($r)),r===n&&((r=u.substr(cs,13)).toLowerCase()===gu?cs+=13:(r=n,0===ps&&Bs(xr))))))),r!==n?(e=function(){var u,t,r,e;u=cs,t=Fi(),t!==n?(Bi(),(r=Ms())!==n?(Bi(),di()!==n?(Bi(),(e=Ms())!==n?(Bi(),gi()!==n?(u,u=Ko(r,e)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n)):(cs=u,u=n);return u}(),e!==n?(t,t=xo(r,e)):(cs=t,t=n)):(cs=t,t=n),t===n&&(t=cs,r=function(){var t,r;t=cs,u.substr(cs,8)===Du?(r=Du,cs+=8):(r=n,0===ps&&Bs(Or));r!==n&&(t,r=Qo());return t=r,t}(),r!==n&&(t,r=wo(r)),t=r)))))))))),t}function ri(){var t,r,e,o;return t=cs,r=cs,u.substr(cs,6)===f?(e=f,cs+=6):(e=n,0===ps&&Bs(st)),e!==n&&(o=si())!==n?(r,r=To(o)):(cs=r,r=n),r===n&&(r=ni()),r!==n&&(t,r=jo(r)),t=r}function ni(){var u,t,r,e,o;return u=cs,(t=Gs())!==n?((r=ei())===n&&(r=null),(e=oi())===n&&(e=null),(o=si())===n&&(o=null),u,u=Oo(t,r,o)):(cs=u,u=n),u===n&&(u=cs,(t=Ai())!==n&&(r=Fi())!==n&&(e=ni())!==n&&(o=gi())!==n?u=t=[t,r,e,o]:(cs=u,u=n)),u}function ei(){var t,r,e,o,s;if(t=cs,Ei()!==n)if(u.substr(cs,4)===Bu?(r=Bu,cs+=4):(r=n,0===ps&&Bs(wr)),r!==n)if(Ei()!==n){if(e=cs,o=[],s=u.charAt(cs),Mu.test(s)?cs++:(s=n,0===ps&&Bs(sr)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(cs),Mu.test(s)?cs++:(s=n,0===ps&&Bs(sr));else o=n;(e=o!==n?u.substring(e,cs):o)!==n?(t,t=Zo(e)):(cs=t,t=n)}else cs=t,t=n;else cs=t,t=n;else cs=t,t=n;return t}function oi(){var t,r,e,o,s,i,a;return t=cs,(r=Ei())!==n?(u.substr(cs,4)===Eu?(e=Eu,cs+=4):(e=n,0===ps&&Bs(Lr)),e!==n&&(o=Ei())!==n&&(s=Gs())!==n&&(i=ei())!==n?((a=oi())===n&&(a=null),t=r=[r,e,o,s,i,a]):(cs=t,t=n)):(cs=t,t=n),t}function si(){var t,r,e;return t=cs,Ei()!==n?(u.substr(cs,2)===vu?(r=vu,cs+=2):(r=n,0===ps&&Bs(Sr)),r!==n&&Ei()!==n&&(e=Ai())!==n?(t,t=zo(e)):(cs=t,t=n)):(cs=t,t=n),t}function ii(){var t,r;return t=cs,r=function(){var t,r,e,o,s,i,a,c,f,l,A;t=cs,r=cs,u.substr(cs,6)===mu?(e=mu,cs+=6):(e=n,0===ps&&Bs(Tr));if(e!==n)if((o=Fi())!==n)if(s=Bi(),u.substr(cs,4)===bu?(i=bu,cs+=4):(i=n,0===ps&&Bs(jr)),i===n&&(i=Gs()),i!==n){if(a=[],c=cs,f=Bi(),(l=di())!==n&&(A=Gs())!==n?c=f=[f,l,A]:(cs=c,c=n),c!==n)for(;c!==n;)a.push(c),c=cs,f=Bi(),(l=di())!==n&&(A=Gs())!==n?c=f=[f,l,A]:(cs=c,c=n);else a=n;a!==n?(c=Bi(),(f=gi())!==n?r=e=[e,o,s,i,a,c,f]:(cs=r,r=n)):(cs=r,r=n)}else cs=r,r=n;else cs=r,r=n;else cs=r,r=n;r!==n&&(t,r=qo(r));return t=r,t}(),r===n&&(r=Gs()),r!==n&&(t,r=No(r)),t=r}function ai(){var u,t,r;return u=cs,(t=Zs())!==n&&(r=si())!==n?u=t=[t,r]:(cs=u,u=n),u}function ci(){var t,r;return ps++,t=cs,u.substr(cs,4)===yu?(r=yu,cs+=4):(r=n,0===ps&&Bs(zr)),r===n&&(u.substr(cs,5)===$u?(r=$u,cs+=5):(r=n,0===ps&&Bs(kr))),r!==n&&(t,r=us(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(Zr)),t}function fi(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C,d,F,g,B,E,v,m,b,D,y,$;if(ps++,t=cs,r=cs,e=cs,o=[],s=u.charAt(cs),Ku.test(s)?cs++:(s=n,0===ps&&Bs(Kr)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(cs),Ku.test(s)?cs++:(s=n,0===ps&&Bs(Kr));else o=n;if(o!==n)if(45===u.charCodeAt(cs)?(s=Tu,cs++):(s=n,0===ps&&Bs(Vr)),s!==n)if(i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr)),i!==n)if(a=u.charAt(cs),Ku.test(a)?cs++:(a=n,0===ps&&Bs(Kr)),a!==n)if(45===u.charCodeAt(cs)?(c=Tu,cs++):(c=n,0===ps&&Bs(Vr)),c!==n)if(f=u.charAt(cs),Ku.test(f)?cs++:(f=n,0===ps&&Bs(Kr)),f!==n)if(l=u.charAt(cs),Ku.test(l)?cs++:(l=n,0===ps&&Bs(Kr)),l!==n){if(A=cs,84===u.charCodeAt(cs)?(p=ju,cs++):(p=n,0===ps&&Bs(Wr)),p!==n)if(h=u.charAt(cs),Ku.test(h)?cs++:(h=n,0===ps&&Bs(Kr)),h!==n)if(C=u.charAt(cs),Ku.test(C)?cs++:(C=n,0===ps&&Bs(Kr)),C!==n)if(58===u.charCodeAt(cs)?(d=j,cs++):(d=n,0===ps&&Bs(wt)),d!==n)if(F=u.charAt(cs),Ku.test(F)?cs++:(F=n,0===ps&&Bs(Kr)),F!==n)if(g=u.charAt(cs),Ku.test(g)?cs++:(g=n,0===ps&&Bs(Kr)),g!==n){if(B=cs,58===u.charCodeAt(cs)?(E=j,cs++):(E=n,0===ps&&Bs(wt)),E!==n)if(v=u.charAt(cs),Ku.test(v)?cs++:(v=n,0===ps&&Bs(Kr)),v!==n)if(m=u.charAt(cs),Ku.test(m)?cs++:(m=n,0===ps&&Bs(Kr)),m!==n){if(b=cs,46===u.charCodeAt(cs)?(D=Ou,cs++):(D=n,0===ps&&Bs(Xr)),D!==n){if(y=[],$=u.charAt(cs),Ku.test($)?cs++:($=n,0===ps&&Bs(Kr)),$!==n)for(;$!==n;)y.push($),$=u.charAt(cs),Ku.test($)?cs++:($=n,0===ps&&Bs(Kr));else y=n;y!==n?b=D=[D,y]:(cs=b,b=n)}else cs=b,b=n;b===n&&(b=null),B=E=[E,v,m,b]}else cs=B,B=n;else cs=B,B=n;else cs=B,B=n;B===n&&(B=null),90===u.charCodeAt(cs)?(E=Zu,cs++):(E=n,0===ps&&Bs(Yr)),E===n&&(E=cs,v=u.charAt(cs),Qu.test(v)?cs++:(v=n,0===ps&&Bs(un)),v!==n?(m=u.charAt(cs),Ku.test(m)?cs++:(m=n,0===ps&&Bs(Kr)),m!==n?(b=u.charAt(cs),Ku.test(b)?cs++:(b=n,0===ps&&Bs(Kr)),b!==n?(58===u.charCodeAt(cs)?(D=j,cs++):(D=n,0===ps&&Bs(wt)),D!==n?(y=u.charAt(cs),Ku.test(y)?cs++:(y=n,0===ps&&Bs(Kr)),y!==n?($=u.charAt(cs),Ku.test($)?cs++:($=n,0===ps&&Bs(Kr)),$!==n?E=v=[v,m,b,D,y,$]:(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)):(cs=E,E=n)),E===n&&(E=null),A=p=[p,h,C,d,F,g,B,E]}else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;else cs=A,A=n;A===n&&(A=null),e=o=[o,s,i,a,c,f,l,A]}else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;else cs=e,e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=ns(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(Qr)),t}function li(){var t,r,e,o,s,i;if(ps++,t=cs,r=cs,e=cs,o=u.charAt(cs),Qu.test(o)?cs++:(o=n,0===ps&&Bs(un)),o===n&&(o=null),s=[],i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(cs),Ku.test(i)?cs++:(i=n,0===ps&&Bs(Kr));else s=n;return s!==n?e=o=[o,s]:(cs=e,e=n),(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=os(r)),ps--,(t=r)===n&&(r=n,0===ps&&Bs(nn)),t}function Ai(){var t,r,e,o,s,i,a,c;if(ps++,t=cs,r=cs,ps++,e=ci(),ps--,e===n?r=void 0:(cs=r,r=n),r!==n)if(e=cs,ps++,o=pi(),ps--,o===n?e=void 0:(cs=e,e=n),e!==n){if(o=cs,s=cs,i=u.charAt(cs),Vu.test(i)?cs++:(i=n,0===ps&&Bs(on)),i!==n){for(a=[],c=u.charAt(cs),Wu.test(c)?cs++:(c=n,0===ps&&Bs(sn));c!==n;)a.push(c),c=u.charAt(cs),Wu.test(c)?cs++:(c=n,0===ps&&Bs(sn));s=i=[i,a]}else cs=s,s=n;(o=s!==n?u.substring(o,cs):s)!==n?(t,t=ss(o)):(cs=t,t=n)}else cs=t,t=n;else cs=t,t=n;return ps--,t===n&&(r=n,0===ps&&Bs(en)),t}function pi(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C;return ps++,t=cs,r=cs,(e=hi())!==n&&(o=hi())!==n?(45===u.charCodeAt(cs)?(s=Tu,cs++):(s=n,0===ps&&Bs(Vr)),s===n&&(s=null),(i=hi())!==n?(45===u.charCodeAt(cs)?(a=Tu,cs++):(a=n,0===ps&&Bs(Vr)),a===n&&(a=null),(c=hi())!==n?(45===u.charCodeAt(cs)?(f=Tu,cs++):(f=n,0===ps&&Bs(Vr)),f===n&&(f=null),(l=hi())!==n?(45===u.charCodeAt(cs)?(A=Tu,cs++):(A=n,0===ps&&Bs(Vr)),A===n&&(A=null),(p=hi())!==n&&(h=hi())!==n&&(C=hi())!==n?r=e=[e,o,s,i,a,c,f,l,A,p,h,C]:(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n),t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(an)),t}function hi(){var t,r,e,o,s,i;return ps++,t=cs,r=cs,e=u.charAt(cs),Xu.test(e)?cs++:(e=n,0===ps&&Bs(fn)),e!==n?(o=u.charAt(cs),Xu.test(o)?cs++:(o=n,0===ps&&Bs(fn)),o!==n?(s=u.charAt(cs),Xu.test(s)?cs++:(s=n,0===ps&&Bs(fn)),s!==n?(i=u.charAt(cs),Xu.test(i)?cs++:(i=n,0===ps&&Bs(fn)),i!==n?r=e=[e,o,s,i]:(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n)):(cs=r,r=n),t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(cn)),t}function Ci(){var t,r,e,o;if(t=cs,r=cs,e=[],o=u.charAt(cs),Yu.test(o)?cs++:(o=n,0===ps&&Bs(ln)),o!==n)for(;o!==n;)e.push(o),o=u.charAt(cs),Yu.test(o)?cs++:(o=n,0===ps&&Bs(ln));else e=n;return(r=e!==n?u.substring(r,cs):e)!==n&&(t,r=is(r)),t=r}function di(){var t,r,e;return t=cs,r=Bi(),44===u.charCodeAt(cs)?(e=W,cs++):(e=n,0===ps&&Bs(er)),e!==n?t=r=[r,e,Bi()]:(cs=t,t=n),t}function Fi(){var t,r,e;return t=cs,r=Bi(),40===u.charCodeAt(cs)?(e=Ru,cs++):(e=n,0===ps&&Bs(Fn)),e!==n?t=r=[r,e,Bi()]:(cs=t,t=n),t}function gi(){var t,r,e;return t=cs,r=Bi(),41===u.charCodeAt(cs)?(e=Iu,cs++):(e=n,0===ps&&Bs(gn)),e!==n?t=r=[r,e]:(cs=t,t=n),t}function Bi(){var t,r,e;for(ps++,t=cs,r=[],e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En));e!==n;)r.push(e),e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En));return t=u.substring(t,cs),ps--,r=n,0===ps&&Bs(Bn),t}function Ei(){var t,r,e;if(ps++,t=cs,r=[],e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(cs),rt.test(e)?cs++:(e=n,0===ps&&Bs(En));else r=n;return t=r!==n?u.substring(t,cs):r,ps--,t===n&&(r=n,0===ps&&Bs(vn)),t}const vi=["$value"],mi={eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="},bi={topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1},Di=Object.assign,{strict:yi,minimal:$i}=t,xi=[];let wi,Li;const Si=t.safeNumber||function(u){if("string"!=typeof u)return u;const t=parseFloat(u);if(!isNaN(t)&&String(t)===u)return t;const r=parseInt(u);return isNaN(r)||String(r)!==u.replace(/^-?\d+\.0+$/,u.split(".")[0])?u:r},Ti=t.skipToken,ji=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},Oi=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(""),Zi=u=>t=>{if(Array.isArray(t))return t.map(Zi(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},zi=u=>t=>Array.isArray(t)?t.map(zi(u)):t.ref&&!u.find(Oi(t))?{val:null}:t,ki=(u,t)=>{if(1===t.ref.length)u.find(Oi(t))||u.push(t);else{const r=t.ref.shift(),n=u.find((u=>u.ref&&u.ref[0]===r));if(n)ki(n.expand,t);else{const n={ref:[r],expand:[]};ki(n.expand,t),u.push(n)}}},_i=(u,t,r=!1)=>{let n=Ni({from:u.from},t,r);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Ri(n[t],u,r);else n=Ri(n,u,r);return n},Ri=(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 Ii(n,e,r),{SELECT:n}},Ii=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const n=t.find(Oi(r));return n&&u.push(n),u}),[]):t,u.where&&(u.where=u.where.map(Zi(u.columns)),u.groupBy&&(u.having=u.where.map(zi(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(Oi(r))?ki(u,{ref:[...r.ref]}):u.push(r),u)),[]))},Ni=(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(Oi(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const n=[...u.groupBy||[],...t.aggregate||[]];if(Ii(u,n,r),t.apply&&u.from&&Ni(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=Ni(n,n.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},qi=u=>{wi.limit&&wi.limit.offset&&wi.limit.offset.val&&(u+=wi.limit.offset.val),(wi.limit||(wi.limit={})).offset={val:u}},Pi=(u,t=!1)=>{wi.orderBy=wi.orderBy?t?[u,...wi.orderBy]:[...wi.orderBy,u]:[u]},Ui=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Ui(u,r.args);return t},Mi=(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&&Mi(u.args,t,r,n)})):u.SELECT&&Gi(u.SELECT,t,r,n)}))},Gi=(u,t,r,n=!1)=>{const{where:e,from:o}=u;Mi(e,t,r),o?.ref?.forEach((u=>{Mi(u.where,t,r,!0)}))};if(r=s(),t.peg$library)return{peg$result:r,peg$currPos:cs,peg$FAILED:n,peg$maxFailExpected:As,peg$maxFailPos:ls};if(r!==n&&cs===u.length)return r;throw r!==n&&cs<u.length&&Bs({type:"end"}),Es(As,ls<u.length?u.charAt(ls):null,ls<u.length?gs(ls,ls+1):gs(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 i=this.location.end,a=peg$padEnd("",o.line.toString().length," "),c=n[e.line-1],f=(e.line===i.line?i.column:c.length+1)-e.column||1;t+="\n --\x3e "+s+"\n"+a+" |\n"+o.line+" | "+c+"\n"+a+" | "+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={StartRules:["ODataRelativeURI"],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:bs},s=bs,i="/",a="?",c="&",f="$count",l="$ref",A="$value",p="=",h="$skiptoken=",C="$select=",d="$expand=",F="$filter=",g="$orderby=",B="$top=",E="$skip=",v="$search=",m="$count=",b="$apply=",D="$at",y="$from",$="$toInclusive",x="$to",w="*",L="/$count",S=";",T="'",j=":",O="any",Z="all",z="asc",k="desc",_="[",R="]",I="@",N="$format=",q="eq",P="ne",U="lt",M="gt",G="le",H="ge",J="in",K="null",Q="{",V="}",W=",",X="contains",Y="endswith",uu="startswith",tu="matchespattern",ru="not",nu="and",eu="or",ou="aggregate",su="groupby",iu="filter",au="search",cu="concat",fu="compute",lu="top",Au="skip",pu="orderby",hu="topcount",Cu="bottomcount",du="topsum",Fu="bottomsum",gu="toppercent",Bu="bottompercent",Eu="with",vu="from",mu="as",bu="rollup",Du="$all",yu="identity",$u="true",xu="false",wu="''",Lu='"',Su='\\"',Tu="\\\\",ju="-",Ou="T",Zu=".",zu="Z",ku="e",_u="binary'",Ru="==",Iu="(",Nu=")",qu=/^[a-zA-Z0-9\-_.~]/,Pu=/^[^&]/,Uu=/^[^}]/,Mu=/^[^\]]/,Gu=/^[a-zA-Z]/,Hu=/^[^']/,Ju=/^[^"]/,Ku=/^[^ \t\n()"&;]/,Qu=/^[0-9]/,Vu=/^[+\-]/,Wu=/^[_a-zA-Z]/,Xu=/^[_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]/,Yu=/^[0-9a-fA-F]/,ut=/^[^\/?]/,tt=/^[a-zA-Z0-9\-"."_~!$'()*+,;=:@"\/""?"]/,rt=/^[a-zA-Z0-9\-_]/,nt=/^[ \t\n]/,et=ds("/",!1),ot=ds("?",!1),st=ds("&",!1),it=ds("$count",!1),at=ds("$ref",!1),ct=ds("$value",!1),ft=ds("=",!1),lt=ds("$skiptoken=",!1),At=ds("$select=",!1),pt=ds("$expand=",!1),ht=ds("$filter=",!1),Ct=ds("$orderby=",!1),dt=ds("$top=",!1),Ft=ds("$skip=",!1),gt=ds("$search=",!1),Bt=ds("$count=",!1),Et=ds("$apply=",!1),vt=ds("$at",!1),mt=ds("$from",!1),bt=ds("$toInclusive",!1),Dt=ds("$to",!1),yt=ds("*",!1),$t=ds("/$count",!1),xt=ds(";",!1),wt=ds("'",!1),Lt=ds(":",!1),St=ds("any",!1),Tt=ds("all",!1),jt=ds("asc",!1),Ot=ds("desc",!1),Zt=ds("[",!1),zt=ds("]",!1),kt=Fs([["a","z"],["A","Z"],["0","9"],"-","_",".","~"],!1,!1),_t=Fs(["&"],!0,!1),Rt=gs("an aliased parameter (@param)"),It=ds("@",!1),Nt=ds("$format=",!1),qt=ds("eq",!1),Pt=ds("ne",!1),Ut=ds("lt",!1),Mt=ds("gt",!1),Gt=ds("le",!1),Ht=ds("ge",!1),Jt=ds("in",!1),Kt=(ds("add",!1),ds("sub",!1),ds("mul",!1),ds("div",!1),ds("mod",!1),gs("navigation with $count")),Qt=gs("a reference"),Vt=gs("null"),Wt=ds("null",!1),Xt=gs("a json object"),Yt=ds("{",!1),ur=Fs(["}"],!0,!1),tr=ds("}",!1),rr=gs("a json array"),nr=Fs(["]"],!0,!1),er=gs("a list"),or=ds(",",!1),sr=gs("a function name"),ir=Fs([["a","z"],["A","Z"]],!1,!1),ar=ds("contains",!0),cr=ds("endswith",!0),fr=ds("startswith",!0),lr=ds("matchespattern",!0),Ar=ds("NOT",!0),pr=ds("AND",!0),hr=ds("OR",!0),Cr=ds("aggregate",!1),dr=ds("groupby",!1),Fr=ds("filter",!1),gr=ds("search",!1),Br=ds("concat",!1),Er=ds("compute",!1),vr=ds("top",!1),mr=ds("skip",!1),br=ds("orderby",!1),Dr=ds("topcount",!0),yr=ds("bottomcount",!0),$r=ds("topsum",!0),xr=ds("bottomsum",!0),wr=ds("toppercent",!0),Lr=ds("bottompercent",!0),Sr=ds("with",!1),Tr=ds("from",!1),jr=ds("as",!1),Or=ds("rollup",!1),Zr=ds("$all",!1),zr=ds("identity",!1),kr=gs("a boolean"),_r=ds("true",!1),Rr=ds("false",!1),Ir=gs("a single quoted string"),Nr=ds("''",!1),qr=Fs(["'"],!0,!1),Pr=gs("a doubled quoted string"),Ur=ds('"',!1),Mr=ds('\\"',!1),Gr=ds("\\\\",!1),Hr=Fs(['"'],!0,!1),Jr=gs("a string"),Kr=Fs([" ","\t","\n","(",")",'"',"&",";"],!0,!1),Qr=gs("a time"),Vr=Fs([["0","9"]],!1,!1),Wr=gs("a date"),Xr=ds("-",!1),Yr=ds("T",!1),un=ds(".",!1),tn=ds("Z",!1),rn=Fs(["+","-"],!1,!1),nn=gs("a number"),en=ds("e",!1),on=gs("an integer"),sn=gs("an identifier"),an=Fs(["_",["a","z"],["A","Z"]],!1,!1),cn=Fs(["_",["a","z"],["A","Z"],["0","9"],'"',".",'"',["A","Z"],["a","z"],"ª","µ","º",["À","Ö"],["Ø","ö"],["ø","ˁ"],["ˆ","ˑ"],["ˠ","ˤ"],"ˬ","ˮ",["Ͱ","ʹ"],"Ͷ","ͷ",["ͺ","ͽ"],"Ά",["Έ","Ί"],"Ό",["Ύ","Ρ"],["Σ","ϵ"],["Ϸ","ҁ"],["Ҋ","ԧ"],["Ա","Ֆ"],"ՙ",["ա","և"],["א","ת"],["װ","ײ"],["ؠ","ي"],"ٮ","ٯ",["ٱ","ۓ"],"ە","ۥ","ۦ","ۮ","ۯ",["ۺ","ۼ"],"ۿ","ܐ",["ܒ","ܯ"],["ݍ","ޥ"],"ޱ",["ߊ","ߪ"],"ߴ","ߵ","ߺ",["ࠀ","ࠕ"],"ࠚ","ࠤ","ࠨ",["ࡀ","ࡘ"],"ࢠ",["ࢢ","ࢬ"],["ऄ","ह"],"ऽ","ॐ",["क़","ॡ"],["ॱ","ॷ"],["ॹ","ॿ"],["অ","ঌ"],"এ","ঐ",["ও","ন"],["প","র"],"ল",["শ","হ"],"ঽ","ৎ","ড়","ঢ়",["য়","ৡ"],"ৰ","ৱ",["ਅ","ਊ"],"ਏ","ਐ",["ਓ","ਨ"],["ਪ","ਰ"],"ਲ","ਲ਼","ਵ","ਸ਼","ਸ","ਹ",["ਖ਼","ੜ"],"ਫ਼",["ੲ","ੴ"],["અ","ઍ"],["એ","ઑ"],["ઓ","ન"],["પ","ર"],"લ","ળ",["વ","હ"],"ઽ","ૐ","ૠ","ૡ",["ଅ","ଌ"],"ଏ","ଐ",["ଓ","ନ"],["ପ","ର"],"ଲ","ଳ",["ଵ","ହ"],"ଽ","ଡ଼","ଢ଼",["ୟ","ୡ"],"ୱ","ஃ",["அ","ஊ"],["எ","ஐ"],["ஒ","க"],"ங","ச","ஜ","ஞ","ட","ண","த",["ந","ப"],["ம","ஹ"],"ௐ",["అ","ఌ"],["ఎ","ఐ"],["ఒ","న"],["ప","ళ"],["వ","హ"],"ఽ","ౘ","ౙ","ౠ","ౡ",["ಅ","ಌ"],["ಎ","ಐ"],["ಒ","ನ"],["ಪ","ಳ"],["ವ","ಹ"],"ಽ","ೞ","ೠ","ೡ","ೱ","ೲ",["അ","ഌ"],["എ","ഐ"],["ഒ","ഺ"],"ഽ","ൎ","ൠ","ൡ",["ൺ","ൿ"],["අ","ඖ"],["ක","න"],["ඳ","ර"],"ල",["ව","ෆ"],["ก","ะ"],"า","ำ",["เ","ๆ"],"ກ","ຂ","ຄ","ງ","ຈ","ຊ","ຍ",["ດ","ທ"],["ນ","ຟ"],["ມ","ຣ"],"ລ","ວ","ສ","ຫ",["ອ","ະ"],"າ","ຳ","ຽ",["ເ","ໄ"],"ໆ",["ໜ","ໟ"],"ༀ",["ཀ","ཇ"],["ཉ","ཬ"],["ྈ","ྌ"],["က","ဪ"],"ဿ",["ၐ","ၕ"],["ၚ","ၝ"],"ၡ","ၥ","ၦ",["ၮ","ၰ"],["ၵ","ႁ"],"ႎ",["Ⴀ","Ⴥ"],"Ⴧ","Ⴭ",["ა","ჺ"],["ჼ","ቈ"],["ቊ","ቍ"],["ቐ","ቖ"],"ቘ",["ቚ","ቝ"],["በ","ኈ"],["ኊ","ኍ"],["ነ","ኰ"],["ኲ","ኵ"],["ኸ","ኾ"],"ዀ",["ዂ","ዅ"],["ወ","ዖ"],["ዘ","ጐ"],["ጒ","ጕ"],["ጘ","ፚ"],["ᎀ","ᎏ"],["Ꭰ","Ᏼ"],["ᐁ","ᙬ"],["ᙯ","ᙿ"],["ᚁ","ᚚ"],["ᚠ","ᛪ"],["ᜀ","ᜌ"],["ᜎ","ᜑ"],["ᜠ","ᜱ"],["ᝀ","ᝑ"],["ᝠ","ᝬ"],["ᝮ","ᝰ"],["ក","ឳ"],"ៗ","ៜ",["ᠠ","ᡷ"],["ᢀ","ᢨ"],"ᢪ",["ᢰ","ᣵ"],["ᤀ","ᤜ"],["ᥐ","ᥭ"],["ᥰ","ᥴ"],["ᦀ","ᦫ"],["ᧁ","ᧇ"],["ᨀ","ᨖ"],["ᨠ","ᩔ"],"ᪧ",["ᬅ","ᬳ"],["ᭅ","ᭋ"],["ᮃ","ᮠ"],"ᮮ","ᮯ",["ᮺ","ᯥ"],["ᰀ","ᰣ"],["ᱍ","ᱏ"],["ᱚ","ᱽ"],["ᳩ","ᳬ"],["ᳮ","ᳱ"],"ᳵ","ᳶ",["ᴀ","ᶿ"],["Ḁ","ἕ"],["Ἐ","Ἕ"],["ἠ","ὅ"],["Ὀ","Ὅ"],["ὐ","ὗ"],"Ὑ","Ὓ","Ὕ",["Ὗ","ώ"],["ᾀ","ᾴ"],["ᾶ","ᾼ"],"ι",["ῂ","ῄ"],["ῆ","ῌ"],["ῐ","ΐ"],["ῖ","Ί"],["ῠ","Ῥ"],["ῲ","ῴ"],["ῶ","ῼ"],"ⁱ","ⁿ",["ₐ","ₜ"],"ℂ","ℇ",["ℊ","ℓ"],"ℕ",["ℙ","ℝ"],"ℤ","Ω","ℨ",["K","ℭ"],["ℯ","ℹ"],["ℼ","ℿ"],["ⅅ","ⅉ"],"ⅎ","Ↄ","ↄ",["Ⰰ","Ⱞ"],["ⰰ","ⱞ"],["Ⱡ","ⳤ"],["Ⳬ","ⳮ"],"Ⳳ","ⳳ",["ⴀ","ⴥ"],"ⴧ","ⴭ",["ⴰ","ⵧ"],"ⵯ",["ⶀ","ⶖ"],["ⶠ","ⶦ"],["ⶨ","ⶮ"],["ⶰ","ⶶ"],["ⶸ","ⶾ"],["ⷀ","ⷆ"],["ⷈ","ⷎ"],["ⷐ","ⷖ"],["ⷘ","ⷞ"],"ⸯ","々","〆",["〱","〵"],"〻","〼",["ぁ","ゖ"],["ゝ","ゟ"],["ァ","ヺ"],["ー","ヿ"],["ㄅ","ㄭ"],["ㄱ","ㆎ"],["ㆠ","ㆺ"],["ㇰ","ㇿ"],["㐀","䶵"],["一","鿌"],["ꀀ","ꒌ"],["ꓐ","ꓽ"],["ꔀ","ꘌ"],["ꘐ","ꘟ"],"ꘪ","ꘫ",["Ꙁ","ꙮ"],["ꙿ","ꚗ"],["ꚠ","ꛥ"],["ꜗ","ꜟ"],["Ꜣ","ꞈ"],["Ꞌ","ꞎ"],["Ꞑ","ꞓ"],["Ꞡ","Ɦ"],["ꟸ","ꠁ"],["ꠃ","ꠅ"],["ꠇ","ꠊ"],["ꠌ","ꠢ"],["ꡀ","ꡳ"],["ꢂ","ꢳ"],["ꣲ","ꣷ"],"ꣻ",["ꤊ","ꤥ"],["ꤰ","ꥆ"],["ꥠ","ꥼ"],["ꦄ","ꦲ"],"ꧏ",["ꨀ","ꨨ"],["ꩀ","ꩂ"],["ꩄ","ꩋ"],["ꩠ","ꩶ"],"ꩺ",["ꪀ","ꪯ"],"ꪱ","ꪵ","ꪶ",["ꪹ","ꪽ"],"ꫀ","ꫂ",["ꫛ","ꫝ"],["ꫠ","ꫪ"],["ꫲ","ꫴ"],["ꬁ","ꬆ"],["ꬉ","ꬎ"],["ꬑ","ꬖ"],["ꬠ","ꬦ"],["ꬨ","ꬮ"],["ꯀ","ꯢ"],["가","힣"],["ힰ","ퟆ"],["ퟋ","ퟻ"],["豈","舘"],["並","龎"],["ff","st"],["ﬓ","ﬗ"],"יִ",["ײַ","ﬨ"],["שׁ","זּ"],["טּ","לּ"],"מּ","נּ","סּ","ףּ","פּ",["צּ","ﮱ"],["ﯓ","ﴽ"],["ﵐ","ﶏ"],["ﶒ","ﷇ"],["ﷰ","ﷻ"],["ﹰ","ﹴ"],["ﹶ","ﻼ"],["A","Z"],["a","z"],["ヲ","ᄒ"],["ᅡ","ᅦ"],["ᅧ","ᅬ"],["ᅭ","ᅲ"],["ᅳ","ᅵ"]],!1,!1),fn=gs("a guid"),ln=gs("a hex value"),An=Fs([["0","9"],["a","f"],["A","F"]],!1,!1),pn=Fs(["/","?"],!0,!1),hn=Fs([["a","z"],["A","Z"],["0","9"],"-",'"',".",'"',"_","~","!","$","'","(",")","*","+",",",";","=",":","@",'"',"/",'"','"',"?",'"'],!1,!1),Cn=gs("a binary"),dn=ds("binary'",!1),Fn=Fs([["a","z"],["A","Z"],["0","9"],"-","_"],!1,!1),gn=ds("==",!1),Bn=ds("(",!1),En=ds(")",!1),vn=gs("an optional whitespace"),mn=Fs([" ","\t","\n"],!1,!1),bn=gs("a whitespace"),Dn=function(u){Si=u},yn=function(){if(Ti)return Si.columns=[{args:[{val:1}],as:"$count",func:"count"}],delete Si.expand,delete Si.limit,delete Si.orderBy,Si.apply?Ii(Si,Si.apply):{SELECT:Si};let u;if(Si.expand){Si.columns||(Si.columns=["*"],u=!0);for(const u of Si.expand){const t=Si.columns.findIndex(zi(u));t>-1&&Si.columns.splice(t,1),Si.columns.push(u)}delete Si.expand}return Si.count&&Si.apply&&(Si.__countAggregated=!0),Si.apply?Ii(Si,Si.apply,u):{SELECT:Si}},$n=function(){Ti=!0},xn=function(u){return!bi.includes(u)&&{from:{ref:[u]}}},wn=function(u){return[u]},Ln=function(u,t){return t},Sn=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:[]}):wi?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:ji(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},Tn=function(u){return[u]},jn=function(u,t,r){const n=[u,"=",t];return r&&n.push("and",...r[1]),n},On=function(u){u&&u.apply&&(Si.apply=u.apply)},Zn=function(u){Si.where=u},zn=function(u,t){Mi(t)},kn=function(u){Mi(u,!0)},_n=function(u){(Si.limit||(Si.limit={})).rows={val:u}},Rn=function(u){Ui(u)},In=function(u){u&&(Si.search=u)},Nn=function(u){return u},qn=function(){return null},Pn=function(u){return Si.columns=Array.isArray(Si.columns)?Si.columns:[],Si.columns.find(zi(u))||Si.columns.push(u),u},Un=function(){const u=new Error('"/$count" is not supported for expand operation');throw u.statusCode=501,u},Mn=function(u){return u},Gn=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(Si.columns){for(const u of Si.columns)Si.expand.find(zi(u))||Si.expand.push(u);delete Si.columns}else Array.isArray(Si.expand)&&-1===Si.expand.indexOf("*")&&Si.expand.unshift("*")},Hn=function(){Li.push(Si),Si=Si.expand[Si.expand.length-1],Si.expand=[]},Jn=function(){Si.expand.length||Si.expand.push("*"),Si=Li.pop()},Kn=function(u){const t="*"===u?{}:u;return t.expand=["*"],Array.isArray(Si.expand)||(Si.expand=[]),Si.expand.find(zi(t))||Si.expand.push(t),t},Qn=function(u){return u},Vn=function(u){Oi(u,{SELECT:Si})},Wn=function(u){return u},Xn=function(u){return u},Yn=function(u){return u?[u]:[]},ue=function(u,t){u.push({xpr:t})},te=function(u,t){u.push({val:t})},re=function(u,t){u.push({val:t})},ne=function(u,t,r){u.push(t,...r)},ee=function(u){return u},oe=function(u){return u},se=function(u){return u?[u]:[]},ie=function(u,t){u.push({xpr:t})},ae=function(u,t){u.push(...t)},ce=function(u,t){"not"===u[u.length-1]&&"not"===t[0]?u.push("(",...t,")"):u.push(...t)},fe=function(u,t){u.push(t)},le=function(u,t){u.push({val:t})},Ae=function(u,t){u.push(...t)},pe=function(u,t,r){u.push(t,...r)},he=function(u){return u},Ce=function(u){return[u]},de=function(u,t){u.push(t)},Fe=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}]}]},ge=function(u,t){let r=u.pop();return["not","exists",{ref:[...u,{id:r,where:["not",{xpr:[...t]}]}]}]},Be=function(u,t){return t},Ee=function(u){return u?[u]:[]},ve=function(u,t){u.push("(",...t,")")},me=function(u,t){u.push(...t)},be=function(u,t){u.push(t)},De=function(u,t){u.push(...t)},ye=function(u,t){u.push(...t)},$e=function(u,t,r){u.push(t,...r)},xe=function(u){return u},we=function(u,t){return Gi(u,t)},Le=function(u){return u},Se=function(u){return u},Te=function(){const u=new Error('"$orderby" does not support lambda');throw u.statusCode=501,u},je=function(u,t){return t},Oe=function(u,t){return $i(u,t&&{sort:t})},Ze=function(u){u&&(Si.count=!0)},ze=function(u,t){return t},ke=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}}},_e=function(u){return{list:u}},Re=function(u){return"@"+u},Ie=function(u,t){Ji(Si,u,t)},Ne=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,Di[t]||t,r]},Pe=function(u){return{list:u}},Ue=function(u,t){return[u,"in",t]},Me=function(u,t){return t},Ge=function(u,t){return t?{id:u,where:t}:u},He=function(u,t){return{func:"count",as:"$count",args:[{ref:u}]}},Je=function(u,t){return t},Ke=function(u,t){return"null"===u?{val:null}:{ref:[u,...t]}},Qe=function(u){return{val:u}},Ve=function(u){return{val:u}},We=function(u){return{val:u}},Xe=function(u){return{val:u}},Ye=function(u){return"number"==typeof u?{val:u}:{val:u,literal:"number"}},uo=function(u){return{val:u}},to=function(u){return{val:u}},ro=function(u){return{val:u}},no=function(){return{val:null}},eo=function(u){return{val:u}},oo=function(u){return{val:u}},so=function(u){return{list:u.replace(/"/g,"").split(",").map((u=>({val:u})))}},io=function(u,t){return t},ao=function(u,t){return[u,...t]},co=function(u){return{list:u}},fo=function(u,t){if(xi&&!(u.toLowerCase()in xi.functions))throw Object.assign(new Error(`Function "${u}" is not supported`),{statusCode:501});return{func:u.toLowerCase(),args:t}},lo=function(u,t){return t},Ao=function(u,t){return[u,...t]},po=function(u){return u.length?u[0]:u},ho=function(u,t,r){return{func:u.toLowerCase(),args:[t,r]}},Co=function(){return"not"},Fo=function(){return"and"},go=function(){return"and"},Bo=function(){return"or"},Eo=function(u){return u},vo=function(u){return u},mo=function(u){return u},bo=function(u){return u},Do=function(u){return u},yo=function(u){return u},$o=function(u){return u},xo=function(u){return u},wo=function(u){return u},Lo=function(u,t){if(u=u.toLowerCase(),!yi[u])throw Object.assign(new Error(`Transformation "${u}" in $apply is not yet supported.`),{statusCode:501});return{aggregate:[{func:u,args:t}]}},So=function(u){return u},To=function(u,t){return t},jo=function(u,t){return{aggregate:[u,...t]}},Oo=function(u){return{func:"count",args:[{val:1}],as:u}},Zo=function(u){return u},zo=function(u,t,r){return{func:t,args:[u],as:r}},ko=function(u){return u.toLowerCase()},_o=function(u){return u},Ro=function(u,t){return t},Io=function(u,t){return{groupBy:[u,...t]}},No=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},Po=function(u){return u},Uo=function(u){const t=new Error("Rollup in groupby is not supported yet.");throw t.statusCode=501,t},Mo=function(u){return u},Go=function(u){return{where:u}},Ho=function(u){if(u)return u},Jo=function(u){return{search:u}},Ko=function(u,t){return t},Qo=function(u,t){return{concat:[u,...t]}},Vo=function(u,t){return[u,t]},Wo=function(){return{identity:!0}},Xo=function(u){return{limit:{rows:{val:u}}}},Yo=function(u){return{limit:{offset:{val:u}}}},us=function(u,t){return t},ts=function(u,t){return{orderBy:[u,...t]}},rs=function(u){return"true"===u},ns=function(u){return u.replace(/''/g,"'")},es=function(u){return u.replace(/\\\\/g,"\\").replace(/\\"/g,'"')},os=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},ss=function(u){return ji(u)},is=function(u){return parseInt(u)},as=function(u){return u},cs=function(u){return{val:u}},fs=function(u){return Zi(u)},ls=0|t.peg$currPos,As=[{line:1,column:1}],ps=ls,hs=t.peg$maxFailExpected||[],Cs=0|t.peg$silentFails;if(t.startRule){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');s=o[t.startRule]}function ds(u,t){return{type:"literal",text:u,ignoreCase:t}}function Fs(u,t,r){return{type:"class",parts:u,inverted:t,ignoreCase:r}}function gs(u){return{type:"other",description:u}}function Bs(t){var r,n=As[t];if(n)return n;if(t>=As.length)r=As.length-1;else for(r=t;!As[--r];);for(n={line:(n=As[r]).line,column:n.column};r<t;)10===u.charCodeAt(r)?(n.line++,n.column=1):n.column++,r++;return As[t]=n,n}function Es(u,t,r){var n=Bs(u),o=Bs(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 vs(u){ls<ps||(ls>ps&&(ps=ls,hs=[]),hs.push(u))}function ms(u,t,r){return new peg$SyntaxError(peg$SyntaxError.buildMessage(u,t),u,t,r)}function bs(){var t,r,e,o,s,f,l,A,p,h,C,d,F,g,B;if(t=ls,47===u.charCodeAt(ls)?(r=i,ls++):(r=n,0===Cs&&vs(et)),r===n&&(r=null),e=ls,(o=Ds())!==n&&(e,o=Dn(o)),(e=o)!==n){if(o=ls,s=vi(),63===u.charCodeAt(ls)?(f=a,ls++):(f=n,0===Cs&&vs(ot)),f!==n){if(l=vi(),A=ls,(p=$s())!==n){for(h=[],C=ls,d=vi(),38===u.charCodeAt(ls)?(F=c,ls++):(F=n,0===Cs&&vs(st)),F!==n?(g=vi(),(B=$s())!==n?C=d=[d,F,g,B]:(ls=C,C=n)):(ls=C,C=n);C!==n;)h.push(C),C=ls,d=vi(),38===u.charCodeAt(ls)?(F=c,ls++):(F=n,0===Cs&&vs(st)),F!==n?(g=vi(),(B=$s())!==n?C=d=[d,F,g,B]:(ls=C,C=n)):(ls=C,C=n);A=p=[p,h]}else ls=A,A=n;A===n&&(A=null),o=s=[s,f,l,A]}else ls=o,o=n;o===n&&(o=null),s=vi(),t,t=yn()}else ls=t,t=n;return t}function Ds(){var t,r,e,o,s,a,c;return t=ls,u.substr(ls,6)===f?(r=f,ls+=6):(r=n,0===Cs&&vs(it)),r!==n&&(t,r=$n()),(t=r)===n&&(t=ls,r=ls,u.substr(ls,4)===l?(e=l,ls+=4):(e=n,0===Cs&&vs(at)),e===n&&(u.substr(ls,6)===A?(e=A,ls+=6):(e=n,0===Cs&&vs(ct))),(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=xn(r)),(t=r)===n&&(t=ls,r=ls,(e=hi())!==n?(o=ls,(s=Bi())!==n&&(a=Ei())!==n?o=s=[s,a]:(ls=o,o=n),o===n&&(o=ls,(s=Bi())!==n&&(a=ys())!==n&&(c=Ei())!==n?o=s=[s,a,c]:(ls=o,o=n)),o===n&&(o=null),s=ls,Cs++,a=Fi(),Cs--,a===n?s=void 0:(ls=s,s=n),s!==n?r=e=[e,o,s]:(ls=r,r=n)):(ls=r,r=n),r===n&&(r=ls,(e=Fi())!==n&&(r,e=wn(e)),r=e),r===n&&(r=null),e=ls,o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(o,s=Ln(r,s)),(o=s)!==n?((s=Ds())===n&&(s=null),e=o=[o,s]):(ls=e,e=n),e===n&&(e=null),t,t=Sn(r,e))),t}function ys(){var t,r,e,o,s,i,a;return t=ls,(r=Ks())!==n&&(t,r=Tn(r)),(t=r)===n&&(t=ls,(r=Js())!==n?(vi(),61===u.charCodeAt(ls)?(e=p,ls++):(e=n,0===Cs&&vs(ft)),e!==n?(vi(),(o=Ks())!==n?(s=ls,(i=gi())!==n&&(a=ys())!==n?s=i=[i,a]:(ls=s,s=n),s===n&&(s=null),t,t=jn(r,o,s)):(ls=t,t=n)):(ls=t,t=n)):(ls=t,t=n)),t}function $s(){var t,r,e,o;return t=ls,(r=xs())!==n&&(t,r=On(r)),(t=r)===n&&(t=ls,u.substr(ls,11)===h?(r=h,ls+=11):(r=n,0===Cs&&vs(lt)),r!==n?(e=vi(),o=function(){var t,r;t=ls,r=function(){var t,r,e;t=ls,r=[],e=u.charAt(ls),tt.test(e)?ls++:(e=n,0===Cs&&vs(hn));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),tt.test(e)?ls++:(e=n,0===Cs&&vs(hn));else r=n;t=r!==n?u.substring(t,ls):r;return t}(),r===n&&(r=null);return t,r=Vn(r),t=r,t}(),t=r=[r,e,o]):(ls=t,t=n),t===n&&(t=function(){var t,r,e,o;t=ls,u.substr(ls,3)===D?(r=D,ls+=3):(r=n,0===Cs&&vs(vt));r===n&&(u.substr(ls,5)===y?(r=y,ls+=5):(r=n,0===Cs&&vs(mt)),r===n&&(u.substr(ls,12)===$?(r=$,ls+=12):(r=n,0===Cs&&vs(bt)),r===n&&(u.substr(ls,3)===x?(r=x,ls+=3):(r=n,0===Cs&&vs(Dt)))));r!==n?(61===u.charCodeAt(ls)?(e=p,ls++):(e=n,0===Cs&&vs(ft)),e!==n&&(o=Ai())!==n?t=r=[r,e,o]:(ls=t,t=n)):(ls=t,t=n);return t}(),t===n&&(t=function(){var t,r,e,o,s;t=ls,u.substr(ls,8)===N?(r=N,ls+=8):(r=n,0===Cs&&vs(Nt));if(r!==n){for(e=ls,o=[],s=u.charAt(ls),Pu.test(s)?ls++:(s=n,0===Cs&&vs(_t));s!==n;)o.push(s),s=u.charAt(ls),Pu.test(s)?ls++:(s=n,0===Cs&&vs(_t));e=u.substring(e,ls),t,t=Ne(e)}else ls=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s,i;t=ls,r=[],e=u.charAt(ls),qu.test(e)?ls++:(e=n,0===Cs&&vs(kt));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),qu.test(e)?ls++:(e=n,0===Cs&&vs(kt));else r=n;if(r!==n){if(e=ls,61===u.charCodeAt(ls)?(o=p,ls++):(o=n,0===Cs&&vs(ft)),o!==n){for(s=[],i=u.charAt(ls),Pu.test(i)?ls++:(i=n,0===Cs&&vs(_t));i!==n;)s.push(i),i=u.charAt(ls),Pu.test(i)?ls++:(i=n,0===Cs&&vs(_t));e=o=[o,s]}else ls=e,e=n;e===n&&(e=null),t=r=[r,e]}else ls=t,t=n;return t}(),t===n&&(t=function(){var t,r,e,o,s;t=ls,r=Ps(),r!==n?(61===u.charCodeAt(ls)?(e=p,ls++):(e=n,0===Cs&&vs(ft)),e!==n?(o=ls,Cs++,s=Ps(),Cs--,s===n?o=void 0:(ls=o,o=n),o!==n?(s=function(){var t,r,e,o;t=Ks(),t===n&&(t=Qs())===n&&(t=Vs())===n&&(t=ls,91===u.charCodeAt(ls)?(r=_,ls++):(r=n,0===Cs&&vs(Zt)),r!==n&&(e=Ws())!==n?(93===u.charCodeAt(ls)?(o=R,ls++):(o=n,0===Cs&&vs(zt)),o!==n?(t,t=_e(e)):(ls=t,t=n)):(ls=t,t=n));return t}(),s!==n?(t,t=Ie(r,s)):(ls=t,t=n)):(ls=t,t=n)):(ls=t,t=n)):(ls=t,t=n);return t}()))))),t}function xs(){var t,r,e,o,s,i,a,c;if(t=ls,u.substr(ls,8)===C?(r=C,ls+=8):(r=n,0===Cs&&vs(At)),r!==n)if(e=vi(),(o=ws())!==n){for(s=[],i=ls,(a=gi())!==n&&(c=ws())!==n?i=a=[a,c]:(ls=i,i=n);i!==n;)s.push(i),i=ls,(a=gi())!==n&&(c=ws())!==n?i=a=[a,c]:(ls=i,i=n);t=r=[r,e,o,s]}else ls=t,t=n;else ls=t,t=n;if(t===n){if(t=ls,u.substr(ls,8)===d?(r=d,ls+=8):(r=n,0===Cs&&vs(pt)),r!==n)if(e=vi(),(o=Ss())!==n){for(s=[],i=ls,(a=gi())!==n&&(c=Ss())!==n?i=a=[a,c]:(ls=i,i=n);i!==n;)s.push(i),i=ls,(a=gi())!==n&&(c=Ss())!==n?i=a=[a,c]:(ls=i,i=n);i=function(){var t,r;t=ls,u.substr(ls,7)===L?(r=L,ls+=7):(r=n,0===Cs&&vs($t));r!==n&&(t,r=Un());return t=r,t}(),i===n&&(i=null),t=r=[r,e,o,s,i]}else ls=t,t=n;else ls=t,t=n;if(t===n&&(t=ls,u.substr(ls,8)===F?(r=F,ls+=8):(r=n,0===Cs&&vs(ht)),r!==n?(e=vi(),(o=zs())!==n?(t,t=Zn(o)):(ls=t,t=n)):(ls=t,t=n),t===n)){if(t=ls,u.substr(ls,9)===g?(r=g,ls+=9):(r=n,0===Cs&&vs(Ct)),r!==n)if(e=vi(),(o=Ns())!==n){for(s=[],i=ls,(a=gi())!==n&&(c=Ns())!==n?(i,i=zn(o,c)):(ls=i,i=n);i!==n;)s.push(i),i=ls,(a=gi())!==n&&(c=Ns())!==n?(i,i=zn(o,c)):(ls=i,i=n);t,t=kn(o)}else ls=t,t=n;else ls=t,t=n;t===n&&(t=ls,u.substr(ls,5)===B?(r=B,ls+=5):(r=n,0===Cs&&vs(dt)),r!==n?(e=vi(),(o=Ts())!==n?(t,t=_n(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===E?(r=E,ls+=6):(r=n,0===Cs&&vs(Ft)),r!==n?(e=vi(),(o=js())!==n?(t,t=Rn(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,8)===v?(r=v,ls+=8):(r=n,0===Cs&&vs(gt)),r!==n?(e=vi(),(o=Os())!==n?(t,t=In(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===m?(r=m,ls+=7):(r=n,0===Cs&&vs(Bt)),r!==n?(e=vi(),o=function(){var u,t;u=ls,t=li(),t!==n&&(u,t=Ze(t));return u=t,u}(),o!==n?t=r=[r,e,o]:(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===b?(r=b,ls+=7):(r=n,0===Cs&&vs(Et)),r!==n?(e=vi(),(o=qs())!==n?(t,t=Nn(o)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,8)===d?(r=d,ls+=8):(r=n,0===Cs&&vs(pt)),r!==n&&(t,r=qn()),t=r))))))}}return t}function ws(){var t,r;return t=ls,42===u.charCodeAt(ls)?(r=w,ls++):(r=n,0===Cs&&vs(yt)),r===n&&(r=Js()),r!==n&&(t,r=Pn(r)),t=r}function Ls(){var t,r,e,o,s;return t=ls,r=ls,(e=Bi())!==n&&(r,e=Hn()),(r=e)!==n?(e=function(){var t,r,e,o,s;for(t=ls,r=[],e=ls,(o=xs())!==n?(vi(),59===u.charCodeAt(ls)?(s=S,ls++):(s=n,0===Cs&&vs(xt)),s===n&&(s=null),e,e=Mn(o)):(ls=e,e=n);e!==n;)r.push(e),e=ls,(o=xs())!==n?(vi(),59===u.charCodeAt(ls)?(s=S,ls++):(s=n,0===Cs&&vs(xt)),s===n&&(s=null),e,e=Mn(o)):(ls=e,e=n);return t,Gn(r)}(),o=ls,(s=Ei())!==n&&(o,s=Jn()),(o=s)!==n?t=r=[r,e,o]:(ls=t,t=n)):(ls=t,t=n),t}function Ss(){var t,r,e;return t=ls,r=ls,42===u.charCodeAt(ls)?(e=w,ls++):(e=n,0===Cs&&vs(yt)),e===n&&(e=Js()),e!==n&&(r,e=Kn(e)),(r=e)!==n?((e=Ls())===n&&(e=null),t=r=[r,e]):(ls=t,t=n),t}function Ts(){var u,t;return u=ls,(t=pi())!==n&&(u,t=Qn(t)),u=t}function js(){var u,t;return u=ls,(t=pi())!==n&&(u,t=Wn(t)),u=t}function Os(){var u,t;return u=ls,(t=Zs())!==n&&(u,t=Xn(t)),(u=t)===n&&(u=vi()),u}function Zs(){var t,r,e,o,s,i,a;if(t=ls,r=ls,(e=Ys())===n&&(e=null),r,r=e=Yn(e),e=ls,(o=Bi())!==n&&(s=Zs())!==n&&(i=Ei())!==n?(e,e=ue(r,s)):(ls=e,e=n),e===n&&(e=ls,o=function(){var t,r,e,o,s;Cs++,t=ls,34===u.charCodeAt(ls)?(r=Lu,ls++):(r=n,0===Cs&&vs(Ur));if(r!==n){for(e=ls,o=[],u.substr(ls,2)===Su?(s=Su,ls+=2):(s=n,0===Cs&&vs(Mr)),s===n&&(u.substr(ls,2)===Tu?(s=Tu,ls+=2):(s=n,0===Cs&&vs(Gr)),s===n&&(s=u.charAt(ls),Ju.test(s)?ls++:(s=n,0===Cs&&vs(Hr))));s!==n;)o.push(s),u.substr(ls,2)===Su?(s=Su,ls+=2):(s=n,0===Cs&&vs(Mr)),s===n&&(u.substr(ls,2)===Tu?(s=Tu,ls+=2):(s=n,0===Cs&&vs(Gr)),s===n&&(s=u.charAt(ls),Ju.test(s)?ls++:(s=n,0===Cs&&vs(Hr))));e=u.substring(e,ls),34===u.charCodeAt(ls)?(o=Lu,ls++):(o=n,0===Cs&&vs(Ur)),o!==n?(t,t=es(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(Pr));return t}(),o!==n&&(e,o=te(r,o)),(e=o)===n&&(e=ls,o=ls,Cs++,39===u.charCodeAt(ls)?(s=T,ls++):(s=n,0===Cs&&vs(wt)),Cs--,s===n?o=void 0:(ls=o,o=n),o!==n?(s=function(){var t,r,e;Cs++,t=ls,r=[],e=u.charAt(ls),Ku.test(e)?ls++:(e=n,0===Cs&&vs(Kr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),Ku.test(e)?ls++:(e=n,0===Cs&&vs(Kr));else r=n;t=r!==n?u.substring(t,ls):r;Cs--,t===n&&(r=n,0===Cs&&vs(Jr));return t}(),s!==n?(e,e=re(r,s)):(ls=e,e=n)):(ls=e,e=n))),e!==n){for(o=[],s=ls,(i=ui())===n&&(i=ri())===n&&(i=ti()),i!==n&&(a=Zs())!==n?(s,s=ne(r,i,a)):(ls=s,s=n);s!==n;)o.push(s),s=ls,(i=ui())===n&&(i=ri())===n&&(i=ti()),i!==n&&(a=Zs())!==n?(s,s=ne(r,i,a)):(ls=s,s=n);t,t=ee(r)}else ls=t,t=n;return t}function zs(){var u,t;return u=ls,(t=ks())!==n&&(u,t=oe(t)),u=t}function ks(){var t,r,e,o,s,i,a;if(t=ls,r=ls,(e=Ys())===n&&(e=null),r,r=e=se(e),e=ls,(o=Bi())!==n&&(s=ks())!==n&&(i=Ei())!==n?(e,e=ie(r,s)):(ls=e,e=n),e===n&&(e=ls,(o=Us())!==n&&(e,o=ae(r,o)),(e=o)===n&&(e=ls,(o=_s())!==n&&(e,o=ce(r,o)),(e=o)===n&&(e=ls,o=function(){var t,r,e,o;t=ls,r=u.substr(ls,8),r.toLowerCase()===X?ls+=8:(r=n,0===Cs&&vs(ar));r===n&&((r=u.substr(ls,8)).toLowerCase()===Y?ls+=8:(r=n,0===Cs&&vs(cr)),r===n&&((r=u.substr(ls,10)).toLowerCase()===uu?ls+=10:(r=n,0===Cs&&vs(fr)),r===n&&((r=u.substr(ls,14)).toLowerCase()===tu?ls+=14:(r=n,0===Cs&&vs(lr)))));r!==n&&Bi()!==n&&(e=Hs())!==n&&gi()!==n&&(o=Hs())!==n&&Ei()!==n?(t,t=ho(r,e,o)):(ls=t,t=n);return t}(),o!==n&&(e,o=fe(r,o)),(e=o)===n&&(e=ls,(o=li())!==n&&(e,o=le(r,o)),(e=o)===n&&(e=ls,(o=Gs())!==n&&(e,o=Ae(r,o)),e=o))))),e!==n){for(o=[],s=ls,(i=ui())===n&&(i=ri()),i!==n&&(a=ks())!==n?(s,s=pe(r,i,a)):(ls=s,s=n);s!==n;)o.push(s),s=ls,(i=ui())===n&&(i=ri()),i!==n&&(a=ks())!==n?(s,s=pe(r,i,a)):(ls=s,s=n);t,t=he(r)}else ls=t,t=n;return t}function _s(){var t,r,e,o,s,a,c;if(t=ls,r=ls,(e=hi())!==n&&(r,e=Ce(e)),(r=e)!==n)if(47===u.charCodeAt(ls)?(e=i,ls++):(e=n,0===Cs&&vs(et)),e!==n){for(o=[],s=ls,(a=hi())!==n?(47===u.charCodeAt(ls)?(c=i,ls++):(c=n,0===Cs&&vs(et)),c!==n?(s,s=de(r,a)):(ls=s,s=n)):(ls=s,s=n);s!==n;)o.push(s),s=ls,(a=hi())!==n?(47===u.charCodeAt(ls)?(c=i,ls++):(c=n,0===Cs&&vs(et)),c!==n?(s,s=de(r,a)):(ls=s,s=n)):(ls=s,s=n);s=ls,a=function(){var t,r,e;t=ls,u.substr(ls,3)===O?(r=O,ls+=3):(r=n,0===Cs&&vs(St));r!==n&&Bi()!==n?((e=Is())===n&&(e=null),Ei()!==n?(t,t=Le(e)):(ls=t,t=n)):(ls=t,t=n);return t}(),a!==n&&(s,a=Fe(r,a)),(s=a)===n&&(s=ls,a=function(){var t,r,e;t=ls,u.substr(ls,3)===Z?(r=Z,ls+=3):(r=n,0===Cs&&vs(Tt));r!==n&&Bi()!==n&&(e=Is())!==n&&Ei()!==n?(t,t=Se(e)):(ls=t,t=n);return t}(),a!==n&&(s,a=ge(r,a)),s=a),s!==n?(t,t=Be(r,s)):(ls=t,t=n)}else ls=t,t=n;else ls=t,t=n;return t}function Rs(){var u,t,r,e,o,s,i;if(u=ls,t=ls,(r=Ys())===n&&(r=null),t,t=r=Ee(r),r=ls,(e=Bi())!==n&&(o=Rs())!==n&&(s=Ei())!==n?(r,r=ve(t,o)):(ls=r,r=n),r===n&&(r=ls,(e=Us())!==n&&(r,e=me(t,e)),(r=e)===n&&(r=ls,(e=Xs())!==n&&(r,e=be(t,e)),(r=e)===n&&(r=ls,(e=_s())!==n&&(r,e=De(t,e)),(r=e)===n&&(r=ls,(e=Gs())!==n&&(r,e=ye(t,e)),r=e)))),r!==n){for(e=[],o=ls,(s=ui())===n&&(s=ri()),s!==n&&(i=Rs())!==n?(o,o=$e(t,s,i)):(ls=o,o=n);o!==n;)e.push(o),o=ls,(s=ui())===n&&(s=ri()),s!==n&&(i=Rs())!==n?(o,o=$e(t,s,i)):(ls=o,o=n);u,u=xe(t)}else ls=u,u=n;return u}function Is(){var t,r,e,o;return t=ls,(r=hi())!==n?(58===u.charCodeAt(ls)?(e=j,ls++):(e=n,0===Cs&&vs(Lt)),e!==n&&(o=Rs())!==n?(t,t=we(r,o)):(ls=t,t=n)):(ls=t,t=n),t}function Ns(){var t,r,e,o,s;return t=ls,r=ls,(e=_s())!==n&&(r,e=Te()),(r=e)===n&&(r=Xs())===n&&(r=Js()),r!==n?(e=ls,mi()!==n?(o=ls,u.substr(ls,3)===z?(s=z,ls+=3):(s=n,0===Cs&&vs(jt)),s===n&&(u.substr(ls,4)===k?(s=k,ls+=4):(s=n,0===Cs&&vs(Ot))),(o=s!==n?u.substring(o,ls):s)!==n?(e,e=je(r,o)):(ls=e,e=n)):(ls=e,e=n),e===n&&(e=null),t,t=Oe(r,e)):(ls=t,t=n),t}function qs(){var t,r,e,o,s,a;if(t=ls,(r=ni())!==n){for(e=[],o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=ni())!==n?(o,o=ze(r,a)):(ls=o,o=n);o!==n;)e.push(o),o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=ni())!==n?(o,o=ze(r,a)):(ls=o,o=n);t,t=ke(r,e)}else ls=t,t=n;return t}function Ps(){var t,r,e;return Cs++,t=ls,64===u.charCodeAt(ls)?(r=I,ls++):(r=n,0===Cs&&vs(It)),r!==n&&(e=hi())!==n?(t,t=Re(e)):(ls=t,t=n),Cs--,t===n&&(r=n,0===Cs&&vs(Rt)),t}function Us(){var t,r,e,o,s;return t=ls,(r=Hs())!==n&&mi()!==n?(e=ls,u.substr(ls,2)===q?(o=q,ls+=2):(o=n,0===Cs&&vs(qt)),o===n&&(u.substr(ls,2)===P?(o=P,ls+=2):(o=n,0===Cs&&vs(Pt)),o===n&&(u.substr(ls,2)===U?(o=U,ls+=2):(o=n,0===Cs&&vs(Ut)),o===n&&(u.substr(ls,2)===M?(o=M,ls+=2):(o=n,0===Cs&&vs(Mt)),o===n&&(u.substr(ls,2)===G?(o=G,ls+=2):(o=n,0===Cs&&vs(Gt)),o===n&&(u.substr(ls,2)===H?(o=H,ls+=2):(o=n,0===Cs&&vs(Ht))))))),(e=o!==n?u.substring(e,ls):o)!==n&&(o=mi())!==n&&(s=Hs())!==n?(t,t=qe(r,e,s)):(ls=t,t=n)):(ls=t,t=n),t}function Ms(){var u,t;return u=ls,(t=Ps())!==n&&(u,t=Pe(t)),(u=t)===n&&(u=function(){var u,t,r;Cs++,u=ls,t=Bi(),t!==n&&(r=Ws())!==n&&Ei()!==n?(u,u=co(r)):(ls=u,u=n);Cs--,u===n&&(t=n,0===Cs&&vs(er));return u}()),u}function Gs(){var t,r,e,o;return t=ls,(r=Hs())!==n&&mi()!==n?(u.substr(ls,2)===J?(e=J,ls+=2):(e=n,0===Cs&&vs(Jt)),e!==n&&mi()!==n&&(o=Ms())!==n?(t,t=Ue(r,o)):(ls=t,t=n)):(ls=t,t=n),t}function Hs(){var t;return(t=function(){var t,r,e,o,s,a,c;Cs++,t=ls,r=[],e=ls,(o=hi())!==n?(s=ls,(a=Bi())!==n&&(c=ys())!==n&&Ei()!==n?(s,s=Me(o,c)):(ls=s,s=n),s===n&&(s=null),47===u.charCodeAt(ls)?(a=i,ls++):(a=n,0===Cs&&vs(et)),a!==n?(e,e=Ge(o,s)):(ls=e,e=n)):(ls=e,e=n);if(e!==n)for(;e!==n;)r.push(e),e=ls,(o=hi())!==n?(s=ls,(a=Bi())!==n&&(c=ys())!==n&&Ei()!==n?(s,s=Me(o,c)):(ls=s,s=n),s===n&&(s=null),47===u.charCodeAt(ls)?(a=i,ls++):(a=n,0===Cs&&vs(et)),a!==n?(e,e=Ge(o,s)):(ls=e,e=n)):(ls=e,e=n);else r=n;r!==n?(u.substr(ls,6)===f?(e=f,ls+=6):(e=n,0===Cs&&vs(it)),e!==n?(t,t=He(r,e)):(ls=t,t=n)):(ls=t,t=n);Cs--,t===n&&(r=n,0===Cs&&vs(Kt));return t}())===n&&(t=Xs())===n&&(t=Ks())===n&&(t=Js())===n&&(t=Qs())===n&&(t=Vs())===n&&(t=function(){var t,r,e,o,s;Cs++,t=ls,91===u.charCodeAt(ls)?(r=_,ls++):(r=n,0===Cs&&vs(Zt));if(r!==n){for(e=ls,o=[],s=u.charAt(ls),Mu.test(s)?ls++:(s=n,0===Cs&&vs(nr));s!==n;)o.push(s),s=u.charAt(ls),Mu.test(s)?ls++:(s=n,0===Cs&&vs(nr));e=u.substring(e,ls),93===u.charCodeAt(ls)?(o=R,ls++):(o=n,0===Cs&&vs(zt)),o!==n?(t,t=so(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(er));return t}()),t}function Js(){var t,r,e,o,s,a;if(Cs++,t=ls,(r=hi())!==n){for(e=[],o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=hi())!==n?(o,o=Je(r,a)):(ls=o,o=n);o!==n;)e.push(o),o=ls,47===u.charCodeAt(ls)?(s=i,ls++):(s=n,0===Cs&&vs(et)),s!==n&&(a=hi())!==n?(o,o=Je(r,a)):(ls=o,o=n);t,t=Ke(r,e)}else ls=t,t=n;return Cs--,t===n&&(r=n,0===Cs&&vs(Qt)),t}function Ks(){var t,r;return t=ls,(r=li())!==n&&(t,r=Qe(r)),(t=r)===n&&(t=ls,(r=Ai())!==n&&(t,r=Ve(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s,i,a,c,f,l;Cs++,t=ls,r=ls,e=u.charAt(ls),Qu.test(e)?ls++:(e=n,0===Cs&&vs(Vr));e!==n?(o=u.charAt(ls),Qu.test(o)?ls++:(o=n,0===Cs&&vs(Vr)),o!==n?(58===u.charCodeAt(ls)?(s=j,ls++):(s=n,0===Cs&&vs(Lt)),s!==n?(i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr)),i!==n?(a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr)),a!==n?(58===u.charCodeAt(ls)?(c=j,ls++):(c=n,0===Cs&&vs(Lt)),c!==n?(f=u.charAt(ls),Qu.test(f)?ls++:(f=n,0===Cs&&vs(Vr)),f!==n?(l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr)),l!==n?r=e=[e,o,s,i,a,c,f,l]:(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n);t=r!==n?u.substring(t,ls):r;Cs--,t===n&&(r=n,0===Cs&&vs(Qr));return t}(),r!==n&&(t,r=We(r)),(t=r)===n&&(t=ls,(r=Ci())!==n&&(t,r=Xe(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s,i,a,c,f,l,A;Cs++,t=ls,r=ls,Cs++,e=function(){var t,r,e;t=ls,r=[],e=u.charAt(ls),Qu.test(e)?ls++:(e=n,0===Cs&&vs(Vr));if(e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),Qu.test(e)?ls++:(e=n,0===Cs&&vs(Vr));else r=n;r!==n?(45===u.charCodeAt(ls)?(e=ju,ls++):(e=n,0===Cs&&vs(Xr)),e!==n?t=r=[r,e]:(ls=t,t=n)):(ls=t,t=n);return t}(),Cs--,e===n?r=void 0:(ls=r,r=n);if(r!==n){if(e=ls,o=ls,s=u.charAt(ls),Vu.test(s)?ls++:(s=n,0===Cs&&vs(rn)),s===n&&(s=null),i=[],a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr)),a!==n)for(;a!==n;)i.push(a),a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr));else i=n;if(i!==n){if(a=ls,46===u.charCodeAt(ls)?(c=Zu,ls++):(c=n,0===Cs&&vs(un)),c!==n){if(f=[],l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr)),l!==n)for(;l!==n;)f.push(l),l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr));else f=n;f!==n?a=c=[c,f]:(ls=a,a=n)}else ls=a,a=n;if(a===n&&(a=null),c=ls,101===u.charCodeAt(ls)?(f=ku,ls++):(f=n,0===Cs&&vs(en)),f!==n){if(l=[],A=u.charAt(ls),Qu.test(A)?ls++:(A=n,0===Cs&&vs(Vr)),A!==n)for(;A!==n;)l.push(A),A=u.charAt(ls),Qu.test(A)?ls++:(A=n,0===Cs&&vs(Vr));else l=n;l!==n?c=f=[f,l]:(ls=c,c=n)}else ls=c,c=n;c===n&&(c=null),o=s=[s,i,a,c]}else ls=o,o=n;(e=o!==n?u.substring(e,ls):o)!==n?(t,t=ss(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(nn));return t}(),r!==n&&(t,r=Ye(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s;Cs++,t=ls,39===u.charCodeAt(ls)?(r=T,ls++):(r=n,0===Cs&&vs(wt));if(r!==n){for(e=ls,o=[],u.substr(ls,2)===wu?(s=wu,ls+=2):(s=n,0===Cs&&vs(Nr)),s===n&&(s=u.charAt(ls),Hu.test(s)?ls++:(s=n,0===Cs&&vs(qr)));s!==n;)o.push(s),u.substr(ls,2)===wu?(s=wu,ls+=2):(s=n,0===Cs&&vs(Nr)),s===n&&(s=u.charAt(ls),Hu.test(s)?ls++:(s=n,0===Cs&&vs(qr)));e=u.substring(e,ls),39===u.charCodeAt(ls)?(o=T,ls++):(o=n,0===Cs&&vs(wt)),o!==n?(t,t=ns(e)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(Ir));return t}(),r!==n&&(t,r=uo(r)),(t=r)===n&&(t=ls,r=function(){var t,r,e,o,s,i;Cs++,t=ls,u.substr(ls,7)===_u?(r=_u,ls+=7):(r=n,0===Cs&&vs(dn));if(r!==n){if(e=ls,o=ls,s=[],i=u.charAt(ls),rt.test(i)?ls++:(i=n,0===Cs&&vs(Fn)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(ls),rt.test(i)?ls++:(i=n,0===Cs&&vs(Fn));else s=n;s!==n?(u.substr(ls,2)===Ru?(i=Ru,ls+=2):(i=n,0===Cs&&vs(gn)),i===n&&(61===u.charCodeAt(ls)?(i=p,ls++):(i=n,0===Cs&&vs(ft))),i===n&&(i=null),o=s=[s,i]):(ls=o,o=n),(e=o!==n?u.substring(e,ls):o)!==n?(39===u.charCodeAt(ls)?(o=T,ls++):(o=n,0===Cs&&vs(wt)),o!==n?(t,t=fs(e)):(ls=t,t=n)):(ls=t,t=n)}else ls=t,t=n;Cs--,t===n&&(r=n,0===Cs&&vs(Cn));return t}(),r!==n&&(t,r=to(r)),(t=r)===n&&(t=ls,(r=Ps())!==n&&(t,r=ro(r)),(t=r)===n&&(t=function(){var t,r;Cs++,t=ls,u.substr(ls,4)===K?(r=K,ls+=4):(r=n,0===Cs&&vs(Wt));r!==n&&(t,r=no());t=r,Cs--,t===n&&(r=n,0===Cs&&vs(Vt));return t}())))))))),t}function Qs(){var t,r,e,o,s,i;if(Cs++,t=ls,r=ls,e=ls,123===u.charCodeAt(ls)?(o=Q,ls++):(o=n,0===Cs&&vs(Yt)),o!==n){for(s=[],(i=Qs())===n&&(i=u.charAt(ls),Uu.test(i)?ls++:(i=n,0===Cs&&vs(ur)));i!==n;)s.push(i),(i=Qs())===n&&(i=u.charAt(ls),Uu.test(i)?ls++:(i=n,0===Cs&&vs(ur)));125===u.charCodeAt(ls)?(i=V,ls++):(i=n,0===Cs&&vs(tr)),i!==n?e=o=[o,s,i]:(ls=e,e=n)}else ls=e,e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=eo(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(Xt)),t}function Vs(){var t,r,e,o,s,i,a,c;if(Cs++,t=ls,r=ls,e=ls,91===u.charCodeAt(ls)?(o=_,ls++):(o=n,0===Cs&&vs(Zt)),o!==n?(s=vi(),93===u.charCodeAt(ls)?(i=R,ls++):(i=n,0===Cs&&vs(zt)),i!==n?e=o=[o,s,i]:(ls=e,e=n)):(ls=e,e=n),e===n)if(e=ls,91===u.charCodeAt(ls)?(o=_,ls++):(o=n,0===Cs&&vs(Zt)),o!==n)if(s=vi(),123===u.charCodeAt(ls)?(i=Q,ls++):(i=n,0===Cs&&vs(Yt)),i!==n){for(a=[],(c=Vs())===n&&(c=u.charAt(ls),Mu.test(c)?ls++:(c=n,0===Cs&&vs(nr)));c!==n;)a.push(c),(c=Vs())===n&&(c=u.charAt(ls),Mu.test(c)?ls++:(c=n,0===Cs&&vs(nr)));93===u.charCodeAt(ls)?(c=R,ls++):(c=n,0===Cs&&vs(zt)),c!==n?e=o=[o,s,i,a,c]:(ls=e,e=n)}else ls=e,e=n;else ls=e,e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=oo(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(rr)),t}function Ws(){var t,r,e,o,s,i;if(t=ls,(r=Ks())!==n){for(e=[],o=ls,44===u.charCodeAt(ls)?(s=W,ls++):(s=n,0===Cs&&vs(or)),s!==n&&(i=Ks())!==n?(o,o=io(r,i)):(ls=o,o=n);o!==n;)e.push(o),o=ls,44===u.charCodeAt(ls)?(s=W,ls++):(s=n,0===Cs&&vs(or)),s!==n&&(i=Ks())!==n?(o,o=io(r,i)):(ls=o,o=n);t,t=ao(r,e)}else ls=t,t=n;return t}function Xs(){var t,r,e;return t=ls,r=function(){var t,r,e;if(Cs++,t=ls,r=[],e=u.charAt(ls),Gu.test(e)?ls++:(e=n,0===Cs&&vs(ir)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),Gu.test(e)?ls++:(e=n,0===Cs&&vs(ir));else r=n;return t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(sr)),t}(),r!==n&&Bi()!==n?(e=function(){var u,t,r,e,o,s,i;if(u=ls,t=[],r=ls,e=Hs(),e!==n){for(o=[],s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);s!==n;)o.push(s),s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);r,r=Ao(e,o)}else ls=r,r=n;for(;r!==n;)if(t.push(r),r=ls,(e=Hs())!==n){for(o=[],s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);s!==n;)o.push(s),s=ls,gi()!==n&&(i=Hs())!==n?(s,s=lo(e,i)):(ls=s,s=n);r,r=Ao(e,o)}else ls=r,r=n;return u,t=po(t),u=t,u}(),Ei()!==n?(t,t=fo(r,e)):(ls=t,t=n)):(ls=t,t=n),t}function Ys(){var t,r;return t=ls,vi(),(r=u.substr(ls,3)).toLowerCase()===ru?ls+=3:(r=n,0===Cs&&vs(Ar)),r!==n&&mi()!==n?(t,t=Co()):(ls=t,t=n),t}function ui(){var t,r;return t=ls,mi()!==n?((r=u.substr(ls,3)).toLowerCase()===nu?ls+=3:(r=n,0===Cs&&vs(pr)),r!==n&&mi()!==n?(t,t=Fo()):(ls=t,t=n)):(ls=t,t=n),t}function ti(){var u,t;return u=ls,(t=mi())!==n&&(u,t=go()),u=t}function ri(){var t,r;return t=ls,mi()!==n?((r=u.substr(ls,2)).toLowerCase()===eu?ls+=2:(r=n,0===Cs&&vs(hr)),r!==n&&mi()!==n?(t,t=Bo()):(ls=t,t=n)):(ls=t,t=n),t}function ni(){var t,r,e;return t=ls,u.substr(ls,9)===ou?(r=ou,ls+=9):(r=n,0===Cs&&vs(Cr)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=ls,t=Bi(),t!==n)if(vi(),(r=ei())!==n){for(e=[],o=ls,vi(),gi()!==n?(vi(),(s=ei())!==n?(o,o=To(r,s)):(ls=o,o=n)):(ls=o,o=n);o!==n;)e.push(o),o=ls,vi(),gi()!==n?(vi(),(s=ei())!==n?(o,o=To(r,s)):(ls=o,o=n)):(ls=o,o=n);o=vi(),Ei()!==n?(u,u=jo(r,e)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=Eo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===su?(r=su,ls+=7):(r=n,0===Cs&&vs(dr)),r!==n?(e=function(){var u,t,r,e,o,s,i,a;if(u=ls,t=Bi(),t!==n)if(Bi()!==n)if((r=ci())!==n){for(e=[],o=ls,(s=gi())!==n&&(i=ci())!==n?(o,o=Ro(r,i)):(ls=o,o=n);o!==n;)e.push(o),o=ls,(s=gi())!==n&&(i=ci())!==n?(o,o=Ro(r,i)):(ls=o,o=n);o=ls,(s=Ei())!==n&&(o,s=Io(r,e)),(o=s)!==n?(s=ls,(i=gi())!==n&&(a=qs())!==n?(s,s=No(r,e,a)):(ls=s,s=n),s===n&&(s=null),(i=Ei())!==n?(u,u=qo(r,e,s)):(ls=u,u=n)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=vo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===iu?(r=iu,ls+=6):(r=n,0===Cs&&vs(Fr)),r!==n?(e=function(){var u,t,r,e;u=ls,t=Bi(),t!==n?(vi(),r=ls,(e=zs())!==n&&(r,e=Mo(e)),(r=e)!==n?(e=vi(),Ei()!==n?(u,u=Go(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=mo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===au?(r=au,ls+=6):(r=n,0===Cs&&vs(gr)),r!==n?(e=function(){var u,t,r,e;u=ls,t=Bi(),t!==n?(vi(),r=ls,(e=Os())!==n&&(r,e=Ho(e)),(r=e)!==n?(e=vi(),Ei()!==n?(u,u=Jo(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=bo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,6)===cu?(r=cu,ls+=6):(r=n,0===Cs&&vs(Br)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=ls,t=Bi(),t!==n)if(vi(),(r=qs())!==n){if(e=[],o=ls,vi(),gi()!==n?(vi(),(s=qs())!==n?(o,o=Ko(r,s)):(ls=o,o=n)):(ls=o,o=n),o!==n)for(;o!==n;)e.push(o),o=ls,vi(),gi()!==n?(vi(),(s=qs())!==n?(o,o=Ko(r,s)):(ls=o,o=n)):(ls=o,o=n);else e=n;e!==n?(o=vi(),Ei()!==n?(u,u=Qo(r,e)):(ls=u,u=n)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=Do(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===fu?(r=fu,ls+=7):(r=n,0===Cs&&vs(Er)),r!==n?(e=function(){var u,t,r,e,o,s,i,a,c,f;if(u=ls,t=Bi(),t!==n)if(r=vi(),(e=fi())!==n){for(o=[],s=ls,i=vi(),(a=gi())!==n?(c=vi(),(f=fi())!==n?s=i=[i,a,c,f]:(ls=s,s=n)):(ls=s,s=n);s!==n;)o.push(s),s=ls,i=vi(),(a=gi())!==n?(c=vi(),(f=fi())!==n?s=i=[i,a,c,f]:(ls=s,s=n)):(ls=s,s=n);s=vi(),(i=Ei())!==n?u=t=[t,r,e,o,s,i]:(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=yo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,3)===lu?(r=lu,ls+=3):(r=n,0===Cs&&vs(vr)),r!==n?(e=function(){var u,t,r;u=ls,t=Bi(),t!==n?(vi(),(r=Ts())!==n?(vi(),Ei()!==n?(u,u=Xo(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=$o(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,4)===Au?(r=Au,ls+=4):(r=n,0===Cs&&vs(mr)),r!==n?(e=function(){var u,t,r;u=ls,t=Bi(),t!==n?(vi(),(r=js())!==n?(vi(),Ei()!==n?(u,u=Yo(r)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=xo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,u.substr(ls,7)===pu?(r=pu,ls+=7):(r=n,0===Cs&&vs(br)),r!==n?(e=function(){var u,t,r,e,o,s;if(u=ls,t=Bi(),t!==n)if(vi(),(r=Ns())!==n){for(e=[],o=ls,gi()!==n&&(s=Ns())!==n?(o,o=us(r,s)):(ls=o,o=n);o!==n;)e.push(o),o=ls,gi()!==n&&(s=Ns())!==n?(o,o=us(r,s)):(ls=o,o=n);o=vi(),Ei()!==n?(u,u=ts(r,e)):(ls=u,u=n)}else ls=u,u=n;else ls=u,u=n;return u}(),e!==n?(t,t=wo(e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,(r=u.substr(ls,8)).toLowerCase()===hu?ls+=8:(r=n,0===Cs&&vs(Dr)),r===n&&((r=u.substr(ls,11)).toLowerCase()===Cu?ls+=11:(r=n,0===Cs&&vs(yr)),r===n&&((r=u.substr(ls,6)).toLowerCase()===du?ls+=6:(r=n,0===Cs&&vs($r)),r===n&&((r=u.substr(ls,9)).toLowerCase()===Fu?ls+=9:(r=n,0===Cs&&vs(xr)),r===n&&((r=u.substr(ls,10)).toLowerCase()===gu?ls+=10:(r=n,0===Cs&&vs(wr)),r===n&&((r=u.substr(ls,13)).toLowerCase()===Bu?ls+=13:(r=n,0===Cs&&vs(Lr))))))),r!==n?(e=function(){var u,t,r,e;u=ls,t=Bi(),t!==n?(vi(),(r=Hs())!==n?(vi(),gi()!==n?(vi(),(e=Hs())!==n?(vi(),Ei()!==n?(u,u=Vo(r,e)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n)):(ls=u,u=n);return u}(),e!==n?(t,t=Lo(r,e)):(ls=t,t=n)):(ls=t,t=n),t===n&&(t=ls,r=function(){var t,r;t=ls,u.substr(ls,8)===yu?(r=yu,ls+=8):(r=n,0===Cs&&vs(zr));r!==n&&(t,r=Wo());return t=r,t}(),r!==n&&(t,r=So(r)),t=r)))))))))),t}function ei(){var t,r,e,o;return t=ls,r=ls,u.substr(ls,6)===f?(e=f,ls+=6):(e=n,0===Cs&&vs(it)),e!==n&&(o=ai())!==n?(r,r=Oo(o)):(ls=r,r=n),r===n&&(r=oi()),r!==n&&(t,r=Zo(r)),t=r}function oi(){var u,t,r,e,o;return u=ls,(t=Js())!==n?((r=si())===n&&(r=null),(e=ii())===n&&(e=null),(o=ai())===n&&(o=null),u,u=zo(t,r,o)):(ls=u,u=n),u===n&&(u=ls,(t=hi())!==n&&(r=Bi())!==n&&(e=oi())!==n&&(o=Ei())!==n?u=t=[t,r,e,o]:(ls=u,u=n)),u}function si(){var t,r,e,o,s;if(t=ls,mi()!==n)if(u.substr(ls,4)===Eu?(r=Eu,ls+=4):(r=n,0===Cs&&vs(Sr)),r!==n)if(mi()!==n){if(e=ls,o=[],s=u.charAt(ls),Gu.test(s)?ls++:(s=n,0===Cs&&vs(ir)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(ls),Gu.test(s)?ls++:(s=n,0===Cs&&vs(ir));else o=n;(e=o!==n?u.substring(e,ls):o)!==n?(t,t=ko(e)):(ls=t,t=n)}else ls=t,t=n;else ls=t,t=n;else ls=t,t=n;return t}function ii(){var t,r,e,o,s,i,a;return t=ls,(r=mi())!==n?(u.substr(ls,4)===vu?(e=vu,ls+=4):(e=n,0===Cs&&vs(Tr)),e!==n&&(o=mi())!==n&&(s=Js())!==n&&(i=si())!==n?((a=ii())===n&&(a=null),t=r=[r,e,o,s,i,a]):(ls=t,t=n)):(ls=t,t=n),t}function ai(){var t,r,e;return t=ls,mi()!==n?(u.substr(ls,2)===mu?(r=mu,ls+=2):(r=n,0===Cs&&vs(jr)),r!==n&&mi()!==n&&(e=hi())!==n?(t,t=_o(e)):(ls=t,t=n)):(ls=t,t=n),t}function ci(){var t,r;return t=ls,r=function(){var t,r,e,o,s,i,a,c,f,l,A;t=ls,r=ls,u.substr(ls,6)===bu?(e=bu,ls+=6):(e=n,0===Cs&&vs(Or));if(e!==n)if((o=Bi())!==n)if(s=vi(),u.substr(ls,4)===Du?(i=Du,ls+=4):(i=n,0===Cs&&vs(Zr)),i===n&&(i=Js()),i!==n){if(a=[],c=ls,f=vi(),(l=gi())!==n&&(A=Js())!==n?c=f=[f,l,A]:(ls=c,c=n),c!==n)for(;c!==n;)a.push(c),c=ls,f=vi(),(l=gi())!==n&&(A=Js())!==n?c=f=[f,l,A]:(ls=c,c=n);else a=n;a!==n?(c=vi(),(f=Ei())!==n?r=e=[e,o,s,i,a,c,f]:(ls=r,r=n)):(ls=r,r=n)}else ls=r,r=n;else ls=r,r=n;else ls=r,r=n;r!==n&&(t,r=Uo(r));return t=r,t}(),r===n&&(r=Js()),r!==n&&(t,r=Po(r)),t=r}function fi(){var u,t,r;return u=ls,(t=ks())!==n&&(r=ai())!==n?u=t=[t,r]:(ls=u,u=n),u}function li(){var t,r;return Cs++,t=ls,u.substr(ls,4)===$u?(r=$u,ls+=4):(r=n,0===Cs&&vs(_r)),r===n&&(u.substr(ls,5)===xu?(r=xu,ls+=5):(r=n,0===Cs&&vs(Rr))),r!==n&&(t,r=rs(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(kr)),t}function Ai(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C,d,F,g,B,E,v,m,b,D,y,$;if(Cs++,t=ls,r=ls,e=ls,o=[],s=u.charAt(ls),Qu.test(s)?ls++:(s=n,0===Cs&&vs(Vr)),s!==n)for(;s!==n;)o.push(s),s=u.charAt(ls),Qu.test(s)?ls++:(s=n,0===Cs&&vs(Vr));else o=n;if(o!==n)if(45===u.charCodeAt(ls)?(s=ju,ls++):(s=n,0===Cs&&vs(Xr)),s!==n)if(i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr)),i!==n)if(a=u.charAt(ls),Qu.test(a)?ls++:(a=n,0===Cs&&vs(Vr)),a!==n)if(45===u.charCodeAt(ls)?(c=ju,ls++):(c=n,0===Cs&&vs(Xr)),c!==n)if(f=u.charAt(ls),Qu.test(f)?ls++:(f=n,0===Cs&&vs(Vr)),f!==n)if(l=u.charAt(ls),Qu.test(l)?ls++:(l=n,0===Cs&&vs(Vr)),l!==n){if(A=ls,84===u.charCodeAt(ls)?(p=Ou,ls++):(p=n,0===Cs&&vs(Yr)),p!==n)if(h=u.charAt(ls),Qu.test(h)?ls++:(h=n,0===Cs&&vs(Vr)),h!==n)if(C=u.charAt(ls),Qu.test(C)?ls++:(C=n,0===Cs&&vs(Vr)),C!==n)if(58===u.charCodeAt(ls)?(d=j,ls++):(d=n,0===Cs&&vs(Lt)),d!==n)if(F=u.charAt(ls),Qu.test(F)?ls++:(F=n,0===Cs&&vs(Vr)),F!==n)if(g=u.charAt(ls),Qu.test(g)?ls++:(g=n,0===Cs&&vs(Vr)),g!==n){if(B=ls,58===u.charCodeAt(ls)?(E=j,ls++):(E=n,0===Cs&&vs(Lt)),E!==n)if(v=u.charAt(ls),Qu.test(v)?ls++:(v=n,0===Cs&&vs(Vr)),v!==n)if(m=u.charAt(ls),Qu.test(m)?ls++:(m=n,0===Cs&&vs(Vr)),m!==n){if(b=ls,46===u.charCodeAt(ls)?(D=Zu,ls++):(D=n,0===Cs&&vs(un)),D!==n){if(y=[],$=u.charAt(ls),Qu.test($)?ls++:($=n,0===Cs&&vs(Vr)),$!==n)for(;$!==n;)y.push($),$=u.charAt(ls),Qu.test($)?ls++:($=n,0===Cs&&vs(Vr));else y=n;y!==n?b=D=[D,y]:(ls=b,b=n)}else ls=b,b=n;b===n&&(b=null),B=E=[E,v,m,b]}else ls=B,B=n;else ls=B,B=n;else ls=B,B=n;B===n&&(B=null),90===u.charCodeAt(ls)?(E=zu,ls++):(E=n,0===Cs&&vs(tn)),E===n&&(E=ls,v=u.charAt(ls),Vu.test(v)?ls++:(v=n,0===Cs&&vs(rn)),v!==n?(m=u.charAt(ls),Qu.test(m)?ls++:(m=n,0===Cs&&vs(Vr)),m!==n?(b=u.charAt(ls),Qu.test(b)?ls++:(b=n,0===Cs&&vs(Vr)),b!==n?(58===u.charCodeAt(ls)?(D=j,ls++):(D=n,0===Cs&&vs(Lt)),D!==n?(y=u.charAt(ls),Qu.test(y)?ls++:(y=n,0===Cs&&vs(Vr)),y!==n?($=u.charAt(ls),Qu.test($)?ls++:($=n,0===Cs&&vs(Vr)),$!==n?E=v=[v,m,b,D,y,$]:(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)):(ls=E,E=n)),E===n&&(E=null),A=p=[p,h,C,d,F,g,B,E]}else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;else ls=A,A=n;A===n&&(A=null),e=o=[o,s,i,a,c,f,l,A]}else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;else ls=e,e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=os(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(Wr)),t}function pi(){var t,r,e,o,s,i;if(Cs++,t=ls,r=ls,e=ls,o=u.charAt(ls),Vu.test(o)?ls++:(o=n,0===Cs&&vs(rn)),o===n&&(o=null),s=[],i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr)),i!==n)for(;i!==n;)s.push(i),i=u.charAt(ls),Qu.test(i)?ls++:(i=n,0===Cs&&vs(Vr));else s=n;return s!==n?e=o=[o,s]:(ls=e,e=n),(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=is(r)),Cs--,(t=r)===n&&(r=n,0===Cs&&vs(on)),t}function hi(){var t,r,e,o,s,i,a,c;if(Cs++,t=ls,r=ls,Cs++,e=li(),Cs--,e===n?r=void 0:(ls=r,r=n),r!==n)if(e=ls,Cs++,o=Ci(),Cs--,o===n?e=void 0:(ls=e,e=n),e!==n){if(o=ls,s=ls,i=u.charAt(ls),Wu.test(i)?ls++:(i=n,0===Cs&&vs(an)),i!==n){for(a=[],c=u.charAt(ls),Xu.test(c)?ls++:(c=n,0===Cs&&vs(cn));c!==n;)a.push(c),c=u.charAt(ls),Xu.test(c)?ls++:(c=n,0===Cs&&vs(cn));s=i=[i,a]}else ls=s,s=n;(o=s!==n?u.substring(o,ls):s)!==n?(t,t=as(o)):(ls=t,t=n)}else ls=t,t=n;else ls=t,t=n;return Cs--,t===n&&(r=n,0===Cs&&vs(sn)),t}function Ci(){var t,r,e,o,s,i,a,c,f,l,A,p,h,C;return Cs++,t=ls,r=ls,(e=di())!==n&&(o=di())!==n?(45===u.charCodeAt(ls)?(s=ju,ls++):(s=n,0===Cs&&vs(Xr)),s===n&&(s=null),(i=di())!==n?(45===u.charCodeAt(ls)?(a=ju,ls++):(a=n,0===Cs&&vs(Xr)),a===n&&(a=null),(c=di())!==n?(45===u.charCodeAt(ls)?(f=ju,ls++):(f=n,0===Cs&&vs(Xr)),f===n&&(f=null),(l=di())!==n?(45===u.charCodeAt(ls)?(A=ju,ls++):(A=n,0===Cs&&vs(Xr)),A===n&&(A=null),(p=di())!==n&&(h=di())!==n&&(C=di())!==n?r=e=[e,o,s,i,a,c,f,l,A,p,h,C]:(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n),t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(fn)),t}function di(){var t,r,e,o,s,i;return Cs++,t=ls,r=ls,e=u.charAt(ls),Yu.test(e)?ls++:(e=n,0===Cs&&vs(An)),e!==n?(o=u.charAt(ls),Yu.test(o)?ls++:(o=n,0===Cs&&vs(An)),o!==n?(s=u.charAt(ls),Yu.test(s)?ls++:(s=n,0===Cs&&vs(An)),s!==n?(i=u.charAt(ls),Yu.test(i)?ls++:(i=n,0===Cs&&vs(An)),i!==n?r=e=[e,o,s,i]:(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n)):(ls=r,r=n),t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(ln)),t}function Fi(){var t,r,e,o;if(t=ls,r=ls,e=[],o=u.charAt(ls),ut.test(o)?ls++:(o=n,0===Cs&&vs(pn)),o!==n)for(;o!==n;)e.push(o),o=u.charAt(ls),ut.test(o)?ls++:(o=n,0===Cs&&vs(pn));else e=n;return(r=e!==n?u.substring(r,ls):e)!==n&&(t,r=cs(r)),t=r}function gi(){var t,r,e;return t=ls,r=vi(),44===u.charCodeAt(ls)?(e=W,ls++):(e=n,0===Cs&&vs(or)),e!==n?t=r=[r,e,vi()]:(ls=t,t=n),t}function Bi(){var t,r,e;return t=ls,r=vi(),40===u.charCodeAt(ls)?(e=Iu,ls++):(e=n,0===Cs&&vs(Bn)),e!==n?t=r=[r,e,vi()]:(ls=t,t=n),t}function Ei(){var t,r,e;return t=ls,r=vi(),41===u.charCodeAt(ls)?(e=Nu,ls++):(e=n,0===Cs&&vs(En)),e!==n?t=r=[r,e]:(ls=t,t=n),t}function vi(){var t,r,e;for(Cs++,t=ls,r=[],e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn));e!==n;)r.push(e),e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn));return t=u.substring(t,ls),Cs--,r=n,0===Cs&&vs(vn),t}function mi(){var t,r,e;if(Cs++,t=ls,r=[],e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn)),e!==n)for(;e!==n;)r.push(e),e=u.charAt(ls),nt.test(e)?ls++:(e=n,0===Cs&&vs(mn));else r=n;return t=r!==n?u.substring(t,ls):r,Cs--,t===n&&(r=n,0===Cs&&vs(bn)),t}const bi=["$value"],Di={eq:"=",ne:"!=",lt:"<",gt:">",le:"<=",ge:">="},yi={topcount:!0,bottomcount:!0,topsum:!1,bottomsum:!1,toppercent:!1,bottompercent:!1},$i=Object.assign,{strict:xi,minimal:wi}=t,Li=[];let Si,Ti;const ji=t.safeNumber||function(u){if("string"!=typeof u)return u;const t=parseFloat(u);if(!isNaN(t)&&String(t)===u)return t;const r=parseInt(u);return isNaN(r)||String(r)!==u.replace(/^-?\d+\.0+$/,u.split(".")[0])?u:r},Oi=t.skipToken,Zi=t.standardBase64||function(u){return Buffer.from(u,"base64").toString("base64")},zi=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(""),ki=u=>t=>{if(Array.isArray(t))return t.map(ki(u));const r=t.ref&&u.find((u=>u.as&&u.func&&u.as===t.ref[0]));return r||t},_i=u=>t=>Array.isArray(t)?t.map(_i(u)):t.ref&&!u.find(zi(t))?{val:null}:t,Ri=(u,t)=>{if(1===t.ref.length)u.find(zi(t))||u.push(t);else{const r=t.ref.shift(),n=u.find((u=>u.ref&&u.ref[0]===r));if(n)Ri(n.expand,t);else{const n={ref:[r],expand:[]};Ri(n.expand,t),u.push(n)}}},Ii=(u,t,r=!1)=>{let n=Pi({from:u.from},t,r);if(Array.isArray(n))for(let t=0;t<n.length;t++)n[t]=Ni(n[t],u,r);else n=Ni(n,u,r);return n},Ni=(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 qi(n,e,r),{SELECT:n}},qi=(u,t,r)=>{t.length&&(u.columns=u.columns&&!r?u.columns.reduce(((u,r)=>{const n=t.find(zi(r));return n&&u.push(n),u}),[]):t,u.where&&(u.where=u.where.map(ki(u.columns)),u.groupBy&&(u.having=u.where.map(_i(u.groupBy)),delete u.where)),u.columns=u.columns.reduce(((u,r)=>(r.ref&&r.ref.length>1&&t.find(zi(r))?Ri(u,{ref:[...r.ref]}):u.push(r),u)),[]))},Pi=(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(zi(r))||u.groupBy.push(r)}t.limit&&(u.limit=t.limit),t.orderBy&&(u.orderBy=t.orderBy);const n=[...u.groupBy||[],...t.aggregate||[]];if(qi(u,n,r),t.apply&&u.from&&Pi(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=Pi(n,n.apply);Array.isArray(t)?r.push(...t):r.push(t)}u=r}return Array.isArray(u)?u:{SELECT:u}},Ui=u=>{Si.limit&&Si.limit.offset&&Si.limit.offset.val&&(u+=Si.limit.offset.val),(Si.limit||(Si.limit={})).offset={val:u}},Mi=(u,t=!1)=>{Si.orderBy=Si.orderBy?t?[u,...Si.orderBy]:[...Si.orderBy,u]:[u]},Gi=(u,t)=>{for(const r of t)r.ref&&r.ref[0]===u&&r.ref.shift(),r.func&&Gi(u,r.args);return t},Hi=(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&&Hi(u.args,t,r,n)})):u.SELECT&&Ji(u.SELECT,t,r,n)}))},Ji=(u,t,r,n=!1)=>{const{where:e,from:o}=u;Hi(e,t,r),o?.ref?.forEach((u=>{Hi(u.where,t,r,!0)}))};if(r=s(),t.peg$library)return{peg$result:r,peg$currPos:ls,peg$FAILED:n,peg$maxFailExpected:hs,peg$maxFailPos:ps};if(r!==n&&ls===u.length)return r;throw r!==n&&ls<u.length&&vs({type:"end"}),ms(hs,ps<u.length?u.charAt(ps):null,ps<u.length?Es(ps,ps+1):Es(ps,ps))}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 i=this.location.end,a=peg$padEnd("",o.line.toString().length," "),c=n[e.line-1],f=(e.line===i.line?i.column:c.length+1)-e.column||1;t+="\n --\x3e "+s+"\n"+a+" |\n"+o.line+" | "+c+"\n"+a+" | "+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={StartRules:["ODataRelativeURI"],SyntaxError:peg$SyntaxError,parse:peg$parse};
@@ -0,0 +1,13 @@
1
+ const validateIfNoneMatch = (cdsReq, req, result) => {
2
+ if (cdsReq.target._etag && req.headers['if-none-match'] && result) {
3
+ let header = req.headers['if-none-match']
4
+ if (header.startsWith('W/')) header = header.substring(2)
5
+ if (header.startsWith('"') && header.endsWith('"')) header = header.substring(1, header.length - 1)
6
+ if (header === '*') return true
7
+ if (result[cdsReq.target._etag.name] === header) return true
8
+ }
9
+ }
10
+
11
+ module.exports = {
12
+ validateIfNoneMatch
13
+ }
@@ -0,0 +1,120 @@
1
+ const cds = require('../../_runtime/cds')
2
+ const { SELECT } = cds.ql
3
+
4
+ const { DRAFT_COLUMNS_MAP } = require('../../_runtime/common/constants/draft')
5
+
6
+ const _keysOf = (row, target) => {
7
+ const keyElements = Object.values(target.keys || {}).filter(v => !v.virtual)
8
+ // > singleton
9
+ if (!keyElements.length) return
10
+ const keys = {}
11
+ for (const key of keyElements) {
12
+ if (key._isAssociationStrict) continue
13
+ if (row[key.name] === undefined) continue // key is not in data, so ignore it
14
+ keys[key.name] = key.elements ? { val: JSON.stringify(row[key.name]) } : row[key.name]
15
+ }
16
+ return keys
17
+ }
18
+
19
+ const getSimpleSelectCQN = (target, data, columns, subject) => {
20
+ const keys = _keysOf(data, target)
21
+ // don't use `ql.where()` to get `where` in `from` for location header
22
+ let cqn
23
+ // reflect request path in read after write
24
+ if (subject?.ref.length > 1) {
25
+ cqn = SELECT.one(subject)
26
+ if (keys) cqn.where(keys)
27
+ } else {
28
+ cqn = keys ? SELECT.one(target, keys) : /* singleton */ SELECT.one(target)
29
+ }
30
+
31
+ if (columns) {
32
+ cqn.columns(...columns)
33
+ }
34
+
35
+ if (target.query && target.query.SELECT && target.query.SELECT.orderBy) {
36
+ cqn.SELECT.orderBy = target.query.SELECT.orderBy
37
+ }
38
+
39
+ return cqn
40
+ }
41
+
42
+ const _mergeExpandCQNs = cqns => {
43
+ const cols = cqns[0].SELECT.columns
44
+ for (const cqn of cqns.slice(1)) {
45
+ for (const col of cqn.SELECT.columns) {
46
+ if (!col.expand) continue
47
+ const idx = cols.findIndex(ele => {
48
+ if (!col.ref) return
49
+ if (ele.ref) return ele.ref[0] === col.ref[0]
50
+ if (ele.as) return ele.as === col.ref[0]
51
+ })
52
+ if (idx === -1) {
53
+ cols.push(col)
54
+ } else {
55
+ const colExists = cols[idx]
56
+ if (colExists.as && colExists.val === null) {
57
+ cols[idx] = col
58
+ continue
59
+ }
60
+ if (col.as && col.val === null) continue
61
+ const mergedExpandCQN = _mergeExpandCQNs([
62
+ { SELECT: { columns: colExists.expand } },
63
+ { SELECT: { columns: col.expand } }
64
+ ])
65
+ colExists.expand = mergedExpandCQN.SELECT.columns
66
+ }
67
+ }
68
+ }
69
+ return cqns[0]
70
+ }
71
+
72
+ const _getExpandColumn = (data, element) => {
73
+ const key = element.name
74
+ if (!(key in data)) return
75
+ data = data[key]
76
+ if ((Array.isArray(data) && data.length === 0) || data == null) {
77
+ // performance tweak, keep in mind it is only for compositions
78
+ return { val: null, as: key }
79
+ }
80
+ const cqn = Array.isArray(data)
81
+ ? _mergeExpandCQNs(data.map(data => getDeepSelect({ target: element._target, data })))
82
+ : getDeepSelect({ target: element._target, data })
83
+ return { ref: [key], expand: cqn.SELECT.columns }
84
+ }
85
+
86
+ const _getColumns = (target, data, prefix = []) => {
87
+ const columns = []
88
+ for (const each in target.elements) {
89
+ if (target.elements[each]['@cds.api.ignore']) continue
90
+ if (each in DRAFT_COLUMNS_MAP) continue
91
+ if (!cds.env.features.stream_compat && target.elements[each].type === 'cds.LargeBinary') continue
92
+ const element = target.elements[each]
93
+ if (element.elements && data[each]) {
94
+ prefix.push(element.name)
95
+ columns.push(..._getColumns(element, data[each], prefix))
96
+ prefix.pop()
97
+ } else if (element.isComposition && !prefix.length) {
98
+ const col = _getExpandColumn(data, element, prefix)
99
+ if (col) columns.push(col)
100
+ } else if (!element.isAssociation) {
101
+ columns.push({ ref: [...prefix, each] })
102
+ }
103
+ }
104
+ return columns
105
+ }
106
+
107
+ /*
108
+ * recursively builds a select cqn for deep read after write
109
+ * (depth determined by req.data)
110
+ */
111
+ const getDeepSelect = req => {
112
+ let { target, data, subject } = req
113
+ const columns = _getColumns(target, data)
114
+ return getSimpleSelectCQN(target, data, columns, subject)
115
+ }
116
+
117
+ module.exports = {
118
+ getDeepSelect,
119
+ getSimpleSelectCQN
120
+ }
@@ -2,6 +2,7 @@
2
2
 
3
3
  const cds = require('../../../')
4
4
  const _path = require('./path')
5
+ const _etag = require('./etag')
5
6
 
6
7
  const { toBase64url } = require('../../_runtime/common/utils/binary')
7
8
  const { getSapMessages } = require('../../_runtime/common/error/frontend')
@@ -98,6 +99,11 @@ const _getElement = (csnTarget, key) => {
98
99
  }
99
100
  }
100
101
 
102
+ const getPreferReturnHeader = req => {
103
+ const preferReturn = req.headers.prefer?.match(/\W?return=(\w+)/i)
104
+ if (preferReturn) return preferReturn[1]
105
+ }
106
+
101
107
  const _PT = ([hh, mm, ss]) => `PT${hh}H${mm}M${ss}S`
102
108
 
103
109
  const _v2 = (val, element) => {
@@ -274,7 +280,12 @@ const calculateLocationHeader = (target, srv, result) => {
274
280
  const targetName = target.name.replace(`${srv.name}.`, '')
275
281
 
276
282
  const keyValuePairs = Object.keys(target.keys).reduce((acc, key) => {
277
- acc[key] = result[key]
283
+ const value = result[key]
284
+ if (Buffer.isBuffer(value)) {
285
+ acc[key] = value.toString('base64')
286
+ } else {
287
+ acc[key] = value
288
+ }
278
289
  return acc
279
290
  }, {})
280
291
 
@@ -302,5 +313,7 @@ module.exports = {
302
313
  skipToken,
303
314
  calculateLocationHeader,
304
315
  handleSapMessages,
305
- getKeysAndParamsFromPath: _path.getKeysAndParamsFromPath
316
+ getKeysAndParamsFromPath: _path.getKeysAndParamsFromPath,
317
+ getPreferReturnHeader,
318
+ validateIfNoneMatch: _etag.validateIfNoneMatch
306
319
  }