@opra/common 1.19.7 → 1.20.0

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 (100) hide show
  1. package/browser/index.cjs +5 -5
  2. package/browser/index.mjs +5 -5
  3. package/cjs/document/api-document.js +14 -2
  4. package/cjs/document/common/document-node.js +12 -1
  5. package/cjs/document/constants.js +2 -1
  6. package/cjs/document/data-type/api-field.js +7 -6
  7. package/cjs/document/data-type/array-type.js +78 -0
  8. package/cjs/document/data-type/complex-type-base.js +3 -4
  9. package/cjs/document/data-type/extended-types/base64.type.js +6 -1
  10. package/cjs/document/data-type/extended-types/date-time.type.js +1 -1
  11. package/cjs/document/data-type/extended-types/date.type.js +1 -1
  12. package/cjs/document/data-type/extended-types/field-path.type.js +3 -3
  13. package/cjs/document/data-type/extended-types/filter.type.js +1 -1
  14. package/cjs/document/data-type/simple-type.js +10 -2
  15. package/cjs/document/decorators/http-operation.decorator.js +13 -0
  16. package/cjs/document/decorators/mq-operation.decorator.js +12 -8
  17. package/cjs/document/decorators/ws-controller.decorator.js +4 -4
  18. package/cjs/document/decorators/ws-operation.decorator.js +6 -7
  19. package/cjs/document/decorators/ws-param.decorator.js +22 -0
  20. package/cjs/document/factory/api-document.factory.js +9 -0
  21. package/cjs/document/factory/data-type.factory.js +27 -0
  22. package/cjs/document/factory/mq-api.factory.js +4 -4
  23. package/cjs/document/factory/ws-api.factory.js +26 -4
  24. package/cjs/document/http/http-media-type.js +13 -4
  25. package/cjs/document/http/http-parameter.js +8 -0
  26. package/cjs/document/index.js +2 -0
  27. package/cjs/document/mq/mq-header.js +8 -0
  28. package/cjs/document/mq/mq-operation-response.js +9 -9
  29. package/cjs/document/mq/mq-operation.js +23 -10
  30. package/cjs/document/ws/ws-operation.js +22 -20
  31. package/cjs/filter/filter-rules.js +2 -2
  32. package/cjs/schema/data-type/array-type.interface.js +7 -0
  33. package/cjs/schema/opra-schema.js +1 -0
  34. package/cjs/schema/type-guards.js +7 -1
  35. package/esm/document/api-document.js +14 -2
  36. package/esm/document/common/document-node.js +12 -1
  37. package/esm/document/constants.js +1 -0
  38. package/esm/document/data-type/api-field.js +7 -6
  39. package/esm/document/data-type/array-type.js +75 -0
  40. package/esm/document/data-type/complex-type-base.js +3 -4
  41. package/esm/document/data-type/extended-types/base64.type.js +6 -1
  42. package/esm/document/data-type/extended-types/date-time.type.js +1 -1
  43. package/esm/document/data-type/extended-types/date.type.js +1 -1
  44. package/esm/document/data-type/extended-types/field-path.type.js +3 -3
  45. package/esm/document/data-type/extended-types/filter.type.js +1 -1
  46. package/esm/document/data-type/simple-type.js +10 -2
  47. package/esm/document/decorators/http-operation.decorator.js +13 -0
  48. package/esm/document/decorators/mq-operation.decorator.js +13 -9
  49. package/esm/document/decorators/ws-controller.decorator.js +5 -5
  50. package/esm/document/decorators/ws-operation.decorator.js +7 -8
  51. package/esm/document/decorators/ws-param.decorator.js +19 -0
  52. package/esm/document/factory/api-document.factory.js +9 -0
  53. package/esm/document/factory/data-type.factory.js +27 -0
  54. package/esm/document/factory/mq-api.factory.js +4 -4
  55. package/esm/document/factory/ws-api.factory.js +27 -5
  56. package/esm/document/http/http-media-type.js +13 -4
  57. package/esm/document/http/http-parameter.js +8 -0
  58. package/esm/document/index.js +2 -0
  59. package/esm/document/mq/mq-header.js +8 -0
  60. package/esm/document/mq/mq-operation-response.js +9 -9
  61. package/esm/document/mq/mq-operation.js +23 -10
  62. package/esm/document/ws/ws-operation.js +22 -20
  63. package/esm/filter/filter-rules.js +2 -2
  64. package/esm/schema/data-type/array-type.interface.js +4 -0
  65. package/esm/schema/opra-schema.js +1 -0
  66. package/esm/schema/type-guards.js +6 -1
  67. package/package.json +1 -1
  68. package/types/document/api-document.d.ts +6 -3
  69. package/types/document/common/document-node.d.ts +7 -0
  70. package/types/document/constants.d.ts +1 -0
  71. package/types/document/data-type/api-field.d.ts +6 -9
  72. package/types/document/data-type/array-type.d.ts +76 -0
  73. package/types/document/data-type/extended-types/base64.type.d.ts +2 -1
  74. package/types/document/data-type/extended-types/date-time.type.d.ts +2 -1
  75. package/types/document/data-type/extended-types/date.type.d.ts +2 -1
  76. package/types/document/data-type/extended-types/field-path.type.d.ts +5 -2
  77. package/types/document/data-type/extended-types/filter.type.d.ts +3 -1
  78. package/types/document/data-type/simple-type.d.ts +6 -2
  79. package/types/document/decorators/mq-operation.decorator.d.ts +5 -5
  80. package/types/document/decorators/ws-controller.decorator.d.ts +0 -2
  81. package/types/document/decorators/ws-operation.decorator.d.ts +5 -5
  82. package/types/document/decorators/ws-param.decorator.d.ts +2 -0
  83. package/types/document/factory/data-type.factory.d.ts +12 -2
  84. package/types/document/http/http-media-type.d.ts +3 -1
  85. package/types/document/http/http-parameter.d.ts +5 -1
  86. package/types/document/index.d.ts +2 -0
  87. package/types/document/mq/mq-header.d.ts +5 -1
  88. package/types/document/mq/mq-operation-response.d.ts +8 -4
  89. package/types/document/mq/mq-operation.d.ts +13 -6
  90. package/types/document/ws/ws-controller.d.ts +0 -1
  91. package/types/document/ws/ws-operation.d.ts +14 -14
  92. package/types/schema/data-type/array-type.interface.d.ts +16 -0
  93. package/types/schema/data-type/data-type.interface.d.ts +3 -2
  94. package/types/schema/data-type/field.interface.d.ts +1 -0
  95. package/types/schema/http/http-media-type.interface.d.ts +1 -0
  96. package/types/schema/mq/mq-operation.interface.d.ts +2 -2
  97. package/types/schema/opra-schema.d.ts +1 -0
  98. package/types/schema/type-guards.d.ts +2 -0
  99. package/types/schema/value.interface.d.ts +1 -0
  100. package/types/schema/ws/ws-operation.interface.d.ts +3 -2
package/browser/index.cjs CHANGED
@@ -3,10 +3,10 @@
3
3
  * http://www.panates.com
4
4
  *****************************************/
5
5
 
6
- "use strict";var Qp=Object.create;var yr=Object.defineProperty;var Gp=Object.getOwnPropertyDescriptor;var Xp=Object.getOwnPropertyNames;var Zp=Object.getPrototypeOf,Hp=Object.prototype.hasOwnProperty;var a=(o,e)=>yr(o,"name",{value:e,configurable:!0});var Tr=(o,e)=>{for(var t in e)yr(o,t,{get:e[t],enumerable:!0})},da=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xp(e))!Hp.call(o,i)&&i!==t&&yr(o,i,{get:()=>e[i],enumerable:!(r=Gp(e,i))||r.enumerable});return o};var _t=(o,e,t)=>(t=o!=null?Qp(Zp(o)):{},da(e||!o||!o.__esModule?yr(t,"default",{value:o,enumerable:!0}):t,o)),ec=o=>da(yr({},"__esModule",{value:!0}),o);var Dl={};Tr(Dl,{AnyType:()=>xi,ApiBase:()=>De,ApiDocument:()=>He,ApiDocumentFactory:()=>pa,ApiField:()=>$,BUILTIN:()=>Se,BadRequestError:()=>Ki,Base64Type:()=>ui,BaseI18n:()=>Ea,BigintType:()=>gi,BooleanType:()=>Ai,CLASS_NAME_PATTERN:()=>F,ComplexType:()=>ie,ConflictError:()=>zi,DATATYPE_METADATA:()=>d,DECODER:()=>E,DECORATOR:()=>A,DataType:()=>x,DataTypeMap:()=>J,DateTimeType:()=>Pt,DateTimeTypeTz:()=>jt,DateType:()=>It,DocumentElement:()=>w,DocumentInitContext:()=>ue,DocumentNode:()=>Lr,ENCODER:()=>g,EmailType:()=>re,EnumType:()=>te,FailedDependencyError:()=>Wi,FieldPathType:()=>Y,FieldsProjection:()=>Me,FilterType:()=>Be,ForbiddenError:()=>xr,HTTP_CONTROLLER_METADATA:()=>se,HttpApi:()=>yt,HttpController:()=>ne,HttpHeaderCodes:()=>Qi,HttpMediaType:()=>Ne,HttpMultipartField:()=>Br,HttpOperation:()=>D,HttpOperationResponse:()=>Kr,HttpParameter:()=>mr,HttpRequestBody:()=>Vr,HttpStatusCode:()=>b,HttpStatusMessages:()=>sc,HttpStatusRange:()=>fr,I18n:()=>xt,IntegerType:()=>ut,InternalServerError:()=>Xi,IssueSeverity:()=>yo,MQApi:()=>Et,MQController:()=>tt,MQHeader:()=>dr,MQOperation:()=>hr,MQ_CONTROLLER_METADATA:()=>q,MappedType:()=>Xe,MethodNotAllowedError:()=>Hi,MimeTypes:()=>N,MixinType:()=>dt,NAMESPACE_PATTERN:()=>To,NotAcceptableError:()=>to,NotFoundError:()=>io,NullType:()=>Di,NumberType:()=>_e,ObjectIdType:()=>yi,ObjectType:()=>Si,OmitType:()=>gl,OperationResult:()=>oe,OpraDocumentError:()=>ct,OpraException:()=>de,OpraFilter:()=>Bt,OpraHttpError:()=>M,OpraSchema:()=>m,PartialDateType:()=>Wt,PartialType:()=>wl,PermissionError:()=>no,PickType:()=>Al,RPC_CONTROLLER_METADATA:()=>lc,RequiredType:()=>Rl,ResourceConflictError:()=>ao,ResourceNotAvailableError:()=>co,ResponsiveMap:()=>S,SimpleType:()=>u,StringType:()=>Ge,TimeType:()=>Qt,UnauthorizedError:()=>fo,UnionType:()=>ht,UnprocessableEntityError:()=>uo,UrlType:()=>Ei,UuidType:()=>Cr,WSApi:()=>zr,WSController:()=>Jr,WSOperation:()=>Ui,WS_CONTROLLER_METADATA:()=>cc,classes:()=>ua,cloneObject:()=>L,getErrorStack:()=>pc,getStackFileName:()=>ac,i18n:()=>Wr,inheritPropertyInitializers:()=>gr,isBlob:()=>Ec,isFormData:()=>_c,isReadable:()=>hc,isReadableStream:()=>Tc,isStream:()=>Qr,isURL:()=>xc,isWritable:()=>yc,kCtorMap:()=>wr,kDataTypeMap:()=>I,kTypeNSMap:()=>xe,mergePrototype:()=>Or,parse:()=>xo,parseFieldsProjection:()=>_o,resolveThunk:()=>me,safeJsonStringify:()=>dc,translate:()=>nc,uid:()=>Yp.uid});module.exports=ec(Dl);var F4=require("reflect-metadata");Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});var va=require("@jsopen/objects"),Fa=require("valgen");var _a=require("@jsopen/objects");var Ta=_t(require("@browsery/i18next"),1),_r=require("fast-tokenizer");var tc=/\\(.)/g,rc=/(\\)/g;function ha(o){return o.replace(rc,"\\\\")}a(ha,"escapeString");function ya(o){return o.replace(tc,"$1")}a(ya,"unescapeString");var Ea=Object.getPrototypeOf(Ta.default.createInstance()).constructor,Er=class Er extends Ea{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(p,c)=>p.toLocaleLowerCase(c)),s.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),s.add("upperFirst",(p,c)=>p.charAt(0).toLocaleUpperCase(c)+p.substring(1)),r!=null&&r.resources)for(let p of Object.keys(r.resources)){let c=r.resources[p];for(let l of Object.keys(c))this.addResourceBundle(p,l,c[l],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new Er(e,t)}static createInstance(e,t){return new Er(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of(0,_r.tokenize)(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=(0,_r.splitString)(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=ya(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],l=null;for(let R of(0,_r.tokenize)(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(R.startsWith("{")){l=JSON.parse(R);continue}c.push(R)}let O=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(O,p,{...r,...l}):this.t(O,{...r,...l});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,p=n.length;s<p;s++){let c=n[s];i[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return ic}};a(Er,"I18n");var xt=Er,ic=xt.createInstance();var oc=/(\))/g;function nc(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+ha(i).replace(oc,"\\$1"):"")+")"}a(nc,"translate");var Wr=xt.createInstance();Wr.init().catch(()=>{});var qi=class qi extends Error{constructor(e,t){super("Unknown error"),this.severity="error",t=t||(e instanceof Error?e:void 0),e instanceof Error&&(t=e),t&&t instanceof Error&&(this.cause=t,t.stack&&(this.stack=t.stack)),typeof e=="string"?this.initString(e):e instanceof Error?this.initError(e):this.init(e),this.message=this.message||this.constructor.name}toString(){return Wr.deep(this.message)}toJSON(){var t;let e="production";return(0,_a.omitUndefined)({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:e==="dev"||e==="development"||e==="test"?(t=this.stack)==null?void 0:t.split(`
7
- `):void 0},!0)}init(e){this.message=(e==null?void 0:e.message)||this.constructor.name,this.severity=(e==null?void 0:e.severity)||"error",e&&(this.system=e.system,this.code=e.code,this.details=e.details)}initString(e){this.init({message:String(e||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(e){this.init({message:e.message,severity:e.severity||"error",code:e.code||e.constructor.name})}};a(qi,"OpraException");var de=qi;var Bi=class Bi extends de{constructor(e,t,r){super(e,t instanceof Error?t:void 0),this.status=(typeof t=="number"?t:Number(r))||500}setStatus(e){return this.status=e,this}initError(e){typeof e.status=="number"?this.status=e.status:typeof e.getStatus=="function"&&(this.status=e.getStatus()),super.initError(e)}};a(Bi,"OpraHttpError");var M=Bi;var Vi=class Vi extends M{constructor(){super(...arguments),this.status=400}init(e){super.init({message:"Bad request",code:"BAD_REQUEST",...e})}};a(Vi,"BadRequestError");var Ki=Vi;var Ji=class Ji extends M{constructor(){super(...arguments),this.status=409}init(e){super.init({message:"Conflict",code:"CONFLICT",...e})}};a(Ji,"ConflictError");var zi=Ji;var Yi=class Yi extends M{constructor(){super(...arguments),this.status=424}init(e){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...e})}};a(Yi,"FailedDependencyError");var Wi=Yi;var Qi;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(Qi||(Qi={}));var b;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(b||(b={}));var sc={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var N;(function(o){o.json="application/json",o.opra_response_json="application/opra.response+json",o.xml="application/XML",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream"})(N||(N={}));var Gi=class Gi extends M{constructor(){super(...arguments),this.status=b.FORBIDDEN}init(e){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...e})}};a(Gi,"ForbiddenError");var xr=Gi;var Zi=class Zi extends M{constructor(){super(...arguments),this.status=500}init(e){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(Zi,"InternalServerError");var Xi=Zi;var eo=class eo extends M{constructor(){super(...arguments),this.status=405}init(e){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...e})}};a(eo,"MethodNotAllowedError");var Hi=eo;var ro=class ro extends M{constructor(){super(...arguments),this.status=406}init(e){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...e})}};a(ro,"NotAcceptableError");var to=ro;var oo=class oo extends M{constructor(){super(...arguments),this.status=404}init(e){super.init({message:"Not found",code:"NOT_FOUND",...e})}};a(oo,"NotFoundError");var io=oo;var so=class so extends xr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(so,"PermissionError");var no=so;var po=class po extends M{constructor(e,t,r){super({message:`There is already an other "${e}" resource with same values for field(s) [${t}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(po,"ResourceConflictError");var ao=po;var lo=class lo extends M{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,b.UNPROCESSABLE_ENTITY)}};a(lo,"ResourceNotAvailableError");var co=lo;var mo=class mo extends M{constructor(){super(...arguments),this.status=401}init(e){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...e})}};a(mo,"UnauthorizedError");var fo=mo;var ho=class ho extends M{constructor(){super(...arguments),this.status=422}init(e){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(ho,"UnprocessableEntityError");var uo=ho;var yo;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(yo||(yo={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});var xa=require("@jsopen/objects"),Oa=_t(require("putil-promisify"),1);async function me(o){return o=Oa.default.isPromise(o)?await o:o,typeof o=="function"?(0,xa.isConstructor)(o)?o:await o():o}a(me,"resolveThunk");var ga=/^(?:file:\/\/)?(.+)$/;function ac(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?ga.exec(r):void 0;return i?i[1]:""}return""}a(ac,"getStackFileName");function pc(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?ga.exec(r):void 0;return i?i[1]:""}return""}a(pc,"getErrorStack");function Or(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(Or,"mergePrototype");function gr(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(gr,"inheritPropertyInitializers");var Ar=require("@jsopen/objects");var d=Symbol.for("opra.type.metadata"),se=Symbol("opra.http-controller.metadata"),q=Symbol("opra.mq-controller.metadata"),cc=Symbol("opra.ws-controller.metadata"),lc=Symbol("opra.rpc-controller.metadata"),E=Symbol.for("opra.type.decoder"),g=Symbol("opra.type.encoder"),A=Symbol.for("DECORATOR"),Se=Symbol.for("BUILTIN"),To=/([a-z$_]\w+):(.+)/i,F=/^[a-z][\w_]*$/i,I=Symbol.for("kDataTypeMap"),wr=Symbol.for("kCtorMap"),xe=Symbol.for("kTypeNSMap");function L(o,e){return(0,Ar.merge)({},o,{deep:a(t=>(0,Ar.isPlainObject)(t)&&!t[d],"deep"),symbolKeys:!0,copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||(0,Ar.isPlainObject)(i)||Array.isArray(i))}})}a(L,"cloneObject");var Eo=require("fast-tokenizer");var fc=/^([+-])?([a-z_$]\w*)$/i,mc=/[^.]\(/g,Oo=class Oo{};a(Oo,"FieldsProjection");var Me=Oo;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(Me||(Me={}));function _o(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new Me;for(let i of t)e||(i=i.toLowerCase()),xo(i,r);return r}a(_o,"parseFieldsProjection");function xo(o,e){o=o.replace(mc,r=>r.charAt(0)+"."+r.substring(1));let t=(0,Eo.splitString)(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=(0,Eo.splitString)(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)xo(l,e);continue}let n=fc.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new Me.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new Me}}a(xo,"parse");function uc(o){return o&&typeof o.forEach=="function"}a(uc,"isMap");var X=Symbol.for("kEntries"),he=Symbol.for("kKeyMap"),Yr=Symbol.for("kWellKnownKeys"),go=Symbol.for("kOptions"),Ot=Symbol.for("kSize"),wo=class wo{constructor(e,t){Object.defineProperty(this,Ot,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,X,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,he,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Yr,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,go,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[Yr][i]=i:this[Yr][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[Ot]}clear(){Object.keys(this[X]).forEach(e=>delete this[X][e]),Object.keys(this[he]).forEach(e=>delete this[he][e]),this[Ot]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[X][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[X],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[X],r);return this[X][r]=t,i||this[Ot]++,this[he][r]=e,this}setAll(e){return uc(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[he])[Symbol.iterator]()}values(){return Object.values(this[X])[Symbol.iterator]()}entries(){return Object.entries(this[X])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[X],t);return delete this[X][t],delete this[he][t],r||this[Ot]--,r}sort(e){let t={...this[X]},r={...this[he]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[X][n]=t[n],this[he][n]=r[n];return this[Ot]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[he]))e[r]=this[X][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[go].caseSensitive)return e;let t=this._getStoringKey(e);return this[he][t]??this[Yr][t]??e}_getStoringKey(e){return this[go].caseSensitive?e:e.toLowerCase()}};a(wo,"ResponsiveMap");var S=wo;function dc(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(dc,"safeJsonStringify");function Qr(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(Qr,"isStream");function hc(o){return Qr(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(hc,"isReadable");function yc(o){return Qr(o)&&typeof o._write=="function"}a(yc,"isWritable");function Tc(o){return Qr(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Tc,"isReadableStream");function Ec(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Ec,"isBlob");function _c(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(_c,"isFormData");function xc(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(xc,"isURL");var Ao=class Ao{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Ao,"Ast");var Rr=Ao;var Ro=class Ro extends Rr{};a(Ro,"Expression");var V=Ro;var bo=class bo extends V{};a(bo,"Term");var it=bo;var Do=class Do extends it{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Do,"Literal");var P=Do;var No=class No extends V{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new Gr({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(No,"ArithmeticExpression");var ot=No,So=class So{constructor(e){Object.assign(this,e)}};a(So,"ArithmeticExpressionItem");var Gr=So;var Mo=class Mo extends it{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(Mo,"ArrayExpression");var Oe=Mo;var Oc=/\w/,vo=class vo extends V{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${Oc.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(vo,"ComparisonExpression");var ye=vo;var Fo=class Fo extends V{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};a(Fo,"LogicalExpression");var Te=Fo;var Io=class Io extends V{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Io,"NegativeExpression");var br=Io;var Lo=class Lo extends V{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Lo,"ParenthesizedExpression");var ge=Lo;var Po=class Po extends P{constructor(e){super(e)}};a(Po,"BooleanLiteral");var nt=Po;var Aa=require("putil-varhelpers");var ko=class ko extends TypeError{};a(ko,"SyntaxError");var Xr=ko,jo=class jo extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(jo,"FilterValidationError");var Ee=jo,Co=class Co extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(Co,"FilterParseError");var Zr=Co;var gc=/'/g,wc=/(\\)/g,Ac=/\\(.)/g;function Rc(o){return o.replace(wc,"\\\\")}a(Rc,"escapeString");function bc(o){return o.replace(Ac,"$1")}a(bc,"unescapeString");function ve(o){return"'"+Rc(o).replace(gc,"\\'")+"'"}a(ve,"quoteFilterString");function Dr(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?bc(o.substring(1,o.length-1)):o}a(Dr,"unquoteFilterString");var wa=new Date(0),Uo=class Uo extends P{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&(0,Aa.toDateDef)(e,wa)!==wa){this.value=e;return}throw new Ee(`Invalid date value "${e}"`)}toString(){return ve(this.value)}};a(Uo,"DateLiteral");var Fe=Uo;var ba=require("putil-varhelpers");var Ra=new Date(0),$o=class $o extends P{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&(0,ba.toDateDef)(e,Ra)!==Ra){this.value=e;return}throw new Ee(`Invalid date-time value "${e}"`)}toString(){return ve(this.value)}};a($o,"DateTimeLiteral");var Nr=$o;var qo=class qo extends P{constructor(){super(null),this.value=null}};a(qo,"NullLiteral");var st=qo;var Bo=class Bo extends P{constructor(e){if(super(0),typeof e=="number"||typeof e=="bigint"){this.value=e;return}try{if(typeof e=="string"){if(e.includes(".")){this.value=parseFloat(e);return}let t=Number(e);""+t===e?this.value=t:this.value=BigInt(e);return}}catch{}throw new Ee(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(Bo,"NumberLiteral");var we=Bo;var Ko=class Ko extends P{constructor(e){super(""+e)}};a(Ko,"QualifiedIdentifier");var ae=Ko;var Vo=class Vo extends P{constructor(e){super(""+e)}toString(){return ve(this.value)}};a(Vo,"StringLiteral");var at=Vo;var Dc=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,zo=class zo extends P{constructor(e){if(super(""),e instanceof Date){this.value=Hr(e.getHours())+":"+Hr(e.getMinutes())+(e.getSeconds()?":"+Hr(e.getSeconds()):"")+(e.getMilliseconds()?"."+Hr(e.getMilliseconds()):"");return}if(typeof e=="string"&&Dc.test(e)){this.value=e;return}throw new Ee(`Invalid time value "${e}"`)}toString(){return ve(this.value)}};a(zo,"TimeLiteral");var pt=zo;function Hr(o){return o<=9?"0"+o:""+o}a(Hr,"pad");var fi=require("@browsery/antlr4");var pe=require("@browsery/antlr4");var G=class G extends pe.Lexer{constructor(e){super(e),this._interp=new pe.LexerATNSimulator(this,G._ATN,G.DecisionsToDFA,new pe.PredictionContextCache)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return G.literalNames}get symbolicNames(){return G.symbolicNames}get ruleNames(){return G.ruleNames}get serializedATN(){return G._serializedATN}get channelNames(){return G.channelNames}get modeNames(){return G.modeNames}static get _ATN(){return G.__ATN||(G.__ATN=new pe.ATNDeserializer().deserialize(G._serializedATN)),G.__ATN}};a(G,"OpraFilterLexer");var y=G;y.T__0=1;y.T__1=2;y.T__2=3;y.T__3=4;y.T__4=5;y.T__5=6;y.T__6=7;y.T__7=8;y.T__8=9;y.T__9=10;y.T__10=11;y.T__11=12;y.T__12=13;y.T__13=14;y.T__14=15;y.T__15=16;y.T__16=17;y.T__17=18;y.T__18=19;y.T__19=20;y.T__20=21;y.T__21=22;y.T__22=23;y.T__23=24;y.T__24=25;y.T__25=26;y.T__26=27;y.T__27=28;y.T__28=29;y.T__29=30;y.T__30=31;y.T__31=32;y.T__32=33;y.T__33=34;y.IDENTIFIER=35;y.POLAR_OP=36;y.DATE=37;y.DATETIME=38;y.TIME=39;y.NUMBER=40;y.INTEGER=41;y.STRING=42;y.WHITESPACE=43;y.EOF=pe.Token.EOF;y.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];y.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];y.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];y.modeNames=["DEFAULT_MODE"];y.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];y._serializedATN=[4,0,43,461,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,491,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0];y.DecisionsToDFA=y._ATN.decisionToState.map((o,e)=>new pe.DFA(o,e));var Da=y;var h=require("@browsery/antlr4");var _=class _ extends h.Parser{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return _.literalNames}get symbolicNames(){return _.symbolicNames}get ruleNames(){return _.ruleNames}get serializedATN(){return _._serializedATN}createFailedPredicateException(e,t){return new h.FailedPredicateException(this,e,t)}constructor(e){super(e),this._interp=new h.ParserATNSimulator(this,_._ATN,_.DecisionsToDFA,new h.PredictionContextCache)}root(){let e=new Jo(this,this._ctx,this.state);this.enterRule(e,0,_.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(_.EOF)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new ee(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,_.RULE_expression,e);let p;try{let c;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new Qo(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new Wo(this,i),this._ctx=i,n=i,this.state=42,this.match(_.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(_.T__1);break;case 3:case 4:i=new Yo(this,i),this._ctx=i,n=i,this.state=46,p=this._input.LA(1),p===3||p===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new h.NoViableAltException(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==h.ATN.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new Sr(this,new ee(this,t,r)),this.pushNewRecursionContext(i,s,_.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(c){if(c instanceof h.RecognitionException)i.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new ei(this,this._ctx,this.state);this.enterRule(e,4,_.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new ti(this,this._ctx,this.state);this.enterRule(e,6,_.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new ri(this,this._ctx,this.state);this.enterRule(e,8,_.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new Z(this,this._ctx,this.state);this.enterRule(e,10,_.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new on(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(_.NUMBER);break;case 13:case 14:e=new tn(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new rn(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new Xo(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new Zo(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(_.DATETIME);break;case 37:e=new en(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(_.DATE);break;case 39:e=new Go(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(_.TIME);break;case 42:e=new Ho(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(_.STRING);break;default:throw new h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new Mr(this,this._ctx,this.state);this.enterRule(e,12,_.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==h.ATN.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(_.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new ii(this,this._ctx,this.state);this.enterRule(e,14,_.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(_.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new gt(this,this._ctx,this.state);this.enterRule(e,16,_.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(_.IDENTIFIER)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new oi(this,this._ctx,this.state);this.enterRule(e,18,_.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(_.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(_.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(_.T__8)}}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new ni(this,this._ctx,this.state);this.enterRule(e,20,_.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new si(this,this._ctx,this.state);this.enterRule(e,22,_.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(_.T__11)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new ai(this,this._ctx,this.state);this.enterRule(e,24,_.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new nn(this,this._ctx,this.state);this.enterRule(e,26,_.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new pi(this,this._ctx,this.state);this.enterRule(e,28,_.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new ci(this,this._ctx,this.state);this.enterRule(e,30,_.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new sn(this,this._ctx,this.state);this.enterRule(e,32,_.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(_.POLAR_OP)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return _.__ATN||(_.__ATN=new h.ATNDeserializer().deserialize(_._serializedATN)),_.__ATN}};a(_,"OpraFilterParser");var f=_;f.T__0=1;f.T__1=2;f.T__2=3;f.T__3=4;f.T__4=5;f.T__5=6;f.T__6=7;f.T__7=8;f.T__8=9;f.T__9=10;f.T__10=11;f.T__11=12;f.T__12=13;f.T__13=14;f.T__14=15;f.T__15=16;f.T__16=17;f.T__17=18;f.T__18=19;f.T__19=20;f.T__20=21;f.T__21=22;f.T__22=23;f.T__23=24;f.T__24=25;f.T__25=26;f.T__26=27;f.T__27=28;f.T__28=29;f.T__29=30;f.T__30=31;f.T__31=32;f.T__32=33;f.T__33=34;f.IDENTIFIER=35;f.POLAR_OP=36;f.DATE=37;f.DATETIME=38;f.TIME=39;f.NUMBER=40;f.INTEGER=41;f.STRING=42;f.WHITESPACE=43;f.EOF=h.Token.EOF;f.RULE_root=0;f.RULE_expression=1;f.RULE_comparisonLeft=2;f.RULE_comparisonRight=3;f.RULE_parenthesizedItem=4;f.RULE_value=5;f.RULE_qualifiedIdentifier=6;f.RULE_externalConstant=7;f.RULE_identifier=8;f.RULE_arrayValue=9;f.RULE_boolean=10;f.RULE_null=11;f.RULE_infinity=12;f.RULE_arithmeticOperator=13;f.RULE_comparisonOperator=14;f.RULE_logicalOperator=15;f.RULE_polarityOperator=16;f.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];f.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];f.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];f._serializedATN=[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,38,0,0,74,78,5,37,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100];f.DecisionsToDFA=f._ATN.decisionToState.map((o,e)=>new h.DFA(o,e));var Na=f,an=class an extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(ee,0)}EOF(){return this.getToken(f.EOF,0)}get ruleIndex(){return f.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(an,"RootContext");var Jo=an,pn=class pn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(pn,"ExpressionContext");var ee=pn,cn=class cn extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(ri,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(cn,"ParenthesizedExpressionContext");var Wo=cn,ln=class ln extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(ee,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(ln,"NegativeExpressionContext");var Yo=ln,fn=class fn extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(ei,0)}comparisonOperator(){return this.getTypedRuleContext(pi,0)}comparisonRight(){return this.getTypedRuleContext(ti,0)}enterRule(e){e.enterComparisonExpression&&e.enterComparisonExpression(this)}exitRule(e){e.exitComparisonExpression&&e.exitComparisonExpression(this)}accept(e){return e.visitComparisonExpression?e.visitComparisonExpression(this):e.visitChildren(this)}};a(fn,"ComparisonExpressionContext");var Qo=fn,mn=class mn extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(ee)}expression(e){return this.getTypedRuleContext(ee,e)}logicalOperator(){return this.getTypedRuleContext(ci,0)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}};a(mn,"LogicalExpressionContext");var Sr=mn,un=class un extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Mr,0)}get ruleIndex(){return f.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(un,"ComparisonLeftContext");var ei=un,dn=class dn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(Z,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Mr,0)}externalConstant(){return this.getTypedRuleContext(ii,0)}arrayValue(){return this.getTypedRuleContext(oi,0)}get ruleIndex(){return f.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(dn,"ComparisonRightContext");var ti=dn,hn=class hn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(ee,0)}get ruleIndex(){return f.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(hn,"ParenthesizedItemContext");var ri=hn,yn=class yn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_value}copyFrom(e){super.copyFrom(e)}};a(yn,"ValueContext");var Z=yn,Tn=class Tn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(f.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(Tn,"TimeLiteralContext");var Go=Tn,En=class En extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(si,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(En,"NullLiteralContext");var Xo=En,_n=class _n extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(f.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(_n,"DateTimeLiteralContext");var Zo=_n,xn=class xn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(f.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(xn,"StringLiteralContext");var Ho=xn,On=class On extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(f.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(On,"DateLiteralContext");var en=On,gn=class gn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(ai,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(gn,"InfinityLiteralContext");var tn=gn,wn=class wn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(ni,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(wn,"BooleanLiteralContext");var rn=wn,An=class An extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(f.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(An,"NumberLiteralContext");var on=An,Rn=class Rn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(gt)}identifier(e){return this.getTypedRuleContext(gt,e)}get ruleIndex(){return f.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(Rn,"QualifiedIdentifierContext");var Mr=Rn,bn=class bn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(gt,0)}get ruleIndex(){return f.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(bn,"ExternalConstantContext");var ii=bn,Dn=class Dn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(f.IDENTIFIER,0)}get ruleIndex(){return f.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(Dn,"IdentifierContext");var gt=Dn,Nn=class Nn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(Z)}value(e){return this.getTypedRuleContext(Z,e)}get ruleIndex(){return f.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(Nn,"ArrayValueContext");var oi=Nn,Sn=class Sn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(Sn,"BooleanContext");var ni=Sn,Mn=class Mn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(Mn,"NullContext");var si=Mn,vn=class vn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(vn,"InfinityContext");var ai=vn,Fn=class Fn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a(Fn,"ArithmeticOperatorContext");var nn=Fn,In=class In extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(In,"ComparisonOperatorContext");var pi=In,Ln=class Ln extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return f.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(Ln,"LogicalOperatorContext");var ci=Ln,Pn=class Pn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(f.POLAR_OP,0)}get ruleIndex(){return f.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(Pn,"PolarityOperatorContext");var sn=Pn;var Sa=require("@browsery/antlr4");var kn=class kn extends P{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(kn,"ExternalConstant");var li=kn;var jn=class jn extends Sa.ParseTreeVisitor{constructor(e){super(),this._timeZone=e==null?void 0:e.timeZone}visitChildren(e){let t=super.visitChildren(e);return Array.isArray(t)&&t.length<2?t[0]:t??e.getText()}defaultResult(){}visitRoot(e){return this.visit(e.expression())}visitParenthesizedExpression(e){let t=this.visit(e.parenthesizedItem());return new ge(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new br(t)}visitComparisonExpression(e){return new ye({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=a((i,n)=>{for(let s of i){if(s instanceof Sr&&s.logicalOperator().getText()===n){r(s.expression_list(),s.logicalOperator().getText());continue}let p=this.visit(s);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new Te({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new ae(e.getText())}visitExternalConstant(e){return new li(e.identifier().getText())}visitNullLiteral(){return new st}visitBooleanLiteral(e){return new nt(e.getText()==="true")}visitNumberLiteral(e){return new we(e.getText())}visitStringLiteral(e){return new at(Dr(e.getText()))}visitInfinityLiteral(){return new we(1/0)}visitDateLiteral(e){return new Fe(Dr(e.getText()))}visitDateTimeLiteral(e){return new Nr(Dr(e.getText()))}visitTimeLiteral(e){return new pt(Dr(e.getText()))}visitArrayValue(e){return new Oe(e.value_list().map(t=>this.visit(t)))}};a(jn,"FilterTreeVisitor");var vr=jn;var Ma=require("@browsery/antlr4");var Cn=class Cn extends Ma.ErrorListener{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new Zr(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a(Cn,"OpraErrorListener");var Fr=Cn;function Un(o,e){let t=new fi.CharStream(o),r=new Da(t),i=new fi.CommonTokenStream(r),n=new Na(i);n.buildParseTrees=!0;let s=[],p=new Fr(s);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(s.length){let l=[];for(let R of s)l.push(R.message+(o.includes(`
8
- `)?" at line: "+R.line+" column: "+R.column:" at column: "+R.column));let O=new Xr(l.join(`
9
- `));throw O.errors=s,O}return e=e||new vr,e.visit(c)}a(Un,"parse");var $n=class $n{constructor(e,t){if(this._rules=new S,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,(0,va.omitUndefined)({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?Un(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof ye){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof ae&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new de({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new de({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof Te)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof ot)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Oe)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof ge)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof ae&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof P){let n=t.findLastIndex(s=>s instanceof ye);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof ae&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let p;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?p=Fa.isString:p=this._decoderCache.get(s.left.field),p||(p=s.left.field.type.generateCodec("decode",{scope:i,projection:"*",ignoreWriteonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,p)),e.value=p(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a($n,"FilterRules");var wt=$n;var ja=_t(require("object-hash"),1),Ca=require("ts-gems"),z=require("valgen");var Pa=require("@jsopen/objects"),ka=require("ts-gems");var Ia=require("ts-gems"),La=require("uid");var m={};Tr(m,{ComplexType:()=>At,EnumType:()=>Rt,HttpController:()=>Ir,HttpOperation:()=>qn,MQController:()=>Bn,MQOperation:()=>Kn,MappedType:()=>bt,MixinType:()=>Dt,SimpleType:()=>Nt,SpecVersion:()=>Kd,UnionType:()=>St,WSController:()=>Vn,WSOperation:()=>zn,isComplexType:()=>Sc,isDataType:()=>Nc,isEnumType:()=>Ic,isHttpController:()=>Pc,isMappedType:()=>Fc,isMixinType:()=>vc,isSimpleType:()=>Mc,isUnionType:()=>Lc});var Kd="1.0";var At;(function(o){o.Kind="ComplexType"})(At||(At={}));var Rt;(function(o){o.Kind="EnumType"})(Rt||(Rt={}));var bt;(function(o){o.Kind="MappedType"})(bt||(bt={}));var Dt;(function(o){o.Kind="MixinType"})(Dt||(Dt={}));var Nt;(function(o){o.Kind="SimpleType"})(Nt||(Nt={}));var St;(function(o){o.Kind="UnionType"})(St||(St={}));var Ir;(function(o){o.Kind="HttpController"})(Ir||(Ir={}));var qn;(function(o){o.Kind="HttpOperation"})(qn||(qn={}));var Bn;(function(o){o.Kind="MQController"})(Bn||(Bn={}));var Kn;(function(o){o.Kind="MQOperation"})(Kn||(Kn={}));function Nc(o){return o&&typeof o=="object"&&(o.kind===At.Kind||o.kind===Rt.Kind||o.kind===bt.Kind||o.kind===Nt.Kind||o.kind===Dt.Kind||o.kind===St.Kind)}a(Nc,"isDataType");function Sc(o){return o&&typeof o=="object"&&o.kind===At.Kind}a(Sc,"isComplexType");function Mc(o){return o&&typeof o=="object"&&o.kind===Nt.Kind}a(Mc,"isSimpleType");function vc(o){return o&&typeof o=="object"&&o.kind===Dt.Kind}a(vc,"isMixinType");function Fc(o){return o&&typeof o=="object"&&o.kind===bt.Kind}a(Fc,"isMappedType");function Ic(o){return o&&typeof o=="object"&&o.kind===Rt.Kind}a(Ic,"isEnumType");function Lc(o){return o&&typeof o=="object"&&o.kind===St.Kind}a(Lc,"isUnionType");function Pc(o){return o&&typeof o=="object"&&o.kind===Ir.Kind}a(Pc,"isHttpController");var Vn;(function(o){o.Kind="WSController"})(Vn||(Vn={}));var zn;(function(o){o.Kind="WSOperation"})(zn||(zn={}));var Jn=class Jn{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[xe])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[I])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(d,e).name;else if(typeof e=="object"){let n=e[d];i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===m.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===m.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===m.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===m.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===m.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}};a(Jn,"DocumentNode");var Lr=Jn;var w=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=(0,Ia.asMutable)(this);e.id=(0,La.uid)(16),Object.defineProperty(e,"node",{value:new Lr(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),Yn=class Yn{};a(Yn,"DocumentElementClass");var Wn=Yn;w.prototype=Wn.prototype;var Ie=Symbol.for("nodejs.util.inspect.custom"),Ae="\x1B[0m",Le="\x1B[33m",Pe="\x1B[35m";function Pr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(Pr,"testScopeMatch");var x=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!F.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);w.call(this,o);let r=(0,ka.asMutable)(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),Gn=class Gn extends w{get embedded(){return!this.name}inScope(e){return Pr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return(0,Pa.omitUndefined)({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[Ie](){return`[${Le+Object.getPrototypeOf(this).constructor.name+Ae} ${Pe+this.name+Ae}]`}};a(Gn,"DataTypeClass");var Qn=Gn;x.prototype=Qn.prototype;var Mt=/^([+-])?([a-z$_][\w.]*)$/i,B=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;x.call(this,e,t,r);let i=(0,Ca.asMutable)(this);i._fields=new S},"ComplexTypeBase"),Zn=class Zn extends x{fieldCount(e){if(e==="*")return this._fields.size;let t=0;for(let r of this.fields(e))t++;return t}fieldEntries(e){let t=this._fields.entries();if(e==="*")return t;let r;return{next(){for(;t&&(r=t.next(),!(r.done||r.value&&r.value[1].inScope(e))););return r.done?{done:r.done,value:void 0}:{done:r.done,value:[r.value[0],r.value[1].forScope(e)]}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fields(e){let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[1]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fieldNames(e){if(e==="*")return this._fields.keys();let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[0]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}findField(e,t){if(e.includes(".")){let i=this.parseFieldPath(e,{scope:t});if(i.length===0)throw new Error(`Field "${e}" does not exist in scope "${t}"`);let n=i.pop();return n==null?void 0:n.field}let r=this._fields.get(e);if(r&&r.inScope(t))return r.forScope(t)}getField(e,t){let r=this.findField(e,"*");if(r&&!r.inScope(t))throw new Error(`Field "${e}" does not exist in scope "${t||"null"}"`);if(!r)throw new Error(`Field (${e}) does not exist`);return r.forScope(t)}parseFieldPath(e,t){var R,T,H;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,O=a(()=>p.map(U=>U.fieldName).join("."),"getStrPath");for(let U=0;U<s;U++){let W={fieldName:n[U],dataType:c};p.push(W);let rt=Mt.exec(n[U]);if(!rt)throw new TypeError(`Invalid field name (${O()})`);if(rt[1]&&((U===0&&l==="first"||l==="each")&&(W.sign=rt[1]),W.fieldName=rt[2]),r){if(r instanceof B){if(i=r.findField(W.fieldName,t==null?void 0:t.scope),i){W.fieldName=i.name,W.field=i,W.dataType=i.type,r=i.type;continue}if(((R=r.additionalFields)==null?void 0:R[0])===!0){W.additionalField=!0,W.dataType=c,r=void 0;continue}if(((T=r.additionalFields)==null?void 0:T[0])==="type"&&((H=r.additionalFields)==null?void 0:H[1])instanceof x){W.additionalField=!0,W.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map($i=>$i.fieldName).join(".")})`)}throw new TypeError(`"${p.map($i=>$i.fieldName).join(".")}" field is not a complex type and has no child fields`)}W.additionalField=!0,W.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){var p;let r=t!=null&&t.cache?t:{...t,projection:Array.isArray(t==null?void 0:t.projection)?_o(t.projection):t==null?void 0:t.projection,currentPath:""},i=this._generateSchema(e,r),n;if(this.additionalFields instanceof x)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let c=n[1];n=(0,z.validator)((l,O,R)=>O.fail(R,c,l))}let s=z.vg.isObject(i,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail});if(r.level===0&&((p=r.forwardCallbacks)!=null&&p.size))for(let c of r.forwardCallbacks)c();return s}_generateSchema(e,t){var c;t.fieldCache=t.fieldCache||new Map,t.level=t.level||0,t.forwardCallbacks=t.forwardCallbacks||new Set;let r={},{currentPath:i,projection:n}=t,s=!!(n&&Object.values(n).find(l=>!l.sign)),p;for(let l of this.fields("*")){if(!l.inScope(t.scope)||!(t.keepKeyFields&&this.keyField)&&(t.ignoreReadonlyFields&&l.readonly||t.ignoreWriteonlyFields&&l.writeonly)){r[l.name]=z.vg.isUndefined({coerce:!0});continue}p=l.name;let O;if(n!=="*"&&(O=n==null?void 0:n[p.toLowerCase()],(O==null?void 0:O.sign)==="-"||s&&!O||!s&&l.exclusive&&!O)){r[l.name]=z.vg.isUndefined({coerce:!0});continue}let R=typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,T=t.fieldCache.get(l),H=typeof R=="string"?R:(0,ja.default)(R||{});T||(T={},t.fieldCache.set(l,T));let U=T[H];if(U===null)U=z.vg.isAny(),t.forwardCallbacks.add(()=>{U=T[H],r[p]=t.partial||!l.required?z.vg.optional(U):z.vg.required(U)});else if(!U){let W=a(()=>{T[H]=null;let rt=this._generateFieldCodec(e,l,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:R,currentPath:i+(i?".":"")+p});return T[H]=rt,rt},"defaultGenerator");t.fieldHook?U=t.fieldHook(l,t.currentPath,W):U=W()}r[p]=t.partial||!(l.required||U.id==="required")?z.vg.optional(U):U.id==="required"?U:z.vg.required(U)}return t.allowPatchOperators&&(r._$pull=z.vg.optional(z.vg.isAny()),r._$push=z.vg.optional(z.vg.isAny())),r}_generateFieldCodec(e,t,r){let i=t.type.generateCodec(e,{...r,level:r.level+1},{convertToNative:t.convertToNative});return t.fixed&&(i=z.vg.isEqual(t.fixed)),t.isArray&&(i=z.vg.isArray(i)),i}};a(Zn,"ComplexTypeBaseClass");var Xn=Zn;B.prototype=Xn.prototype;var l0=require("reflect-metadata"),mi=require("@jsopen/objects"),Ua=require("ts-gems"),$a=require("valgen");var te=a(function(...o){if(!this)return te[A].apply(void 0,o);let[e,t,r]=o;x.call(this,e,t,r);let i=(0,Ua.asMutable)(this);if(i.kind=m.EnumType.Kind,t.base){if(!(t.base instanceof te))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=L(t.attributes||{}),i.attributes=i.base?L(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),Hn=class Hn extends x{extendsFrom(e){var t;return e instanceof x||(e=this.node.getDataType(e)),e instanceof te?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return $a.vg.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,mi.omitUndefined)({...t,kind:this.kind,base:r,attributes:L(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Hn,"EnumTypeClass");var kr=Hn;te.prototype=kr.prototype;Object.assign(te,kr);function kc(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(p=>{var l;if(!isNaN(Number(p)))return;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[p]=(0,mi.omitUndefined)({description:c})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(p=>{var l;if(!isNaN(Number(p)))return;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[o[p]]=(0,mi.omitUndefined)({alias:p,description:c})})}let s={kind:m.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,d,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(kc,"EnumTypeFactory");te.prototype=kr.prototype;te[A]=kc;var _s={};Tr(_s,{Base64Type:()=>ui,DateTimeType:()=>Pt,DateTimeTypeTz:()=>jt,DateType:()=>It,EmailType:()=>re,FieldPathType:()=>Y,FilterType:()=>Be,ObjectIdType:()=>yi,OperationResult:()=>oe,PartialDateType:()=>Wt,TimeType:()=>Qt,UrlType:()=>Ei,UuidType:()=>Cr});var di=require("tslib"),ke=require("valgen");var O0=require("reflect-metadata"),ts=require("@jsopen/objects"),Ba=require("ts-gems"),rs=require("valgen");function es(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(d,r)||{};o&&Object.assign(n,o),n.kind=m.SimpleType.Kind,n.name=i,Reflect.defineMetadata(d,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(es,"SimpleTypeDecoratorFactory");function qa(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(d,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=m.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(d,r,e.constructor)}}a(qa,"AttributeDecoratorFactory");var u=a(function(...o){var n,s;if(!this)return u[A](...o);let[e,t,r]=o;x.call(this,e,t,r);let i=(0,Ba.asMutable)(this);if(i.kind=m.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=L(t.attributes||{}),i.attributes=i.base?L(i.base.attributes):{},i.ownAttributes)for(let[p,c]of Object.entries(i.ownAttributes)){if((s=i.attributes[p])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);i.attributes[p]=c}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),os=class os extends x{extend(e){return Object.setPrototypeOf(e,this),e}extendsFrom(e){var t;return e instanceof x||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let i={...this.properties,...r};if(e==="decode"){let s=this;for(;s;){if(s._generateDecoder)return s._generateDecoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);s=this.base}return rs.isAny}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(i,(t==null?void 0:t.documentElement)||this.owner,t==null?void 0:t.scope);n=this.base}return rs.isAny}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i=(0,ts.omitUndefined)(this.ownAttributes),n;this.properties&&typeof this.properties.toJSON=="function"?n=this.properties.toJSON(this.properties,this.owner,e):n=this.properties?L(this.properties):{};let s={...t,kind:this.kind,base:r,attributes:i&&Object.keys(i).length?i:void 0,properties:Object.keys(n).length?n:void 0};return Object.keys(this.ownNameMappings).length&&(s.nameMappings={...this.ownNameMappings}),(0,ts.omitUndefined)(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(os,"SimpleTypeClass");var is=os;u.prototype=is.prototype;Object.assign(u,es);u[A]=es;u.Attribute=qa;var vt,ui=(vt=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t=ke.vg.isBase64({coerce:!0});return e.convertToNative?ke.vg.pipe([t,jc],{coerce:!0}):t}[g](){return Cc}},a(vt,"Base64Type"),vt);ui=(0,di.__decorate)([u({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),(0,di.__metadata)("design:paramtypes",[Object])],ui);var jc=(0,ke.validator)(o=>Buffer.from(o,"base64")),Cc=(0,ke.validator)(o=>Buffer.isBuffer(o)?o.toString("base64"):(0,ke.isBase64)(o));var je=require("tslib"),Re=require("valgen");var Ka=Re.vg.isDateString({precisionMin:"day",trim:"day",coerce:!0}),Uc=Re.vg.isDate({trim:"day",coerce:!0}),Ft,It=(Ft=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t;e.convertToNative?t=Uc:t=Ka;let r=[t];return e.minValue!=null&&r.push(Re.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Re.vg.isLte(t(e.maxValue))),r.length>0?Re.vg.pipe(r,{returnIndex:0}):t}[g](e){let t=Ka,r=[t];return e.minValue!=null&&r.push(Re.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Re.vg.isLte(t(e.maxValue))),r.length>0?Re.vg.pipe(r,{returnIndex:0}):t}},a(Ft,"DateType"),Ft);(0,je.__decorate)([u.Attribute({description:"Minimum value"}),(0,je.__metadata)("design:type",String)],It.prototype,"minValue",void 0);(0,je.__decorate)([u.Attribute({description:"Maximum value"}),(0,je.__metadata)("design:type",String)],It.prototype,"maxValue",void 0);It=(0,je.__decorate)([u({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),(0,je.__metadata)("design:paramtypes",[Object])],It);var Ce=require("tslib"),be=require("valgen");var Va=be.vg.isDateString({precisionMin:"day",trim:"tz",coerce:!0}),$c=be.vg.isDate({coerce:!0}),Lt,Pt=(Lt=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t;e.convertToNative?t=$c:t=Va;let r=[t];return e.minValue!=null&&r.push(be.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(be.vg.isLte(t(e.maxValue))),r.length>0?be.vg.pipe(r,{returnIndex:0}):t}[g](e){let t=Va,r=[t];return e.minValue!=null&&r.push(be.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(be.vg.isLte(t(e.maxValue))),r.length>0?be.vg.pipe(r,{returnIndex:0}):t}},a(Lt,"DateTimeType"),Lt);(0,Ce.__decorate)([u.Attribute({description:"Minimum value"}),(0,Ce.__metadata)("design:type",String)],Pt.prototype,"minValue",void 0);(0,Ce.__decorate)([u.Attribute({description:"Maximum value"}),(0,Ce.__metadata)("design:type",String)],Pt.prototype,"maxValue",void 0);Pt=(0,Ce.__decorate)([u({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),(0,Ce.__metadata)("design:paramtypes",[Object])],Pt);var $e=require("tslib"),Ue=require("valgen");var za=Ue.vg.isDateString({precisionMin:"tz",coerce:!0}),kt,jt=(kt=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t=za,r=[t];return e.minValue!=null&&r.push(Ue.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ue.vg.isLte(t(e.maxValue))),r.length>0?Ue.vg.pipe(r,{returnIndex:0}):t}[g](e){let t=za,r=[t];return e.minValue!=null&&r.push(Ue.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ue.vg.isLte(t(e.maxValue))),r.length>0?Ue.vg.pipe(r,{returnIndex:0}):t}},a(kt,"DateTimeTypeTz"),kt);(0,$e.__decorate)([u.Attribute({description:"Minimum value"}),(0,$e.__metadata)("design:type",String)],jt.prototype,"minValue",void 0);(0,$e.__decorate)([u.Attribute({description:"Maximum value"}),(0,$e.__metadata)("design:type",String)],jt.prototype,"maxValue",void 0);jt=(0,$e.__decorate)([u({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),(0,$e.__metadata)("design:paramtypes",[Object])],jt);var j=require("tslib"),ns=require("valgen");var Ct,re=(Ct=class{constructor(e){e&&Object.assign(this,e)}[E](e){return ns.vg.isEmail({...e,coerce:!0})}[g](e){return ns.vg.isEmail({...e,coerce:!0})}},a(Ct,"EmailType"),Ct);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"allowDisplayName",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"requireDisplayName",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"utf8LocalPart",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"ignoreMaxLength",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"allowIpDomain",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"domainSpecificValidation",void 0);(0,j.__decorate)([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),(0,j.__metadata)("design:type",Array)],re.prototype,"hostBlacklist",void 0);(0,j.__decorate)([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),(0,j.__metadata)("design:type",Array)],re.prototype,"hostWhitelist",void 0);(0,j.__decorate)([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),(0,j.__metadata)("design:type",String)],re.prototype,"blacklistedChars",void 0);re=(0,j.__decorate)([u({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),(0,j.__metadata)("design:paramtypes",[Object])],re);var qe=require("tslib"),$t=require("valgen");var Ut,Y=(Ut=class{constructor(e){e&&Object.assign(this,e)}[E](e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=(0,$t.validator)("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return $t.vg.pipe([$t.toString,s])}[g](e,t,r){return this[E](e,t,r)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");x.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Ut,"FieldPathType"),Ut);(0,qe.__decorate)([u.Attribute({description:"Data type which field belong to"}),(0,qe.__metadata)("design:type",Object)],Y.prototype,"dataType",void 0);(0,qe.__decorate)([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),(0,qe.__metadata)("design:type",String)],Y.prototype,"allowSigns",void 0);Y=(0,qe.__decorate)([u({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),(0,qe.__metadata)("design:paramtypes",[Object])],Y);var Ke=require("tslib"),ss=require("valgen");var Bt={};Tr(Bt,{$and:()=>Bc,$arithmetic:()=>sl,$array:()=>Ja,$date:()=>Kc,$eq:()=>Wc,$field:()=>Jc,$gt:()=>Qc,$gte:()=>Gc,$ilike:()=>il,$in:()=>Hc,$like:()=>tl,$lt:()=>Xc,$lte:()=>Zc,$ne:()=>Yc,$notILike:()=>ol,$notIn:()=>el,$notLike:()=>rl,$number:()=>zc,$or:()=>qc,$paren:()=>nl,$time:()=>Vc,ArithmeticExpression:()=>ot,ArithmeticExpressionItem:()=>Gr,ArrayExpression:()=>Oe,Ast:()=>Rr,BooleanLiteral:()=>nt,ComparisonExpression:()=>ye,DateLiteral:()=>Fe,DateTimeLiteral:()=>Nr,Expression:()=>V,FilterTreeVisitor:()=>vr,Literal:()=>P,LogicalExpression:()=>Te,NegativeExpression:()=>br,NullLiteral:()=>st,NumberLiteral:()=>we,OpraErrorListener:()=>Fr,ParenthesizedExpression:()=>ge,QualifiedIdentifier:()=>ae,StringLiteral:()=>at,Term:()=>it,TimeLiteral:()=>pt,parse:()=>Un});function qc(...o){return new Te({op:"or",items:o})}a(qc,"$or");function Bc(...o){return new Te({op:"and",items:o})}a(Bc,"$and");function Kc(o){return new Fe(o)}a(Kc,"$date");function Vc(o){return new pt(o)}a(Vc,"$time");function zc(o){return new we(o)}a(zc,"$number");function Ja(...o){return new Oe(o.map(hi))}a(Ja,"$array");function Jc(o){return new ae(o)}a(Jc,"$field");function Wc(o,e){return ce("=",o,e)}a(Wc,"$eq");function Yc(o,e){return ce("!=",o,e)}a(Yc,"$ne");function Qc(o,e){return ce(">",o,e)}a(Qc,"$gt");function Gc(o,e){return ce(">=",o,e)}a(Gc,"$gte");function Xc(o,e){return ce("<",o,e)}a(Xc,"$lt");function Zc(o,e){return ce("<=",o,e)}a(Zc,"$lte");function Hc(o,e){return ce("in",o,e)}a(Hc,"$in");function el(o,e){return ce("!in",o,e)}a(el,"$notIn");function tl(o,e){return ce("like",o,e)}a(tl,"$like");function rl(o,e){return ce("!like",o,e)}a(rl,"$notLike");function il(o,e){return ce("ilike",o,e)}a(il,"$ilike");function ol(o,e){return ce("!ilike",o,e)}a(ol,"$notILike");function nl(o){return new ge(o)}a(nl,"$paren");function sl(o){let e=new ot;return e.add=t=>(e.append("+",qt(t)),e),e.sub=t=>(e.append("-",qt(t)),e),e.mul=t=>(e.append("*",qt(t)),e),e.div=t=>(e.append("/",qt(t)),e),e.append("+",hi(o)),e}a(sl,"$arithmetic");function ce(o,e,t){let r=typeof e=="string"?new ae(e):hi(e),i=hi(t);return new ye({op:o,left:r,right:i})}a(ce,"comparisonExpression");var hi=a(o=>Array.isArray(o)?Ja(...o.map(qt)):qt(o),"wrapEntryValue"),qt=a(o=>o instanceof V?o:typeof o=="boolean"?new nt(o):typeof o=="number"||typeof o=="bigint"?new we(o):o==null?new st:o instanceof Date?new Fe(o):new at(""+o),"_wrapEntryValue");var Kt,Be=(Kt=class{constructor(e){e&&Object.assign(this,e)}[E](e,t){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new wt(e.rules):void 0;return al(r,i)}[g](){return pl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");x.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(Kt,"FilterType"),Kt);(0,Ke.__decorate)([u.Attribute({description:"Data type which filtering fields belong to"}),(0,Ke.__metadata)("design:type",Object)],Be.prototype,"dataType",void 0);(0,Ke.__decorate)([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),(0,Ke.__metadata)("design:type",Object)],Be.prototype,"rules",void 0);Be=(0,Ke.__decorate)([u({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),(0,Ke.__metadata)("design:paramtypes",[Object])],Be);var al=a((o,e,t)=>(0,ss.validator)("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=Bt.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),pl=(0,ss.validator)("encodeFilter",(o,e,t)=>{if(o instanceof Bt.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});var Ti=require("tslib"),as=require("valgen");var Vt,yi=(Vt=class{constructor(e){e&&Object.assign(this,e)}[E](){return as.vg.isObjectId({coerce:!0})}[g](){return as.vg.isObjectId({coerce:!0})}},a(Vt,"ObjectIdType"),Vt);yi=(0,Ti.__decorate)([u({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),(0,Ti.__metadata)("design:paramtypes",[Object])],yi);var C=require("tslib");var cs=require("@jsopen/objects"),Ya=require("ts-gems");var Wa=require("@jsopen/objects");function ps(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(d,r.constructor)||{};n.kind=m.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),p=n.fields[i]={...o,designType:s};s===Array?p.isArray=!0:p.type=p.type||s,Reflect.defineMetadata(d,n,r.constructor);for(let c of e)c(p)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push((0,Wa.omitUndefined)({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(ps,"ApiFieldDecoratorFactory");var $=a(function(...o){if(!this){let[n]=o;return $[A](n)}let[e,t]=o;w.call(this,e);let r=(0,Ya.asMutable)(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof B))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.convertToNative=t.convertToNative??(r.type.kind==="SimpleType"&&t.designType!==String&&typeof t.designType=="function"&&t.designType!==Object),r.override=t.override},"ApiField"),fs=class fs extends w{inScope(e){return Pr(e,this.scopePattern)}forScope(e){if(!(e&&this.override))return this;this._overrideCache=this._overrideCache||{};let t=this._overrideCache[e];if(t)return t;if(e!=="*"){for(let r of this.override)if(Pr(e,r.scopePattern)){t=(0,cs.omitUndefined)({...r,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:r.scopePattern}),Object.setPrototypeOf(t,this);break}}return t=t||this,this._overrideCache[e]=t,t}toJSON(e){var r;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,cs.omitUndefined)({type:t||((r=this.type)==null?void 0:r.toJSON(e)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}};a(fs,"ApiFieldClass");var ls=fs;$.prototype=ls.prototype;Object.assign($,ps);$[A]=ps;var qy=require("reflect-metadata"),Ga=require("@jsopen/objects"),Xa=require("ts-gems");var ms=class ms extends de{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(ms,"OpraDocumentError");var ct=ms;var us=class us{constructor(e){this.path="",this.error=new ct,this.showErrorDetails=!0,this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message=""}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(us,"DocumentInitContext");var ue=us;var Qa=require("@jsopen/objects");function ds(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!F.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(d,e);r||(r={},Reflect.defineMetadata(d,r,e)),r.kind=m.ComplexType.Kind,r.name=t,o&&Object.assign(r,(0,Qa.omit)(o,["name"]))}}a(ds,"ComplexTypeDecorator");var ie=a(function(...o){var n;if(!this)return ie[A].apply(void 0,o);let[e,t]=o,r=o[2]||new ue({maxErrors:0});B.call(this,e,t,r);let i=(0,Xa.asMutable)(this);i.kind=m.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof B))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new $(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,p]of Object.entries(t.fields)){let c=new $(this,{...p,name:s});this._fields.set(c.name,c)}})},"ComplexType"),ys=class ys extends B{extendsFrom(e){var t;return e instanceof x||(e=this.node.getDataType(e)),e instanceof B?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i={...t,kind:this.kind,base:this.base?r||this.base.toJSON(e):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof x){let n=this.node.getDataTypeNameWithNs(this.additionalFields);i.additionalFields=n||this.additionalFields.toJSON(e)}else i.additionalFields=this.additionalFields;if(this._fields.size){let n={},s=0;for(let p of this._fields.values())p.origin===this&&p.inScope(e==null?void 0:e.scope)&&(n[p.name]=p.toJSON(e),s++);s&&(i.fields=n)}return(0,Ga.omitUndefined)(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(ys,"ComplexTypeClass");var hs=ys;ie.prototype=hs.prototype;Object.assign(ie,ds);ie[A]=ds;var zt,oe=(zt=class{constructor(e){e&&Object.assign(this,e)}},a(zt,"OperationResult"),zt);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",Number)],oe.prototype,"affected",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",Number)],oe.prototype,"totalMatches",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",String)],oe.prototype,"context",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",String)],oe.prototype,"type",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",String)],oe.prototype,"message",void 0);(0,C.__decorate)([$({type:"any"}),(0,C.__metadata)("design:type",Object)],oe.prototype,"payload",void 0);(0,C.__decorate)([$({type:"object"}),(0,C.__metadata)("design:type",Array)],oe.prototype,"errors",void 0);oe=(0,C.__decorate)([ie({name:"OperationResult",description:"Operation result"}),(0,C.__metadata)("design:paramtypes",[Object])],oe);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return(0,C.__decorate)([$({type:t,required:!0}),(0,C.__metadata)("design:type",Object)],r.prototype,"payload",void 0),r=(0,C.__decorate)([ie({embedded:!0}),(0,C.__metadata)("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(oe||(oe={}));var Ve=require("tslib"),K=require("valgen");var Jt,Wt=(Jt=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t=Ha,r=[];return e.minValue!=null&&((0,K.isDateString)(e.minValue),r.push(K.toString,K.vg.isGte(e.minValue))),e.maxValue!=null&&((0,K.isDateString)(e.maxValue),r.push(K.toString,K.vg.isLte(e.maxValue))),r.length>0?K.vg.pipe([t,...r],{returnIndex:0}):t}[g](e){let t=Ha,r=[];return e.minValue!=null&&((0,K.isDateString)(e.minValue),r.push(K.vg.isGte(e.minValue))),e.maxValue!=null&&((0,K.isDateString)(e.maxValue),r.push(K.vg.isLte(e.maxValue))),r.length>0?K.vg.pipe([t,...r],{returnIndex:0}):t}},a(Jt,"PartialDateType"),Jt);(0,Ve.__decorate)([u.Attribute({description:"Minimum value"}),(0,Ve.__metadata)("design:type",String)],Wt.prototype,"minValue",void 0);(0,Ve.__decorate)([u.Attribute({description:"Maximum value"}),(0,Ve.__metadata)("design:type",String)],Wt.prototype,"maxValue",void 0);Wt=(0,Ve.__decorate)([u({name:"partialdate",description:"Specifies a point in time using a 24-hour clock notation.\rFormat: YYYY-[MM-[DD-[T?HH:[MM:[SS[.S[S[S[S]]]]]]]]][+/-ZZ:ZZ].",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15:22+03:00").Example("2021-04-18 22:30").Example("2021-04-18").Example("2021"),(0,Ve.__metadata)("design:paramtypes",[Object])],Wt);var Za=K.vg.isDateString({precisionMin:"year"}),Ha=(0,K.validator)(o=>{if(o instanceof Date){let e=Za(o,{coerce:!0});return e.endsWith("Z")&&(e=e.substring(0,e.length-1)),e.endsWith(".000")&&(e=e.substring(0,e.length-4)),e.endsWith(":00")&&(e=e.substring(0,e.length-3)),e.endsWith("00:00")&&(e=e.substring(0,e.length-6)),e}return Za(o,{coerce:!1})});var ze=require("tslib"),jr=require("valgen");var cl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,Yt,Qt=(Yt=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t=jr.vg.matches(cl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(jr.vg.isGte(e.minValue)),e.maxValue!=null&&r.push(jr.vg.isLte(e.maxValue)),r.length>0?jr.vg.pipe([t,...r],{returnIndex:0}):t}[g](e){return this[E](e)}},a(Yt,"TimeType"),Yt);(0,ze.__decorate)([u.Attribute({description:"Minimum value"}),(0,ze.__metadata)("design:type",String)],Qt.prototype,"minValue",void 0);(0,ze.__decorate)([u.Attribute({description:"Maximum value"}),(0,ze.__metadata)("design:type",String)],Qt.prototype,"maxValue",void 0);Qt=(0,ze.__decorate)([u({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),(0,ze.__metadata)("design:paramtypes",[Object])],Qt);var _i=require("tslib"),Ts=require("valgen");var Gt,Ei=(Gt=class{constructor(e){e&&Object.assign(this,e)}[E](){return Ts.vg.isURL({coerce:!0})}[g](){return Ts.vg.isURL({coerce:!0})}},a(Gt,"UrlType"),Gt);Ei=(0,_i.__decorate)([u({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),(0,_i.__metadata)("design:paramtypes",[Object])],Ei);var Zt=require("tslib"),Es=require("valgen");var Xt,Cr=(Xt=class{constructor(e){e&&Object.assign(this,e)}[E](e){return Es.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}[g](e){return Es.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(Xt,"UuidType"),Xt);(0,Zt.__decorate)([u.Attribute({description:"Version of the UUID"}),(0,Zt.__metadata)("design:type",Number)],Cr.prototype,"version",void 0);Cr=(0,Zt.__decorate)([u({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),(0,Zt.__metadata)("design:paramtypes",[Object])],Cr);var rp=_t(require("path-browserify"),1),ip=require("@jsopen/objects"),op=require("ts-gems");var ep,tp,le=Symbol.for("kMap"),Ur=Symbol.for("kCtorMap"),xs=class xs{constructor(){this[ep]=new S,this[tp]=new WeakMap}get size(){return this[le].size}forEach(e,t){this[le].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Ur].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(d,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[d];t=i==null?void 0:i.name}if(!t)return;let r=this[le].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[le].set(e,t),t.ctor?this[Ur].set(t.ctor,e):t.instance&&this[Ur].set(t.instance,e)}has(e){if(e instanceof x)return!!e.name&&this[le].has(e.name);let t=typeof e=="string"?e:this[Ur].get(e);return t?this[le].has(t):!1}keys(){return this[le].keys()}values(){return this[le].values()}entries(){return this[le].entries()}sort(e){return this[le].sort(e),this}[(ep=le,tp=Ur,Symbol.iterator)](){return this[le][Symbol.iterator]()}};a(xs,"DataTypeMap");var J=xs;function v(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:m.HttpOperation.Kind},s=Reflect.getOwnMetadata(se,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n);Reflect.defineMetadata(se,s,r.constructor)}),"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="cookie"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="header"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="query"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="path"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType||N.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===N.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),o.push(s=>{s.responses=s.responses||[],s.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||N.json,i.contentEncoding=i.contentEncoding||"utf-8"),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),s},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(v,"HttpOperationDecoratorFactory");var D=a(function(...o){if(!this){let[i]=o,n=[];return D[A].call(void 0,n,i)}let[e,t]=o;if(w.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,op.asMutable)(this);r.parameters=[],r.responses=[],r.types=r.node[I]=new J,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?L(t.compositionOptions):void 0},"HttpOperation"),gs=class gs extends w{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:rp.default.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=(0,ip.omitUndefined)({kind:m.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(gs,"HttpOperationClass");var Os=gs;D.prototype=Os.prototype;D[A]=v;D.GET=function(o){return v([],{...o,method:"GET"})};D.DELETE=function(o){return v([],{...o,method:"DELETE"})};D.HEAD=function(o){return v([],{...o,method:"HEAD"})};D.OPTIONS=function(o){return v([],{...o,method:"OPTIONS"})};D.PATCH=function(o){return v([],{...o,method:"PATCH"})};D.POST=function(o){return v([],{...o,method:"POST"})};D.PUT=function(o){return v([],{...o,method:"PUT"})};D.SEARCH=function(o){return v([],{...o,method:"SEARCH"})};D.Entity={};function Q(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(d,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(Q,"getDataTypeName");function Je(o,e){return(t,r)=>{let i=typeof r=="string"||typeof r=="function"?{name:t,location:"path",type:r,keyParam:!0}:{...r,name:t,location:"path",keyParam:!0};return o.PathParam(t,i),e.push(n=>{var s;(s=n.path)!=null&&s.includes(":"+t)||(n.path=(n.path||"")+"@:"+t),n.mergePath=!0}),o}}a(Je,"createKeyParamDecorator");function np(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,p)=>{let c=p.split(":");return s[c[0]]=c[1]||c[0],s},{}),i=Object.keys(r).reduce((s,p)=>{let c=Mt.exec(p),l=Mt.exec(r[p]);return c&&l&&(s[c[2]]=l[2]),s},{}),n=Object.keys(r).reduce((s,p)=>{let c=Mt.exec(p);return c&&(c[1]!="-"&&(s[c[2]]=c[2]),c[1]!="+"&&(s["-"+c[2]]="-"+c[2])),s},{});return e.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:te(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(p=>{let c=Mt.exec(p);return c?(c[1]||"")+i[c[2]]:p}),"parser")}),o}}a(np,"createSortFieldsDecorator");function We(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new wt,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new Be({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let p=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(p.operators=p.operators||["=","!="],n.includes(":")){let c=n.split(":");n=c[0],p.mappedField=c[1]}return e.push(()=>{r.set(n,p),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(We,"createFilterDecorator");D.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=Q(t.type)}),i};D.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:N.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.KeyParam=Je(i,r),i};D.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:N.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.Filter=We(i,r,t.type),i};var bs={};Tr(bs,{AnyType:()=>xi,BigintType:()=>gi,BooleanType:()=>Ai,IntegerType:()=>ut,NullType:()=>Di,NumberType:()=>_e,ObjectType:()=>Si,StringType:()=>Ge});var Oi=require("tslib"),ws=require("valgen");var Ht,xi=(Ht=class{constructor(e){e&&Object.assign(this,e)}[E](){return ws.isAny}[g](){return ws.isAny}},a(Ht,"AnyType"),Ht);xi=(0,Oi.__decorate)([u({name:"any",description:"Represents any value"}),(0,Oi.__metadata)("design:paramtypes",[Object])],xi);var wi=require("tslib"),ft=require("valgen");var Ye=require("tslib"),lt=require("valgen");var er,_e=(er=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t=[];return e.minValue!=null&&t.push(lt.vg.isGte(e.minValue)),e.maxValue!=null&&t.push(lt.vg.isLte(e.maxValue)),t.length>0?lt.vg.pipe([lt.toNumber,...t],{returnIndex:0}):lt.toNumber}[g](e){return this[E](e)}},a(er,"NumberType"),er);(0,Ye.__decorate)([u.Attribute({description:"Determines the minimum value"}),(0,Ye.__metadata)("design:type",Number)],_e.prototype,"minValue",void 0);(0,Ye.__decorate)([u.Attribute({description:"Determines the maximum value"}),(0,Ye.__metadata)("design:type",Number)],_e.prototype,"maxValue",void 0);_e=(0,Ye.__decorate)([u({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),(0,Ye.__metadata)("design:paramtypes",[Object])],_e);var tr,gi=(tr=class extends _e{constructor(e){super(e)}[E](e){let t=[];return e.minValue!=null&&t.push(ft.vg.isGte(e.minValue)),e.maxValue!=null&&t.push(ft.vg.isLte(e.maxValue)),t.length>0?ft.vg.pipe([ft.toBigint,...t],{returnIndex:0}):ft.toBigint}[g](e){return this[E](e)}},a(tr,"BigintType"),tr);gi=(0,wi.__decorate)([u({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),(0,wi.__metadata)("design:paramtypes",[Object])],gi);var Ri=require("tslib"),As=require("valgen");var rr,Ai=(rr=class{constructor(e){e&&Object.assign(this,e)}[E](){return As.toBoolean}[g](){return As.toBoolean}},a(rr,"BooleanType"),rr);Ai=(0,Ri.__decorate)([u({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),(0,Ri.__metadata)("design:paramtypes",[Object])],Ai);var bi=require("tslib"),mt=require("valgen");var ir,ut=(ir=class extends _e{constructor(e){super(e)}[E](e){let t=[];return e.minValue!=null&&t.push(mt.vg.isGte(e.minValue)),e.maxValue!=null&&t.push(mt.vg.isLte(e.maxValue)),t.length>0?mt.vg.pipe([mt.toInteger,...t],{returnIndex:0}):mt.toInteger}[g](e){return this[E](e)}},a(ir,"IntegerType"),ir);ut=(0,bi.__decorate)([u({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),(0,bi.__metadata)("design:paramtypes",[Object])],ut);var Ni=require("tslib"),Rs=require("valgen");var or,Di=(or=class{constructor(e){e&&Object.assign(this,e)}[E](){return Rs.isNull}[g](){return Rs.isNull}},a(or,"NullType"),or);Di=(0,Ni.__decorate)([u({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),(0,Ni.__metadata)("design:paramtypes",[Object])],Di);var Mi=require("tslib");var nr,Si=(nr=class{constructor(e){e&&Object.assign(this,e)}},a(nr,"ObjectType"),nr);Si=(0,Mi.__decorate)([ie({name:"object",description:"A non modelled object",additionalFields:!0}),(0,Mi.__metadata)("design:paramtypes",[Object])],Si);var fe=require("tslib"),Qe=require("valgen");var sr,Ge=(sr=class{constructor(e){e&&Object.assign(this,e)}[E](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(d,Object.getPrototypeOf(this).constructor).name),t.push(Qe.vg.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Qe.vg.lengthMin(e.minLength)),e.maxLength&&t.push(Qe.vg.lengthMax(e.maxLength)),t.length>0?Qe.vg.pipe([Qe.toString,...t],{returnIndex:0}):Qe.toString}[g](e){return this[E](e)}},a(sr,"StringType"),sr);(0,fe.__decorate)([u.Attribute({description:"Regex pattern to be used for validation"}),(0,fe.__metadata)("design:type",Object)],Ge.prototype,"pattern",void 0);(0,fe.__decorate)([u.Attribute({description:"Name of the pattern"}),(0,fe.__metadata)("design:type",String)],Ge.prototype,"patternName",void 0);(0,fe.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,fe.__metadata)("design:type",Number)],Ge.prototype,"minLength",void 0);(0,fe.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,fe.__metadata)("design:type",Number)],Ge.prototype,"maxLength",void 0);Ge=(0,fe.__decorate)([u({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),(0,fe.__metadata)("design:paramtypes",[Object])],Ge);D.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:N.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new ut({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new ut({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=We(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.defaultSort=n}),i),i.SortFields=np(i,r),i};D.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.KeyParam=Je(i,r),i};D.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.KeyParam=Je(i,r),i};D.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=Q(t.type)}),i.KeyParam=Je(i,r),i.Filter=We(i,r,t.type),i};D.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=v(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:N.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=Q(t.type)}),i.Filter=We(i,r,t.type),i};var vi=require("@jsopen/objects");var ll=/^(.*)(Controller)$/,sp=[];function ar(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=ll.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(q,Object.getPrototypeOf(r));s&&(0,vi.merge)(n,s,{deep:!0});let p=Reflect.getOwnMetadata(q,r);p&&(0,vi.merge)(n,p,{deep:!0}),(0,vi.merge)(n,{...o,kind:m.MQController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(q,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(q,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),sp.forEach(r=>r(t,e,o)),t}a(ar,"MQControllerDecoratorFactory");ar.augment=function(o){sp.push(o)};var ap=require("@jsopen/objects");var pp=[];function $r(o,e,t){let r=!1,i=a(((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:m.MQOperation.Kind,channel:s,payloadType:e,...(0,ap.omit)(t,["kind","payloadType"])},c=Reflect.getOwnMetadata(q,n.constructor)||{};c.operations=c.operations||{},c.operations[s]=p;for(let l of o)l(p,n,s);Reflect.defineMetadata(q,c,n.constructor)}),"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(p=>{let c=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n},l=r?p.response:p;l.headers?l.headers=l.headers.filter(O=>String(O.name)!==String(n)):l.headers=[],l.headers.push(c)}),i),i.Response=(n,s)=>(o.push(p=>{r=!0,p.response={...s,payloadType:n}}),i),pp.forEach(n=>n(i,o,e,t)),i}a($r,"MQOperationDecoratorFactory");$r.augment=function(o){pp.push(o)};var Fi=require("@jsopen/objects");var ul=/^(.*)(Controller)$/,cp=[];function pr(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=ul.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(q,Object.getPrototypeOf(r));s&&(0,Fi.merge)(n,s,{deep:!0});let p=Reflect.getOwnMetadata(q,r);p&&(0,Fi.merge)(n,p,{deep:!0}),(0,Fi.merge)(n,{...o,kind:m.WSController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(q,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(q,n,r)},"decorator");return t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),cp.forEach(r=>r(t,e,o)),t}a(pr,"WSControllerDecoratorFactory");pr.augment=function(o){cp.push(o)};var lp=require("@jsopen/objects");var fp=[];function qr(o,e,t){let r=a(((i,n)=>{if(typeof n!="string")throw new TypeError("Symbol properties can not be decorated");let s={kind:m.WSOperation.Kind,channel:n,payloadType:e,...(0,lp.omit)(t,["kind","payloadType"])},p=Reflect.getOwnMetadata(q,i.constructor)||{};p.operations=p.operations||{},p.operations[n]=s;for(let c of o)c(s,i,n);Reflect.defineMetadata(q,p,i.constructor)}),"decorator");return r.UseType=(...i)=>(o.push(n=>{n.types=n.types||[],n.types.push(...i)}),r),fp.forEach(i=>i(r,o,e,t)),r}a(qr,"WSOperationDecoratorFactory");qr.augment=function(o){fp.push(o)};var Q3=require("reflect-metadata"),mp=require("@jsopen/objects"),up=require("ts-gems");function Ii(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(Ii,"getIsInheritedPredicateFn");var Xe=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;B.call(this,e,t,r);let i=(0,up.asMutable)(this);if(i.kind=m.MappedType.Kind,t.base){if(!(t.base instanceof B))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(l=>i.base.normalizeFieldPath(l)):t.omit?i.omit=t.omit.map(l=>i.base.normalizeFieldPath(l)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(l=>i.base.normalizeFieldPath(l)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(l=>i.base.normalizeFieldPath(l)):t.required);let s=Ii(i.pick,i.omit),p=Array.isArray(i.partial)?i.partial.map(l=>l.toLowerCase()):i.partial,c=Array.isArray(i.required)?i.required.map(l=>l.toLowerCase()):i.required;for(let[l,O]of i.base.fieldEntries("*")){if(!s(l))continue;let R={...O};p===!0||Array.isArray(p)&&p.includes(O.name.toLowerCase())?R.required=!1:(c===!0||Array.isArray(c)&&c.includes(O.name.toLowerCase()))&&(R.required=!0);let T=new $(this,R);i._fields.set(T.name,T)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),Ns=class Ns extends B{extendsFrom(e){var t;return e instanceof x||(e=this.node.getDataType(e)),e instanceof B?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,mp.omitUndefined)({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Ns,"MappedTypeClass");var Ds=Ns;Xe.prototype=Ds.prototype;Xe._applyMixin=()=>{};var iE=require("reflect-metadata"),dp=require("@jsopen/objects"),hp=require("ts-gems");var dt=a(function(...o){if(!this)return dt[A].apply(void 0,o);let[e,t,r]=o;B.call(this,e,t,r);let i=(0,hp.asMutable)(this);i.kind=m.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new $(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),Ms=class Ms extends B{extendsFrom(e){if(e instanceof x||(e=this.node.getDataType(e)),!(e instanceof B))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return(0,dp.omitUndefined)({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a(Ms,"MixinTypeClass");var Ss=Ms;dt.prototype=Ss.prototype;dt[A]=yl;function yl(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)gr(this,n)}}}[t],i={...e,kind:m.MixinType.Kind,types:[]};Reflect.defineMetadata(d,i,r);for(let n of o){let s=Reflect.getMetadata(d,n);if(!(s&&(s.kind===m.ComplexType.Kind||s.kind===m.MixinType.Kind||s.kind===m.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${m.ComplexType.Kind}, ${m.MixinType.Kind} or ${m.MappedType.Kind}`);i.types.push(n),Or(r.prototype,n.prototype)}return r}a(yl,"MixinTypeFactory");var uE=require("reflect-metadata"),yp=require("@jsopen/objects"),Tp=require("ts-gems"),vs=require("valgen");var ht=a(function(...o){if(!this)return ht[A].apply(void 0,o);let[e,t,r]=o;x.call(this,e,t,r);let i=(0,Tp.asMutable)(this);i.kind=m.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),Is=class Is extends x{toJSON(e){let t=super.toJSON(e);return(0,yp.omitUndefined)({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===m.ComplexType.Kind||i.kind===m.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:vs.vg.isEqual(i.discriminatorValue)}]:n});return vs.vg.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(Is,"UnionTypeClass");var Fs=Is;ht.prototype=Fs.prototype;ht[A]=Tl;function Tl(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:m.UnionType.Kind,types:o};return Reflect.defineMetadata(d,r,t),t}a(Tl,"UnionTypeFactory");var Ls=Symbol("initializing"),Li=class Li{static async createDataType(e,t,r){e=e||new ue({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Li.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[I];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new ue({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let c of i)n.set(c.name,c);let s=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let O=this._createDataType(s,t,l);O&&p.push(O)});return p}static async _prepareAllInitArgs(e,t,r){let i=new S,n=new S,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[I])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let p=0;for(let c of r)await s.enterAsync(`$[${p++}]`,async()=>{c=await me(c);let l=Reflect.getMetadata(d,c)||c[d];if(!(l&&l.name))return typeof c=="function"?s.addError(`Class "${c.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await me(p),i.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(i.keys())){if(!i.has(p))continue;let c=await this._importDataTypeArgs(s,t,p);c&&typeof c!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var R;r=await me(r);let{importQueue:n,initArgsMap:s}=e,p=t.node.findDataType(r);if(p instanceof x)return p.name;let c,l,O;if(typeof r!="string"){let H=t.node.getDocument().types[wr].get(r);H&&(r=H)}if(typeof r=="string"){let T=r;if(r=(n==null?void 0:n.get(T))||((R=e.initArgsMap)==null?void 0:R.get(T)),!r)return e.addError(`Unknown data type (${T})`)}if(typeof r=="function"){if(c=Reflect.getMetadata(d,r),!c)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);l=r}else if(typeof r=="object"){if(c=r[d],c)O=r,c.kind!==m.EnumType.Kind&&(c=void 0);else if(m.isDataType(r))c=r,l=c.ctor;else if(l=Object.getPrototypeOf(r).constructor,c=l&&Reflect.getMetadata(d,l),c&&c.kind===m.SimpleType.Kind){let T=await this._importDataTypeArgs(e,t,c.name);return T?typeof T=="object"&&T.kind!==m.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:m.SimpleType.Kind,name:void 0,base:T,properties:r}:void 0}}return c?e.enterAsync(c.name?`[${c.name}]`:"",async()=>{if(c.name){let H=s==null?void 0:s.get(c.name);if(H)return i&&H[Ls]?e.addError("Circular reference detected"):c.name}let T={kind:c.kind,name:c.name};T[Ls]=!0;try{if(T.name)if(n!=null&&n.has(T.name))s==null||s.set(c.name,T),T._instance={name:c.name},T[I]=t.node[I];else return e.addError(`Data Type (${T.name}) must be explicitly added to type list in the document scope`);switch(T.kind){case m.ComplexType.Kind:T.ctor=l,await this._prepareComplexTypeArgs(e,t,T,c);break;case m.EnumType.Kind:T.instance=O,await this._prepareEnumTypeArgs(e,t,T,c);break;case m.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,T,c);break;case m.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,T,c);break;case m.SimpleType.Kind:T.ctor=l,await this._prepareSimpleTypeArgs(e,t,T,c);break;case m.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,T,c);break;default:return e.addError(`Invalid data type kind ${c.kind}`)}}finally{T.name&&(n==null||n.delete(T.name)),delete T[Ls]}return n&&T.name?T.name:T}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Ze(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=Ze(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof s=="string"?{type:s}:s;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:Ze(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=Ze(n))}),r.attributes=L(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,p,c;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let l;if(i.base)l=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let O=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,O)&&(l=await this._importDataTypeArgs(e,t,O))}l&&(r.base=Ze(l),r.ctor=r.ctor||l.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=L(i.attributes)),typeof((n=r.properties)==null?void 0:n[E])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[E].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[g])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[g].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Ze(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Ze(c))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Ze(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof x)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let p=n[I];switch(p||delete n._instance,i=n._instance,i!=null&&i.name&&p&&p.set(i.name,i),n==null?void 0:n.kind){case m.ComplexType.Kind:return this._createComplexType(e,t,n);case m.EnumType.Kind:return this._createEnumType(e,t,n);case m.MappedType.Kind:return this._createMappedType(e,t,n);case m.MixinType.Kind:return this._createMixinType(e,t,n);case m.SimpleType.Kind:return this._createSimpleType(e,t,n);case m.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ie.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,p]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[s]={...p,name:s,type:c})})}),ie.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,te.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,te.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Xe.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),Xe.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,dt.prototype);let n=L(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof B))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),dt.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,u.prototype);let n=L(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ht.prototype);let n=L(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);n.types.push(c)})}),ht.apply(i,[t,n]),i}};a(Li,"DataTypeFactory");var k=Li;function Ze(o){return typeof o=="object"&&o.name?o.name:o}a(Ze,"preferName");var Fp=require("@jsopen/objects");var Ep=require("@jsopen/objects");var Ps=class Ps extends w{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return(0,Ep.omitUndefined)({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!F.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};a(Ps,"ApiBase");var De=Ps;var _p=_t(require("path-browserify"),1),xp=require("@jsopen/objects"),Op=require("ts-gems");var cr=require("@jsopen/objects");var _l=/^(.*)(Controller)$/;function ks(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=_l.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(se,Object.getPrototypeOf(r));s&&(0,cr.merge)(n,s,{deep:!0});let p=Reflect.getOwnMetadata(se,r);p&&(0,cr.merge)(n,p,{deep:!0}),(0,cr.merge)(n,{kind:m.HttpController.Kind,name:i,path:i,...(0,cr.omit)(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(se,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(se,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var p;(p=n.path)!=null&&p.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(ks,"HttpControllerDecoratorFactory");var ne=a(function(...o){var i;if(!this)return ne[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,Op.asMutable)(this);r.kind=m.HttpController.Kind,r.types=r.node[I]=new J,r.operations=new S,r.controllers=new S,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Cs=class Cs extends w{get isRoot(){return!(this.owner instanceof ne)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof ne)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return _p.default.posix.join(this.owner instanceof ne?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=(0,xp.omitUndefined)({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[Ie](){return`[${Le}HttpController${Pe+this.name+Ae}]`}};a(Cs,"HttpControllerClass");var js=Cs;ne.prototype=js.prototype;Object.assign(ne,ks);ne[A]=ks;var Us=class Us extends De{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new S,this.url=e.url}findController(e){return ne.prototype.findController.call(this,e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(e){let r={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON(e);return r}};a(Us,"HttpApi");var yt=Us;var gp=_t(require("@browsery/type-is"),1),wp=require("@jsopen/objects"),Ap=require("ts-gems"),Pi=require("valgen");var Ne=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=(0,Ap.asMutable)(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof x?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray},"HttpMediaType"),qs=class qs extends w{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=(0,wp.omitUndefined)({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t){let r;return this.type?r=this.type.generateCodec(e,t):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(n=>gp.default.is(n,["json"]))&&(r=this.node.findDataType("object").generateCodec(e)),r=r||Pi.isAny,this.isArray?Pi.vg.isArray(r):r}};a(qs,"HttpMediaTypeClass");var $s=qs;Ne.prototype=$s.prototype;var Rp=require("@jsopen/objects");function lr(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(lr,"parseRegExp");var Bs=class Bs extends Ne{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?lr(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return(0,Rp.omitUndefined)({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Bs,"HttpMultipartField");var Br=Bs;var bp=require("@jsopen/objects");var xl=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Ks=class Ks{constructor(e,t){if(this.start=0,this.end=0,e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=xl.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a(Ks,"HttpStatusRange");var fr=Ks;var Vs=class Vs extends Ne{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new fr(r.start,r.end):new fr(r)),this.partial=t.partial}findParameter(e,t){e=e.toLowerCase();for(let r of this.parameters)if((!t||t===r.location)&&(r.name instanceof RegExp&&r.name.test(e)||r.name===e))return r}toJSON(e){let t=this.statusCode.map(i=>i.toJSON()),r=(0,bp.omitUndefined)({...super.toJSON(e),statusCode:t.length===1&&typeof t[0]=="number"?t[0]:t,partial:this.partial});if(this.parameters.length){r.parameters=[];for(let i of this.parameters)r.parameters.push(i.toJSON(e))}return r}};a(Vs,"HttpOperationResponse");var Kr=Vs;var Sp=require("@jsopen/objects"),Mp=require("ts-gems");var Dp=require("@jsopen/objects"),Np=require("ts-gems");var Tt=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');w.call(this,o);let t=(0,Np.asMutable)(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),Js=class Js extends w{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,Dp.omitUndefined)({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(Js,"ValueClass");var zs=Js;Tt.prototype=zs.prototype;var mr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Tt.call(this,o,e);let t=(0,Mp.asMutable)(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?lr(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser},"HttpParameter"),Ys=class Ys extends Tt{toJSON(e){return(0,Sp.omitUndefined)({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}};a(Ys,"HttpParameterClass");var Ws=Ys;mr.prototype=Ws.prototype;var vp=require("@jsopen/objects");var Qs=class Qs extends w{constructor(e){super(e),this.content=[]}toJSON(e){return(0,vp.omitUndefined)({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(t=>t.toJSON(e)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};a(Qs,"HttpRequestBody");var Vr=Qs;var Gs=class Gs{static async createApi(e,t){let r=new yt(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let p=await this._createController(e,t,s.metadata,s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(p.name,p))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let p=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!(0,Fp.isConstructor)(r)&&(r=t instanceof ne?r(t.instance):r()),r=await me(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(se,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(se,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new ne(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await k.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let p=0;for(let c of r.parameters)await e.enterAsync(`[${p++}]`,async()=>{let l={...c};await e.enterAsync(".type",async()=>{l.type=await k.resolveDataType(e,s,c.type)});let O=new mr(s,l);s.parameters.push(O)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let l=new D(s,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),s.operations.set(p,l)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await k.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let p={...s};await e.enterAsync(".type",async()=>{p.type=await k.resolveDataType(e,t,s.type)});let c=new mr(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new Kr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new Vr(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Ne.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await k.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new Br(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await k.resolveDataType(e,t,n.type)});let p=new mr(t,s);t.parameters.push(p)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new Ne(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(Gs,"HttpApiFactory");var ur=Gs;var Lp=require("@jsopen/objects"),Pp=require("super-fast-md5");var Xs=class Xs extends De{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="mq",this.controllers=new S,this.platform=e.platform}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(Xs,"MQApi");var Et=Xs;var Zs=class Zs extends De{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="ws",this.controllers=new S}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(Zs,"WSApi");var zr=Zs;var Ip,Hs=class Hs extends w{constructor(){super(null),this[Ip]=new WeakMap,this.id="",this.info={},this.references=new S,this.types=new J,this.node[I]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof x?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[xe].get(t)}findDocument(e){if(this.id===e)return this;for(let t of this.references.values()){if(t.id===e)return t;let r=t.findDocument(e);if(r)return r}}get httpApi(){if(!(this.api&&this.api instanceof yt))throw new TypeError("The document do not contains HttpApi instance");return this.api}get mqApi(){if(!(this.api&&this.api instanceof Et))throw new TypeError("The document do not contains MQApi instance");return this.api}get wsApi(){if(!(this.api&&this.api instanceof zr))throw new TypeError("The document do not contains WSApi instance");return this.api}toJSON(){return this.export()}export(e){let t=(0,Lp.omitUndefined)({spec:m.SpecVersion,id:this.id,url:this.url,info:L(this.info,!0)});if(this.references.size){let r=0,i={};for(let[n,s]of this.references.entries())s[Se]||(i[n]={id:s.id,url:s.url,info:L(s.info,!0)},r++);r&&(t.references=i)}if(this.types.size){t.types={};for(let r of this.types.values())r.inScope(e==null?void 0:e.scope)&&(t.types[r.name]=r.toJSON(e))}return this.api&&(t.api=this.api.toJSON(e)),t}invalidate(){let e=this.export({});delete e.id,this.id=(0,Pp.md5)(JSON.stringify(e)),this[xe]=new WeakMap}_findDataType(e,t,r){let i=this.types.get(e);if(i&&i.inScope(t))return i;if(!this.references.size)return;if(typeof e=="string"){let s=To.exec(e);if(s){let p=s[1];if(p){let c=this.references.get(p);return c?(r=r||new WeakMap,r.set(this,!0),r.set(c,!0),c._findDataType(s[2],t,r)):void 0}e=s[2]}}r=r||new WeakMap,r.set(this,!0);let n=Array.from(this.references.keys()).reverse();for(let s of n){let p=this.references.get(s);if(i=p==null?void 0:p.types.get(e),i)return this[xe].set(i,p!=null&&p[Se]?"":s),i}for(let s of n){let p=this.references.get(s);if(r.set(p,!0),i=p._findDataType(e,t,r),i)return this[xe].set(i,p!=null&&p[Se]?"":s),i}}};a(Hs,"ApiDocument");var He=Hs;Ip=xe;function et(o,e,t){let r=Ii(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&gr(this,o,r)}}}[n];if(typeof o=="function"&&Or(s.prototype,o.prototype),typeof o=="function"){let c=Reflect.getOwnMetadata(d,o);if(!c)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(c.kind===m.ComplexType.Kind||c.kind===m.MappedType.Kind||c.kind===m.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${m.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:o};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(d,p,s),typeof o=="function"&&Xe._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(et,"createMappedClass");function gl(o,e,t){return et(o,{omit:e},t)}a(gl,"OmitType");function wl(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return et(o,{partial:t},r)}a(wl,"PartialType");function Al(o,e,t){return et(o,{pick:e},t)}a(Al,"PickType");function Rl(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return et(o,{required:t},r)}a(Rl,"RequiredType");var Kp=require("@jsopen/objects");var kp=require("@jsopen/objects"),jp=require("ts-gems");var tt=a(function(...o){var i;if(!this)return tt[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,jp.asMutable)(this);r.kind=m.MQController.Kind,r.types=r.node[I]=new J,r.operations=new S,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"MQController"),ta=class ta extends w{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof tt)return this.node.parent.element.findHeader(e,t)}toString(){return`[MQController ${this.name}]`}toJSON(){let e=(0,kp.omitUndefined)({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[Ie](){return`[${Le}MQController${Pe+this.name+Ae}]`}};a(ta,"MQControllerClass");var ea=ta;tt.prototype=ea.prototype;Object.assign(tt,ar);tt[A]=ar;var Cp=require("@jsopen/objects"),Up=require("ts-gems");var dr=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');Tt.call(this,o,e);let t=(0,Up.asMutable)(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?lr(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required},"MQHeader"),ia=class ia extends Tt{toJSON(){return(0,Cp.omitUndefined)({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}};a(ia,"MQHeaderClass");var ra=ia;dr.prototype=ra.prototype;var $p=require("@jsopen/objects"),qp=require("ts-gems");var hr=a(function(...o){if(!this){let[i,n]=o,s=[];return hr[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,qp.asMutable)(this);r.headers=[],r.types=r.node[I]=new J,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof x?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof x?t.keyType:r.owner.node.getDataType(t.keyType))},"MQOperation"),na=class na extends w{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=(0,$p.omitUndefined)({kind:m.MQOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}};a(na,"MQOperationClass");var oa=na;hr.prototype=oa.prototype;hr[A]=$r;var Bp=require("@jsopen/objects");var sa=class sa extends w{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.payloadType?this.payloadType=(t==null?void 0:t.payloadType)instanceof x?t.payloadType:this.owner.node.getDataType(t.payloadType):this.payloadType=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof x?t.keyType:this.owner.node.getDataType(t.keyType))}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=(0,Bp.omitUndefined)({description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}};a(sa,"MQOperationResponse");var ki=sa;var aa=class aa{static async createApi(e,t){let r=new Et(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!(0,Kp.isConstructor)(r)&&(r=r()),r=await me(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(q,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid MQController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(q,n),s?p=r:(s=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with MQController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let c=new tt(t,{...s,name:i,instance:p,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await k.addDataTypes(e,c,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let O of s.headers)await e.enterAsync(`[${l++}]`,async()=>{let R={...O};await e.enterAsync(".type",async()=>{O.type&&(R.type=c.node.findDataType(O.type)),!R.type&&typeof O.type=="object"&&(R.type=await k.createDataType(e,c,O.type)),R.type||(R.type=c.node.getDataType("any"))});let T=new dr(c,R);c.headers.push(T)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[l,O]of Object.entries(s.operations))await e.enterAsync(`[${l}]`,async()=>{let R=new hr(c,{...O,name:l,types:void 0,payloadType:void 0,keyType:void 0});await this._initMQOperation(e,R,O),c.operations.set(R.name,R)})}),c}static async _initMQOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await k.addDataTypes(e,t,r.types)}),t.payloadType=await k.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await k.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await k.resolveDataType(e,t,n.type)});let p=new dr(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new ki(t,{...r.response,payloadType:void 0,keyType:void 0});await this._initMQOperationResponse(e,i,r.response),t.response=i})}static async _initMQOperationResponse(e,t,r){t.payloadType=await k.resolveDataType(e,t,r.payloadType),r.keyType&&(t.keyType=await k.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await k.resolveDataType(e,t,n.type)});let p=new dr(t,s);t.headers.push(p)})})}};a(aa,"MQApiFactory");var ji=aa;var bl="https://oprajs.com/spec/v"+m.SpecVersion,Ci=class Ci{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new Ci,i=t instanceof ue?t:new ue(t);try{let n=new He;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof ct||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length;i.error.message=`(${s}) error${s>1?"s":""} found in document schema.`,i.showErrorDetails&&(i.error.message+=i.error.details.map(p=>`
6
+ "use strict";var fc=Object.create;var Ar=Object.defineProperty;var mc=Object.getOwnPropertyDescriptor;var uc=Object.getOwnPropertyNames;var dc=Object.getPrototypeOf,hc=Object.prototype.hasOwnProperty;var a=(o,e)=>Ar(o,"name",{value:e,configurable:!0});var Rr=(o,e)=>{for(var t in e)Ar(o,t,{get:e[t],enumerable:!0})},ba=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of uc(e))!hc.call(o,i)&&i!==t&&Ar(o,i,{get:()=>e[i],enumerable:!(r=mc(e,i))||r.enumerable});return o};var Rt=(o,e,t)=>(t=o!=null?fc(dc(o)):{},ba(e||!o||!o.__esModule?Ar(t,"default",{value:o,enumerable:!0}):t,o)),yc=o=>ba(Ar({},"__esModule",{value:!0}),o);var zl={};Rr(zl,{AnyType:()=>Ni,ApiBase:()=>ve,ApiDocument:()=>nt,ApiDocumentFactory:()=>Aa,ApiField:()=>$,ArrayType:()=>de,BUILTIN:()=>Ie,BadRequestError:()=>Xi,Base64Type:()=>Oi,BaseI18n:()=>Ma,BigintType:()=>Mi,BooleanType:()=>Fi,CLASS_NAME_PATTERN:()=>P,ComplexType:()=>ie,ConflictError:()=>Hi,DATATYPE_METADATA:()=>d,DECODER:()=>_,DECORATOR:()=>w,DataType:()=>E,DataTypeMap:()=>W,DateTimeType:()=>Kt,DateTimeTypeTz:()=>Wt,DateType:()=>qt,DocumentElement:()=>A,DocumentInitContext:()=>he,DocumentNode:()=>Br,ENCODER:()=>g,EmailType:()=>re,EnumType:()=>te,FailedDependencyError:()=>to,FieldPathType:()=>Y,FieldsProjection:()=>Pe,FilterType:()=>We,ForbiddenError:()=>Nr,HTTP_CONTROLLER_METADATA:()=>se,HttpApi:()=>tt,HttpController:()=>ne,HttpHeaderCodes:()=>io,HttpMediaType:()=>Fe,HttpMultipartField:()=>Zr,HttpOperation:()=>D,HttpOperationResponse:()=>Hr,HttpParameter:()=>_r,HttpRequestBody:()=>ei,HttpStatusCode:()=>b,HttpStatusMessages:()=>gc,HttpStatusRange:()=>Er,I18n:()=>bt,IntegerType:()=>xt,InternalServerError:()=>no,IssueSeverity:()=>Ao,MQApi:()=>it,MQController:()=>at,MQHeader:()=>Or,MQOperation:()=>gr,MQ_CONTROLLER_METADATA:()=>ae,MappedType:()=>et,MethodNotAllowedError:()=>ao,MimeTypes:()=>N,MixinType:()=>Ot,NAMESPACE_PATTERN:()=>Ro,NotAcceptableError:()=>co,NotFoundError:()=>fo,NullType:()=>Li,NumberType:()=>ge,ObjectIdType:()=>Ai,ObjectType:()=>ji,OmitType:()=>$l,OperationResult:()=>oe,OpraDocumentError:()=>ht,OpraException:()=>ye,OpraFilter:()=>Gt,OpraHttpError:()=>v,OpraSchema:()=>f,PartialDateType:()=>tr,PartialType:()=>ql,PermissionError:()=>uo,PickType:()=>Bl,RPC_CONTROLLER_METADATA:()=>Rc,RequiredType:()=>Kl,ResourceConflictError:()=>yo,ResourceNotAvailableError:()=>Eo,ResponsiveMap:()=>S,SimpleType:()=>u,StringType:()=>He,TimeType:()=>ir,UnauthorizedError:()=>xo,UnionType:()=>gt,UnprocessableEntityError:()=>go,UrlType:()=>bi,UuidType:()=>Jr,WSApi:()=>ot,WSController:()=>At,WSOperation:()=>wr,WS_CONTROLLER_METADATA:()=>pe,WS_PARAM_METADATA:()=>Dt,WsParam:()=>Vl,classes:()=>Ra,cloneObject:()=>I,getErrorStack:()=>Ac,getStackFileName:()=>wc,i18n:()=>ti,inheritPropertyInitializers:()=>Mr,isBlob:()=>Ic,isFormData:()=>Pc,isReadable:()=>Mc,isReadableStream:()=>Fc,isStream:()=>ii,isURL:()=>Lc,isWritable:()=>vc,kCtorMap:()=>vr,kDataTypeMap:()=>L,kTypeNSMap:()=>we,mergePrototype:()=>Sr,parse:()=>No,parseFieldsProjection:()=>Do,resolveThunk:()=>H,safeJsonStringify:()=>Sc,translate:()=>Oc,uid:()=>lc.uid});module.exports=yc(zl);var gx=require("reflect-metadata");Array.prototype.findLast||(Array.prototype.findLast=function(o,e){let t=this.findLastIndex(o,e);return t>=0?this[t]:void 0},Array.prototype.findLastIndex=function(o,e){if(this==null)throw new TypeError("this is null or not defined");let t=Object(this),r=this.length;e=e||this;for(let i=r-1;i>=0;i--)if(o.call(e,t[i],i,t))return i;return-1});var Ka=require("@jsopen/objects"),Va=require("valgen");var va=require("@jsopen/objects");var Sa=Rt(require("@browsery/i18next"),1),Dr=require("fast-tokenizer");var Tc=/\\(.)/g,Ec=/(\\)/g;function Da(o){return o.replace(Ec,"\\\\")}a(Da,"escapeString");function Na(o){return o.replace(Tc,"$1")}a(Na,"unescapeString");var Ma=Object.getPrototypeOf(Sa.default.createInstance()).constructor,br=class br extends Ma{async init(e,t){let r=typeof e=="object"?e:{},i=typeof e=="function"?e:t;try{let n=await super.init(r,i),s=this.services.formatter;if(s.add("lowercase",(p,c)=>p.toLocaleLowerCase(c)),s.add("uppercase",(p,c)=>p.toLocaleUpperCase(c)),s.add("upperFirst",(p,c)=>p.charAt(0).toLocaleUpperCase(c)+p.substring(1)),r!=null&&r.resources)for(let p of Object.keys(r.resources)){let c=r.resources[p];for(let l of Object.keys(c))this.addResourceBundle(p,l,c[l],!1,!0)}return i&&i(null,n),n}catch(n){throw i&&i(n,this.t),n}}deep(e,t){if(e==null)return e;let r=new WeakMap;return this._deepTranslate(e,r,t)}createInstance(e,t){return new br(e,t)}static createInstance(e,t){return new br(e,t)}_deepTranslate(e,t,r){if(e==null||r!=null&&r.ignore&&r.ignore(e,this))return e;if(typeof e=="object"&&t.has(e))return t.get(e);if(typeof e=="string"){let i="";for(let n of(0,Dr.tokenize)(e,{brackets:{"$t(":")"},quotes:!0,keepQuotes:!0,keepBrackets:!0,keepDelimiters:!0})){if(n.startsWith("$t(")&&n.endsWith(")")){n=n.substring(3,n.length-1);let s=(0,Dr.splitString)(n,{delimiters:"?",quotes:!0,brackets:{"{":"}"}}),p=Na(n.substring((s[0]||"").length+1));n=s[0]||"";let c=[],l=null;for(let R of(0,Dr.tokenize)(n,{delimiters:",",quotes:!0,brackets:{"{":"}"}})){if(R.startsWith("{")){l=JSON.parse(R);continue}c.push(R)}let O=c.length>1?"$t("+c.join(",")+")":c[0];i+=p?this.t(O,p,{...r,...l}):this.t(O,{...r,...l});continue}i+=n}return i}if(Array.isArray(e)){let i=Array(e.length);t.set(e,i);for(let n=0,s=e.length;n<s;n++)i[n]=this._deepTranslate(e[n],t,r);return t.delete(e),i}if(typeof e=="object"){if(Buffer.isBuffer(e)||Buffer.isBuffer(e)||e instanceof Symbol||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof WeakMap||e instanceof WeakSet)return e;let i={};t.set(e,i);let n=Object.keys(e);for(let s=0,p=n.length;s<p;s++){let c=n[s];i[c]=this._deepTranslate(e[c],t,r)}return t.delete(e),i}return e}static get defaultInstance(){return _c}};a(br,"I18n");var bt=br,_c=bt.createInstance();var xc=/(\))/g;function Oc(o,e,t){let r=e&&typeof e=="object"?e:void 0,i=typeof e=="string"?e:t;return"$t("+o+(r?","+JSON.stringify(r):"")+(i?"?"+Da(i).replace(xc,"\\$1"):"")+")"}a(Oc,"translate");var ti=bt.createInstance();ti.init().catch(()=>{});var Qi=class Qi extends Error{constructor(e,t){super("Unknown error"),this.severity="error",t=t||(e instanceof Error?e:void 0),e instanceof Error&&(t=e),t&&t instanceof Error&&(this.cause=t,t.stack&&(this.stack=t.stack)),typeof e=="string"?this.initString(e):e instanceof Error?this.initError(e):this.init(e),this.message=this.message||this.constructor.name}toString(){return ti.deep(this.message)}toJSON(){var t;let e="production";return(0,va.omitUndefined)({message:this.message,severity:this.severity,system:this.system,code:this.code,details:this.details,stack:e==="dev"||e==="development"||e==="test"?(t=this.stack)==null?void 0:t.split(`
7
+ `):void 0},!0)}init(e){this.message=(e==null?void 0:e.message)||this.constructor.name,this.severity=(e==null?void 0:e.severity)||"error",e&&(this.system=e.system,this.code=e.code,this.details=e.details)}initString(e){this.init({message:String(e||"")||this.constructor.name,severity:"error",code:this.constructor.name})}initError(e){this.init({message:e.message,severity:e.severity||"error",code:e.code||e.constructor.name})}};a(Qi,"OpraException");var ye=Qi;var Gi=class Gi extends ye{constructor(e,t,r){super(e,t instanceof Error?t:void 0),this.status=(typeof t=="number"?t:Number(r))||500}setStatus(e){return this.status=e,this}initError(e){typeof e.status=="number"?this.status=e.status:typeof e.getStatus=="function"&&(this.status=e.getStatus()),super.initError(e)}};a(Gi,"OpraHttpError");var v=Gi;var Zi=class Zi extends v{constructor(){super(...arguments),this.status=400}init(e){super.init({message:"Bad request",code:"BAD_REQUEST",...e})}};a(Zi,"BadRequestError");var Xi=Zi;var eo=class eo extends v{constructor(){super(...arguments),this.status=409}init(e){super.init({message:"Conflict",code:"CONFLICT",...e})}};a(eo,"ConflictError");var Hi=eo;var ro=class ro extends v{constructor(){super(...arguments),this.status=424}init(e){super.init({message:"The request failed due to failure of a previous request",code:"FAILED_DEPENDENCY",...e})}};a(ro,"FailedDependencyError");var to=ro;var io;(function(o){o.X_Opra_Version="X-Opra-Version",o.X_Total_Count="X-Total-Count",o.WWW_Authenticate="WWW-Authenticate",o.Authorization="Authorization",o.Proxy_Authenticate="Proxy-Authenticate",o.Proxy_Authorization="Proxy-Authorization",o.Age="Age",o.Cache_Control="Cache-Control",o.Clear_Site_Data="Clear-Site-Data",o.Expires="Expires",o.Pragma="Pragma",o.Last_Modified="Last-Modified",o.ETag="ETag",o.If_Match="If-Match",o.If_None_Match="If-None-Match",o.If_Modified_Since="If-Modified-Since",o.If_Unmodified_Since="If-Unmodified-Since",o.Vary="Vary",o.Connection="Connection",o.Keep_Alive="Keep-Alive",o.Accept="Accept",o.Accept_Encoding="Accept-Encoding",o.Accept_Language="Accept-Language",o.Expect="Expect",o.Cookie="Cookie",o.Set_Cookie="Set-Cookie",o.Access_Control_Allow_Origin="Access-Control-Allow-Origin",o.Access_Control_Allow_Credentials="Access-Control-Allow-Credentials",o.Access_Control_Allow_Headers="Access-Control-Allow-Headers",o.Access_Control_Allow_Methods="Access-Control-Allow-Methods",o.Access_Control_Expose_Headers="Access-Control-Expose-Headers",o.Access_Control_Max_Age="Access-Control-Max-Age",o.Access_Control_Request_Headers="Access-Control-Request-Headers",o.Access_Control_Request_Method="Access-Control-Request-Method",o.Origin="Origin",o.Timing_Allow_Origin="Timing-Allow-Origin",o.Content_Disposition="Content-Disposition",o.Content_ID="Content-ID",o.Content_Length="Content-Length",o.Content_Type="Content-Type",o.Content_Transfer_Encoding="Content-Transfer-Encoding",o.Content_Encoding="Content-Encoding",o.Content_Language="Content-Language",o.Content_Location="Content-Location",o.Forwarded="Forwarded",o.X_Forwarded_For="X-Forwarded-For",o.X_Forwarded_Host="X-Forwarded-Host",o.X_Forwarded_Proto="X-Forwarded-Proto",o.Via="Via",o.Location="Location",o.From="From",o.Host="Host",o.Referer="Referer",o.Referrer_Policy="Referrer-Policy",o.User_Agent="User-Agent",o.Allow="Allow",o.Server="Server",o.Accept_Ranges="Accept-Ranges",o.Range="Range",o.If_Range="If-Range",o.Content_Range="Content-Range",o.Cross_Origin_Embedder_Policy="Cross-Origin-Embedder-Policy",o.Cross_Origin_Opener_Policy="Cross-Origin-Opener-Policy",o.Cross_Origin_Resource_Policy="Cross-Origin-Resource-Policy",o.Content_Security_Policy="Content-Security-Policy",o.Content_Security_Policy_Report_Only="Content-Security-Policy-Report-Only",o.Expect_CT="Expect-CT",o.Feature_Policy="Feature-Policy",o.Strict_Transport_Security="Strict-Transport-Security",o.Upgrade="Upgrade",o.Upgrade_Insecure_Requests="Upgrade-Insecure-Requests",o.X_Content_Type_Options="X-Content-Type-Options",o.X_Download_Options="X-Download-Options",o.X_Frame_Options="X-Frame-Options",o.X_Permitted_Cross_Domain_Policies="X-Permitted-Cross-Domain-Policies",o.X_Powered_By="X-Powered-By",o.X_XSS_Protection="X-XSS-Protection",o.Transfer_Encoding="Transfer-Encoding",o.TE="TE",o.Trailer="Trailer",o.Sec_WebSocket_Key="Sec-WebSocket-Key",o.Sec_WebSocket_Extensions="Sec-WebSocket-Extensions",o.Sec_WebSocket_Accept="Sec-WebSocket-Accept",o.Sec_WebSocket_Protocol="Sec-WebSocket-Protocol",o.Sec_WebSocket_Version="Sec-WebSocket-Version",o.Date="Date",o.Retry_After="Retry-After",o.Server_Timing="Server-Timing",o.X_DNS_Prefetch_Control="X-DNS-Prefetch-Control",o.Max_Forwards="Max-Forwards"})(io||(io={}));var b;(function(o){o[o.CONTINUE=100]="CONTINUE",o[o.SWITCHING_PROTOCOLS=101]="SWITCHING_PROTOCOLS",o[o.PROCESSING=102]="PROCESSING",o[o.EARLYHINTS=103]="EARLYHINTS",o[o.OK=200]="OK",o[o.CREATED=201]="CREATED",o[o.ACCEPTED=202]="ACCEPTED",o[o.NON_AUTHORITATIVE_INFORMATION=203]="NON_AUTHORITATIVE_INFORMATION",o[o.NO_CONTENT=204]="NO_CONTENT",o[o.RESET_CONTENT=205]="RESET_CONTENT",o[o.PARTIAL_CONTENT=206]="PARTIAL_CONTENT",o[o.AMBIGUOUS=300]="AMBIGUOUS",o[o.MOVED_PERMANENTLY=301]="MOVED_PERMANENTLY",o[o.FOUND=302]="FOUND",o[o.SEE_OTHER=303]="SEE_OTHER",o[o.NOT_MODIFIED=304]="NOT_MODIFIED",o[o.TEMPORARY_REDIRECT=307]="TEMPORARY_REDIRECT",o[o.PERMANENT_REDIRECT=308]="PERMANENT_REDIRECT",o[o.BAD_REQUEST=400]="BAD_REQUEST",o[o.UNAUTHORIZED=401]="UNAUTHORIZED",o[o.PAYMENT_REQUIRED=402]="PAYMENT_REQUIRED",o[o.FORBIDDEN=403]="FORBIDDEN",o[o.NOT_FOUND=404]="NOT_FOUND",o[o.METHOD_NOT_ALLOWED=405]="METHOD_NOT_ALLOWED",o[o.NOT_ACCEPTABLE=406]="NOT_ACCEPTABLE",o[o.PROXY_AUTHENTICATION_REQUIRED=407]="PROXY_AUTHENTICATION_REQUIRED",o[o.REQUEST_TIMEOUT=408]="REQUEST_TIMEOUT",o[o.CONFLICT=409]="CONFLICT",o[o.GONE=410]="GONE",o[o.LENGTH_REQUIRED=411]="LENGTH_REQUIRED",o[o.PRECONDITION_FAILED=412]="PRECONDITION_FAILED",o[o.PAYLOAD_TOO_LARGE=413]="PAYLOAD_TOO_LARGE",o[o.URI_TOO_LONG=414]="URI_TOO_LONG",o[o.UNSUPPORTED_MEDIA_TYPE=415]="UNSUPPORTED_MEDIA_TYPE",o[o.REQUESTED_RANGE_NOT_SATISFIABLE=416]="REQUESTED_RANGE_NOT_SATISFIABLE",o[o.EXPECTATION_FAILED=417]="EXPECTATION_FAILED",o[o.I_AM_A_TEAPOT=418]="I_AM_A_TEAPOT",o[o.MISDIRECTED_REQUEST=421]="MISDIRECTED_REQUEST",o[o.UNPROCESSABLE_ENTITY=422]="UNPROCESSABLE_ENTITY",o[o.LOCKED=423]="LOCKED",o[o.FAILED_DEPENDENCY=424]="FAILED_DEPENDENCY",o[o.TOO_EARLY=425]="TOO_EARLY",o[o.UPGRADE_REQUIRED=426]="UPGRADE_REQUIRED",o[o.PRECONDITION_REQUIRED=428]="PRECONDITION_REQUIRED",o[o.TOO_MANY_REQUESTS=429]="TOO_MANY_REQUESTS",o[o.INTERNAL_SERVER_ERROR=500]="INTERNAL_SERVER_ERROR",o[o.NOT_IMPLEMENTED=501]="NOT_IMPLEMENTED",o[o.BAD_GATEWAY=502]="BAD_GATEWAY",o[o.SERVICE_UNAVAILABLE=503]="SERVICE_UNAVAILABLE",o[o.GATEWAY_TIMEOUT=504]="GATEWAY_TIMEOUT",o[o.HTTP_VERSION_NOT_SUPPORTED=505]="HTTP_VERSION_NOT_SUPPORTED",o[o.VARIANT_ALSO_NEGOTIATES=506]="VARIANT_ALSO_NEGOTIATES",o[o.INSUFFICIENT_STORAGE=507]="INSUFFICIENT_STORAGE",o[o.LOOP_DETECTED=508]="LOOP_DETECTED",o[o.NOT_EXTENDED=510]="NOT_EXTENDED",o[o.NETWORK_AUTHENTICATION_REQUIRED=511]="NETWORK_AUTHENTICATION_REQUIRED"})(b||(b={}));var gc={100:"Continue",101:"Switching Protocols",102:"Processing",103:"Early Hints",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a Teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Too Early",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"};var N;(function(o){o.json="application/json",o.opra_response_json="application/opra.response+json",o.xml="application/XML",o.text="text/plain",o.html="text/html",o.markdown="text/markdown",o.binary="binary/octet-stream"})(N||(N={}));var oo=class oo extends v{constructor(){super(...arguments),this.status=b.FORBIDDEN}init(e){super.init({message:"You are not authorized to perform this action",code:"FORBIDDEN",...e})}};a(oo,"ForbiddenError");var Nr=oo;var so=class so extends v{constructor(){super(...arguments),this.status=500}init(e){super.init({message:"Internal server error",code:"INTERNAL_SERVER_ERROR",severity:"fatal",...e})}};a(so,"InternalServerError");var no=so;var po=class po extends v{constructor(){super(...arguments),this.status=405}init(e){super.init({message:"Method not allowed",code:"METHOD_NOT_ALLOWED",...e})}};a(po,"MethodNotAllowedError");var ao=po;var lo=class lo extends v{constructor(){super(...arguments),this.status=406}init(e){super.init({message:"Not Acceptable",code:"NOT_ACCEPTABLE",...e})}};a(lo,"NotAcceptableError");var co=lo;var mo=class mo extends v{constructor(){super(...arguments),this.status=404}init(e){super.init({message:"Not found",code:"NOT_FOUND",...e})}};a(mo,"NotFoundError");var fo=mo;var ho=class ho extends Nr{init(e){super.init({message:"You dont have permission for this operation",code:"PERMISSION_ERROR",...e})}};a(ho,"PermissionError");var uo=ho;var To=class To extends v{constructor(e,t,r){super({message:`There is already an other "${e}" resource with same values for field(s) [${t}]`,severity:"error",code:"RESOURCE_CONFLICT",details:{resource:e,location:t}},r),this.status=409}};a(To,"ResourceConflictError");var yo=To;var _o=class _o extends v{constructor(e,t,r){super({message:`Resource "${e}${t?"/"+t:""}" is not available`,severity:"error",code:"RESOURCE_NOT_AVAILABLE",details:{resource:e,key:t}},r,b.UNPROCESSABLE_ENTITY)}};a(_o,"ResourceNotAvailableError");var Eo=_o;var Oo=class Oo extends v{constructor(){super(...arguments),this.status=401}init(e){super.init({message:"You don't have permission to perform this action",code:"UNAUTHORIZED",...e})}};a(Oo,"UnauthorizedError");var xo=Oo;var wo=class wo extends v{constructor(){super(...arguments),this.status=422}init(e){super.init({message:"Unprocessable entity",severity:"error",code:"UNPROCESSABLE_ENTITY",...e})}};a(wo,"UnprocessableEntityError");var go=wo;var Ao;(function(o){let e;(function(t){t.fatal="fatal",t.error="error",t.warning="warning",t.info="info"})(e=o.Enum||(o.Enum={})),o.name="IssueSeverity",o.description="Severity of the issue",o.Keys=Object.keys(o),o.descriptions={fatal:"The issue caused the action to fail and no further checking could be performed",error:"The issue is sufficiently important to cause the action to fail",warning:"The issue is not important enough to cause the action to fail but may cause it to be performed suboptimally or in a way that is not as desired",info:"The issue has no relation to the degree of success of the action"}})(Ao||(Ao={}));BigInt.prototype.toJSON||(BigInt.prototype.toJSON=function(){return this.toString()});RegExp.prototype.toJSON||(RegExp.prototype.toJSON=function(){return this.toString()});var Fa=require("@jsopen/objects"),Ia=Rt(require("putil-promisify"),1);async function H(o){return o=Ia.default.isPromise(o)?await o:o,typeof o=="function"?(0,Fa.isConstructor)(o)?o:await o():o}a(H,"resolveThunk");var Pa=/^(?:file:\/\/)?(.+)$/;function wc(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Pa.exec(r):void 0;return i?i[1]:""}return""}a(wc,"getStackFileName");function Ac(o=1){if(o>=Error.stackTraceLimit)throw new TypeError("getCallerFile(position) requires position be less then Error.stackTraceLimit but position was: `"+o+"` and Error.stackTraceLimit was: `"+Error.stackTraceLimit+"`");let e=Error.prepareStackTrace;Error.prepareStackTrace=(r,i)=>i;let t=new Error().stack;if(Error.prepareStackTrace=e,t!==null&&typeof t=="object"){let r=t[o]?t[o].getFileName():void 0,i=r?Pa.exec(r):void 0;return i?i[1]:""}return""}a(Ac,"getErrorStack");function Sr(o,e,t){for(let r of Object.getOwnPropertyNames(e))r==="constructor"||r==="__proto__"||r==="toJSON"||r==="toString"||t&&!t(r)||Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(e,r)||Object.create(null))}a(Sr,"mergePrototype");function Mr(o,e,t=r=>!0){try{let r=new e;Object.getOwnPropertyNames(r).filter(n=>typeof r[n]<"u"&&typeof o[n]>"u").filter(n=>t(n)).forEach(n=>{o[n]=r[n]})}catch{}}a(Mr,"inheritPropertyInitializers");var Fr=require("@jsopen/objects");var d=Symbol.for("opra.type.metadata"),se=Symbol("opra.http-controller.metadata"),ae=Symbol("opra.mq-controller.metadata"),pe=Symbol("opra.ws-controller.metadata"),Dt=Symbol("opra.ws-param.metadata"),Rc=Symbol("opra.rpc-controller.metadata"),_=Symbol.for("opra.type.decoder"),g=Symbol("opra.type.encoder"),w=Symbol.for("DECORATOR"),Ie=Symbol.for("BUILTIN"),Ro=/([a-z$_]\w+):(.+)/i,P=/^[a-z][\w_]*$/i,L=Symbol.for("kDataTypeMap"),vr=Symbol.for("kCtorMap"),we=Symbol.for("kTypeNSMap");function I(o,e){return(0,Fr.merge)({},o,{deep:a(t=>(0,Fr.isPlainObject)(t)&&!t[d],"deep"),symbolKeys:!0,copyDescriptors:!0,ignoreUndefined:!0,filter(t,r){let i=r[t];return!e||typeof i!="function"&&(typeof i!="object"||(0,Fr.isPlainObject)(i)||Array.isArray(i))}})}a(I,"cloneObject");var bo=require("fast-tokenizer");var bc=/^([+-])?([a-z_$]\w*)$/i,Dc=/[^.]\(/g,So=class So{};a(So,"FieldsProjection");var Pe=So;(function(o){let t=class t{};a(t,"Item");let e=t;o.Item=e})(Pe||(Pe={}));function Do(o,e){let t=Array.isArray(o)?o:[o];if(!(t&&t.length))return;let r=new Pe;for(let i of t)e||(i=i.toLowerCase()),No(i,r);return r}a(Do,"parseFieldsProjection");function No(o,e){o=o.replace(Dc,r=>r.charAt(0)+"."+r.substring(1));let t=(0,bo.splitString)(o,{delimiters:".",brackets:!0,keepBrackets:!1});for(let r=0;r<t.length;r++){let i=t[r];if(i.includes(",")){let c=(0,bo.splitString)(i,{delimiters:",",brackets:!0,keepBrackets:!0});for(let l of c)No(l,e);continue}let n=bc.exec(i);if(!n)throw new TypeError(`Invalid field path (${o})`);let s=n[2],p=e[s]=e[s]||new Pe.Item;n[1]&&(p.sign=n[1]),r===t.length-1?delete p.projection:e=p.projection=p.projection||new Pe}}a(No,"parse");function Nc(o){return o&&typeof o.forEach=="function"}a(Nc,"isMap");var X=Symbol.for("kEntries"),Te=Symbol.for("kKeyMap"),ri=Symbol.for("kWellKnownKeys"),Mo=Symbol.for("kOptions"),Nt=Symbol.for("kSize"),vo=class vo{constructor(e,t){Object.defineProperty(this,Nt,{value:0,enumerable:!1,writable:!0}),Object.defineProperty(this,X,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,Te,{value:{},enumerable:!1,writable:!0}),Object.defineProperty(this,ri,{value:{},enumerable:!1,writable:!0});let r=!!(t!=null&&t.caseSensitive);Object.defineProperty(this,Mo,{value:{caseSensitive:r},enumerable:!1}),t!=null&&t.wellKnownKeys&&t.wellKnownKeys.forEach(i=>{r?this[ri][i]=i:this[ri][i.toLowerCase()]=i}),this.clear(),e&&this.setAll(e)}get size(){return this[Nt]}clear(){Object.keys(this[X]).forEach(e=>delete this[X][e]),Object.keys(this[Te]).forEach(e=>delete this[Te][e]),this[Nt]=0}forEach(e,t){for(let[r,i]of this.entries())e.call(t,i,r,this)}get(e){if(e)return this[X][this._getStoringKey(e)]}has(e){return e?Object.prototype.hasOwnProperty.call(this[X],this._getStoringKey(e)):!1}set(e,t){let r=this._getStoringKey(e);e=this._getOriginalKey(e);let i=Object.prototype.hasOwnProperty.call(this[X],r);return this[X][r]=t,i||this[Nt]++,this[Te][r]=e,this}setAll(e){return Nc(e)?e.forEach((t,r)=>this.set(r,t)):Object.keys(e).forEach(t=>this.set(t,e[t])),this}keys(){return Object.values(this[Te])[Symbol.iterator]()}values(){return Object.values(this[X])[Symbol.iterator]()}entries(){return Object.entries(this[X])[Symbol.iterator]()}delete(e){let t=this._getStoringKey(e),r=Object.prototype.hasOwnProperty.call(this[X],t);return delete this[X][t],delete this[Te][t],r||this[Nt]--,r}sort(e){let t={...this[X]},r={...this[Te]},i=Array.from(this.keys());e?i.sort(e):i.sort(),this.clear();for(let n of i)this[X][n]=t[n],this[Te][n]=r[n];return this[Nt]=i.length,this}toObject(){let e={};for(let[t,r]of Object.entries(this[Te]))e[r]=this[X][t];return e}[Symbol.iterator](){return this.entries()}get[Symbol.toStringTag](){return"[Object ResponsiveMap]"}_getOriginalKey(e){if(!e||this[Mo].caseSensitive)return e;let t=this._getStoringKey(e);return this[Te][t]??this[ri][t]??e}_getStoringKey(e){return this[Mo].caseSensitive?e:e.toLowerCase()}};a(vo,"ResponsiveMap");var S=vo;function Sc(o,e,t){let r=new WeakSet;return JSON.stringify(o,(i,n)=>{if(n!==null&&typeof n=="object"){if(r.has(n))return;r.add(n)}return e?e(i,n):n},t)}a(Sc,"safeJsonStringify");function ii(o){return o!==null&&typeof o=="object"&&typeof o.pipe=="function"}a(ii,"isStream");function Mc(o){return ii(o)&&typeof o._read=="function"&&typeof o._readableState=="object"}a(Mc,"isReadable");function vc(o){return ii(o)&&typeof o._write=="function"}a(vc,"isWritable");function Fc(o){return ii(o)&&typeof o.getReader=="function"&&typeof o.pipeThrough=="function"&&typeof o.pipeTo=="function"}a(Fc,"isReadableStream");function Ic(o){return o!==null&&typeof o=="object"&&typeof o.size=="number"&&typeof o.arrayBuffer=="function"&&typeof o.stream=="function"}a(Ic,"isBlob");function Pc(o){return o!==null&&typeof o.constructor=="function"&&o.constructor.name==="FormData"&&typeof o.append=="function"&&typeof o.getAll=="function"}a(Pc,"isFormData");function Lc(o){return o!==null&&typeof o=="object"&&typeof o.host=="string"&&typeof o.href=="string"}a(Lc,"isURL");var Fo=class Fo{constructor(){this.kind=Object.getPrototypeOf(this).constructor.name}};a(Fo,"Ast");var Ir=Fo;var Io=class Io extends Ir{};a(Io,"Expression");var K=Io;var Po=class Po extends K{};a(Po,"Term");var ct=Po;var Lo=class Lo extends ct{constructor(e){super(),this.value=e}toString(){return""+this.value}};a(Lo,"Literal");var k=Lo;var ko=class ko extends K{constructor(){super(),this.items=[]}append(e,t){return this.items.push(new oi({op:e,expression:t})),this}toString(){return this.items.map((e,t)=>(t>0?e.op:"")+e.expression).join("")}};a(ko,"ArithmeticExpression");var lt=ko,jo=class jo{constructor(e){Object.assign(this,e)}};a(jo,"ArithmeticExpressionItem");var oi=jo;var Co=class Co extends ct{constructor(e){super(),this.items=e}toString(){return"["+this.items.map(e=>""+e).join(",")+"]"}};a(Co,"ArrayExpression");var Ae=Co;var kc=/\w/,Uo=class Uo extends K{constructor(e){super(),Object.assign(this,e)}toString(){return`${this.left}${kc.test(this.op)?" "+this.op+" ":this.op}${this.right}`}};a(Uo,"ComparisonExpression");var Ee=Uo;var $o=class $o extends K{constructor(e){super(),Object.assign(this,e),this.op==="&&"&&(this.op="and"),this.op==="||"&&(this.op="or")}toString(){return this.items.map(e=>""+e).join(" "+this.op+" ")}};a($o,"LogicalExpression");var _e=$o;var qo=class qo extends K{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(qo,"NegativeExpression");var Pr=qo;var Bo=class Bo extends K{constructor(e){super(),this.expression=e}toString(){return`(${this.expression})`}};a(Bo,"ParenthesizedExpression");var Re=Bo;var Ko=class Ko extends k{constructor(e){super(e)}};a(Ko,"BooleanLiteral");var ft=Ko;var ka=require("putil-varhelpers");var Vo=class Vo extends TypeError{};a(Vo,"SyntaxError");var ni=Vo,Wo=class Wo extends TypeError{constructor(e){super(typeof e=="string"?e:e==null?void 0:e.message),typeof e=="object"&&Object.assign(this,e)}};a(Wo,"FilterValidationError");var xe=Wo,zo=class zo extends Error{constructor(e,t){super(e),Object.assign(this,t)}};a(zo,"FilterParseError");var si=zo;var jc=/'/g,Cc=/(\\)/g,Uc=/\\(.)/g;function $c(o){return o.replace(Cc,"\\\\")}a($c,"escapeString");function qc(o){return o.replace(Uc,"$1")}a(qc,"unescapeString");function Le(o){return"'"+$c(o).replace(jc,"\\'")+"'"}a(Le,"quoteFilterString");function Lr(o){return o&&(o.startsWith("'")||o.startsWith('"'))&&o.endsWith(o.charAt(0))?qc(o.substring(1,o.length-1)):o}a(Lr,"unquoteFilterString");var La=new Date(0),Jo=class Jo extends k{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&(0,ka.toDateDef)(e,La)!==La){this.value=e;return}throw new xe(`Invalid date value "${e}"`)}toString(){return Le(this.value)}};a(Jo,"DateLiteral");var ke=Jo;var Ca=require("putil-varhelpers");var ja=new Date(0),Yo=class Yo extends k{constructor(e){if(super(""),e instanceof Date){this.value=e.toISOString();return}if(typeof e=="string"&&(0,Ca.toDateDef)(e,ja)!==ja){this.value=e;return}throw new xe(`Invalid date-time value "${e}"`)}toString(){return Le(this.value)}};a(Yo,"DateTimeLiteral");var kr=Yo;var Qo=class Qo extends k{constructor(){super(null),this.value=null}};a(Qo,"NullLiteral");var mt=Qo;var Go=class Go extends k{constructor(e){if(super(0),typeof e=="number"||typeof e=="bigint"){this.value=e;return}try{if(typeof e=="string"){if(e.includes(".")){this.value=parseFloat(e);return}let t=Number(e);""+t===e?this.value=t:this.value=BigInt(e);return}}catch{}throw new xe(`Invalid number literal ${e}`)}toString(){return typeof this.value=="bigint"?(""+this.value).replace(/n$/,""):""+this.value}};a(Go,"NumberLiteral");var be=Go;var Xo=class Xo extends k{constructor(e){super(""+e)}};a(Xo,"QualifiedIdentifier");var ce=Xo;var Zo=class Zo extends k{constructor(e){super(""+e)}toString(){return Le(this.value)}};a(Zo,"StringLiteral");var ut=Zo;var Bc=/^([01]\d|2[0-3]):([0-5]\d)(:[0-5]\d)?(\.(\d+))?$/,Ho=class Ho extends k{constructor(e){if(super(""),e instanceof Date){this.value=ai(e.getHours())+":"+ai(e.getMinutes())+(e.getSeconds()?":"+ai(e.getSeconds()):"")+(e.getMilliseconds()?"."+ai(e.getMilliseconds()):"");return}if(typeof e=="string"&&Bc.test(e)){this.value=e;return}throw new xe(`Invalid time value "${e}"`)}toString(){return Le(this.value)}};a(Ho,"TimeLiteral");var dt=Ho;function ai(o){return o<=9?"0"+o:""+o}a(ai,"pad");var _i=require("@browsery/antlr4");var le=require("@browsery/antlr4");var G=class G extends le.Lexer{constructor(e){super(e),this._interp=new le.LexerATNSimulator(this,G._ATN,G.DecisionsToDFA,new le.PredictionContextCache)}get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return G.literalNames}get symbolicNames(){return G.symbolicNames}get ruleNames(){return G.ruleNames}get serializedATN(){return G._serializedATN}get channelNames(){return G.channelNames}get modeNames(){return G.modeNames}static get _ATN(){return G.__ATN||(G.__ATN=new le.ATNDeserializer().deserialize(G._serializedATN)),G.__ATN}};a(G,"OpraFilterLexer");var T=G;T.T__0=1;T.T__1=2;T.T__2=3;T.T__3=4;T.T__4=5;T.T__5=6;T.T__6=7;T.T__7=8;T.T__8=9;T.T__9=10;T.T__10=11;T.T__11=12;T.T__12=13;T.T__13=14;T.T__14=15;T.T__15=16;T.T__16=17;T.T__17=18;T.T__18=19;T.T__19=20;T.T__20=21;T.T__21=22;T.T__22=23;T.T__23=24;T.T__24=25;T.T__25=26;T.T__26=27;T.T__27=28;T.T__28=29;T.T__29=30;T.T__30=31;T.T__31=32;T.T__32=33;T.T__33=34;T.IDENTIFIER=35;T.POLAR_OP=36;T.DATE=37;T.DATETIME=38;T.TIME=39;T.NUMBER=40;T.INTEGER=41;T.STRING=42;T.WHITESPACE=43;T.EOF=le.Token.EOF;T.channelNames=["DEFAULT_TOKEN_CHANNEL","HIDDEN"];T.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];T.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];T.modeNames=["DEFAULT_MODE"];T.ruleNames=["T__0","T__1","T__2","T__3","T__4","T__5","T__6","T__7","T__8","T__9","T__10","T__11","T__12","T__13","T__14","T__15","T__16","T__17","T__18","T__19","T__20","T__21","T__22","T__23","T__24","T__25","T__26","T__27","T__28","T__29","T__30","T__31","T__32","T__33","IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE","DIGIT","DATEFORMAT","TIMEFORMAT","TIMEZONEOFFSETFORMAT","ESC","UNICODE","HEX"];T._serializedATN=[4,0,43,461,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2,28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2,35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2,42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2,49,7,49,1,0,1,0,1,1,1,1,1,2,1,2,1,2,1,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,23,1,23,1,23,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,5,34,225,8,34,10,34,12,34,228,9,34,1,35,1,35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,36,3,36,240,8,36,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,3,37,291,8,37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,3,38,301,8,38,1,39,3,39,304,8,39,1,39,4,39,307,8,39,11,39,12,39,308,1,39,1,39,5,39,313,8,39,10,39,12,39,316,9,39,3,39,318,8,39,1,39,1,39,3,39,322,8,39,1,39,4,39,325,8,39,11,39,12,39,326,3,39,329,8,39,1,39,1,39,1,39,1,39,4,39,335,8,39,11,39,12,39,336,3,39,339,8,39,1,40,3,40,342,8,40,1,40,4,40,345,8,40,11,40,12,40,346,1,40,1,40,1,40,1,40,4,40,353,8,40,11,40,12,40,354,3,40,357,8,40,1,41,1,41,1,41,5,41,362,8,41,10,41,12,41,365,9,41,1,41,1,41,1,41,1,41,5,41,371,8,41,10,41,12,41,374,9,41,1,41,3,41,377,8,41,1,42,4,42,380,8,42,11,42,12,42,381,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,397,8,44,1,44,1,44,1,44,1,44,1,44,1,44,1,44,3,44,406,8,44,1,45,1,45,1,45,1,45,3,45,412,8,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,45,4,45,424,8,45,11,45,12,45,425,3,45,428,8,45,3,45,430,8,45,1,46,1,46,1,46,3,46,435,8,46,1,46,1,46,1,46,3,46,440,8,46,1,46,1,46,1,46,3,46,445,8,46,3,46,447,8,46,1,47,1,47,1,47,3,47,452,8,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,0,0,50,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24,49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36,73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,0,89,0,91,0,93,0,95,0,97,0,99,0,1,0,16,4,0,36,36,65,90,95,95,97,122,5,0,36,36,48,57,65,90,95,95,97,122,2,0,43,43,45,45,1,0,39,39,1,0,34,34,3,0,9,10,13,13,32,32,1,0,48,57,1,0,48,48,1,0,49,57,1,0,49,49,1,0,48,50,1,0,49,51,1,0,48,49,1,0,48,51,1,0,48,53,3,0,48,57,65,70,97,102,491,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,1,101,1,0,0,0,3,103,1,0,0,0,5,105,1,0,0,0,7,109,1,0,0,0,9,111,1,0,0,0,11,113,1,0,0,0,13,115,1,0,0,0,15,117,1,0,0,0,17,119,1,0,0,0,19,121,1,0,0,0,21,126,1,0,0,0,23,132,1,0,0,0,25,137,1,0,0,0,27,146,1,0,0,0,29,155,1,0,0,0,31,157,1,0,0,0,33,159,1,0,0,0,35,161,1,0,0,0,37,163,1,0,0,0,39,166,1,0,0,0,41,168,1,0,0,0,43,170,1,0,0,0,45,173,1,0,0,0,47,175,1,0,0,0,49,178,1,0,0,0,51,181,1,0,0,0,53,185,1,0,0,0,55,190,1,0,0,0,57,196,1,0,0,0,59,202,1,0,0,0,61,209,1,0,0,0,63,213,1,0,0,0,65,216,1,0,0,0,67,219,1,0,0,0,69,222,1,0,0,0,71,229,1,0,0,0,73,239,1,0,0,0,75,290,1,0,0,0,77,300,1,0,0,0,79,338,1,0,0,0,81,356,1,0,0,0,83,376,1,0,0,0,85,379,1,0,0,0,87,385,1,0,0,0,89,387,1,0,0,0,91,411,1,0,0,0,93,446,1,0,0,0,95,448,1,0,0,0,97,453,1,0,0,0,99,459,1,0,0,0,101,102,5,40,0,0,102,2,1,0,0,0,103,104,5,41,0,0,104,4,1,0,0,0,105,106,5,110,0,0,106,107,5,111,0,0,107,108,5,116,0,0,108,6,1,0,0,0,109,110,5,33,0,0,110,8,1,0,0,0,111,112,5,46,0,0,112,10,1,0,0,0,113,114,5,64,0,0,114,12,1,0,0,0,115,116,5,91,0,0,116,14,1,0,0,0,117,118,5,44,0,0,118,16,1,0,0,0,119,120,5,93,0,0,120,18,1,0,0,0,121,122,5,116,0,0,122,123,5,114,0,0,123,124,5,117,0,0,124,125,5,101,0,0,125,20,1,0,0,0,126,127,5,102,0,0,127,128,5,97,0,0,128,129,5,108,0,0,129,130,5,115,0,0,130,131,5,101,0,0,131,22,1,0,0,0,132,133,5,110,0,0,133,134,5,117,0,0,134,135,5,108,0,0,135,136,5,108,0,0,136,24,1,0,0,0,137,138,5,73,0,0,138,139,5,110,0,0,139,140,5,102,0,0,140,141,5,105,0,0,141,142,5,110,0,0,142,143,5,105,0,0,143,144,5,116,0,0,144,145,5,121,0,0,145,26,1,0,0,0,146,147,5,105,0,0,147,148,5,110,0,0,148,149,5,102,0,0,149,150,5,105,0,0,150,151,5,110,0,0,151,152,5,105,0,0,152,153,5,116,0,0,153,154,5,121,0,0,154,28,1,0,0,0,155,156,5,43,0,0,156,30,1,0,0,0,157,158,5,45,0,0,158,32,1,0,0,0,159,160,5,42,0,0,160,34,1,0,0,0,161,162,5,47,0,0,162,36,1,0,0,0,163,164,5,60,0,0,164,165,5,61,0,0,165,38,1,0,0,0,166,167,5,60,0,0,167,40,1,0,0,0,168,169,5,62,0,0,169,42,1,0,0,0,170,171,5,62,0,0,171,172,5,61,0,0,172,44,1,0,0,0,173,174,5,61,0,0,174,46,1,0,0,0,175,176,5,33,0,0,176,177,5,61,0,0,177,48,1,0,0,0,178,179,5,105,0,0,179,180,5,110,0,0,180,50,1,0,0,0,181,182,5,33,0,0,182,183,5,105,0,0,183,184,5,110,0,0,184,52,1,0,0,0,185,186,5,108,0,0,186,187,5,105,0,0,187,188,5,107,0,0,188,189,5,101,0,0,189,54,1,0,0,0,190,191,5,33,0,0,191,192,5,108,0,0,192,193,5,105,0,0,193,194,5,107,0,0,194,195,5,101,0,0,195,56,1,0,0,0,196,197,5,105,0,0,197,198,5,108,0,0,198,199,5,105,0,0,199,200,5,107,0,0,200,201,5,101,0,0,201,58,1,0,0,0,202,203,5,33,0,0,203,204,5,105,0,0,204,205,5,108,0,0,205,206,5,105,0,0,206,207,5,107,0,0,207,208,5,101,0,0,208,60,1,0,0,0,209,210,5,97,0,0,210,211,5,110,0,0,211,212,5,100,0,0,212,62,1,0,0,0,213,214,5,111,0,0,214,215,5,114,0,0,215,64,1,0,0,0,216,217,5,38,0,0,217,218,5,38,0,0,218,66,1,0,0,0,219,220,5,124,0,0,220,221,5,124,0,0,221,68,1,0,0,0,222,226,7,0,0,0,223,225,7,1,0,0,224,223,1,0,0,0,225,228,1,0,0,0,226,224,1,0,0,0,226,227,1,0,0,0,227,70,1,0,0,0,228,226,1,0,0,0,229,230,7,2,0,0,230,72,1,0,0,0,231,232,5,39,0,0,232,233,3,89,44,0,233,234,5,39,0,0,234,240,1,0,0,0,235,236,5,34,0,0,236,237,3,89,44,0,237,238,5,34,0,0,238,240,1,0,0,0,239,231,1,0,0,0,239,235,1,0,0,0,240,74,1,0,0,0,241,242,5,39,0,0,242,243,3,89,44,0,243,244,5,84,0,0,244,245,3,91,45,0,245,246,3,93,46,0,246,247,5,39,0,0,247,248,5,39,0,0,248,249,3,89,44,0,249,250,5,32,0,0,250,251,3,91,45,0,251,252,3,93,46,0,252,253,5,39,0,0,253,254,5,39,0,0,254,255,3,89,44,0,255,256,5,84,0,0,256,257,3,91,45,0,257,258,5,39,0,0,258,259,5,39,0,0,259,260,3,89,44,0,260,261,5,32,0,0,261,262,3,91,45,0,262,263,5,39,0,0,263,291,1,0,0,0,264,265,5,34,0,0,265,266,3,89,44,0,266,267,5,84,0,0,267,268,3,91,45,0,268,269,3,93,46,0,269,270,5,34,0,0,270,291,1,0,0,0,271,272,5,34,0,0,272,273,3,89,44,0,273,274,5,32,0,0,274,275,3,91,45,0,275,276,3,93,46,0,276,277,5,34,0,0,277,291,1,0,0,0,278,279,5,34,0,0,279,280,3,89,44,0,280,281,5,84,0,0,281,282,3,91,45,0,282,283,5,34,0,0,283,291,1,0,0,0,284,285,5,34,0,0,285,286,3,89,44,0,286,287,5,32,0,0,287,288,3,91,45,0,288,289,5,34,0,0,289,291,1,0,0,0,290,241,1,0,0,0,290,264,1,0,0,0,290,271,1,0,0,0,290,278,1,0,0,0,290,284,1,0,0,0,291,76,1,0,0,0,292,293,5,39,0,0,293,294,3,91,45,0,294,295,5,39,0,0,295,301,1,0,0,0,296,297,5,34,0,0,297,298,3,91,45,0,298,299,5,34,0,0,299,301,1,0,0,0,300,292,1,0,0,0,300,296,1,0,0,0,301,78,1,0,0,0,302,304,3,71,35,0,303,302,1,0,0,0,303,304,1,0,0,0,304,306,1,0,0,0,305,307,3,87,43,0,306,305,1,0,0,0,307,308,1,0,0,0,308,306,1,0,0,0,308,309,1,0,0,0,309,317,1,0,0,0,310,314,5,46,0,0,311,313,3,87,43,0,312,311,1,0,0,0,313,316,1,0,0,0,314,312,1,0,0,0,314,315,1,0,0,0,315,318,1,0,0,0,316,314,1,0,0,0,317,310,1,0,0,0,317,318,1,0,0,0,318,328,1,0,0,0,319,321,5,69,0,0,320,322,7,2,0,0,321,320,1,0,0,0,321,322,1,0,0,0,322,324,1,0,0,0,323,325,3,87,43,0,324,323,1,0,0,0,325,326,1,0,0,0,326,324,1,0,0,0,326,327,1,0,0,0,327,329,1,0,0,0,328,319,1,0,0,0,328,329,1,0,0,0,329,339,1,0,0,0,330,331,5,48,0,0,331,332,5,120,0,0,332,334,1,0,0,0,333,335,3,99,49,0,334,333,1,0,0,0,335,336,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0,337,339,1,0,0,0,338,303,1,0,0,0,338,330,1,0,0,0,339,80,1,0,0,0,340,342,3,71,35,0,341,340,1,0,0,0,341,342,1,0,0,0,342,344,1,0,0,0,343,345,3,87,43,0,344,343,1,0,0,0,345,346,1,0,0,0,346,344,1,0,0,0,346,347,1,0,0,0,347,357,1,0,0,0,348,349,5,48,0,0,349,350,5,120,0,0,350,352,1,0,0,0,351,353,3,99,49,0,352,351,1,0,0,0,353,354,1,0,0,0,354,352,1,0,0,0,354,355,1,0,0,0,355,357,1,0,0,0,356,341,1,0,0,0,356,348,1,0,0,0,357,82,1,0,0,0,358,363,5,39,0,0,359,362,3,95,47,0,360,362,8,3,0,0,361,359,1,0,0,0,361,360,1,0,0,0,362,365,1,0,0,0,363,361,1,0,0,0,363,364,1,0,0,0,364,366,1,0,0,0,365,363,1,0,0,0,366,377,5,39,0,0,367,372,5,34,0,0,368,371,3,95,47,0,369,371,8,4,0,0,370,368,1,0,0,0,370,369,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,372,373,1,0,0,0,373,375,1,0,0,0,374,372,1,0,0,0,375,377,5,34,0,0,376,358,1,0,0,0,376,367,1,0,0,0,377,84,1,0,0,0,378,380,7,5,0,0,379,378,1,0,0,0,380,381,1,0,0,0,381,379,1,0,0,0,381,382,1,0,0,0,382,383,1,0,0,0,383,384,6,42,0,0,384,86,1,0,0,0,385,386,7,6,0,0,386,88,1,0,0,0,387,388,7,6,0,0,388,389,7,6,0,0,389,390,7,6,0,0,390,391,7,6,0,0,391,396,5,45,0,0,392,393,7,7,0,0,393,397,7,8,0,0,394,395,7,9,0,0,395,397,7,10,0,0,396,392,1,0,0,0,396,394,1,0,0,0,397,398,1,0,0,0,398,405,5,45,0,0,399,400,7,11,0,0,400,406,7,7,0,0,401,402,7,10,0,0,402,406,7,8,0,0,403,404,5,51,0,0,404,406,5,49,0,0,405,399,1,0,0,0,405,401,1,0,0,0,405,403,1,0,0,0,406,90,1,0,0,0,407,408,7,12,0,0,408,412,7,6,0,0,409,410,5,50,0,0,410,412,7,13,0,0,411,407,1,0,0,0,411,409,1,0,0,0,412,413,1,0,0,0,413,414,5,58,0,0,414,415,7,14,0,0,415,416,7,6,0,0,416,429,1,0,0,0,417,418,5,58,0,0,418,419,7,14,0,0,419,420,7,6,0,0,420,427,1,0,0,0,421,423,5,46,0,0,422,424,7,6,0,0,423,422,1,0,0,0,424,425,1,0,0,0,425,423,1,0,0,0,425,426,1,0,0,0,426,428,1,0,0,0,427,421,1,0,0,0,427,428,1,0,0,0,428,430,1,0,0,0,429,417,1,0,0,0,429,430,1,0,0,0,430,92,1,0,0,0,431,447,5,90,0,0,432,439,7,2,0,0,433,435,7,12,0,0,434,433,1,0,0,0,434,435,1,0,0,0,435,436,1,0,0,0,436,440,7,6,0,0,437,438,5,50,0,0,438,440,7,13,0,0,439,434,1,0,0,0,439,437,1,0,0,0,440,444,1,0,0,0,441,442,5,58,0,0,442,443,7,14,0,0,443,445,7,6,0,0,444,441,1,0,0,0,444,445,1,0,0,0,445,447,1,0,0,0,446,431,1,0,0,0,446,432,1,0,0,0,447,94,1,0,0,0,448,451,5,92,0,0,449,452,3,97,48,0,450,452,9,0,0,0,451,449,1,0,0,0,451,450,1,0,0,0,452,96,1,0,0,0,453,454,5,117,0,0,454,455,3,99,49,0,455,456,3,99,49,0,456,457,3,99,49,0,457,458,3,99,49,0,458,98,1,0,0,0,459,460,7,15,0,0,460,100,1,0,0,0,35,0,226,239,290,300,303,308,314,317,321,326,328,336,338,341,346,354,356,361,363,370,372,376,381,396,405,411,425,427,429,434,439,444,446,451,1,0,1,0];T.DecisionsToDFA=T._ATN.decisionToState.map((o,e)=>new le.DFA(o,e));var Ua=T;var h=require("@browsery/antlr4");var x=class x extends h.Parser{get grammarFileName(){return"OpraFilter.g4"}get literalNames(){return x.literalNames}get symbolicNames(){return x.symbolicNames}get ruleNames(){return x.ruleNames}get serializedATN(){return x._serializedATN}createFailedPredicateException(e,t){return new h.FailedPredicateException(this,e,t)}constructor(e){super(e),this._interp=new h.ParserATNSimulator(this,x._ATN,x.DecisionsToDFA,new h.PredictionContextCache)}root(){let e=new en(this,this._ctx,this.state);this.enterRule(e,0,x.RULE_root);try{this.enterOuterAlt(e,1),this.state=34,this.expression(0),this.state=35,this.match(x.EOF)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}expression(e){e===void 0&&(e=0);let t=this._ctx,r=this.state,i=new ee(this,this._ctx,r),n=i,s=2;this.enterRecursionRule(i,2,x.RULE_expression,e);let p;try{let c;this.enterOuterAlt(i,1);{switch(this.state=48,this._errHandler.sync(this),this._input.LA(1)){case 35:i=new on(this,i),this._ctx=i,n=i,this.state=38,i._left=this.comparisonLeft(),this.state=39,i._operator=this.comparisonOperator(),this.state=40,i._right=this.comparisonRight();break;case 1:i=new tn(this,i),this._ctx=i,n=i,this.state=42,this.match(x.T__0),this.state=43,this.parenthesizedItem(),this.state=44,this.match(x.T__1);break;case 3:case 4:i=new rn(this,i),this._ctx=i,n=i,this.state=46,p=this._input.LA(1),p===3||p===4?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this),this.state=47,this.expression(1);break;default:throw new h.NoViableAltException(this)}for(this._ctx.stop=this._input.LT(-1),this.state=56,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx);c!==2&&c!==h.ATN.INVALID_ALT_NUMBER;){if(c===1){this._parseListeners!=null&&this.triggerExitRuleEvent(),n=i;{if(i=new jr(this,new ee(this,t,r)),this.pushNewRecursionContext(i,s,x.RULE_expression),this.state=50,!this.precpred(this._ctx,3))throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");this.state=51,i._op=this.logicalOperator(),this.state=52,this.expression(4)}}this.state=58,this._errHandler.sync(this),c=this._interp.adaptivePredict(this._input,1,this._ctx)}}}catch(c){if(c instanceof h.RecognitionException)i.exception=c,this._errHandler.reportError(this,c),this._errHandler.recover(this,c);else throw c}finally{this.unrollRecursionContexts(t)}return i}comparisonLeft(){let e=new pi(this,this._ctx,this.state);this.enterRule(e,4,x.RULE_comparisonLeft);try{this.enterOuterAlt(e,1),this.state=59,this.qualifiedIdentifier()}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}comparisonRight(){let e=new ci(this,this._ctx,this.state);this.enterRule(e,6,x.RULE_comparisonRight);try{switch(this.state=65,this._errHandler.sync(this),this._input.LA(1)){case 10:case 11:case 12:case 13:case 14:case 37:case 38:case 39:case 40:case 42:this.enterOuterAlt(e,1),this.state=61,this.value();break;case 35:this.enterOuterAlt(e,2),this.state=62,this.qualifiedIdentifier();break;case 6:this.enterOuterAlt(e,3),this.state=63,this.externalConstant();break;case 7:this.enterOuterAlt(e,4),this.state=64,this.arrayValue();break;default:throw new h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}parenthesizedItem(){let e=new li(this,this._ctx,this.state);this.enterRule(e,8,x.RULE_parenthesizedItem);try{this.enterOuterAlt(e,1),this.state=67,this.expression(0)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}value(){let e=new Z(this,this._ctx,this.state);this.enterRule(e,10,x.RULE_value);try{switch(this.state=77,this._errHandler.sync(this),this._input.LA(1)){case 40:e=new mn(this,e),this.enterOuterAlt(e,1),this.state=69,this.match(x.NUMBER);break;case 13:case 14:e=new ln(this,e),this.enterOuterAlt(e,2),this.state=70,this.infinity();break;case 10:case 11:e=new fn(this,e),this.enterOuterAlt(e,3),this.state=71,this.boolean_();break;case 12:e=new sn(this,e),this.enterOuterAlt(e,4),this.state=72,this.null_();break;case 38:e=new an(this,e),this.enterOuterAlt(e,5),this.state=73,this.match(x.DATETIME);break;case 37:e=new cn(this,e),this.enterOuterAlt(e,6),this.state=74,this.match(x.DATE);break;case 39:e=new nn(this,e),this.enterOuterAlt(e,7),this.state=75,this.match(x.TIME);break;case 42:e=new pn(this,e),this.enterOuterAlt(e,8),this.state=76,this.match(x.STRING);break;default:throw new h.NoViableAltException(this)}}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}qualifiedIdentifier(){let e=new Cr(this,this._ctx,this.state);this.enterRule(e,12,x.RULE_qualifiedIdentifier);try{let t;this.enterOuterAlt(e,1);{for(this.state=84,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);t!==2&&t!==h.ATN.INVALID_ALT_NUMBER;)t===1&&(this.state=79,this.identifier(),this.state=80,this.match(x.T__4)),this.state=86,this._errHandler.sync(this),t=this._interp.adaptivePredict(this._input,4,this._ctx);this.state=87,this.identifier()}}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}externalConstant(){let e=new fi(this,this._ctx,this.state);this.enterRule(e,14,x.RULE_externalConstant);try{this.enterOuterAlt(e,1),this.state=89,this.match(x.T__5),this.state=90,this.identifier()}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}identifier(){let e=new St(this,this._ctx,this.state);this.enterRule(e,16,x.RULE_identifier);try{this.enterOuterAlt(e,1),this.state=92,this.match(x.IDENTIFIER)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}arrayValue(){let e=new mi(this,this._ctx,this.state);this.enterRule(e,18,x.RULE_arrayValue);let t;try{this.enterOuterAlt(e,1);{for(this.state=94,this.match(x.T__6),this.state=95,this.value(),this.state=100,this._errHandler.sync(this),t=this._input.LA(1);t===8;)this.state=96,this.match(x.T__7),this.state=97,this.value(),this.state=102,this._errHandler.sync(this),t=this._input.LA(1);this.state=103,this.match(x.T__8)}}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}boolean_(){let e=new ui(this,this._ctx,this.state);this.enterRule(e,20,x.RULE_boolean);let t;try{this.enterOuterAlt(e,1),this.state=105,t=this._input.LA(1),t===10||t===11?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}null_(){let e=new di(this,this._ctx,this.state);this.enterRule(e,22,x.RULE_null);try{this.enterOuterAlt(e,1),this.state=107,this.match(x.T__11)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}infinity(){let e=new hi(this,this._ctx,this.state);this.enterRule(e,24,x.RULE_infinity);let t;try{this.enterOuterAlt(e,1),this.state=109,t=this._input.LA(1),t===13||t===14?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}arithmeticOperator(){let e=new un(this,this._ctx,this.state);this.enterRule(e,26,x.RULE_arithmeticOperator);let t;try{this.enterOuterAlt(e,1),this.state=111,t=this._input.LA(1),(t&-32)===0&&(1<<t&491520)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}comparisonOperator(){let e=new yi(this,this._ctx,this.state);this.enterRule(e,28,x.RULE_comparisonOperator);let t;try{this.enterOuterAlt(e,1),this.state=113,t=this._input.LA(1),(t&-32)===0&&(1<<t&2146959360)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}logicalOperator(){let e=new Ti(this,this._ctx,this.state);this.enterRule(e,30,x.RULE_logicalOperator);let t;try{this.enterOuterAlt(e,1),this.state=115,t=this._input.LA(1),(t-31&-32)===0&&(1<<t-31&15)!==0?(this._errHandler.reportMatch(this),this.consume()):this._errHandler.recoverInline(this)}catch(r){if(r instanceof h.RecognitionException)e.exception=r,this._errHandler.reportError(this,r),this._errHandler.recover(this,r);else throw r}finally{this.exitRule()}return e}polarityOperator(){let e=new dn(this,this._ctx,this.state);this.enterRule(e,32,x.RULE_polarityOperator);try{this.enterOuterAlt(e,1),this.state=117,this.match(x.POLAR_OP)}catch(t){if(t instanceof h.RecognitionException)e.exception=t,this._errHandler.reportError(this,t),this._errHandler.recover(this,t);else throw t}finally{this.exitRule()}return e}sempred(e,t,r){switch(t){case 1:return this.expression_sempred(e,r)}return!0}expression_sempred(e,t){switch(t){case 0:return this.precpred(this._ctx,3)}return!0}static get _ATN(){return x.__ATN||(x.__ATN=new h.ATNDeserializer().deserialize(x._serializedATN)),x.__ATN}};a(x,"OpraFilterParser");var m=x;m.T__0=1;m.T__1=2;m.T__2=3;m.T__3=4;m.T__4=5;m.T__5=6;m.T__6=7;m.T__7=8;m.T__8=9;m.T__9=10;m.T__10=11;m.T__11=12;m.T__12=13;m.T__13=14;m.T__14=15;m.T__15=16;m.T__16=17;m.T__17=18;m.T__18=19;m.T__19=20;m.T__20=21;m.T__21=22;m.T__22=23;m.T__23=24;m.T__24=25;m.T__25=26;m.T__26=27;m.T__27=28;m.T__28=29;m.T__29=30;m.T__30=31;m.T__31=32;m.T__32=33;m.T__33=34;m.IDENTIFIER=35;m.POLAR_OP=36;m.DATE=37;m.DATETIME=38;m.TIME=39;m.NUMBER=40;m.INTEGER=41;m.STRING=42;m.WHITESPACE=43;m.EOF=h.Token.EOF;m.RULE_root=0;m.RULE_expression=1;m.RULE_comparisonLeft=2;m.RULE_comparisonRight=3;m.RULE_parenthesizedItem=4;m.RULE_value=5;m.RULE_qualifiedIdentifier=6;m.RULE_externalConstant=7;m.RULE_identifier=8;m.RULE_arrayValue=9;m.RULE_boolean=10;m.RULE_null=11;m.RULE_infinity=12;m.RULE_arithmeticOperator=13;m.RULE_comparisonOperator=14;m.RULE_logicalOperator=15;m.RULE_polarityOperator=16;m.literalNames=[null,"'('","')'","'not'","'!'","'.'","'@'","'['","','","']'","'true'","'false'","'null'","'Infinity'","'infinity'","'+'","'-'","'*'","'/'","'<='","'<'","'>'","'>='","'='","'!='","'in'","'!in'","'like'","'!like'","'ilike'","'!ilike'","'and'","'or'","'&&'","'||'"];m.symbolicNames=[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"IDENTIFIER","POLAR_OP","DATE","DATETIME","TIME","NUMBER","INTEGER","STRING","WHITESPACE"];m.ruleNames=["root","expression","comparisonLeft","comparisonRight","parenthesizedItem","value","qualifiedIdentifier","externalConstant","identifier","arrayValue","boolean","null","infinity","arithmeticOperator","comparisonOperator","logicalOperator","polarityOperator"];m._serializedATN=[4,1,43,120,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,2,15,7,15,2,16,7,16,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,49,8,1,1,1,1,1,1,1,1,1,5,1,55,8,1,10,1,12,1,58,9,1,1,2,1,2,1,3,1,3,1,3,1,3,3,3,66,8,3,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,78,8,5,1,6,1,6,1,6,5,6,83,8,6,10,6,12,6,86,9,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,9,1,9,1,9,1,9,5,9,99,8,9,10,9,12,9,102,9,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,0,1,2,17,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,0,6,1,0,3,4,1,0,10,11,1,0,13,14,1,0,15,18,1,0,19,30,1,0,31,34,117,0,34,1,0,0,0,2,48,1,0,0,0,4,59,1,0,0,0,6,65,1,0,0,0,8,67,1,0,0,0,10,77,1,0,0,0,12,84,1,0,0,0,14,89,1,0,0,0,16,92,1,0,0,0,18,94,1,0,0,0,20,105,1,0,0,0,22,107,1,0,0,0,24,109,1,0,0,0,26,111,1,0,0,0,28,113,1,0,0,0,30,115,1,0,0,0,32,117,1,0,0,0,34,35,3,2,1,0,35,36,5,0,0,1,36,1,1,0,0,0,37,38,6,1,-1,0,38,39,3,4,2,0,39,40,3,28,14,0,40,41,3,6,3,0,41,49,1,0,0,0,42,43,5,1,0,0,43,44,3,8,4,0,44,45,5,2,0,0,45,49,1,0,0,0,46,47,7,0,0,0,47,49,3,2,1,1,48,37,1,0,0,0,48,42,1,0,0,0,48,46,1,0,0,0,49,56,1,0,0,0,50,51,10,3,0,0,51,52,3,30,15,0,52,53,3,2,1,4,53,55,1,0,0,0,54,50,1,0,0,0,55,58,1,0,0,0,56,54,1,0,0,0,56,57,1,0,0,0,57,3,1,0,0,0,58,56,1,0,0,0,59,60,3,12,6,0,60,5,1,0,0,0,61,66,3,10,5,0,62,66,3,12,6,0,63,66,3,14,7,0,64,66,3,18,9,0,65,61,1,0,0,0,65,62,1,0,0,0,65,63,1,0,0,0,65,64,1,0,0,0,66,7,1,0,0,0,67,68,3,2,1,0,68,9,1,0,0,0,69,78,5,40,0,0,70,78,3,24,12,0,71,78,3,20,10,0,72,78,3,22,11,0,73,78,5,38,0,0,74,78,5,37,0,0,75,78,5,39,0,0,76,78,5,42,0,0,77,69,1,0,0,0,77,70,1,0,0,0,77,71,1,0,0,0,77,72,1,0,0,0,77,73,1,0,0,0,77,74,1,0,0,0,77,75,1,0,0,0,77,76,1,0,0,0,78,11,1,0,0,0,79,80,3,16,8,0,80,81,5,5,0,0,81,83,1,0,0,0,82,79,1,0,0,0,83,86,1,0,0,0,84,82,1,0,0,0,84,85,1,0,0,0,85,87,1,0,0,0,86,84,1,0,0,0,87,88,3,16,8,0,88,13,1,0,0,0,89,90,5,6,0,0,90,91,3,16,8,0,91,15,1,0,0,0,92,93,5,35,0,0,93,17,1,0,0,0,94,95,5,7,0,0,95,100,3,10,5,0,96,97,5,8,0,0,97,99,3,10,5,0,98,96,1,0,0,0,99,102,1,0,0,0,100,98,1,0,0,0,100,101,1,0,0,0,101,103,1,0,0,0,102,100,1,0,0,0,103,104,5,9,0,0,104,19,1,0,0,0,105,106,7,1,0,0,106,21,1,0,0,0,107,108,5,12,0,0,108,23,1,0,0,0,109,110,7,2,0,0,110,25,1,0,0,0,111,112,7,3,0,0,112,27,1,0,0,0,113,114,7,4,0,0,114,29,1,0,0,0,115,116,7,5,0,0,116,31,1,0,0,0,117,118,5,36,0,0,118,33,1,0,0,0,6,48,56,65,77,84,100];m.DecisionsToDFA=m._ATN.decisionToState.map((o,e)=>new h.DFA(o,e));var $a=m,hn=class hn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(ee,0)}EOF(){return this.getToken(m.EOF,0)}get ruleIndex(){return m.RULE_root}enterRule(e){e.enterRoot&&e.enterRoot(this)}exitRule(e){e.exitRoot&&e.exitRoot(this)}accept(e){return e.visitRoot?e.visitRoot(this):e.visitChildren(this)}};a(hn,"RootContext");var en=hn,yn=class yn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_expression}copyFrom(e){super.copyFrom(e)}};a(yn,"ExpressionContext");var ee=yn,Tn=class Tn extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}parenthesizedItem(){return this.getTypedRuleContext(li,0)}enterRule(e){e.enterParenthesizedExpression&&e.enterParenthesizedExpression(this)}exitRule(e){e.exitParenthesizedExpression&&e.exitParenthesizedExpression(this)}accept(e){return e.visitParenthesizedExpression?e.visitParenthesizedExpression(this):e.visitChildren(this)}};a(Tn,"ParenthesizedExpressionContext");var tn=Tn,En=class En extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression(){return this.getTypedRuleContext(ee,0)}enterRule(e){e.enterNegativeExpression&&e.enterNegativeExpression(this)}exitRule(e){e.exitNegativeExpression&&e.exitNegativeExpression(this)}accept(e){return e.visitNegativeExpression?e.visitNegativeExpression(this):e.visitChildren(this)}};a(En,"NegativeExpressionContext");var rn=En,_n=class _n extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}comparisonLeft(){return this.getTypedRuleContext(pi,0)}comparisonOperator(){return this.getTypedRuleContext(yi,0)}comparisonRight(){return this.getTypedRuleContext(ci,0)}enterRule(e){e.enterComparisonExpression&&e.enterComparisonExpression(this)}exitRule(e){e.exitComparisonExpression&&e.exitComparisonExpression(this)}accept(e){return e.visitComparisonExpression?e.visitComparisonExpression(this):e.visitChildren(this)}};a(_n,"ComparisonExpressionContext");var on=_n,xn=class xn extends ee{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}expression_list(){return this.getTypedRuleContexts(ee)}expression(e){return this.getTypedRuleContext(ee,e)}logicalOperator(){return this.getTypedRuleContext(Ti,0)}enterRule(e){e.enterLogicalExpression&&e.enterLogicalExpression(this)}exitRule(e){e.exitLogicalExpression&&e.exitLogicalExpression(this)}accept(e){return e.visitLogicalExpression?e.visitLogicalExpression(this):e.visitChildren(this)}};a(xn,"LogicalExpressionContext");var jr=xn,On=class On extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}qualifiedIdentifier(){return this.getTypedRuleContext(Cr,0)}get ruleIndex(){return m.RULE_comparisonLeft}enterRule(e){e.enterComparisonLeft&&e.enterComparisonLeft(this)}exitRule(e){e.exitComparisonLeft&&e.exitComparisonLeft(this)}accept(e){return e.visitComparisonLeft?e.visitComparisonLeft(this):e.visitChildren(this)}};a(On,"ComparisonLeftContext");var pi=On,gn=class gn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value(){return this.getTypedRuleContext(Z,0)}qualifiedIdentifier(){return this.getTypedRuleContext(Cr,0)}externalConstant(){return this.getTypedRuleContext(fi,0)}arrayValue(){return this.getTypedRuleContext(mi,0)}get ruleIndex(){return m.RULE_comparisonRight}enterRule(e){e.enterComparisonRight&&e.enterComparisonRight(this)}exitRule(e){e.exitComparisonRight&&e.exitComparisonRight(this)}accept(e){return e.visitComparisonRight?e.visitComparisonRight(this):e.visitChildren(this)}};a(gn,"ComparisonRightContext");var ci=gn,wn=class wn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}expression(){return this.getTypedRuleContext(ee,0)}get ruleIndex(){return m.RULE_parenthesizedItem}enterRule(e){e.enterParenthesizedItem&&e.enterParenthesizedItem(this)}exitRule(e){e.exitParenthesizedItem&&e.exitParenthesizedItem(this)}accept(e){return e.visitParenthesizedItem?e.visitParenthesizedItem(this):e.visitChildren(this)}};a(wn,"ParenthesizedItemContext");var li=wn,An=class An extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_value}copyFrom(e){super.copyFrom(e)}};a(An,"ValueContext");var Z=An,Rn=class Rn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}TIME(){return this.getToken(m.TIME,0)}enterRule(e){e.enterTimeLiteral&&e.enterTimeLiteral(this)}exitRule(e){e.exitTimeLiteral&&e.exitTimeLiteral(this)}accept(e){return e.visitTimeLiteral?e.visitTimeLiteral(this):e.visitChildren(this)}};a(Rn,"TimeLiteralContext");var nn=Rn,bn=class bn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}null_(){return this.getTypedRuleContext(di,0)}enterRule(e){e.enterNullLiteral&&e.enterNullLiteral(this)}exitRule(e){e.exitNullLiteral&&e.exitNullLiteral(this)}accept(e){return e.visitNullLiteral?e.visitNullLiteral(this):e.visitChildren(this)}};a(bn,"NullLiteralContext");var sn=bn,Dn=class Dn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATETIME(){return this.getToken(m.DATETIME,0)}enterRule(e){e.enterDateTimeLiteral&&e.enterDateTimeLiteral(this)}exitRule(e){e.exitDateTimeLiteral&&e.exitDateTimeLiteral(this)}accept(e){return e.visitDateTimeLiteral?e.visitDateTimeLiteral(this):e.visitChildren(this)}};a(Dn,"DateTimeLiteralContext");var an=Dn,Nn=class Nn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}STRING(){return this.getToken(m.STRING,0)}enterRule(e){e.enterStringLiteral&&e.enterStringLiteral(this)}exitRule(e){e.exitStringLiteral&&e.exitStringLiteral(this)}accept(e){return e.visitStringLiteral?e.visitStringLiteral(this):e.visitChildren(this)}};a(Nn,"StringLiteralContext");var pn=Nn,Sn=class Sn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}DATE(){return this.getToken(m.DATE,0)}enterRule(e){e.enterDateLiteral&&e.enterDateLiteral(this)}exitRule(e){e.exitDateLiteral&&e.exitDateLiteral(this)}accept(e){return e.visitDateLiteral?e.visitDateLiteral(this):e.visitChildren(this)}};a(Sn,"DateLiteralContext");var cn=Sn,Mn=class Mn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}infinity(){return this.getTypedRuleContext(hi,0)}enterRule(e){e.enterInfinityLiteral&&e.enterInfinityLiteral(this)}exitRule(e){e.exitInfinityLiteral&&e.exitInfinityLiteral(this)}accept(e){return e.visitInfinityLiteral?e.visitInfinityLiteral(this):e.visitChildren(this)}};a(Mn,"InfinityLiteralContext");var ln=Mn,vn=class vn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}boolean_(){return this.getTypedRuleContext(ui,0)}enterRule(e){e.enterBooleanLiteral&&e.enterBooleanLiteral(this)}exitRule(e){e.exitBooleanLiteral&&e.exitBooleanLiteral(this)}accept(e){return e.visitBooleanLiteral?e.visitBooleanLiteral(this):e.visitChildren(this)}};a(vn,"BooleanLiteralContext");var fn=vn,Fn=class Fn extends Z{constructor(e,t){super(e,t.parentCtx,t.invokingState),super.copyFrom(t)}NUMBER(){return this.getToken(m.NUMBER,0)}enterRule(e){e.enterNumberLiteral&&e.enterNumberLiteral(this)}exitRule(e){e.exitNumberLiteral&&e.exitNumberLiteral(this)}accept(e){return e.visitNumberLiteral?e.visitNumberLiteral(this):e.visitChildren(this)}};a(Fn,"NumberLiteralContext");var mn=Fn,In=class In extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier_list(){return this.getTypedRuleContexts(St)}identifier(e){return this.getTypedRuleContext(St,e)}get ruleIndex(){return m.RULE_qualifiedIdentifier}enterRule(e){e.enterQualifiedIdentifier&&e.enterQualifiedIdentifier(this)}exitRule(e){e.exitQualifiedIdentifier&&e.exitQualifiedIdentifier(this)}accept(e){return e.visitQualifiedIdentifier?e.visitQualifiedIdentifier(this):e.visitChildren(this)}};a(In,"QualifiedIdentifierContext");var Cr=In,Pn=class Pn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}identifier(){return this.getTypedRuleContext(St,0)}get ruleIndex(){return m.RULE_externalConstant}enterRule(e){e.enterExternalConstant&&e.enterExternalConstant(this)}exitRule(e){e.exitExternalConstant&&e.exitExternalConstant(this)}accept(e){return e.visitExternalConstant?e.visitExternalConstant(this):e.visitChildren(this)}};a(Pn,"ExternalConstantContext");var fi=Pn,Ln=class Ln extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}IDENTIFIER(){return this.getToken(m.IDENTIFIER,0)}get ruleIndex(){return m.RULE_identifier}enterRule(e){e.enterIdentifier&&e.enterIdentifier(this)}exitRule(e){e.exitIdentifier&&e.exitIdentifier(this)}accept(e){return e.visitIdentifier?e.visitIdentifier(this):e.visitChildren(this)}};a(Ln,"IdentifierContext");var St=Ln,kn=class kn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}value_list(){return this.getTypedRuleContexts(Z)}value(e){return this.getTypedRuleContext(Z,e)}get ruleIndex(){return m.RULE_arrayValue}enterRule(e){e.enterArrayValue&&e.enterArrayValue(this)}exitRule(e){e.exitArrayValue&&e.exitArrayValue(this)}accept(e){return e.visitArrayValue?e.visitArrayValue(this):e.visitChildren(this)}};a(kn,"ArrayValueContext");var mi=kn,jn=class jn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_boolean}enterRule(e){e.enterBoolean&&e.enterBoolean(this)}exitRule(e){e.exitBoolean&&e.exitBoolean(this)}accept(e){return e.visitBoolean?e.visitBoolean(this):e.visitChildren(this)}};a(jn,"BooleanContext");var ui=jn,Cn=class Cn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_null}enterRule(e){e.enterNull&&e.enterNull(this)}exitRule(e){e.exitNull&&e.exitNull(this)}accept(e){return e.visitNull?e.visitNull(this):e.visitChildren(this)}};a(Cn,"NullContext");var di=Cn,Un=class Un extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_infinity}enterRule(e){e.enterInfinity&&e.enterInfinity(this)}exitRule(e){e.exitInfinity&&e.exitInfinity(this)}accept(e){return e.visitInfinity?e.visitInfinity(this):e.visitChildren(this)}};a(Un,"InfinityContext");var hi=Un,$n=class $n extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_arithmeticOperator}enterRule(e){e.enterArithmeticOperator&&e.enterArithmeticOperator(this)}exitRule(e){e.exitArithmeticOperator&&e.exitArithmeticOperator(this)}accept(e){return e.visitArithmeticOperator?e.visitArithmeticOperator(this):e.visitChildren(this)}};a($n,"ArithmeticOperatorContext");var un=$n,qn=class qn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_comparisonOperator}enterRule(e){e.enterComparisonOperator&&e.enterComparisonOperator(this)}exitRule(e){e.exitComparisonOperator&&e.exitComparisonOperator(this)}accept(e){return e.visitComparisonOperator?e.visitComparisonOperator(this):e.visitChildren(this)}};a(qn,"ComparisonOperatorContext");var yi=qn,Bn=class Bn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}get ruleIndex(){return m.RULE_logicalOperator}enterRule(e){e.enterLogicalOperator&&e.enterLogicalOperator(this)}exitRule(e){e.exitLogicalOperator&&e.exitLogicalOperator(this)}accept(e){return e.visitLogicalOperator?e.visitLogicalOperator(this):e.visitChildren(this)}};a(Bn,"LogicalOperatorContext");var Ti=Bn,Kn=class Kn extends h.ParserRuleContext{constructor(e,t,r){super(t,r),this.parser=e}POLAR_OP(){return this.getToken(m.POLAR_OP,0)}get ruleIndex(){return m.RULE_polarityOperator}enterRule(e){e.enterPolarityOperator&&e.enterPolarityOperator(this)}exitRule(e){e.exitPolarityOperator&&e.exitPolarityOperator(this)}accept(e){return e.visitPolarityOperator?e.visitPolarityOperator(this):e.visitChildren(this)}};a(Kn,"PolarityOperatorContext");var dn=Kn;var qa=require("@browsery/antlr4");var Vn=class Vn extends k{constructor(e){super(""+e)}toString(){return"@"+super.toString()}};a(Vn,"ExternalConstant");var Ei=Vn;var Wn=class Wn extends qa.ParseTreeVisitor{constructor(e){super(),this._timeZone=e==null?void 0:e.timeZone}visitChildren(e){let t=super.visitChildren(e);return Array.isArray(t)&&t.length<2?t[0]:t??e.getText()}defaultResult(){}visitRoot(e){return this.visit(e.expression())}visitParenthesizedExpression(e){let t=this.visit(e.parenthesizedItem());return new Re(t)}visitParenthesizedItem(e){return this.visit(e.expression())}visitNegativeExpression(e){let t=this.visit(e.expression());return new Pr(t)}visitComparisonExpression(e){return new Ee({op:e.comparisonOperator().getText(),left:this.visit(e.comparisonLeft()),right:this.visit(e.comparisonRight())})}visitLogicalExpression(e){let t=[],r=a((i,n)=>{for(let s of i){if(s instanceof jr&&s.logicalOperator().getText()===n){r(s.expression_list(),s.logicalOperator().getText());continue}let p=this.visit(s);t.push(p)}},"wrapChildren");return r(e.expression_list(),e.logicalOperator().getText()),new _e({op:e.logicalOperator().getText(),items:t})}visitQualifiedIdentifier(e){return new ce(e.getText())}visitExternalConstant(e){return new Ei(e.identifier().getText())}visitNullLiteral(){return new mt}visitBooleanLiteral(e){return new ft(e.getText()==="true")}visitNumberLiteral(e){return new be(e.getText())}visitStringLiteral(e){return new ut(Lr(e.getText()))}visitInfinityLiteral(){return new be(1/0)}visitDateLiteral(e){return new ke(Lr(e.getText()))}visitDateTimeLiteral(e){return new kr(Lr(e.getText()))}visitTimeLiteral(e){return new dt(Lr(e.getText()))}visitArrayValue(e){return new Ae(e.value_list().map(t=>this.visit(t)))}};a(Wn,"FilterTreeVisitor");var Ur=Wn;var Ba=require("@browsery/antlr4");var zn=class zn extends Ba.ErrorListener{constructor(e){super(),this.errors=e}syntaxError(e,t,r,i,n,s){this.errors.push(new si(n,{recognizer:e,offendingSymbol:t,line:r,column:i,e:s}))}};a(zn,"OpraErrorListener");var $r=zn;function Jn(o,e){let t=new _i.CharStream(o),r=new Ua(t),i=new _i.CommonTokenStream(r),n=new $a(i);n.buildParseTrees=!0;let s=[],p=new $r(s);r.removeErrorListeners(),r.addErrorListener(p),n.removeErrorListeners(),n.addErrorListener(p);let c=n.root();if(s.length){let l=[];for(let R of s)l.push(R.message+(o.includes(`
8
+ `)?" at line: "+R.line+" column: "+R.column:" at column: "+R.column));let O=new ni(l.join(`
9
+ `));throw O.errors=s,O}return e=e||new Ur,e.visit(c)}a(Jn,"parse");var Yn=class Yn{constructor(e,t){if(this._rules=new S,this._decoderCache=new WeakMap,Object.defineProperty(this,"_rules",{value:new S(null,{caseSensitive:t==null?void 0:t.caseSensitive}),enumerable:!1}),e)for(let[r,i]of Object.entries(e))this.set(r,i)}set(e,t){let r=typeof(t==null?void 0:t.operators)=="string"?t.operators.split(/\s*[,| ]\s*/):t==null?void 0:t.operators;this._rules.set(e,(0,Ka.omitUndefined)({...t,operators:r}))}normalizeFilter(e,t,r){let i=typeof e=="string"?Jn(e):e;return this.normalizeFilterAst(i,[],t,r)}normalizeFilterAst(e,t,r,i){if(e instanceof Ee){if(t.push(e),this.normalizeFilterAst(e.left,t,r),!(e.left instanceof ce&&e.left.field))throw new TypeError("Invalid filter query. Left side should be a data field.");let n=this._rules.get(e.left.value);if(!n)throw new ye({message:`Field '${e.left.value}' is not available for filter operation`,code:"UNACCEPTED_FILTER_FIELD",details:{field:e.left.value}});if(n.operators&&!n.operators.includes(e.op))throw new ye({message:`'${e.left.value}' field do not accept '${e.op}' filter operator`,code:"UNACCEPTED_FILTER_OPERATION",details:{field:e.left.value,operator:e.op}});return n.mappedField&&(e.left.value=n.mappedField),n.prepare&&(e.prepare=n.prepare),this.normalizeFilterAst(e.right,t,r),t.pop(),e}if(e instanceof _e)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof lt)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n.expression,t,r)),t.pop(),e;if(e instanceof Ae)return t.push(e),e.items.forEach(n=>this.normalizeFilterAst(n,t,r)),t.pop(),e;if(e instanceof Re)return t.push(e),this.normalizeFilterAst(e.expression,t,r),t.pop(),e;if(e instanceof ce&&r)return e.value=r.normalizeFieldPath(e.value,{scope:i}),e.field=r.getField(e.value,i),e.dataType=e.field.type,e;if(e instanceof k){let n=t.findLastIndex(s=>s instanceof Ee);if(n>=0){let s=t[n];if((e===s.right||t[n+1]===s.right)&&s&&s.left instanceof ce&&s.left.field){if(e.value==null&&!s.left.field.required)return e.value;let p;s.op==="like"||s.op==="!like"||s.op==="ilike"||s.op==="!ilike"?p=Va.isString:p=this._decoderCache.get(s.left.field),p||(p=s.left.field.generateCodec("decode",{scope:i,projection:"*",ignoreReadonlyFields:!0,coerce:!0}),this._decoderCache.set(s.left.field,p)),e.value=p(e.value,{coerce:!0})}}}return e}toJSON(){return this._rules.toObject()}[Symbol.iterator](){return this._rules.entries()}};a(Yn,"FilterRules");var Mt=Yn;var Xa=Rt(require("object-hash"),1),Za=require("ts-gems"),V=require("valgen");var N0=require("reflect-metadata"),Qa=require("@jsopen/objects"),Ga=require("ts-gems"),Vr=require("valgen");var f={};Rr(f,{ArrayType:()=>vt,ComplexType:()=>Ft,EnumType:()=>It,HttpController:()=>qr,HttpOperation:()=>Qn,MQController:()=>Gn,MQOperation:()=>Xn,MappedType:()=>Pt,MixinType:()=>Lt,SimpleType:()=>kt,SpecVersion:()=>ph,UnionType:()=>jt,WSController:()=>Zn,WSOperation:()=>Hn,isArrayType:()=>Gc,isComplexType:()=>Vc,isDataType:()=>Kc,isEnumType:()=>Yc,isHttpController:()=>Xc,isMappedType:()=>Jc,isMixinType:()=>zc,isSimpleType:()=>Wc,isUnionType:()=>Qc});var ph="1.0";var vt;(function(o){o.Kind="ArrayType"})(vt||(vt={}));var Ft;(function(o){o.Kind="ComplexType"})(Ft||(Ft={}));var It;(function(o){o.Kind="EnumType"})(It||(It={}));var Pt;(function(o){o.Kind="MappedType"})(Pt||(Pt={}));var Lt;(function(o){o.Kind="MixinType"})(Lt||(Lt={}));var kt;(function(o){o.Kind="SimpleType"})(kt||(kt={}));var jt;(function(o){o.Kind="UnionType"})(jt||(jt={}));var qr;(function(o){o.Kind="HttpController"})(qr||(qr={}));var Qn;(function(o){o.Kind="HttpOperation"})(Qn||(Qn={}));var Gn;(function(o){o.Kind="MQController"})(Gn||(Gn={}));var Xn;(function(o){o.Kind="MQOperation"})(Xn||(Xn={}));function Kc(o){return o&&typeof o=="object"&&(o.kind===vt.Kind||o.kind===Ft.Kind||o.kind===It.Kind||o.kind===Pt.Kind||o.kind===kt.Kind||o.kind===Lt.Kind||o.kind===jt.Kind)}a(Kc,"isDataType");function Vc(o){return o&&typeof o=="object"&&o.kind===Ft.Kind}a(Vc,"isComplexType");function Wc(o){return o&&typeof o=="object"&&o.kind===kt.Kind}a(Wc,"isSimpleType");function zc(o){return o&&typeof o=="object"&&o.kind===Lt.Kind}a(zc,"isMixinType");function Jc(o){return o&&typeof o=="object"&&o.kind===Pt.Kind}a(Jc,"isMappedType");function Yc(o){return o&&typeof o=="object"&&o.kind===It.Kind}a(Yc,"isEnumType");function Qc(o){return o&&typeof o=="object"&&o.kind===jt.Kind}a(Qc,"isUnionType");function Gc(o){return o&&typeof o=="object"&&o.kind===vt.Kind}a(Gc,"isArrayType");function Xc(o){return o&&typeof o=="object"&&o.kind===qr.Kind}a(Xc,"isHttpController");var Zn;(function(o){o.Kind="WSController"})(Zn||(Zn={}));var Hn;(function(o){o.Kind="WSOperation"})(Hn||(Hn={}));var Ja=require("@jsopen/objects"),Ya=require("ts-gems");var Wa=require("ts-gems"),za=require("uid");var es=class es{constructor(e,t){this.element=e,this.parent=t}getDocument(){if(this._document)return this._document;if(this.element[we])return this.element;if(this.parent)return this._document=this.parent.getDocument();throw new Error("ApiDocument not found in document tree")}hasDataType(e,t){return!!this.findDataType(e,t)}findDataType(e,t){var i;let r=(i=this[L])==null?void 0:i.get(e);return r&&r.inScope(t)?r:this.parent?this.parent.findDataType(e,t):void 0}getDataType(e,t){let r=this.findDataType(e,t);if(r)return r;let i="";if(typeof e=="function")i=Reflect.getMetadata(d,e).name;else if(typeof e=="object"){let n=e[d];i=n==null?void 0:n.name}throw i||(e&&typeof e=="string"?i=e:typeof e=="function"&&(i=e.name)),r?new TypeError(`Data type${i?" ("+i+")":""} is not in requested scope (${t})`):new TypeError(`Unknown data type${i?" ("+i+")":""}`)}getDataTypeNameWithNs(e){if(!e.name)return;let t=this.getDocument().getDataTypeNs(e);return t?t+":"+e.name:e.name}getArrayType(e,t){let r=this.getDataType(e,t);if(r.kind===f.ArrayType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getComplexType(e,t){let r=this.getDataType(e,t);if(r.kind===f.ComplexType.Kind)return r;throw new TypeError(`Data type "${r.name}" is not a ComplexType`)}getSimpleType(e,t){let r=this.getDataType(e,t);if(r.kind===f.SimpleType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a SimpleType`)}getEnumType(e,t){let r=this.getDataType(e,t);if(r.kind===f.EnumType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a EnumType`)}getMappedType(e,t){let r=this.getDataType(e,t);if(r.kind===f.MappedType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MappedType`)}getMixinType(e,t){let r=this.getDataType(e,t);if(r.kind===f.MixinType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a MixinType`)}getUnionType(e,t){let r=this.getDataType(e,t);if(r.kind===f.UnionType.Kind)return r;throw new TypeError(`Data type "${r.name||r}" is not a UnionType`)}};a(es,"DocumentNode");var Br=es;var A=a(function(o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let e=(0,Wa.asMutable)(this);e.id=(0,za.uid)(16),Object.defineProperty(e,"node",{value:new Br(this,o==null?void 0:o.node),enumerable:!1,writable:!0}),o&&Object.defineProperty(e,"owner",{value:o,enumerable:!1,writable:!0})},"DocumentElement"),rs=class rs{};a(rs,"DocumentElementClass");var ts=rs;A.prototype=ts.prototype;var je=Symbol.for("nodejs.util.inspect.custom"),De="\x1B[0m",Ce="\x1B[33m",Ue="\x1B[35m";function Kr(o,e){return!e||o==="*"?!0:o?Array.isArray(e)?e.some(t=>typeof t=="string"?o===t:t.test(o)):typeof e=="string"?o===e:e.test(o):!1}a(Kr,"testScopeMatch");var E=a(function(o,e,t){if(!this)throw new TypeError('"this" should be passed to call class constructor');if(e!=null&&e.name&&!P.test(e.name))throw new TypeError(`"${e.name}" is not a valid DataType name`);A.call(this,o);let r=(0,Ya.asMutable)(this);r.kind=e.kind,r.scopePattern=e.scopePattern?Array.isArray(e.scopePattern)?e.scopePattern:[e.scopePattern]:void 0,r.name=e.name,r.description=e.description,r.abstract=e.abstract,r.examples=e.examples},"DataType"),os=class os extends A{get embedded(){return!this.name}inScope(e){return Kr(e,this.scopePattern)}toJSON(e){let t=this._locateBase(r=>!r.inScope(e==null?void 0:e.scope));if(t){let r=this.node.getDataTypeNameWithNs(t);throw new TypeError(`"${r}" model is not available for "${(e==null?void 0:e.scope)||"null"}" scope`)}return(0,Ja.omitUndefined)({kind:this.kind,description:this.description,abstract:this.abstract,examples:this.examples})}toString(){return`[${Object.getPrototypeOf(this).constructor.name} ${this.name||"#Embedded"}]`}[je](){return`[${Ce+Object.getPrototypeOf(this).constructor.name+De} ${Ue+this.name+De}]`}};a(os,"DataTypeClass");var is=os;E.prototype=is.prototype;var de=a(function(...o){if(!this)return de[w].apply(void 0,o);let[e,t,r]=o;E.call(this,e,t,r);let i=(0,Ga.asMutable)(this);i.kind=f.ArrayType.Kind,i.type=t.type,i.minOccurs=t.minOccurs,i.maxOccurs=t.maxOccurs},"ArrayType"),ss=class ss extends E{toJSON(e){let t=super.toJSON(e),r=this.node.getDataTypeNameWithNs(this.type);return(0,Qa.omitUndefined)({...t,kind:this.kind,type:r||this.type.toJSON(e),minOccurs:this.minOccurs,maxOccurs:this.maxOccurs})}generateCodec(e,t,r){let i=this.type.generateCodec(e,t,r);i=Vr.vg.isArray(i);let n=[];return this.minOccurs&&n.push(Vr.vg.lengthMin(this.minOccurs)),this.maxOccurs&&n.push(Vr.vg.lengthMax(this.maxOccurs)),n.length>0?Vr.vg.pipe([i,...n],{returnIndex:0}):i}extendsFrom(){return!1}_locateBase(){}};a(ss,"ArrayTypeClass");var ns=ss;de.prototype=ns.prototype;de[w]=Zc;function Zc(o,e){let i=class i{};a(i,"ArrayClass");let t=i,r={...e,kind:f.ArrayType.Kind,type:o};return Reflect.defineMetadata(d,r,t),t}a(Zc,"ArrayTypeFactory");var Ct=/^([+-])?([a-z$_][\w.]*)$/i,q=a(function(...o){if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;E.call(this,e,t,r);let i=(0,Za.asMutable)(this);i._fields=new S},"ComplexTypeBase"),ps=class ps extends E{fieldCount(e){if(e==="*")return this._fields.size;let t=0;for(let r of this.fields(e))t++;return t}fieldEntries(e){let t=this._fields.entries();if(e==="*")return t;let r;return{next(){for(;t&&(r=t.next(),!(r.done||r.value&&r.value[1].inScope(e))););return r.done?{done:r.done,value:void 0}:{done:r.done,value:[r.value[0],r.value[1].forScope(e)]}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fields(e){let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[1]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}fieldNames(e){if(e==="*")return this._fields.keys();let t=this.fieldEntries(e),r;return{next(){var i;return t?(r=t.next(),{done:r.done,value:(i=r.value)==null?void 0:i[0]}):{done:!0,value:void 0}},return(i){return t=void 0,{done:!0,value:i}},[Symbol.iterator](){return this}}}findField(e,t){if(e.includes(".")){let i=this.parseFieldPath(e,{scope:t});if(i.length===0)throw new Error(`Field "${e}" does not exist in scope "${t}"`);let n=i.pop();return n==null?void 0:n.field}let r=this._fields.get(e);if(r&&r.inScope(t))return r.forScope(t)}getField(e,t){let r=this.findField(e,"*");if(r&&!r.inScope(t))throw new Error(`Field "${e}" does not exist in scope "${t||"null"}"`);if(!r)throw new Error(`Field (${e}) does not exist`);return r.forScope(t)}parseFieldPath(e,t){var R,y,z;let r=this,i,n=e.split("."),s=n.length,p=[],c=this.owner.node.getDataType("object"),l=t==null?void 0:t.allowSigns,O=a(()=>p.map(U=>U.fieldName).join("."),"getStrPath");for(let U=0;U<s;U++){let J={fieldName:n[U],dataType:c};p.push(J);let pt=Ct.exec(n[U]);if(!pt)throw new TypeError(`Invalid field name (${O()})`);if(pt[1]&&((U===0&&l==="first"||l==="each")&&(J.sign=pt[1]),J.fieldName=pt[2]),r){if(r instanceof q){if(i=r.findField(J.fieldName,t==null?void 0:t.scope),i){J.fieldName=i.name,J.field=i,J.dataType=i.type,r=i.type;continue}if(((R=r.additionalFields)==null?void 0:R[0])===!0){J.additionalField=!0,J.dataType=c,r=void 0;continue}if(((y=r.additionalFields)==null?void 0:y[0])==="type"&&((z=r.additionalFields)==null?void 0:z[1])instanceof E){J.additionalField=!0,J.dataType=r.additionalFields[1],r=r.additionalFields[1];continue}throw new Error(`Unknown field (${p.map(Yi=>Yi.fieldName).join(".")})`)}throw new TypeError(`"${p.map(Yi=>Yi.fieldName).join(".")}" field is not a complex type and has no child fields`)}J.additionalField=!0,J.dataType=c}return p}normalizeFieldPath(e,t){return this.parseFieldPath(e,t).map(r=>(r.sign||"")+r.fieldName).join(".")}generateCodec(e,t){var p;let r=t!=null&&t.cache?t:{...t,projection:Array.isArray(t==null?void 0:t.projection)?Do(t.projection):t==null?void 0:t.projection,currentPath:""},i=this._generateSchema(e,r),n;if(this.additionalFields instanceof E)n=this.additionalFields.generateCodec(e,t);else if(typeof this.additionalFields=="boolean")n=this.additionalFields;else if(Array.isArray(this.additionalFields))if(this.additionalFields.length<2)n="error";else{let c=n[1];n=(0,V.validator)((l,O,R)=>O.fail(R,c,l))}let s=V.vg.isObject(i,{ctor:this.name==="object"?Object:this.ctor,additionalFields:n,name:this.name,coerce:!0,caseInSensitive:t==null?void 0:t.caseInSensitive,onFail:t==null?void 0:t.onFail});if(r.level===0&&((p=r.forwardCallbacks)!=null&&p.size))for(let c of r.forwardCallbacks)c();return s}_generateSchema(e,t){var c;t.fieldCache=t.fieldCache||new Map,t.level=t.level||0,t.forwardCallbacks=t.forwardCallbacks||new Set;let r={},{currentPath:i,projection:n}=t,s=!!(n&&Object.values(n).find(l=>!l.sign)),p;for(let l of this.fields("*")){if(!l.inScope(t.scope)||!(t.keepKeyFields&&this.keyField)&&(t.ignoreReadonlyFields&&l.readonly||t.ignoreWriteonlyFields&&l.writeonly)){r[l.name]=V.vg.isUndefined({coerce:!0});continue}p=l.name;let O;if(n!=="*"&&(O=n==null?void 0:n[p.toLowerCase()],(O==null?void 0:O.sign)==="-"||s&&!O||!s&&l.exclusive&&!O)){r[l.name]=V.vg.isUndefined({coerce:!0});continue}let R=typeof n=="object"?((c=n[p])==null?void 0:c.projection)||"*":n,y=t.fieldCache.get(l),z=typeof R=="string"?R:(0,Xa.default)(R||{});y||(y={},t.fieldCache.set(l,y));let U=y[z];if(U===null)U=V.vg.isAny(),t.forwardCallbacks.add(()=>{U=y[z],r[p]=t.partial||!l.required?V.vg.optional(U):V.vg.required(U)});else if(!U){let J=a(()=>{y[z]=null;let pt=this._generateFieldCodec(e,l,{...t,partial:t.partial==="deep"?t.partial:void 0,projection:R,currentPath:i+(i?".":"")+p});return y[z]=pt,pt},"defaultGenerator");t.fieldHook?U=t.fieldHook(l,t.currentPath,J):U=J()}r[p]=t.partial||!(l.required||U.id==="required")?V.vg.optional(U):U.id==="required"?U:V.vg.required(U)}return t.allowPatchOperators&&(r._$pull=V.vg.optional(V.vg.isAny()),r._$push=V.vg.optional(V.vg.isAny())),r}_generateFieldCodec(e,t,r){let i=t.generateCodec(e,{...r,level:r.level+1});return t.fixed&&(i=V.vg.isEqual(t.fixed)),t.isArray&&!(t.type instanceof de)&&(i=V.vg.isArray(i)),i}};a(ps,"ComplexTypeBaseClass");var as=ps;q.prototype=as.prototype;var U0=require("reflect-metadata"),xi=require("@jsopen/objects"),Ha=require("ts-gems"),ep=require("valgen");var te=a(function(...o){if(!this)return te[w].apply(void 0,o);let[e,t,r]=o;E.call(this,e,t,r);let i=(0,Ha.asMutable)(this);if(i.kind=f.EnumType.Kind,t.base){if(!(t.base instanceof te))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${i.kind}"`);i.base=t.base}i.instance=t.instance,i.ownAttributes=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{};for(let[n,s]of Object.entries(i.ownAttributes))i.attributes[n]=s},"EnumType"),cs=class cs extends E{extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof te?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(){return ep.vg.isEnum(Object.keys(this.attributes))}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,xi.omitUndefined)({...t,kind:this.kind,base:r,attributes:I(this.ownAttributes)})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(cs,"EnumTypeClass");var Wr=cs;te.prototype=Wr.prototype;Object.assign(te,Wr);function Hc(o,...e){let t=e.length>=2?e[0]:void 0,r=e.length>=2?e[1]:e[0],i={},n=o;if(Array.isArray(o)){if(t){if(!Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be array');n=[...t,...o]}i={},o.forEach(p=>{var l;if(!isNaN(Number(p)))return;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[p]=(0,xi.omitUndefined)({description:c})})}else{if(t){if(Array.isArray(t))throw new TypeError('Both "target" and "base" arguments should be enum object');n={...t,...o}}Object.keys(o).forEach(p=>{var l;if(!isNaN(Number(p)))return;let c=(l=r==null?void 0:r.meanings)==null?void 0:l[p];i[o[p]]=(0,xi.omitUndefined)({alias:p,description:c})})}let s={kind:f.EnumType.Kind,attributes:i,base:r==null?void 0:r.base,name:r==null?void 0:r.name,description:r==null?void 0:r.description};return Object.defineProperty(o,d,{value:s,enumerable:!1,configurable:!0,writable:!0}),n}a(Hc,"EnumTypeFactory");te.prototype=Wr.prototype;te[w]=Hc;var Ss={};Rr(Ss,{Base64Type:()=>Oi,DateTimeType:()=>Kt,DateTimeTypeTz:()=>Wt,DateType:()=>qt,EmailType:()=>re,FieldPathType:()=>Y,FilterType:()=>We,ObjectIdType:()=>Ai,OperationResult:()=>oe,PartialDateType:()=>tr,TimeType:()=>ir,UrlType:()=>bi,UuidType:()=>Jr});var gi=require("tslib"),Oe=require("valgen");var G0=require("reflect-metadata"),fs=require("@jsopen/objects"),rp=require("ts-gems"),ms=require("valgen");function ls(o){let e=[],t=a(function(r){let i;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!P.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);i=o.name}else i=r.name,i=i.toLowerCase();let n=Reflect.getOwnMetadata(d,r)||{};o&&Object.assign(n,o),n.kind=f.SimpleType.Kind,n.name=i,Reflect.defineMetadata(d,n,r);for(let s of e)s(n,r)},"decorator");return t.Example=(r,i)=>(e.push(n=>{n.examples=n.examples||[],n.examples.push({description:i,value:r})}),t),t}a(ls,"SimpleTypeDecoratorFactory");function tp(o){return(e,t)=>{if(typeof t!="string")throw new TypeError("Symbol properties can't be decorated with Attribute");let r=Reflect.getOwnMetadata(d,e.constructor)||{},i=Reflect.getMetadata("design:type",e,t),n="string";i===Boolean?n="boolean":i===Number&&(n="number"),r.kind=f.SimpleType.Kind,r.attributes=r.attributes||{},r.attributes[t]={format:(o==null?void 0:o.format)||n,description:o==null?void 0:o.description,deprecated:o==null?void 0:o.deprecated},Reflect.defineMetadata(d,r,e.constructor)}}a(tp,"AttributeDecoratorFactory");var u=a(function(...o){var n,s;if(!this)return u[w](...o);let[e,t,r]=o;E.call(this,e,t,r);let i=(0,rp.asMutable)(this);if(i.kind=f.SimpleType.Kind,t.base){if(!(t.base instanceof u))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base}if(i.properties=t.properties,i.ownNameMappings={...t.nameMappings},i.nameMappings={...(n=i.base)==null?void 0:n.nameMappings,...t.nameMappings},i.ownAttributes=I(t.attributes||{}),i.attributes=i.base?I(i.base.attributes):{},i.ownAttributes)for(let[p,c]of Object.entries(i.ownAttributes)){if((s=i.attributes[p])!=null&&s.sealed)throw new TypeError(`Sealed attribute "${p}" can not be overwritten`);i.attributes[p]=c}i._generateDecoder=t.generateDecoder,i._generateEncoder=t.generateEncoder},"SimpleType"),ds=class ds extends E{extend(e){return Object.setPrototypeOf(e,this),e}extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof u?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}generateCodec(e,t,r){let i={...this.properties,...r};if(e==="decode"){let s=this;for(;s;){if(s._generateDecoder)return s._generateDecoder(i,{dataType:this,element:(t==null?void 0:t.documentElement)||this.owner,scope:t==null?void 0:t.scope});s=this.base}return ms.isAny}let n=this;for(;n;){if(n._generateEncoder)return n._generateEncoder(i,{dataType:this,element:(t==null?void 0:t.documentElement)||this.owner,scope:t==null?void 0:t.scope});n=this.base}return ms.isAny}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i=(0,fs.omitUndefined)(this.ownAttributes),n;this.properties&&typeof this.properties.toJSON=="function"?n=this.properties.toJSON(this.properties,this.owner,e):n=this.properties?I(this.properties):{};let s={...t,kind:this.kind,base:r,attributes:i&&Object.keys(i).length?i:void 0,properties:Object.keys(n).length?n:void 0};return Object.keys(this.ownNameMappings).length&&(s.nameMappings={...this.ownNameMappings}),(0,fs.omitUndefined)(s,!0)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(ds,"SimpleTypeClass");var us=ds;u.prototype=us.prototype;Object.assign(u,ls);u[w]=ls;u.Attribute=tp;var Ut,Oi=(Ut=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t=Oe.vg.isBase64({coerce:!0});return e.designType===Buffer?Oe.vg.pipe([t,el],{coerce:!0}):e.designType===Uint8Array?Oe.vg.pipe([t,tl],{coerce:!0}):t}[g](){return rl}},a(Ut,"Base64Type"),Ut);Oi=(0,gi.__decorate)([u({name:"base64",description:"A stream of bytes, base64 encoded",nameMappings:{js:"string",json:"string"}}),(0,gi.__metadata)("design:paramtypes",[Object])],Oi);var el=(0,Oe.validator)(o=>Buffer.from(o,"base64")),tl=(0,Oe.validator)(o=>new Uint8Array(Buffer.from(o,"base64"))),rl=(0,Oe.validator)(o=>Buffer.isBuffer(o)?o.toString("base64"):(0,Oe.isBase64)(o));var $e=require("tslib"),Ne=require("valgen");var ip=Ne.vg.isDateString({precisionMin:"day",trim:"day",coerce:!0}),il=Ne.vg.isDate({trim:"day",coerce:!0}),$t,qt=($t=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t;e.designType===Date?t=il:t=ip;let r=[t];return e.minValue!=null&&r.push(Ne.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ne.vg.isLte(t(e.maxValue))),r.length>0?Ne.vg.pipe(r,{returnIndex:0}):t}[g](e){let t=ip,r=[t];return e.minValue!=null&&r.push(Ne.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Ne.vg.isLte(t(e.maxValue))),r.length>0?Ne.vg.pipe(r,{returnIndex:0}):t}},a($t,"DateType"),$t);(0,$e.__decorate)([u.Attribute({description:"Minimum value"}),(0,$e.__metadata)("design:type",String)],qt.prototype,"minValue",void 0);(0,$e.__decorate)([u.Attribute({description:"Maximum value"}),(0,$e.__metadata)("design:type",String)],qt.prototype,"maxValue",void 0);qt=(0,$e.__decorate)([u({name:"date",description:"A date without time",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18","Full date value"),(0,$e.__metadata)("design:paramtypes",[Object])],qt);var qe=require("tslib"),Se=require("valgen");var op=Se.vg.isDateString({precisionMin:"day",trim:"tz",coerce:!0}),ol=Se.vg.isDate({coerce:!0}),Bt,Kt=(Bt=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t;e.designType===Date?t=ol:t=op;let r=[t];return e.minValue!=null&&r.push(Se.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Se.vg.isLte(t(e.maxValue))),r.length>0?Se.vg.pipe(r,{returnIndex:0}):t}[g](e){let t=op,r=[t];return e.minValue!=null&&r.push(Se.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Se.vg.isLte(t(e.maxValue))),r.length>0?Se.vg.pipe(r,{returnIndex:0}):t}},a(Bt,"DateTimeType"),Bt);(0,qe.__decorate)([u.Attribute({description:"Minimum value"}),(0,qe.__metadata)("design:type",String)],Kt.prototype,"minValue",void 0);(0,qe.__decorate)([u.Attribute({description:"Maximum value"}),(0,qe.__metadata)("design:type",String)],Kt.prototype,"maxValue",void 0);Kt=(0,qe.__decorate)([u({name:"datetime",description:"A full datetime value",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15").Example("2021-04-18 22:30:15").Example("2021-04-18 22:30"),(0,qe.__metadata)("design:paramtypes",[Object])],Kt);var Ke=require("tslib"),Be=require("valgen");var np=Be.vg.isDateString({precisionMin:"tz",coerce:!0}),Vt,Wt=(Vt=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t=np,r=[t];return e.minValue!=null&&r.push(Be.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Be.vg.isLte(t(e.maxValue))),r.length>0?Be.vg.pipe(r,{returnIndex:0}):t}[g](e){let t=np,r=[t];return e.minValue!=null&&r.push(Be.vg.isGte(t(e.minValue))),e.maxValue!=null&&r.push(Be.vg.isLte(t(e.maxValue))),r.length>0?Be.vg.pipe(r,{returnIndex:0}):t}},a(Vt,"DateTimeTypeTz"),Vt);(0,Ke.__decorate)([u.Attribute({description:"Minimum value"}),(0,Ke.__metadata)("design:type",String)],Wt.prototype,"minValue",void 0);(0,Ke.__decorate)([u.Attribute({description:"Maximum value"}),(0,Ke.__metadata)("design:type",String)],Wt.prototype,"maxValue",void 0);Wt=(0,Ke.__decorate)([u({name:"datetimetz",description:"A full datetime value with time zone information",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15+03:00"),(0,Ke.__metadata)("design:paramtypes",[Object])],Wt);var j=require("tslib"),hs=require("valgen");var zt,re=(zt=class{constructor(e){e&&Object.assign(this,e)}[_](e){return hs.vg.isEmail({...e,coerce:!0})}[g](e){return hs.vg.isEmail({...e,coerce:!0})}},a(zt,"EmailType"),zt);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will also match `Display Name <email-address>",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"allowDisplayName",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will reject strings without the format `Display Name <email-address>",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"requireDisplayName",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `false`, the validator will not allow any non-English UTF8 character in email address's local part",default:!0}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"utf8LocalPart",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will not check for the standard max length of an email",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"ignoreMaxLength",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, the validator will allow IP addresses in the host part",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"allowIpDomain",void 0);(0,j.__decorate)([u.Attribute({description:"If set to `true`, some additional validation will be enabled, e.g. disallowing certain syntactically valid email addresses that are rejected by GMail.",default:!1}),(0,j.__metadata)("design:type",Boolean)],re.prototype,"domainSpecificValidation",void 0);(0,j.__decorate)([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol one of the strings defined in it, the validation fails."}),(0,j.__metadata)("design:type",Array)],re.prototype,"hostBlacklist",void 0);(0,j.__decorate)([u.Attribute({description:"If set to an array of strings and the part of the email after the @ symbol matches none of the strings defined in it, the validation fails."}),(0,j.__metadata)("design:type",Array)],re.prototype,"hostWhitelist",void 0);(0,j.__decorate)([u.Attribute({description:"If set to a string, then the validator will reject emails that include any of the characters in the string, in the name part."}),(0,j.__metadata)("design:type",String)],re.prototype,"blacklistedChars",void 0);re=(0,j.__decorate)([u({name:"email",description:"An email value",nameMappings:{js:"string",json:"string"}}).Example("some.body@example.com"),(0,j.__metadata)("design:paramtypes",[Object])],re);var Ve=require("tslib"),Yt=require("valgen");var Jt,Y=(Jt=class{constructor(e){e&&Object.assign(this,e)}[_](e,{element:t,scope:r}){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),n=e.allowSigns,s=(0,Yt.validator)("decodeFieldPath",p=>i.normalizeFieldPath(p,{allowSigns:n,scope:r}));return Yt.vg.pipe([Yt.toString,s])}[g](e,t){return this[_](e,t)}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");E.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),allowSigns:e.allowSigns}}},a(Jt,"FieldPathType"),Jt);(0,Ve.__decorate)([u.Attribute({description:"Data type which field belong to"}),(0,Ve.__metadata)("design:type",Object)],Y.prototype,"dataType",void 0);(0,Ve.__decorate)([u.Attribute({description:'Determines if signs (+,-) are allowed. If set "first" signs are allowed only beginning of the field pathIf set "each" signs are allowed at each field in the path'}),(0,Ve.__metadata)("design:type",String)],Y.prototype,"allowSigns",void 0);Y=(0,Ve.__decorate)([u({name:"fieldpath",description:"Field path",nameMappings:{js:"string",json:"string"}}),(0,Ve.__metadata)("design:paramtypes",[Object])],Y);var ze=require("tslib"),ys=require("valgen");var Gt={};Rr(Gt,{$and:()=>sl,$arithmetic:()=>Al,$array:()=>sp,$date:()=>al,$eq:()=>fl,$field:()=>ll,$gt:()=>ul,$gte:()=>dl,$ilike:()=>Ol,$in:()=>Tl,$like:()=>_l,$lt:()=>hl,$lte:()=>yl,$ne:()=>ml,$notILike:()=>gl,$notIn:()=>El,$notLike:()=>xl,$number:()=>cl,$or:()=>nl,$paren:()=>wl,$time:()=>pl,ArithmeticExpression:()=>lt,ArithmeticExpressionItem:()=>oi,ArrayExpression:()=>Ae,Ast:()=>Ir,BooleanLiteral:()=>ft,ComparisonExpression:()=>Ee,DateLiteral:()=>ke,DateTimeLiteral:()=>kr,Expression:()=>K,FilterTreeVisitor:()=>Ur,Literal:()=>k,LogicalExpression:()=>_e,NegativeExpression:()=>Pr,NullLiteral:()=>mt,NumberLiteral:()=>be,OpraErrorListener:()=>$r,ParenthesizedExpression:()=>Re,QualifiedIdentifier:()=>ce,StringLiteral:()=>ut,Term:()=>ct,TimeLiteral:()=>dt,parse:()=>Jn});function nl(...o){return new _e({op:"or",items:o})}a(nl,"$or");function sl(...o){return new _e({op:"and",items:o})}a(sl,"$and");function al(o){return new ke(o)}a(al,"$date");function pl(o){return new dt(o)}a(pl,"$time");function cl(o){return new be(o)}a(cl,"$number");function sp(...o){return new Ae(o.map(wi))}a(sp,"$array");function ll(o){return new ce(o)}a(ll,"$field");function fl(o,e){return fe("=",o,e)}a(fl,"$eq");function ml(o,e){return fe("!=",o,e)}a(ml,"$ne");function ul(o,e){return fe(">",o,e)}a(ul,"$gt");function dl(o,e){return fe(">=",o,e)}a(dl,"$gte");function hl(o,e){return fe("<",o,e)}a(hl,"$lt");function yl(o,e){return fe("<=",o,e)}a(yl,"$lte");function Tl(o,e){return fe("in",o,e)}a(Tl,"$in");function El(o,e){return fe("!in",o,e)}a(El,"$notIn");function _l(o,e){return fe("like",o,e)}a(_l,"$like");function xl(o,e){return fe("!like",o,e)}a(xl,"$notLike");function Ol(o,e){return fe("ilike",o,e)}a(Ol,"$ilike");function gl(o,e){return fe("!ilike",o,e)}a(gl,"$notILike");function wl(o){return new Re(o)}a(wl,"$paren");function Al(o){let e=new lt;return e.add=t=>(e.append("+",Qt(t)),e),e.sub=t=>(e.append("-",Qt(t)),e),e.mul=t=>(e.append("*",Qt(t)),e),e.div=t=>(e.append("/",Qt(t)),e),e.append("+",wi(o)),e}a(Al,"$arithmetic");function fe(o,e,t){let r=typeof e=="string"?new ce(e):wi(e),i=wi(t);return new Ee({op:o,left:r,right:i})}a(fe,"comparisonExpression");var wi=a(o=>Array.isArray(o)?sp(...o.map(Qt)):Qt(o),"wrapEntryValue"),Qt=a(o=>o instanceof K?o:typeof o=="boolean"?new ft(o):typeof o=="number"||typeof o=="bigint"?new be(o):o==null?new mt:o instanceof Date?new ke(o):new ut(""+o),"_wrapEntryValue");var Xt,We=(Xt=class{constructor(e){e&&Object.assign(this,e)}[_](e,{element:t}){let r=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object"),i=e.rules?new Mt(e.rules):void 0;return Rl(r,i)}[g](){return bl}toJSON(e,t,r){let i=e.dataType?t.node.getComplexType(e.dataType):t.node.getComplexType("object");E.prototype.toJSON.call(i,r);let n=i?t.node.getDataTypeNameWithNs(i):void 0;return{dataType:n||i.toJSON(r),rules:e.rules}}},a(Xt,"FilterType"),Xt);(0,ze.__decorate)([u.Attribute({description:"Data type which filtering fields belong to"}),(0,ze.__metadata)("design:type",Object)],We.prototype,"dataType",void 0);(0,ze.__decorate)([u.Attribute({description:"Stringified JSON object defines filtering rules",format:"string"}),(0,ze.__metadata)("design:type",Object)],We.prototype,"rules",void 0);We=(0,ze.__decorate)([u({name:"filter",description:"A query filter",nameMappings:{js:"object",json:"string"}}),(0,ze.__metadata)("design:paramtypes",[Object])],We);var Rl=a((o,e,t)=>(0,ys.validator)("decodeFilter",(r,i,n)=>{if(typeof r=="string")try{let s=Gt.parse(r);return e?e.normalizeFilter(s,o,t):s}catch(s){i.fail(n,`Not a valid filter expression. ${s.message}`,r);return}i.fail(n,"Nt a valid filter expression string",r)}),"decodeFilter"),bl=(0,ys.validator)("encodeFilter",(o,e,t)=>{if(o instanceof Gt.Ast)return o.toString();e.fail(t,"Not a valid filter expression",o)});var Ri=require("tslib"),Ts=require("valgen");var Zt,Ai=(Zt=class{constructor(e){e&&Object.assign(this,e)}[_](){return Ts.vg.isObjectId({coerce:!0})}[g](){return Ts.vg.isObjectId({coerce:!0})}},a(Zt,"ObjectIdType"),Zt);Ai=(0,Ri.__decorate)([u({name:"ObjectId",description:"A MongoDB ObjectID value",nameMappings:{js:"object",json:"string"}}),(0,Ri.__metadata)("design:paramtypes",[Object])],Ai);var C=require("tslib");var _s=require("@jsopen/objects"),pp=require("ts-gems");var ap=require("@jsopen/objects");function Es(o){let e=[],t=a(function(r,i){if(typeof i!="string")throw new TypeError("Symbol properties can't be used as a field");let n=Reflect.getOwnMetadata(d,r.constructor)||{};n.kind=f.ComplexType.Kind,n.fields=n.fields||{};let s=Reflect.getMetadata("design:type",r,i),p=n.fields[i]={...o,designType:s};s===Array?p.isArray=!0:p.type=p.type||s,Reflect.defineMetadata(d,n,r.constructor);for(let c of e)c(p)},"decorator");return t.Override=(r,i)=>(e.push(n=>{n.override=n.override||[],n.override.push((0,ap.omitUndefined)({...i,scopePattern:Array.isArray(r)?r:[r],type:void 0,isArray:void 0,isNestedEntity:void 0}))}),t),t}a(Es,"ApiFieldDecoratorFactory");var $=a(function(...o){if(!this){let[n]=o;return $[w](n)}let[e,t]=o;A.call(this,e);let r=(0,pp.asMutable)(this);r.name=t.name;let i=t.origin||e;if(!(i instanceof q))throw new Error("Field origin should be one of ComplexType, MappedType or MixinType");r.origin=i,r.type=t.type||e.node.getDataType("any"),r.description=t.description,r.isArray=t.isArray,r.isNestedEntity=t.isNestedEntity,r.default=t.default,r.fixed=t.fixed,r.required=t.required,r.exclusive=t.exclusive,r.localization=t.localization,r.keyField=t.keyField,r.deprecated=t.deprecated,r.readonly=t.readonly,r.writeonly=t.writeonly,r.examples=t.examples,r.override=t.override,r.scopePattern=t.scopePattern?Array.isArray(t.scopePattern)?t.scopePattern:[t.scopePattern]:void 0,r.designType=t.designType,r.override=t.override},"ApiField"),Os=class Os extends A{inScope(e){return Kr(e,this.scopePattern)}forScope(e){if(!(e&&this.override))return this;this._overrideCache=this._overrideCache||{};let t=this._overrideCache[e];if(t)return t;if(e!=="*"){for(let r of this.override)if(Kr(e,r.scopePattern)){t=(0,_s.omitUndefined)({...r,id:void 0,owner:void 0,node:void 0,origin:void 0,name:void 0,type:void 0,override:void 0,_overrideCache:void 0,scopePattern:r.scopePattern}),Object.setPrototypeOf(t,this);break}}return t=t||this,this._overrideCache[e]=t,t}toJSON(e){var r;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,_s.omitUndefined)({type:t||((r=this.type)==null?void 0:r.toJSON(e)),description:this.description,isArray:this.isArray||void 0,isNestedEntity:this.isNestedEntity||void 0,default:this.default,fixed:this.fixed,required:this.required||void 0,exclusive:this.exclusive||void 0,localization:this.localization||void 0,keyField:this.keyField||void 0,deprecated:this.deprecated||void 0,readonly:this.readonly||void 0,writeonly:this.writeonly||void 0,examples:this.examples})}generateCodec(e,t,r){return this.type.generateCodec(e,t,{...r,designType:this.designType})}};a(Os,"ApiFieldClass");var xs=Os;$.prototype=xs.prototype;Object.assign($,Es);$[w]=Es;var y1=require("reflect-metadata"),lp=require("@jsopen/objects"),fp=require("ts-gems");var gs=class gs extends ye{constructor(){super(""),this.details=[]}add(e){return this.details.push(e),this}};a(gs,"OpraDocumentError");var ht=gs;var ws=class ws{constructor(e){this.path="",this.error=new ht,this.showErrorDetails=!0,this.maxErrors=(e==null?void 0:e.maxErrors)||0,this.error.message=""}addError(e){if(!this.error.details.length)if(e instanceof Error)this.error.stack=e.stack;else{let t=new Error;Error.captureStackTrace(t,this.addError),this.error.stack=t.stack}if(this.error.add({message:typeof e=="string"?e:e.message,path:this.path,...typeof e=="object"?e:void 0}),this.error.details.length>=this.maxErrors)throw this.error}enter(e,t){let r=this.path;this.path=this.path+e;try{return t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}async enterAsync(e,t){let r=this.path;this.path=this.path+e;try{return await t()}catch(i){i!==this.error&&this.addError(i)}finally{this.path=r}}extend(e){let t={...e};return Object.setPrototypeOf(t,this),t}};a(ws,"DocumentInitContext");var he=ws;var cp=require("@jsopen/objects");function As(o){return function(e){let t;if(!(o!=null&&o.embedded))if(o!=null&&o.name){if(!P.test(o.name))throw new TypeError(`"${o.name}" is not a valid type name`);t=o.name}else t=e.name;let r=Reflect.getOwnMetadata(d,e);r||(r={},Reflect.defineMetadata(d,r,e)),r.kind=f.ComplexType.Kind,r.name=t,o&&Object.assign(r,(0,cp.omit)(o,["name"]))}}a(As,"ComplexTypeDecorator");var ie=a(function(...o){var n;if(!this)return ie[w].apply(void 0,o);let[e,t]=o,r=o[2]||new he({maxErrors:0});q.call(this,e,t,r);let i=(0,fp.asMutable)(this);i.kind=f.ComplexType.Kind,i.discriminatorField=t.discriminatorField,i.discriminatorValue=t.discriminatorValue,t.base&&r.enter(".base",()=>{if(!(t.base instanceof q))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.additionalFields=i.base.additionalFields,i.keyField=i.base.keyField;for(let s of i.base.fields("*"))i._fields.set(s.name,new $(this,s))}),t.additionalFields!==void 0&&(i.additionalFields=t.additionalFields),t.keyField!==void 0&&(i.keyField=t.keyField),i.ctor=t.ctor||((n=i.base)==null?void 0:n.ctor),t.fields&&r.enter(".fields",()=>{for(let[s,p]of Object.entries(t.fields)){let c=new $(this,{...p,name:s});this._fields.set(c.name,c)}})},"ComplexType"),bs=class bs extends q{extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof q?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0,i={...t,kind:this.kind,base:this.base?r||this.base.toJSON(e):void 0,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue};if(this.additionalFields)if(this.additionalFields instanceof E){let n=this.node.getDataTypeNameWithNs(this.additionalFields);i.additionalFields=n||this.additionalFields.toJSON(e)}else i.additionalFields=this.additionalFields;if(this._fields.size){let n={},s=0;for(let p of this._fields.values())p.origin===this&&p.inScope(e==null?void 0:e.scope)&&(n[p.name]=p.toJSON(e),s++);s&&(i.fields=n)}return(0,lp.omitUndefined)(i)}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(bs,"ComplexTypeClass");var Rs=bs;ie.prototype=Rs.prototype;Object.assign(ie,As);ie[w]=As;var Ht,oe=(Ht=class{constructor(e){e&&Object.assign(this,e)}},a(Ht,"OperationResult"),Ht);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",Number)],oe.prototype,"affected",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",Number)],oe.prototype,"totalMatches",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",String)],oe.prototype,"context",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",String)],oe.prototype,"type",void 0);(0,C.__decorate)([$(),(0,C.__metadata)("design:type",String)],oe.prototype,"message",void 0);(0,C.__decorate)([$({type:"any"}),(0,C.__metadata)("design:type",Object)],oe.prototype,"payload",void 0);(0,C.__decorate)([$({type:"object"}),(0,C.__metadata)("design:type",Array)],oe.prototype,"errors",void 0);oe=(0,C.__decorate)([ie({name:"OperationResult",description:"Operation result"}),(0,C.__metadata)("design:paramtypes",[Object])],oe);(function(o){function e(t){var i;let r=(i=class extends o{constructor(...s){super(...s)}},a(i,"OperationResult_"),i);return(0,C.__decorate)([$({type:t,required:!0}),(0,C.__metadata)("design:type",Object)],r.prototype,"payload",void 0),r=(0,C.__decorate)([ie({embedded:!0}),(0,C.__metadata)("design:paramtypes",[Object])],r),r}a(e,"forPayload"),o.forPayload=e})(oe||(oe={}));var Je=require("tslib"),B=require("valgen");var er,tr=(er=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t=up,r=[];return e.minValue!=null&&((0,B.isDateString)(e.minValue),r.push(B.toString,B.vg.isGte(e.minValue))),e.maxValue!=null&&((0,B.isDateString)(e.maxValue),r.push(B.toString,B.vg.isLte(e.maxValue))),r.length>0?B.vg.pipe([t,...r],{returnIndex:0}):t}[g](e){let t=up,r=[];return e.minValue!=null&&((0,B.isDateString)(e.minValue),r.push(B.vg.isGte(e.minValue))),e.maxValue!=null&&((0,B.isDateString)(e.maxValue),r.push(B.vg.isLte(e.maxValue))),r.length>0?B.vg.pipe([t,...r],{returnIndex:0}):t}},a(er,"PartialDateType"),er);(0,Je.__decorate)([u.Attribute({description:"Minimum value"}),(0,Je.__metadata)("design:type",String)],tr.prototype,"minValue",void 0);(0,Je.__decorate)([u.Attribute({description:"Maximum value"}),(0,Je.__metadata)("design:type",String)],tr.prototype,"maxValue",void 0);tr=(0,Je.__decorate)([u({name:"partialdate",description:"Specifies a point in time using a 24-hour clock notation.\rFormat: YYYY-[MM-[DD-[T?HH:[MM:[SS[.S[S[S[S]]]]]]]]][+/-ZZ:ZZ].",nameMappings:{js:"string",json:"string"}}).Example("2021-04-18T22:30:15:22+03:00").Example("2021-04-18 22:30").Example("2021-04-18").Example("2021"),(0,Je.__metadata)("design:paramtypes",[Object])],tr);var mp=B.vg.isDateString({precisionMin:"year"}),up=(0,B.validator)(o=>{if(o instanceof Date){let e=mp(o,{coerce:!0});return e.endsWith("Z")&&(e=e.substring(0,e.length-1)),e.endsWith(".000")&&(e=e.substring(0,e.length-4)),e.endsWith(":00")&&(e=e.substring(0,e.length-3)),e.endsWith("00:00")&&(e=e.substring(0,e.length-6)),e}return mp(o,{coerce:!1})});var Ye=require("tslib"),zr=require("valgen");var Dl=/^([0-1][0-9]|2[0-4]):([0-5][0-9])(?::([0-5][0-9]))?$/,rr,ir=(rr=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t=zr.vg.matches(Dl,{formatName:"time",coerce:!0}),r=[];return e.minValue!=null&&r.push(zr.vg.isGte(e.minValue)),e.maxValue!=null&&r.push(zr.vg.isLte(e.maxValue)),r.length>0?zr.vg.pipe([t,...r],{returnIndex:0}):t}[g](e){return this[_](e)}},a(rr,"TimeType"),rr);(0,Ye.__decorate)([u.Attribute({description:"Minimum value"}),(0,Ye.__metadata)("design:type",String)],ir.prototype,"minValue",void 0);(0,Ye.__decorate)([u.Attribute({description:"Maximum value"}),(0,Ye.__metadata)("design:type",String)],ir.prototype,"maxValue",void 0);ir=(0,Ye.__decorate)([u({name:"time",description:"Time string in 24h format",nameMappings:{js:"string",json:"string"}}).Example("18:23:00","Full time value").Example("18:23:00","Time value without seconds"),(0,Ye.__metadata)("design:paramtypes",[Object])],ir);var Di=require("tslib"),Ds=require("valgen");var or,bi=(or=class{constructor(e){e&&Object.assign(this,e)}[_](){return Ds.vg.isURL({coerce:!0})}[g](){return Ds.vg.isURL({coerce:!0})}},a(or,"UrlType"),or);bi=(0,Di.__decorate)([u({name:"url",description:"A Uniform Resource Identifier Reference (RFC 3986 icon) value",nameMappings:{js:"string",json:"string"}}).Example("http://tempuri.org"),(0,Di.__metadata)("design:paramtypes",[Object])],bi);var sr=require("tslib"),Ns=require("valgen");var nr,Jr=(nr=class{constructor(e){e&&Object.assign(this,e)}[_](e){return Ns.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}[g](e){return Ns.vg.isUUID(e==null?void 0:e.version,{coerce:!0})}},a(nr,"UuidType"),nr);(0,sr.__decorate)([u.Attribute({description:"Version of the UUID"}),(0,sr.__metadata)("design:type",Number)],Jr.prototype,"version",void 0);Jr=(0,sr.__decorate)([u({name:"uuid",description:"A Universal Unique Identifier (UUID) value",nameMappings:{js:"string",json:"string"}}),(0,sr.__metadata)("design:paramtypes",[Object])],Jr);var yp=Rt(require("path-browserify"),1),Tp=require("@jsopen/objects"),Ep=require("ts-gems");var dp,hp,me=Symbol.for("kMap"),Yr=Symbol.for("kCtorMap"),Ms=class Ms{constructor(){this[dp]=new S,this[hp]=new WeakMap}get size(){return this[me].size}forEach(e,t){this[me].forEach(e,t)}get(e){let t=typeof e=="string"?e:this[Yr].get(e);if(!t&&typeof e=="function"){let i=Reflect.getMetadata(d,e);t=i==null?void 0:i.name}if(!t&&typeof e=="object"){let i=e[d];t=i==null?void 0:i.name}if(!t)return;let r=this[me].get(t);if(r)return typeof e=="function"&&r.kind==="ComplexType"?r.ctor===e?r:void 0:r}set(e,t){this[me].set(e,t),t.ctor?this[Yr].set(t.ctor,e):t.instance&&this[Yr].set(t.instance,e)}has(e){if(e instanceof E)return!!e.name&&this[me].has(e.name);let t=typeof e=="string"?e:this[Yr].get(e);return t?this[me].has(t):!1}keys(){return this[me].keys()}values(){return this[me].values()}entries(){return this[me].entries()}sort(e){return this[me].sort(e),this}[(dp=me,hp=Yr,Symbol.iterator)](){return this[me][Symbol.iterator]()}};a(Ms,"DataTypeMap");var W=Ms;var yt=require("@jsopen/objects");function F(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={...e,kind:f.HttpOperation.Kind},s=Reflect.getOwnMetadata(se,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n);Reflect.defineMetadata(se,s,r.constructor)}),"decorator");return t.Cookie=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};(0,yt.isConstructor)(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="cookie"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Header=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};(0,yt.isConstructor)(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="header"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};(0,yt.isConstructor)(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="query"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(o.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};(0,yt.isConstructor)(s.type)&&(s.designType=s.type),n.parameters?n.parameters=n.parameters.filter(p=>!(p.location==="path"&&String(p.name)===String(r))):n.parameters=[],n.parameters.push(s)}),t),t.Response=(r,i)=>{let n={...i,statusCode:r};return n.type&&(n.contentType=n.contentType||N.opra_response_json,n.contentEncoding=n.contentEncoding||"utf-8"),n.contentType===N.opra_response_json&&(n.contentEncoding=n.contentEncoding||"utf-8"),(0,yt.isConstructor)(n.type)&&(n.designType=n.type),o.push(s=>{s.responses=s.responses||[],s.responses.push(n)}),t},t.RequestContent=function(r){let i=typeof r=="object"?r:{type:r};return i.type&&(i.contentType=i.contentType||N.json,i.contentEncoding=i.contentEncoding||"utf-8",(0,yt.isConstructor)(i.type)&&(i.designType=i.type)),o.push(n=>{n.requestBody=n.requestBody||{required:!0,content:[]},n.requestBody.content=n.requestBody.content||[],n.requestBody.content.push(i)}),t},t.MultipartContent=function(r,i){let n={...r,contentType:(r==null?void 0:r.contentType)||"multipart/form-data"};if(o.push(s=>{s.requestBody=s.requestBody||{required:!0,content:[]},s.requestBody.content=s.requestBody.content||[],s.requestBody.content.push(n)}),i){let s={Field(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"field",...c}),s},File(p,c){return n.multipartFields=n.multipartFields||[],n.multipartFields.push({fieldName:p,fieldType:"file",...c}),s}};i(s)}return t},t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(F,"HttpOperationDecoratorFactory");var D=a(function(...o){if(!this){let[i]=o,n=[];return D[w].call(void 0,n,i)}let[e,t]=o;if(A.call(this,e),!P.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,Ep.asMutable)(this);r.parameters=[],r.responses=[],r.types=r.node[L]=new W,r.name=t.name,r.path=t.path,r.mergePath=t.mergePath,r.method=t.method||"GET",r.description=t.description,r.composition=t.composition,r.compositionOptions=t.compositionOptions?I(t.compositionOptions):void 0},"HttpOperation"),Fs=class Fs extends A{findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i}getFullUrl(){let e=this.owner.getFullUrl();return e?this.path?this.mergePath?e+this.path:yp.default.posix.join(e,this.path):e:this.path||"/"}toJSON(e){var r;let t=(0,Tp.omitUndefined)({kind:f.HttpOperation.Kind,description:this.description,method:this.method,path:this.path,mergePath:this.mergePath,composition:this.composition,requestBody:(r=this.requestBody)==null?void 0:r.toJSON(e)});if(this.types.size){t.types={};for(let i of this.types.values())t.types[i.name]=i.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let i of this.parameters)t.parameters.push(i.toJSON(e))}return this.responses.length&&(t.responses=this.responses.map(i=>i.toJSON(e))),t}};a(Fs,"HttpOperationClass");var vs=Fs;D.prototype=vs.prototype;D[w]=F;D.GET=function(o){return F([],{...o,method:"GET"})};D.DELETE=function(o){return F([],{...o,method:"DELETE"})};D.HEAD=function(o){return F([],{...o,method:"HEAD"})};D.OPTIONS=function(o){return F([],{...o,method:"OPTIONS"})};D.PATCH=function(o){return F([],{...o,method:"PATCH"})};D.POST=function(o){return F([],{...o,method:"POST"})};D.PUT=function(o){return F([],{...o,method:"PUT"})};D.SEARCH=function(o){return F([],{...o,method:"SEARCH"})};D.Entity={};function Q(o){if(typeof o=="string")return o;let e=Reflect.getMetadata(d,o);if(!e)throw new TypeError(`Type (${o}) is not decorated with any datatype decorators`);if(e!=null&&e.name)return e.name;throw new TypeError("You should provide named data type but embedded one found")}a(Q,"getDataTypeName");function Qe(o,e){return(t,r)=>{let i=typeof r=="string"||typeof r=="function"?{name:t,location:"path",type:r,keyParam:!0}:{...r,name:t,location:"path",keyParam:!0};return o.PathParam(t,i),e.push(n=>{var s;(s=n.path)!=null&&s.includes(":"+t)||(n.path=(n.path||"")+"@:"+t),n.mergePath=!0}),o}}a(Qe,"createKeyParamDecorator");function _p(o,e){return(...t)=>{let r=typeof t[0]=="object"?t[0]:t.reduce((s,p)=>{let c=p.split(":");return s[c[0]]=c[1]||c[0],s},{}),i=Object.keys(r).reduce((s,p)=>{let c=Ct.exec(p),l=Ct.exec(r[p]);return c&&l&&(s[c[2]]=l[2]),s},{}),n=Object.keys(r).reduce((s,p)=>{let c=Ct.exec(p);return c&&(c[1]!="-"&&(s[c[2]]=c[2]),c[1]!="+"&&(s["-"+c[2]]="-"+c[2])),s},{});return e.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.sortFields=i}),o.QueryParam("sort",{description:"Determines sort fields",type:te(n),isArray:!0,arraySeparator:",",parser:a(s=>s.map(p=>{let c=Ct.exec(p);return c?(c[1]||"")+i[c[2]]:p}),"parser")}),o}}a(_p,"createSortFieldsDecorator");function Ge(o,e,t){let r=Reflect.getMetadata("FilterRules",o);r||(r=new Mt,Reflect.defineMetadata("FilterRules",r,o));let i=Reflect.getMetadata("FilterType",o);return i||(i=new We({dataType:t}),i.rules={},Reflect.defineMetadata("FilterType",i,o)),(n,s)=>{let p=(Array.isArray(s)?{operators:s}:typeof s=="string"?{operators:s.split(/\s*,\s*/)}:s)||{};if(p.operators=p.operators||["=","!="],n.includes(":")){let c=n.split(":");n=c[0],p.mappedField=c[1]}return e.push(()=>{r.set(n,p),i.rules=r.toJSON()}),o.QueryParam("filter",{type:i,description:"Determines filter fields"}),o}}a(Ge,"createFilterDecorator");D.Entity.Create=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"POST",...t,composition:"Entity.Create",requestBody:{immediateFetch:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.CREATED,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the created resource.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=Q(t.type)}),i};D.Entity.Delete=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"DELETE",...t,composition:"Entity.Delete"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:N.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.KeyParam=Qe(i,r),i};D.Entity.DeleteMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"DELETE",...t,composition:"Entity.DeleteMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:N.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.Filter=Ge(i,r,t.type),i};var ks={};Rr(ks,{AnyType:()=>Ni,BigintType:()=>Mi,BooleanType:()=>Fi,IntegerType:()=>xt,NullType:()=>Li,NumberType:()=>ge,ObjectType:()=>ji,StringType:()=>He});var Si=require("tslib"),Is=require("valgen");var ar,Ni=(ar=class{constructor(e){e&&Object.assign(this,e)}[_](){return Is.isAny}[g](){return Is.isAny}},a(ar,"AnyType"),ar);Ni=(0,Si.__decorate)([u({name:"any",description:"Represents any value"}),(0,Si.__metadata)("design:paramtypes",[Object])],Ni);var vi=require("tslib"),Et=require("valgen");var Xe=require("tslib"),Tt=require("valgen");var pr,ge=(pr=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t=[];return e.minValue!=null&&t.push(Tt.vg.isGte(e.minValue)),e.maxValue!=null&&t.push(Tt.vg.isLte(e.maxValue)),t.length>0?Tt.vg.pipe([Tt.toNumber,...t],{returnIndex:0}):Tt.toNumber}[g](e){return this[_](e)}},a(pr,"NumberType"),pr);(0,Xe.__decorate)([u.Attribute({description:"Determines the minimum value"}),(0,Xe.__metadata)("design:type",Number)],ge.prototype,"minValue",void 0);(0,Xe.__decorate)([u.Attribute({description:"Determines the maximum value"}),(0,Xe.__metadata)("design:type",Number)],ge.prototype,"maxValue",void 0);ge=(0,Xe.__decorate)([u({name:"number",description:"Both Integer as well as Floating-Point numbers",nameMappings:{js:"number",json:"number"}}),(0,Xe.__metadata)("design:paramtypes",[Object])],ge);var cr,Mi=(cr=class extends ge{constructor(e){super(e)}[_](e){let t=[];return e.minValue!=null&&t.push(Et.vg.isGte(e.minValue)),e.maxValue!=null&&t.push(Et.vg.isLte(e.maxValue)),t.length>0?Et.vg.pipe([Et.toBigint,...t],{returnIndex:0}):Et.toBigint}[g](e){return this[_](e)}},a(cr,"BigintType"),cr);Mi=(0,vi.__decorate)([u({name:"bigint",description:"BigInt number",nameMappings:{js:"bigint",json:"string"}}),(0,vi.__metadata)("design:paramtypes",[Object])],Mi);var Ii=require("tslib"),Ps=require("valgen");var lr,Fi=(lr=class{constructor(e){e&&Object.assign(this,e)}[_](){return Ps.toBoolean}[g](){return Ps.toBoolean}},a(lr,"BooleanType"),lr);Fi=(0,Ii.__decorate)([u({name:"boolean",description:"Simple true/false value",nameMappings:{js:"boolean",json:"boolean"}}),(0,Ii.__metadata)("design:paramtypes",[Object])],Fi);var Pi=require("tslib"),_t=require("valgen");var fr,xt=(fr=class extends ge{constructor(e){super(e)}[_](e){let t=[];return e.minValue!=null&&t.push(_t.vg.isGte(e.minValue)),e.maxValue!=null&&t.push(_t.vg.isLte(e.maxValue)),t.length>0?_t.vg.pipe([_t.toInteger,...t],{returnIndex:0}):_t.toInteger}[g](e){return this[_](e)}},a(fr,"IntegerType"),fr);xt=(0,Pi.__decorate)([u({name:"integer",description:"An integer number",nameMappings:{js:"number",json:"number"}}),(0,Pi.__metadata)("design:paramtypes",[Object])],xt);var ki=require("tslib"),Ls=require("valgen");var mr,Li=(mr=class{constructor(e){e&&Object.assign(this,e)}[_](){return Ls.isNull}[g](){return Ls.isNull}},a(mr,"NullType"),mr);Li=(0,ki.__decorate)([u({name:"null",description:"A Null value",nameMappings:{js:"null",json:"null"}}),(0,ki.__metadata)("design:paramtypes",[Object])],Li);var Ci=require("tslib");var ur,ji=(ur=class{constructor(e){e&&Object.assign(this,e)}},a(ur,"ObjectType"),ur);ji=(0,Ci.__decorate)([ie({name:"object",description:"A non modelled object",additionalFields:!0}),(0,Ci.__metadata)("design:paramtypes",[Object])],ji);var ue=require("tslib"),Ze=require("valgen");var dr,He=(dr=class{constructor(e){e&&Object.assign(this,e)}[_](e){let t=[];if(e.pattern){let r=e.patternName;r||(r=Reflect.getMetadata(d,Object.getPrototypeOf(this).constructor).name),t.push(Ze.vg.matches(e.pattern,{formatName:r}))}return e.minLength&&t.push(Ze.vg.lengthMin(e.minLength)),e.maxLength&&t.push(Ze.vg.lengthMax(e.maxLength)),t.length>0?Ze.vg.pipe([Ze.toString,...t],{returnIndex:0}):Ze.toString}[g](e){return this[_](e)}},a(dr,"StringType"),dr);(0,ue.__decorate)([u.Attribute({description:"Regex pattern to be used for validation"}),(0,ue.__metadata)("design:type",Object)],He.prototype,"pattern",void 0);(0,ue.__decorate)([u.Attribute({description:"Name of the pattern"}),(0,ue.__metadata)("design:type",String)],He.prototype,"patternName",void 0);(0,ue.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,ue.__metadata)("design:type",Number)],He.prototype,"minLength",void 0);(0,ue.__decorate)([u.Attribute({description:"Minimum number of characters"}),(0,ue.__metadata)("design:type",Number)],He.prototype,"maxLength",void 0);He=(0,ue.__decorate)([u({name:"string",description:"A sequence of characters",nameMappings:{js:"string",json:"string"}}),(0,ue.__metadata)("design:paramtypes",[Object])],He);D.Entity.FindMany=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"GET",...t,composition:"Entity.FindMany"});return i.Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains list of resources.',contentType:N.opra_response_json,type:t.type,partial:"deep",isArray:!0}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}).QueryParam("limit",{description:"Determines number of returning instances",type:new xt({minValue:1,maxValue:t.maxLimit})}).QueryParam("skip",{description:"Determines number of returning instances",type:new xt({minValue:1})}).QueryParam("count",{description:"Counts all matching instances if enabled",type:Boolean}).QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type),t.defaultLimit&&(s.defaultLimit=t.defaultLimit),t.defaultProjection&&(s.defaultProjection=t.defaultProjection),t.maxLimit&&(s.maxLimit=t.maxLimit)}),i.Filter=Ge(i,r,t.type),i.DefaultSort=(...n)=>(r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.defaultSort=n}),i),i.SortFields=_p(i,r),i};D.Entity.Get=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"GET",...t,composition:"Entity.Get"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.KeyParam=Qe(i,r),i};D.Entity.Replace=function(o,e){let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"POST",...t,composition:"Entity.Replace"});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains the resource asked for.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(n=>{let s=n.compositionOptions=n.compositionOptions||{};s.type=Q(t.type)}),i.KeyParam=Qe(i,r),i};D.Entity.Update=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"PATCH",...t,composition:"Entity.Update",requestBody:{partial:"deep",immediateFetch:!0,allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.QueryParam("projection",{description:"Determines fields projection",type:new Y({dataType:t.type,allowSigns:"each"}),isArray:!0,arraySeparator:","}).RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "payload" field that contains updated resource.',contentType:N.opra_response_json,type:t.type,partial:"deep"}).Response(b.NO_CONTENT,{description:"Operation is successful but no resource found"}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=Q(t.type)}),i.KeyParam=Qe(i,r),i.Filter=Ge(i,r,t.type),i};D.Entity.UpdateMany=function(o,e){var n;let t;typeof o=="object"&&!o[d]?t=o:t={...e,type:o};let r=[],i=F(r,{method:"PATCH",...t,composition:"Entity.UpdateMany",requestBody:{immediateFetch:!0,partial:"deep",allowPatchOperators:!0,keepKeyFields:!0,...t.requestBody,required:!0}});return i.RequestContent(((n=t.requestBody)==null?void 0:n.type)||t.type).Response(b.OK,{description:'Operation is successful. Returns OperationResult with "affected" field.',contentType:N.opra_response_json}).Response(b.UNPROCESSABLE_ENTITY,{description:"The request was well-formed but was unable to process operation due to one or many errors.",contentType:N.opra_response_json}),r.push(s=>{let p=s.compositionOptions=s.compositionOptions||{};p.type=Q(t.type)}),i.Filter=Ge(i,r,t.type),i};var Ui=require("@jsopen/objects");var Nl=/^(.*)(Controller)$/,xp=[];function hr(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=Nl.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(ae,Object.getPrototypeOf(r));s&&(0,Ui.merge)(n,s,{deep:!0});let p=Reflect.getOwnMetadata(ae,r);p&&(0,Ui.merge)(n,p,{deep:!0}),(0,Ui.merge)(n,{...o,kind:f.MQController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(ae,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(ae,n,r)},"decorator");return t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,type:i}:{...i,name:r};n.headers=n.headers||[],n.headers.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),xp.forEach(r=>r(t,e,o)),t}a(hr,"MQControllerDecoratorFactory");hr.augment=function(o){xp.push(o)};var Qr=require("@jsopen/objects");var Op=[];function Gr(o,e,t){let r=!1,i=a(((n,s)=>{if(typeof s!="string")throw new TypeError("Symbol properties can not be decorated");let p={kind:f.MQOperation.Kind,channel:s,type:e,...(0,Qr.omit)(t,["kind","type"])},c=Reflect.getOwnMetadata(ae,n.constructor)||{};c.operations=c.operations||{},c.operations[s]=p;for(let l of o)l(p,n,s);Reflect.defineMetadata(ae,c,n.constructor)}),"decorator");return i.UseType=(...n)=>(o.push(s=>{s.types=s.types||[],s.types.push(...n)}),i),i.Header=(n,s)=>(o.push(p=>{let c=typeof s=="string"||typeof s=="function"?{name:n,type:s}:{...s,name:n};(0,Qr.isConstructor)(c.type)&&(c.designType=c.type);let l=r?p.response:p;l.headers?l.headers=l.headers.filter(O=>String(O.name)!==String(n)):l.headers=[],l.headers.push(c)}),i),i.Response=(n,s)=>(o.push(p=>{r=!0,p.response={...s,type:n},(0,Qr.isConstructor)(n)&&(p.response.designType=n)}),i),Op.forEach(n=>n(i,o,e,t)),i}a(Gr,"MQOperationDecoratorFactory");Gr.augment=function(o){Op.push(o)};var $i=require("@jsopen/objects");var vl=/^(.*)(Controller)$/,gp=[];function yr(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=vl.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(pe,Object.getPrototypeOf(r));s&&(0,$i.merge)(n,s,{deep:!0});let p=Reflect.getOwnMetadata(pe,r);p&&(0,$i.merge)(n,p,{deep:!0}),(0,$i.merge)(n,{...o,kind:f.WSController.Kind,name:i,path:i},{deep:!0}),Reflect.defineMetadata(pe,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(pe,n,r)},"decorator");return t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),gp.forEach(r=>r(t,e,o)),t}a(yr,"WSControllerDecoratorFactory");yr.augment=function(o){gp.push(o)};var wp=require("@jsopen/objects");var Ap=[];function Xr(o,e){let t=a(((r,i)=>{if(typeof i!="string")throw new TypeError("Symbol properties can not be decorated");let n={kind:f.WSOperation.Kind,event:i,...(0,wp.omit)(e,["kind"])},s=Reflect.getOwnMetadata(pe,r.constructor)||{};s.operations=s.operations||{},s.operations[i]=n;for(let p of o)p(n,r,i);Reflect.defineMetadata(pe,s,r.constructor)}),"decorator");return t.UseType=(...r)=>(o.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),Ap.forEach(r=>r(t,o,e)),t}a(Xr,"WSOperationDecoratorFactory");Xr.augment=function(o){Ap.push(o)};var AE=require("reflect-metadata"),Rp=require("@jsopen/objects"),bp=require("ts-gems");function qi(o,e){let t=o==null?void 0:o.map(i=>String(i).toLowerCase()),r=e==null?void 0:e.map(i=>String(i).toLowerCase());return i=>r&&r.includes(i.toLowerCase())?!1:t?t.includes(i.toLowerCase()):!0}a(qi,"getIsInheritedPredicateFn");var et=a(function(...o){var n;if(!this)throw new TypeError('"this" should be passed to call class constructor');let[e,t,r]=o;q.call(this,e,t,r);let i=(0,bp.asMutable)(this);if(i.kind=f.MappedType.Kind,t.base){if(!(t.base instanceof q))throw new TypeError(`"${t.base.kind}" can't be set as base for a "${this.kind}"`);i.base=t.base,i.ctor=t.ctor||i.base.ctor,t.pick?i.pick=t.pick.map(l=>i.base.normalizeFieldPath(l)):t.omit?i.omit=t.omit.map(l=>i.base.normalizeFieldPath(l)):t.partial?i.partial=Array.isArray(t.partial)?t.partial.map(l=>i.base.normalizeFieldPath(l)):t.partial:t.required&&(i.required=Array.isArray(t.required)?t.required.map(l=>i.base.normalizeFieldPath(l)):t.required);let s=qi(i.pick,i.omit),p=Array.isArray(i.partial)?i.partial.map(l=>l.toLowerCase()):i.partial,c=Array.isArray(i.required)?i.required.map(l=>l.toLowerCase()):i.required;for(let[l,O]of i.base.fieldEntries("*")){if(!s(l))continue;let R={...O};p===!0||Array.isArray(p)&&p.includes(O.name.toLowerCase())?R.required=!1:(c===!0||Array.isArray(c)&&c.includes(O.name.toLowerCase()))&&(R.required=!0);let y=new $(this,R);i._fields.set(y.name,y)}(!i.pick||i.base.additionalFields===!1||Array.isArray(i.base.additionalFields)&&((n=i.base.additionalFields)==null?void 0:n[0])==="error")&&(i.additionalFields=i.base.additionalFields),t.base.keyField&&s(t.base.keyField)&&(i.keyField=t.base.keyField),i.discriminatorField=t.base.discriminatorField,i.discriminatorValue=t.base.discriminatorValue}},"MappedType"),Cs=class Cs extends q{extendsFrom(e){var t;return e instanceof E||(e=this.node.getDataType(e)),e instanceof q?e===this?!0:!!((t=this.base)!=null&&t.extendsFrom(e)):!1}toJSON(e){let t=super.toJSON(e),r=this.base?this.node.getDataTypeNameWithNs(this.base):void 0;return(0,Rp.omitUndefined)({...t,base:r||this.base.toJSON(e),kind:this.kind,pick:this.pick,omit:this.omit,partial:this.partial,required:this.required,discriminatorField:this.discriminatorField,discriminatorValue:this.discriminatorValue})}_locateBase(e){if(this.base){if(e(this.base))return this.base;if(this.base._locateBase)return this.base._locateBase(e)}}};a(Cs,"MappedTypeClass");var js=Cs;et.prototype=js.prototype;et._applyMixin=()=>{};var FE=require("reflect-metadata"),Dp=require("@jsopen/objects"),Np=require("ts-gems");var Ot=a(function(...o){if(!this)return Ot[w].apply(void 0,o);let[e,t,r]=o;q.call(this,e,t,r);let i=(0,Np.asMutable)(this);i.kind=f.MixinType.Kind,i.types=[];for(let n of t.types){i.additionalFields!==!0&&(n.additionalFields===!0?i.additionalFields=!0:i.additionalFields||(i.additionalFields=n.additionalFields));for(let s of n.fields("*")){let p=new $(this,s);i._fields.set(p.name,p)}i.types.push(n),n.keyField&&(i.keyField=n.keyField)}},"MixinType"),$s=class $s extends q{extendsFrom(e){if(e instanceof E||(e=this.node.getDataType(e)),!(e instanceof q))return!1;if(e===this)return!0;for(let t of this.types)if(t.extendsFrom(e))return!0;return!1}toJSON(e){let t=super.toJSON(e);return(0,Dp.omitUndefined)({...t,kind:this.kind,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}_locateBase(e){for(let t of this.types){if(e(t))return t;if(t._locateBase){let r=t._locateBase(e);if(r)return r}}}};a($s,"MixinTypeClass");var Us=$s;Ot.prototype=Us.prototype;Ot[w]=Pl;function Pl(o,e){if(o=o.filter(n=>typeof n=="function"),!o.length)throw new TypeError("No Class has been provided");if(o.length===1)return o[0];let t=o[0].name+"Mixin",r={[t]:class{constructor(){for(let n of o)Mr(this,n)}}}[t],i={...e,kind:f.MixinType.Kind,types:[]};Reflect.defineMetadata(d,i,r);for(let n of o){let s=Reflect.getMetadata(d,n);if(!(s&&(s.kind===f.ComplexType.Kind||s.kind===f.MixinType.Kind||s.kind===f.MappedType.Kind)))throw new TypeError(`Class "${n.name}" is not a ${f.ComplexType.Kind}, ${f.MixinType.Kind} or ${f.MappedType.Kind}`);i.types.push(n),Sr(r.prototype,n.prototype)}return r}a(Pl,"MixinTypeFactory");var BE=require("reflect-metadata"),Sp=require("@jsopen/objects"),Mp=require("ts-gems"),qs=require("valgen");var gt=a(function(...o){if(!this)return gt[w].apply(void 0,o);let[e,t,r]=o;E.call(this,e,t,r);let i=(0,Mp.asMutable)(this);i.kind=f.UnionType.Kind,i.discriminator=t.discriminator,i.types=[];for(let n of t.types)i.types.push(n)},"UnionType"),Ks=class Ks extends E{toJSON(e){let t=super.toJSON(e);return(0,Sp.omitUndefined)({...t,kind:this.kind,discriminator:this.discriminator,types:this.types.map(r=>{let i=this.node.getDataTypeNameWithNs(r);return i||r.toJSON(e)})})}generateCodec(e,t){let r=this.types.map(i=>{let n=i.generateCodec(e,t);return(i.kind===f.ComplexType.Kind||i.kind===f.MappedType.Kind)&&i.discriminatorField?[n,{[i.discriminatorField]:qs.vg.isEqual(i.discriminatorValue)}]:n});return qs.vg.oneOf(r)}extendsFrom(){return!1}_locateBase(){}};a(Ks,"UnionTypeClass");var Bs=Ks;gt.prototype=Bs.prototype;gt[w]=Ll;function Ll(o,e){let i=class i{};a(i,"UnionClass");let t=i,r={...e,kind:f.UnionType.Kind,types:o};return Reflect.defineMetadata(d,r,t),t}a(Ll,"UnionTypeFactory");var Vs=Symbol("initializing"),Bi=class Bi{static async createDataType(e,t,r){e=e||new he({maxErrors:0});let i=await this._importDataTypeArgs(e,t,r);if(i)return typeof i=="string"?t.node.getDataType(i):this._createDataType(e,t,i)}static async resolveDataType(e,t,r){if(r){let i=t.node.findDataType(r);if(i)return i}if(typeof r=="object"||typeof r=="function"){let i=await Bi.createDataType(e,t,r);if(i)return i}if(r){let i=t.node.getDataType(r);if(i)return i}return t.node.getDataType("any")}static async addDataTypes(e,t,r){let i=t.node[L];if(!i)throw new TypeError("DocumentElement should has [kDataTypeMap] property");let n=await this.createAllDataTypes(e,t,r);if(n)for(let s of n)s!=null&&s.name&&i.set(s.name,s)}static async createAllDataTypes(e,t,r){e=e||new he({maxErrors:0});let i=await this._prepareAllInitArgs(e,t,r);if(!i)return;let n=new S;for(let c of i)n.set(c.name,c);let s=e.extend({initArgsMap:n}),p=[];for(let[c,l]of n.entries())e.enter(`[${c}]`,()=>{if(!n.has(c))return;let O=this._createDataType(s,t,l);O&&p.push(O)});return p}static async _prepareAllInitArgs(e,t,r){let i=new S,n=new S,s=e.extend({owner:t,importQueue:i,initArgsMap:n});if(!t.node[L])throw new TypeError("DocumentElement should has [kDataTypeMap] property");if(Array.isArray(r)){let p=0;for(let c of r)await s.enterAsync(`$[${p++}]`,async()=>{c=await H(c);let l=Reflect.getMetadata(d,c)||c[d];if(!(l&&l.name))return typeof c=="function"?s.addError(`Class "${c.name}" doesn't have a valid data type metadata`):s.addError("Object doesn't have a valid data type metadata");i.set(l.name,c)})}else{let p,c;for([c,p]of Object.entries(r))p=await H(p),i.set(c,typeof p=="object"?{...p,name:c}:p)}for(let p of Array.from(i.keys())){if(!i.has(p))continue;let c=await this._importDataTypeArgs(s,t,p);c&&typeof c!="string"&&s.addError("Embedded data type can't be loaded into document node directly")}return Array.from(n.values())}static async _importDataTypeArgs(e,t,r,i){var R;r=await H(r);let{importQueue:n,initArgsMap:s}=e,p=t.node.findDataType(r);if(p instanceof E)return p.name;let c,l,O;if(typeof r!="string"){let z=t.node.getDocument().types[vr].get(r);z&&(r=z)}if(typeof r=="string"){let y=r;if(r=(n==null?void 0:n.get(y))||((R=e.initArgsMap)==null?void 0:R.get(y)),!r)return e.addError(`Unknown data type (${y})`)}if(typeof r=="function"){if(c=Reflect.getMetadata(d,r),!c)return e.addError(`Class "${r.name}" doesn't have a valid DataType metadata`);l=r}else if(typeof r=="object"){if(c=r[d],c)O=r,c.kind!==f.EnumType.Kind&&(c=void 0);else if(f.isDataType(r))c=r,l=c.ctor;else if(l=Object.getPrototypeOf(r).constructor,c=l&&Reflect.getMetadata(d,l),c&&c.kind===f.SimpleType.Kind){let y=await this._importDataTypeArgs(e,t,c.name);return y?typeof y=="object"&&y.kind!==f.SimpleType.Kind?e.addError("Kind of base data type is not same"):{kind:f.SimpleType.Kind,name:void 0,base:y,properties:r}:void 0}}return c?e.enterAsync(c.name?`[${c.name}]`:"",async()=>{if(c.name){let z=s==null?void 0:s.get(c.name);if(z)return i&&z[Vs]?e.addError("Circular reference detected"):c.name}let y={kind:c.kind,name:c.name};y[Vs]=!0;try{if(y.name)if(n!=null&&n.has(y.name))s==null||s.set(c.name,y),y._instance={name:c.name},y[L]=t.node[L];else return e.addError(`Data Type (${y.name}) must be explicitly added to type list in the document scope`);switch(y.kind){case f.ArrayType.Kind:await this._prepareArrayTypeArgs(e,t,y,c);break;case f.ComplexType.Kind:y.ctor=l,await this._prepareComplexTypeArgs(e,t,y,c);break;case f.EnumType.Kind:y.instance=O,await this._prepareEnumTypeArgs(e,t,y,c);break;case f.MappedType.Kind:await this._prepareMappedTypeArgs(e,t,y,c);break;case f.MixinType.Kind:await this._prepareMixinTypeArgs(e,t,y,c);break;case f.SimpleType.Kind:y.ctor=l,await this._prepareSimpleTypeArgs(e,t,y,c);break;case f.UnionType.Kind:await this._prepareUnionTypeArgs(e,t,y,c);break;default:return e.addError(`Invalid data type kind ${c.kind}`)}}finally{y.name&&(n==null||n.delete(y.name)),delete y[Vs]}return n&&y.name?y.name:y}):e.addError("No DataType metadata found")}static async _prepareDataTypeArgs(e,t,r){t.description=r.description,t.abstract=r.abstract,t.examples=r.examples,t.scopePattern=r.scopePattern}static async _prepareArrayTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".type",async()=>{let n=await this._importDataTypeArgs(e,t,i.type);n&&(r.type=Me(n))})}static async _prepareComplexTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.keyField=i.keyField,r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(n),r.ctor=r.ctor||n.ctor)}),i.additionalFields!=null&&(typeof i.additionalFields=="boolean"||Array.isArray(i.additionalFields)?r.additionalFields=i.additionalFields:await e.enterAsync(".additionalFields",async()=>{let n=await this._importDataTypeArgs(e,t,i.additionalFields);n&&(r.additionalFields=Me(n))})),i.fields&&(r.fields={},await e.enterAsync(".fields",async()=>{for(let[n,s]of Object.entries(i.fields))await e.enterAsync(`[${n}]`,async()=>{let p=typeof s=="string"?{type:s}:s;if(p.isArray&&!p.type)return e.addError('"type" must be defined explicitly for array fields');let c=await this._importDataTypeArgs(e,t,p.type||"any");c&&(r.fields[n]={...p,type:Me(c)})})}))}static async _prepareEnumTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),i.base&&await e.enterAsync(".base",async()=>{let n=await this._importDataTypeArgs(e,t,i.base);n&&(r.base=Me(n))}),r.attributes=I(i.attributes)}static async _prepareSimpleTypeArgs(e,t,r,i){var n,s,p,c;await this._prepareDataTypeArgs(e,r,i),await e.enterAsync(".base",async()=>{let l;if(i.base)l=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let O=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,O)&&(l=await this._importDataTypeArgs(e,t,O))}l&&(r.base=Me(l),r.ctor=r.ctor||l.ctor)}),r.properties=i.properties,r.nameMappings=i.nameMappings,!r.properties&&r.ctor&&(r.properties=new r.ctor),i.attributes&&(r.attributes=I(i.attributes)),typeof((n=r.properties)==null?void 0:n[_])=="function"&&(r.generateDecoder=(s=r.properties)==null?void 0:s[_].bind(r.properties)),typeof((p=r.properties)==null?void 0:p[g])=="function"&&(r.generateEncoder=(c=r.properties)==null?void 0:c[g].bind(r.properties))}static async _prepareMappedTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.discriminatorField=i.discriminatorField,r.discriminatorValue=i.discriminatorValue,await e.enterAsync(".base",async()=>{let n;if(i.base)n=await this._importDataTypeArgs(e,t,i.base,!0);else if(r.ctor){let s=Object.getPrototypeOf(r.ctor.prototype).constructor;Reflect.hasMetadata(d,s)&&(n=await this._importDataTypeArgs(e,t,s))}n&&(r.base=Me(n),r.ctor=r.ctor||n.ctor)}),i.pick?r.pick=[...i.pick]:i.omit?r.omit=[...i.omit]:i.partial?r.partial=Array.isArray(i.partial)?[...i.partial]:i.partial:i.required&&(r.required=Array.isArray(i.required)?[...i.required]:i.required)}static async _prepareMixinTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}static async _prepareUnionTypeArgs(e,t,r,i){await this._prepareDataTypeArgs(e,r,i),r.types=[],await e.enterAsync(".types",async()=>{let n=i.types,s=0;for(let p of n)await e.enterAsync(`[${s++}]`,async()=>{let c=await this._importDataTypeArgs(e,t,p);c&&r.types.push(Me(c))})})}static _createDataType(e,t,r){var s;let i=t.node.findDataType(typeof r=="string"?r:r.name||"");if(i instanceof E)return i;let n=typeof r=="string"?(s=e.initArgsMap)==null?void 0:s.get(r):r;if(n){let p=n[L];switch(p||delete n._instance,i=n._instance,i!=null&&i.name&&p&&p.set(i.name,i),n==null?void 0:n.kind){case f.ArrayType.Kind:return this._createArrayType(e,t,n);case f.ComplexType.Kind:return this._createComplexType(e,t,n);case f.EnumType.Kind:return this._createEnumType(e,t,n);case f.MappedType.Kind:return this._createMappedType(e,t,n);case f.MixinType.Kind:return this._createMixinType(e,t,n);case f.SimpleType.Kind:return this._createSimpleType(e,t,n);case f.UnionType.Kind:return this._createUnionType(e,t,n);default:break}}e.addError(`Unknown data type (${String(r)})`)}static _createArrayType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,de.prototype);let n=I(r);return r.type&&e.enter(".type",()=>{n.type=this._createDataType(e,t,r.type)}),de.apply(i,[t,n]),i}static _createComplexType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,ie.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),r.additionalFields&&e.enter(".additionalFields",()=>{typeof r.additionalFields=="boolean"||Array.isArray(r.additionalFields)?n.additionalFields=r.additionalFields:n.additionalFields=this._createDataType(e,t,r.additionalFields)}),n.fields={},r.fields&&e.enter(".fields",()=>{for(let[s,p]of Object.entries(r.fields))e.enter(`[${s}]`,()=>{let c=this._createDataType(e,t,p.type);c&&(n.fields[s]={...p,name:s,type:c})})}),ie.apply(i,[t,n]),i}static _createEnumType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,te.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),n.attributes=r.attributes,te.apply(i,[t,n]),i}static _createMappedType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,et.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),et.apply(i,[t,n]),i}static _createMixinType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,Ot.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);if(!(c instanceof q))throw new TypeError(`"${c==null?void 0:c.kind}" can't be set as base for a "${n.kind}"`);n.types.push(c)})}),Ot.apply(i,[t,n]),i}static _createSimpleType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,u.prototype);let n=I(r);return r.base&&e.enter(".base",()=>{n.base=this._createDataType(e,t,r.base)}),u.apply(i,[t,n]),i}static _createUnionType(e,t,r){let i=r._instance||{};Object.setPrototypeOf(i,gt.prototype);let n=I(r);return r.types&&e.enter(".types",()=>{n.types=[];let s=0;for(let p of r.types)e.enter(`[${s++}]`,()=>{let c=this._createDataType(e,t,p);n.types.push(c)})}),gt.apply(i,[t,n]),i}};a(Bi,"DataTypeFactory");var M=Bi;function Me(o){return typeof o=="object"&&o.name?o.name:o}a(Me,"preferName");var zp=require("@jsopen/objects");var vp=require("@jsopen/objects");var Ws=class Ws extends A{constructor(e){super(e.owner),this.name="OpraApi",this.name=e.name,this.description=e.description}toJSON(e){return(0,vp.omitUndefined)({transport:this.transport,name:this.name,description:this.description})}async _initialize(e,t){if(!P.test(e.name))throw new TypeError(`Invalid api name (${e.name})`);this.name=e.name,this.description=e==null?void 0:e.description}};a(Ws,"ApiBase");var ve=Ws;var Fp=Rt(require("path-browserify"),1),Ip=require("@jsopen/objects"),Pp=require("ts-gems");var Tr=require("@jsopen/objects");var jl=/^(.*)(Controller)$/;function zs(o){let e=[],t=a(function(r){var c;let i=o==null?void 0:o.name;i||(i=((c=jl.exec(r.name))==null?void 0:c[1])||r.name);let n={},s=Reflect.getOwnMetadata(se,Object.getPrototypeOf(r));s&&(0,Tr.merge)(n,s,{deep:!0});let p=Reflect.getOwnMetadata(se,r);p&&(0,Tr.merge)(n,p,{deep:!0}),(0,Tr.merge)(n,{kind:f.HttpController.Kind,name:i,path:i,...(0,Tr.omit)(o,["kind","name","instance","endpoints","key"])},{deep:!0}),Reflect.defineMetadata(se,n,r);for(let l of e)l(n,r);Reflect.defineMetadata(se,n,r)},"decorator");return t.Cookie=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"cookie",type:i}:{...i,name:r,location:"cookie"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.Header=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"header",type:i}:{...i,name:r,location:"header"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.QueryParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"query",type:i}:{...i,name:r,location:"query"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.PathParam=(r,i)=>(e.push(n=>{let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i}:{...i,name:r,location:"path"};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.KeyParam=(r,i)=>(e.push(n=>{var p;(p=n.path)!=null&&p.includes(":"+r)||(n.path=(n.path||"")+"@:"+r);let s=typeof i=="string"||typeof i=="function"?{name:r,location:"path",type:i,keyParam:!0}:{...i,name:r,location:"path",keyParam:!0};n.parameters=n.parameters||[],n.parameters.push(s)}),t),t.UseType=(...r)=>(e.push(i=>{i.types=i.types||[],i.types.push(...r)}),t),t}a(zs,"HttpControllerDecoratorFactory");var ne=a(function(...o){var i;if(!this)return ne[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!P.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,Pp.asMutable)(this);r.kind=f.HttpController.Kind,r.types=r.node[L]=new W,r.operations=new S,r.controllers=new S,r.parameters=[],r.name=t.name,r.description=t.description,r.path=t.path??t.name,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"HttpController"),Ys=class Ys extends A{get isRoot(){return!(this.owner instanceof ne)}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values()){if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;if(r.controllers.size&&(t=r.findController(e),t))return this._controllerReverseMap.set(e,t),t}this._controllerReverseMap.set(e,null);return}if(e.startsWith("/")&&(e=e.substring(1)),e.includes("/")){let t=e.split("/"),r=this;for(;r&&t.length>0;)r=r.controllers.get(t.shift());return r}return this.controllers.get(e)}findParameter(e,t){let r=e.toLowerCase(),i;for(i of this.parameters)if(!(t&&t!==i.location)&&(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e)))return i;if(this.node.parent&&this.node.parent.element instanceof ne)return this.node.parent.element.findParameter(e,t)}getFullUrl(){return Fp.default.posix.join(this.owner instanceof ne?this.owner.getFullUrl():"/",this.path)}toString(){return`[HttpController ${this.name}]`}toJSON(e){let t=(0,Ip.omitUndefined)({kind:this.kind,description:this.description,path:this.path});if(this.operations.size){t.operations={};for(let r of this.operations.values())t.operations[r.name]=r.toJSON(e)}if(this.controllers.size){t.controllers={};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON(e)}if(this.types.size){t.types={};for(let r of this.types.values())t.types[r.name]=r.toJSON(e)}if(this.parameters.length){t.parameters=[];for(let r of this.parameters)t.parameters.push(r.toJSON(e))}return t}[je](){return`[${Ce}HttpController${Ue+this.name+De}]`}};a(Ys,"HttpControllerClass");var Js=Ys;ne.prototype=Js.prototype;Object.assign(ne,zs);ne[w]=zs;var Qs=class Qs extends ve{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="http",this.controllers=new S,this.url=e.url}findController(e){return ne.prototype.findController.call(this,e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(e){let r={...super.toJSON(),transport:this.transport,url:this.url,controllers:{}};for(let i of this.controllers.values())r.controllers[i.name]=i.toJSON(e);return r}};a(Qs,"HttpApi");var tt=Qs;var Lp=Rt(require("@browsery/type-is"),1),kp=require("@jsopen/objects"),jp=require("ts-gems"),Ki=require("valgen");var Fe=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');A.call(this,o);let t=(0,jp.asMutable)(this);if(e.contentType){let r=Array.isArray(e.contentType)?e.contentType:[e.contentType];r=r.map(i=>i.split(/\s*,\s*/)).flat(),t.contentType=r.length>1?r:r[0]}t.description=e.description,t.contentEncoding=e.contentEncoding,t.examples=e.examples,t.multipartFields=[],t.maxFieldsSize=e.maxFieldsSize,t.maxFields=e.maxFields,t.maxFiles=e.maxFiles,t.maxFileSize=e.maxFileSize,t.maxTotalFileSize=e.maxTotalFileSize,e!=null&&e.type&&(t.type=(e==null?void 0:e.type)instanceof E?e.type:t.owner.node.getDataType(e.type)),t.isArray=e.isArray,t.designType=e.designType},"HttpMediaType"),Xs=class Xs extends A{findMultipartField(e,t){if(this.multipartFields){for(let r of this.multipartFields)if((!t||t===r.fieldType)&&(r.fieldName instanceof RegExp&&r.fieldName.test(e)||r.fieldName===e))return r}}toJSON(e){var i,n;let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0,r=(0,kp.omitUndefined)({description:this.description,contentType:this.contentType,contentEncoding:this.contentEncoding,type:t||((i=this.type)==null?void 0:i.toJSON(e)),isArray:this.isArray,example:this.example,examples:this.examples,maxFields:this.maxFields,maxFieldsSize:this.maxFieldsSize,maxFiles:this.maxFiles,maxFileSize:this.maxFileSize,maxTotalFileSize:this.maxTotalFileSize});return(n=this.multipartFields)!=null&&n.length&&(r.multipartFields=this.multipartFields.map(s=>s.toJSON(e))),r}generateCodec(e,t,r){let i;return this.type?i=this.type.generateCodec(e,t,{designType:this.designType}):this.contentType&&(Array.isArray(this.contentType)?this.contentType:[this.contentType]).find(s=>Lp.default.is(s,["json"]))&&(i=this.node.findDataType("object").generateCodec(e,t,{...r,designType:this.designType})),i=i||Ki.isAny,this.isArray&&!(this.type instanceof de)?Ki.vg.isArray(i):i}};a(Xs,"HttpMediaTypeClass");var Gs=Xs;Fe.prototype=Gs.prototype;var Cp=require("@jsopen/objects");function rt(o,e){let t=o.lastIndexOf("/");if(o.startsWith("/")&&t){let r=o.substring(1,t),i=o.substring(t+1);if(e!=null&&e.includeFlags)for(let n of e.includeFlags)i.includes(n)||(i+=n);if(e!=null&&e.excludeFlags)for(let n of e.excludeFlags)i.replace(n,"");return new RegExp(r,i)}throw new TypeError(`"${o}" is not a valid RegExp string`)}a(rt,"parseRegExp");var Zs=class Zs extends Fe{constructor(e,t){super(e,t),this.fieldName=t.fieldName instanceof RegExp?t.fieldName:t.fieldName.startsWith("/")?rt(t.fieldName):t.fieldName,this.fieldType=t.fieldType,this.required=t.required}toJSON(e){return(0,Cp.omitUndefined)({fieldName:this.fieldName,fieldType:this.fieldType,required:this.required,...super.toJSON(e)})}};a(Zs,"HttpMultipartField");var Zr=Zs;var Up=require("@jsopen/objects");var Cl=/^([1-6]\d{2})(?:-([1-6]\d{2}))?$/,Hs=class Hs{constructor(e,t){if(this.start=0,this.end=0,e&&typeof e=="object"&&(this.start=e.start||0,this.end=e.end||0),typeof e=="number"&&(this.start=e,this.end=t||this.start),typeof e=="string"){let r=Cl.exec(e);if(!r)throw new TypeError(`"${e}" is not a valid Status Code range`);this.start=parseInt(r[1],10),this.end=r[2]?parseInt(r[2],10):this.start}}includes(e){return e>=this.start&&e<=this.end}intersects(e,t){return t>=this.start&&e<=this.end}toString(){return this.start===this.end?String(this.start):String(this.start)+"-"+String(this.end)}toJSON(){return!this.end||this.start===this.end?this.start:{start:this.start,end:this.end}}};a(Hs,"HttpStatusRange");var Er=Hs;var ea=class ea extends Fe{constructor(e,t){super(e,t),this.parameters=[],this.statusCode=(Array.isArray(t.statusCode)?t.statusCode:[t.statusCode]).map(r=>typeof r=="object"?new Er(r.start,r.end):new Er(r)),this.partial=t.partial}findParameter(e,t){e=e.toLowerCase();for(let r of this.parameters)if((!t||t===r.location)&&(r.name instanceof RegExp&&r.name.test(e)||r.name===e))return r}toJSON(e){let t=this.statusCode.map(i=>i.toJSON()),r=(0,Up.omitUndefined)({...super.toJSON(e),statusCode:t.length===1&&typeof t[0]=="number"?t[0]:t,partial:this.partial});if(this.parameters.length){r.parameters=[];for(let i of this.parameters)r.parameters.push(i.toJSON(e))}return r}};a(ea,"HttpOperationResponse");var Hr=ea;var Bp=require("@jsopen/objects"),Kp=require("ts-gems"),Vp=require("valgen");var $p=require("@jsopen/objects"),qp=require("ts-gems");var wt=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');A.call(this,o);let t=(0,qp.asMutable)(this);t.description=e.description,t.type=e.type,t.examples=e.examples,t.isArray=e.isArray},"Value"),ra=class ra extends A{toJSON(e){let t=this.type?this.node.getDataTypeNameWithNs(this.type):void 0;return(0,$p.omitUndefined)({type:this.type?t||this.type.toJSON(e):"any",description:this.description,isArray:this.isArray,examples:this.examples})}};a(ra,"ValueClass");var ta=ra;wt.prototype=ta.prototype;var _r=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');wt.call(this,o,e);let t=(0,Kp.asMutable)(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?rt(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.location=e.location,t.deprecated=e.deprecated,t.required=e.required,t.required==null&&e.location==="path"&&(t.required=!0),t.arraySeparator=e.arraySeparator,t.keyParam=e.keyParam,t.parser=e.parser,t.designType=e.designType},"HttpParameter"),oa=class oa extends wt{toJSON(e){return(0,Bp.omitUndefined)({...super.toJSON(e),name:this.name,location:this.location,arraySeparator:this.arraySeparator,keyParam:this.keyParam,required:this.required,deprecated:this.deprecated})}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||Vp.vg.isAny()}};a(oa,"HttpParameterClass");var ia=oa;_r.prototype=ia.prototype;var Wp=require("@jsopen/objects");var na=class na extends A{constructor(e){super(e),this.content=[]}toJSON(e){return(0,Wp.omitUndefined)({description:this.description,required:this.required,maxContentSize:this.maxContentSize,content:this.content.length?this.content.map(t=>t.toJSON(e)):[],partial:this.partial,allowPatchOperators:this.allowPatchOperators})}};a(na,"HttpRequestBody");var ei=na;var sa=class sa{static async createApi(e,t){let r=new tt(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,r,t.controllers)}),r}static async _createControllers(e,t,r){if(Array.isArray(r)){let i=0;for(let n of r){let s;await e.enterAsync(`[${i++}]`,async()=>{s=await this._resolveControllerMetadata(e,t,n)}),s&&await e.enterAsync(`[${s.metadata.name}]`,async()=>{let p=await this._createController(e,t,s.metadata,s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${s.name})`),t.controllers.set(p.name,p))})}return}for(let[i,n]of Object.entries(r))await e.enterAsync(`[${i}]`,async()=>{let s=await this._resolveControllerMetadata(e,t,n);if(!s)return;let p=await this._createController(e,t,{...s.metadata,name:i},s.instance,s.ctor);p&&(t.controllers.get(p.name)&&e.addError(`Duplicate controller name (${i})`),t.controllers.set(p.name,p))})}static async _resolveControllerMetadata(e,t,r){typeof r=="function"&&!(0,zp.isConstructor)(r)&&(r=t instanceof ne?r(t.instance):r()),r=await H(r);let i,n,s;if(typeof r=="function"){if(n=Reflect.getMetadata(se,r),!n)return e.addError(`Class "${r.name}" doesn't have a valid HttpController metadata`);i=r}else i=Object.getPrototypeOf(r).constructor,n=Reflect.getMetadata(se,i),n?s=r:(n=r,r.instance==="object"&&(s=r.instance,i=Object.getPrototypeOf(s).constructor));return n?{metadata:n,instance:s,ctor:i}:e.addError(`Class "${i.name}" is not decorated with HttpController()`)}static async _createController(e,t,r,i,n){if(!r.name)throw new TypeError("Controller name required");let s=new ne(t,{...r,instance:i,ctor:n});return r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,s,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let p=0;for(let c of r.parameters)await e.enterAsync(`[${p++}]`,async()=>{let l={...c};await e.enterAsync(".type",async()=>{l.type=await M.resolveDataType(e,s,c.type)});let O=new _r(s,l);s.parameters.push(O)})}),r.operations&&await e.enterAsync(".operations",async()=>{for(let[p,c]of Object.entries(r.operations))await e.enterAsync(`[${p}]`,async()=>{let l=new D(s,{name:p,method:"GET"});await this._initHttpOperation(e,l,c),s.operations.set(p,l)})}),r.controllers&&await e.enterAsync(".controllers",async()=>{await this._createControllers(e,s,r.controllers)}),s}static async _initHttpOperation(e,t,r){let i={...r,name:t.name,types:void 0};return D.apply(t,[t.owner,i]),r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),r.parameters&&await e.enterAsync(".parameters",async()=>{let n=0;for(let s of r.parameters)await e.enterAsync(`[${n++}]`,async()=>{let p={...s};await e.enterAsync(".type",async()=>{p.type=await M.resolveDataType(e,t,s.type)});let c=new _r(t,p);t.parameters.push(c)})}),r.responses&&await e.enterAsync(".responses",async()=>{let n=0;for(let s of r.responses)await e.enterAsync(`[${n++}]`,async()=>{let p=new Hr(t,{statusCode:s.statusCode});await this._initHttpOperationResponse(e,p,s),t.responses.push(p)})}),r.requestBody&&await e.enterAsync(".requestBody",async()=>{let n=new ei(t);await this._initHttpRequestBody(e,n,r.requestBody),t.requestBody=n}),t}static async _initHttpMediaType(e,t,r){Fe.call(t,t.owner,{...r,type:void 0,multipartFields:void 0}),r.type&&await e.enterAsync(".type",async()=>{t.type=await M.resolveDataType(e,t,r.type)}),r.multipartFields&&await e.enterAsync(".multipartFields",async()=>{for(let i=0;i<r.multipartFields.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.multipartFields[i],s=new Zr(t,{fieldName:n.fieldName,fieldType:n.fieldType});await this._initHttpMediaType(e,s,n),t.multipartFields.push(s)})})}static async _initHttpOperationResponse(e,t,r){await this._initHttpMediaType(e,t,r),t.partial=r.partial,r.parameters&&await e.enterAsync(".parameters",async()=>{let i=0;for(let n of r.parameters)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let p=new _r(t,s);t.parameters.push(p)})})}static async _initHttpRequestBody(e,t,r){t.description=r.description,t.required=r.required,t.maxContentSize=r.maxContentSize,t.immediateFetch=r.immediateFetch,t.partial=r.partial,t.allowPatchOperators=r.allowPatchOperators,t.keepKeyFields=r.keepKeyFields,r.content&&await e.enterAsync(".content",async()=>{for(let i=0;i<r.content.length;i++)await e.enterAsync(`[${i}]`,async()=>{let n=r.content[i],s=new Fe(t,String(i));await this._initHttpMediaType(e,s,n),t.content.push(s)})})}};a(sa,"HttpApiFactory");var xr=sa;var Yp=require("@jsopen/objects"),Qp=require("super-fast-md5");var aa=class aa extends ve{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="mq",this.controllers=new S,this.platform=e.platform}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,platform:this.platform,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(aa,"MQApi");var it=aa;var pa=class pa extends ve{constructor(e){super(e),this._controllerReverseMap=new WeakMap,this.transport="ws",this.controllers=new S}findController(e){if(typeof e=="function"){let t=this._controllerReverseMap.get(e);if(t!=null)return t;for(let r of this.controllers.values())if(r.ctor===e)return this._controllerReverseMap.set(e,r),r;this._controllerReverseMap.set(e,null);return}return this.controllers.get(e)}findOperation(e,t){let r=this.findController(e);return r==null?void 0:r.operations.get(t)}toJSON(){let t={...super.toJSON(),transport:this.transport,controllers:{}};for(let r of this.controllers.values())t.controllers[r.name]=r.toJSON();return t}};a(pa,"WSApi");var ot=pa;var Jp,ca=class ca extends A{constructor(){super(null),this[Jp]=new WeakMap,this.id="",this.info={},this.references=new S,this.types=new W,this.node[L]=this.types,this.node.findDataType=this._findDataType.bind(this)}getDataTypeNs(e){let t=e instanceof E?this._findDataType(e.name||""):this._findDataType(e);if(t)return this[we].get(t)}findDocument(e){if(this.id===e)return this;for(let t of this.references.values()){if(t.id===e)return t;let r=t.findDocument(e);if(r)return r}}get httpApi(){if(this.api&&this.api instanceof tt)return this.api}get mqApi(){if(this.api&&this.api instanceof it)return this.api}get wsApi(){if(this.api&&this.api instanceof ot)return this.api}getHttpApi(){if(!(this.api&&this.api instanceof tt))throw new TypeError("The document do not contains HttpApi instance");return this.api}getMqApi(){if(!(this.api&&this.api instanceof it))throw new TypeError("The document do not contains MQApi instance");return this.api}getWsApi(){if(!(this.api&&this.api instanceof ot))throw new TypeError("The document do not contains WSApi instance");return this.api}toJSON(){return this.export()}export(e){let t=(0,Yp.omitUndefined)({spec:f.SpecVersion,id:this.id,url:this.url,info:I(this.info,!0)});if(this.references.size){let r=0,i={};for(let[n,s]of this.references.entries())s[Ie]||(i[n]={id:s.id,url:s.url,info:I(s.info,!0)},r++);r&&(t.references=i)}if(this.types.size){t.types={};for(let r of this.types.values())r.inScope(e==null?void 0:e.scope)&&(t.types[r.name]=r.toJSON(e))}return this.api&&(t.api=this.api.toJSON(e)),t}invalidate(){let e=this.export({});delete e.id,this.id=(0,Qp.md5)(JSON.stringify(e)),this[we]=new WeakMap}_findDataType(e,t,r){let i=this.types.get(e);if(i&&i.inScope(t))return i;if(!this.references.size)return;if(typeof e=="string"){let s=Ro.exec(e);if(s){let p=s[1];if(p){let c=this.references.get(p);return c?(r=r||new WeakMap,r.set(this,!0),r.set(c,!0),c._findDataType(s[2],t,r)):void 0}e=s[2]}}r=r||new WeakMap,r.set(this,!0);let n=Array.from(this.references.keys()).reverse();for(let s of n){let p=this.references.get(s);if(i=p==null?void 0:p.types.get(e),i)return this[we].set(i,p!=null&&p[Ie]?"":s),i}for(let s of n){let p=this.references.get(s);if(r.set(p,!0),i=p._findDataType(e,t,r),i)return this[we].set(i,p!=null&&p[Ie]?"":s),i}}};a(ca,"ApiDocument");var nt=ca;Jp=we;function st(o,e,t){let r=qi(e.pick,e.omit),i=typeof o=="string"?o.charAt(0).toUpperCase()+o.substring(1):o.name,n=(t==null?void 0:t.name)||i+"Mapped",s={[n]:class{constructor(){typeof o=="function"&&Mr(this,o,r)}}}[n];if(typeof o=="function"&&Sr(s.prototype,o.prototype),typeof o=="function"){let c=Reflect.getOwnMetadata(d,o);if(!c)throw new TypeError(`Class "${o}" doesn't have datatype metadata information`);if(!(c.kind===f.ComplexType.Kind||c.kind===f.MappedType.Kind||c.kind===f.MixinType.Kind))throw new TypeError(`Class "${o}" is not a ${f.ComplexType.Kind}`)}let p={...t,kind:"MappedType",base:o};return e.pick&&(p.pick=e.pick),e.omit&&(p.omit=e.omit),e.partial&&(p.partial=e.partial),e.required&&(p.required=e.required),Reflect.defineMetadata(d,p,s),typeof o=="function"&&et._applyMixin(s,o,{...e,isInheritedPredicate:r}),s}a(st,"createMappedClass");function $l(o,e,t){return st(o,{omit:e},t)}a($l,"OmitType");function ql(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return st(o,{partial:t},r)}a(ql,"PartialType");function Bl(o,e,t){return st(o,{pick:e},t)}a(Bl,"PickType");function Kl(o,...e){let t=Array.isArray(e[0])?e[0]:!0,r=Array.isArray(e[0])?e[1]:e[0];return st(o,{required:t},r)}a(Kl,"RequiredType");function Vl(o){return(e,t,r)=>{if(typeof t!="string")throw new TypeError("Un-named properties can not be decorated");if(!o&&(o=Reflect.getMetadata("design:paramtypes",e,t)[r],!o))throw new TypeError("Missing parameter type");let i=Reflect.getOwnMetadata(Dt,e,t);i||(i=[],Reflect.defineMetadata(Dt,i,e,t)),i[r]=o}}a(Vl,"WsParam");var oc=require("@jsopen/objects");var Gp=require("@jsopen/objects"),Xp=require("ts-gems");var at=a(function(...o){var i;if(!this)return at[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!P.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,Xp.asMutable)(this);r.kind=f.MQController.Kind,r.types=r.node[L]=new W,r.operations=new S,r.headers=[],r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"MQController"),fa=class fa extends A{findHeader(e,t){let r=e.toLowerCase(),i;for(i of this.headers)if(typeof i.name=="string"&&(i._nameLower=i._nameLower||i.name.toLowerCase(),i._nameLower===r)||i.name instanceof RegExp&&i.name.test(e))return i;if(this.node.parent&&this.node.parent.element instanceof at)return this.node.parent.element.findHeader(e,t)}toString(){return`[MQController ${this.name}]`}toJSON(){let e=(0,Gp.omitUndefined)({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}[je](){return`[${Ce}MQController${Ue+this.name+De}]`}};a(fa,"MQControllerClass");var la=fa;at.prototype=la.prototype;Object.assign(at,hr);at[w]=hr;var Zp=require("@jsopen/objects"),Hp=require("ts-gems"),ec=require("valgen");var Or=a(function(o,e){if(!this)throw new TypeError('"this" should be passed to call class constructor');wt.call(this,o,e);let t=(0,Hp.asMutable)(this);e.name&&(t.name=e.name instanceof RegExp?e.name:e.name.startsWith("/")?rt(e.name,{includeFlags:"i",excludeFlags:"m"}):e.name),t.deprecated=e.deprecated,t.required=e.required,t.designType=e.designType},"MQHeader"),ua=class ua extends wt{toJSON(){return(0,Zp.omitUndefined)({...super.toJSON(),name:this.name,required:this.required,deprecated:this.deprecated})}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||ec.vg.isAny()}};a(ua,"MQHeaderClass");var ma=ua;Or.prototype=ma.prototype;var tc=require("@jsopen/objects"),rc=require("ts-gems"),da=require("valgen");var gr=a(function(...o){if(!this){let[i,n]=o,s=[];return gr[w].call(void 0,s,i,n)}let[e,t]=o;if(A.call(this,e),!P.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,rc.asMutable)(this);r.headers=[],r.types=r.node[L]=new W,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.type&&(r.type=(t==null?void 0:t.type)instanceof E?t.type:r.owner.node.getDataType(t.type)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof E?t.keyType:r.owner.node.getDataType(t.keyType)),r.designType=t.designType,r.keyDesignType=t.keyDesignType},"MQOperation"),ya=class ya extends A{findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){var t;let e=(0,tc.omitUndefined)({kind:f.MQOperation.Kind,description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0,response:(t=this.response)==null?void 0:t.toJSON()});if(this.headers.length){e.headers=[];for(let r of this.headers)e.headers.push(r.toJSON())}return e}generateCodec(e,t,r){var i;return((i=this.type)==null?void 0:i.generateCodec(e,t,{...r,designType:this.designType}))||da.vg.isAny()}generateKeyCodec(e,t,r){var i;return((i=this.keyType)==null?void 0:i.generateCodec(e,t,{...r,designType:this.keyDesignType}))||da.vg.isAny()}};a(ya,"MQOperationClass");var ha=ya;gr.prototype=ha.prototype;gr[w]=Gr;var ic=require("@jsopen/objects");var Ta=class Ta extends A{constructor(e,t){super(e),this.headers=[],this.channel=t==null?void 0:t.channel,this.description=t==null?void 0:t.description,t!=null&&t.type?this.type=(t==null?void 0:t.type)instanceof E?t.type:this.owner.node.getDataType(t.type):this.type=this.owner.node.getDataType("any"),t!=null&&t.keyType&&(this.keyType=(t==null?void 0:t.keyType)instanceof E?t.keyType:this.owner.node.getDataType(t.keyType)),this.designType=t==null?void 0:t.designType,this.keyDesignType=t==null?void 0:t.keyDesignType}findHeader(e){let t=e.toLowerCase(),r;for(r of this.headers)if(typeof r.name=="string"&&(r._nameLower=r._nameLower||r.name.toLowerCase(),r._nameLower===t)||r.name instanceof RegExp&&r.name.test(e))return r}toJSON(){let e=(0,ic.omitUndefined)({description:this.description,channel:this.channel,type:this.type.name?this.type.name:this.type.toJSON(),keyType:this.keyType?this.keyType.name?this.keyType.name:this.keyType.toJSON():void 0});if(this.headers.length){e.headers=[];for(let t of this.headers)e.headers.push(t.toJSON())}return e}};a(Ta,"MQOperationResponse");var Vi=Ta;var Ea=class Ea{static async createApi(e,t){let r=new it(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!(0,oc.isConstructor)(r)&&(r=r()),r=await H(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(ae,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid MQController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(ae,n),s?p=r:(s=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with MQController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let c=new at(t,{...s,name:i,instance:p,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,c,s.types)}),s.headers&&await e.enterAsync(".headers",async()=>{let l=0;for(let O of s.headers)await e.enterAsync(`[${l++}]`,async()=>{let R={...O};await e.enterAsync(".type",async()=>{O.type&&(R.type=c.node.findDataType(O.type)),!R.type&&typeof O.type=="object"&&(R.type=await M.createDataType(e,c,O.type)),R.type||(R.type=c.node.getDataType("any"))});let y=new Or(c,R);c.headers.push(y)})}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[l,O]of Object.entries(s.operations))await e.enterAsync(`[${l}]`,async()=>{let R=new gr(c,{...O,name:l,types:void 0,type:void 0,keyType:void 0});await this._initMQOperation(e,R,O),c.operations.set(R.name,R)})}),c}static async _initMQOperation(e,t,r){r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let p=new Or(t,s);t.headers.push(p)})}),r.response&&await e.enterAsync(".response",async()=>{let i=new Vi(t,{...r.response,type:void 0,keyType:void 0});await this._initMQOperationResponse(e,i,r.response),t.response=i})}static async _initMQOperationResponse(e,t,r){t.type=await M.resolveDataType(e,t,r.type),r.keyType&&(t.keyType=await M.resolveDataType(e,t,r.keyType)),r.headers&&await e.enterAsync(".headers",async()=>{let i=0;for(let n of r.headers)await e.enterAsync(`[${i++}]`,async()=>{let s={...n};await e.enterAsync(".type",async()=>{s.type=await M.resolveDataType(e,t,n.type)});let p=new Or(t,s);t.headers.push(p)})})}};a(Ea,"MQApiFactory");var Wi=Ea;var cc=require("@jsopen/objects");var nc=require("@jsopen/objects"),sc=require("ts-gems");var At=a(function(...o){var i;if(!this)return At[w].apply(void 0,o);let[e,t]=o;if(A.call(this,e),!P.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,sc.asMutable)(this);r.kind=f.WSController.Kind,r.types=r.node[L]=new W,r.operations=new S,r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"WSController"),xa=class xa extends A{toString(){return`[WSController ${this.name}]`}toJSON(){let e=(0,nc.omitUndefined)({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return e}[je](){return`[${Ce}WSController${Ue+this.name+De}]`}};a(xa,"WSControllerClass");var _a=xa;At.prototype=_a.prototype;Object.assign(At,yr);At[w]=yr;var ac=require("@jsopen/objects"),pc=require("ts-gems");var wr=a(function(...o){if(!this){let[i,n]=o,s=[];return wr[w].call(void 0,s,i,n)}let[e,t]=o;if(A.call(this,e),!P.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,pc.asMutable)(this);r.types=r.node[L]=new W,r.name=t.name,r.description=t.description,t.event?this.event=t.event instanceof RegExp?t.event:t.event.startsWith("/")?rt(t.event):t.event:r.event=this.name,t!=null&&t.arguments&&(r.arguments=t.arguments.map(i=>i instanceof E?i:r.owner.node.getDataType(i))),t!=null&&t.response&&(r.response=t.response instanceof E?t.response:r.owner.node.getDataType(t.response))},"WSOperation"),ga=class ga extends A{toJSON(){var e;return(0,ac.omitUndefined)({kind:f.WSOperation.Kind,description:this.description,event:this.event,arguments:(e=this.arguments)==null?void 0:e.map(t=>t.name?t.name:t.toJSON())})}};a(ga,"WSOperationClass");var Oa=ga;wr.prototype=Oa.prototype;wr[w]=Xr;var wa=class wa{static async createApi(e,t){let r=new ot(t);return t.controllers&&await e.enterAsync(".controllers",async()=>{if(Array.isArray(t.controllers))for(let i of t.controllers){let n=await this._createController(e,r,i);n&&r.controllers.set(n.name,n)}else for(let[i,n]of Object.entries(t.controllers)){let s=await this._createController(e,r,n,i);s&&r.controllers.set(s.name,s)}}),r}static async _createController(e,t,r,i){typeof r=="function"&&!(0,cc.isConstructor)(r)&&(r=r()),r=await H(r);let n,s,p;if(typeof r=="function"){if(s=Reflect.getMetadata(pe,r),!s)return e.addError(`Class "${r.name}" doesn't have a valid WSController metadata`);n=r}else n=Object.getPrototypeOf(r).constructor,s=Reflect.getMetadata(pe,n),s?p=r:(s=r,r.instance==="object"&&(p=r.instance,n=Object.getPrototypeOf(p).constructor));if(!s)return e.addError(`Class "${n.name}" is not decorated with WSController()`);if(i=i||s.name,!i)throw new TypeError("Controller name required");let c=new At(t,{...s,name:i,instance:p,ctor:n});return s.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,c,s.types)}),s.operations&&await e.enterAsync(".operations",async()=>{for(let[l,O]of Object.entries(s.operations))await e.enterAsync(`[${l}]`,async()=>{let R=Reflect.getMetadata(Dt,n.prototype,l),y=O;R&&(y={...y,arguments:R});let z=new wr(c,{...y,name:l,types:void 0,type:void 0,keyType:void 0,arguments:void 0});await this._initWSOperation(e,z,y),c.operations.set(l,z)})}),c}static async _initWSOperation(e,t,r){var i;r.types&&await e.enterAsync(".types",async()=>{await M.addDataTypes(e,t,r.types)}),(i=r.arguments)!=null&&i.length&&await e.enterAsync(".arguments",async()=>{var n;t.arguments=[];for(let s of r.arguments){let p=await M.resolveDataType(e,t,s);(n=t.arguments)==null||n.push(p)}}),r.response&&await e.enterAsync(".response",async()=>{t.response=await M.resolveDataType(e,t,r.response)})}};a(wa,"WSApiFactory");var zi=wa;var Wl="https://oprajs.com/spec/v"+f.SpecVersion,Ji=class Ji{constructor(){this._allDocuments={}}static async createDocument(e,t){let r=new Ji,i=t instanceof he?t:new he(t);try{let n=new nt;if(await r.initDocument(n,i,e),i.error.details.length)throw i.error;return n}catch(n){try{n instanceof ht||i.addError(n)}catch{}if(!i.error.message){let s=i.error.details.length;i.error.message=`(${s}) error${s>1?"s":""} found in document schema.`,i.showErrorDetails&&(i.error.message+=i.error.details.map(p=>`
10
10
 
11
11
  - ${p.message}`+(p.path?`
12
- @${p.path}`:"")).join(""))}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[Se]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||m.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,p;for([s,p]of Object.entries(i.references))p=await me(p),await t.enterAsync(`[${s}]`,async()=>{if(!F.test(s))throw new TypeError(`Invalid namespace (${s})`);if(p instanceof He){e.references.set(s,p);return}let c=new He;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(s,this._allDocuments[c.id])})}),i.types&&await t.enterAsync(".types",async()=>{await k.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await ur.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await ji.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:m.SpecVersion,url:bl,info:{version:m.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(bs),...Object.values(_s)]},r=new He;r[Se]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[wr];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Ci,"ApiDocumentFactory");var pa=Ci;var Vp=require("@jsopen/objects"),zp=require("ts-gems");var Jr=a(function(...o){var i;if(!this)return Jr[A].apply(void 0,o);let[e,t]=o;if(w.call(this,e),!F.test(t.name))throw new TypeError(`Invalid resource name (${t.name})`);let r=(0,zp.asMutable)(this);r.kind=m.WSController.Kind,r.types=r.node[I]=new J,r.operations=new S,r.name=t.name,r.description=t.description,r.instance=t.instance,r.ctor=t.ctor,r._controllerReverseMap=new WeakMap,(i=r._initialize)==null||i.call(r,t)},"WSController"),la=class la extends w{toString(){return`[WSController ${this.name}]`}toJSON(){let e=(0,Vp.omitUndefined)({kind:this.kind,description:this.description});if(this.operations.size){e.operations={};for(let t of this.operations.values())e.operations[t.name]=t.toJSON()}if(this.types.size){e.types={};for(let t of this.types.values())e.types[t.name]=t.toJSON()}return e}[Ie](){return`[${Le}WSController${Pe+this.name+Ae}]`}};a(la,"WSControllerClass");var ca=la;Jr.prototype=ca.prototype;Object.assign(Jr,pr);Jr[A]=pr;var Jp=require("@jsopen/objects"),Wp=require("ts-gems");var Ui=a(function(...o){if(!this){let[i,n]=o,s=[];return Ui[A].call(void 0,s,i,n)}let[e,t]=o;if(w.call(this,e),!F.test(t.name))throw new TypeError(`Invalid operation name (${t.name})`);let r=(0,Wp.asMutable)(this);r.types=r.node[I]=new J,r.name=t.name,r.description=t.description,r.channel=t.channel,t!=null&&t.payloadType&&(r.payloadType=(t==null?void 0:t.payloadType)instanceof x?t.payloadType:r.owner.node.getDataType(t.payloadType)),t!=null&&t.keyType&&(r.keyType=(t==null?void 0:t.keyType)instanceof x?t.keyType:r.owner.node.getDataType(t.keyType))},"WSOperation"),ma=class ma extends w{toJSON(){return(0,Jp.omitUndefined)({kind:m.WSOperation.Kind,description:this.description,channel:this.channel,payloadType:this.payloadType.name?this.payloadType.name:this.payloadType.toJSON()})}};a(ma,"WSOperationClass");var fa=ma;Ui.prototype=fa.prototype;Ui[A]=qr;var ua;(function(o){o.HttpApiFactory=ur,o.DataTypeFactory=k,o.MQOperationDecoratorFactory=$r,o.MQControllerDecoratorFactory=ar,o.WSOperationDecoratorFactory=qr,o.WSControllerDecoratorFactory=pr})(ua||(ua={}));var Yp=require("uid");
12
+ @${p.path}`:"")).join(""))}throw i.error}}async initDocument(e,t,r){let i;if(typeof r=="string"){if(i=await(await fetch(r,{method:"GET"})).json(),!i)return t.addError(`Invalid response returned from url: ${r}`);i.url=r}else i=r;let n;if(!e[Ie]){let s=e.node.findDataType("string");n=s==null?void 0:s.node.getDocument(),n||(n=await this.createBuiltinDocument(t),e.references.set("opra",n))}i.spec=i.spec||f.SpecVersion,e.url=i.url,i.info&&(e.info={...i.info}),i.references&&await t.enterAsync(".references",async()=>{let s,p;for([s,p]of Object.entries(i.references))p=await H(p),await t.enterAsync(`[${s}]`,async()=>{if(!P.test(s))throw new TypeError(`Invalid namespace (${s})`);if(p instanceof nt){e.references.set(s,p);return}let c=new nt;n&&c.references.set("opra",n),await this.initDocument(c,t,p),e.references.set(s,this._allDocuments[c.id])})}),i.types&&await t.enterAsync(".types",async()=>{await M.addDataTypes(t,e,i.types)}),i.api&&await t.enterAsync(".api",async()=>{if(i.api&&i.api.transport==="http"){let s=await xr.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="mq"){let s=await Wi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else if(i.api&&i.api.transport==="ws"){let s=await zi.createApi(t,{...i.api,owner:e});s&&(e.api=s)}else t.addError(`Unknown service transport (${i.api.transport})`)}),e.invalidate(),this._allDocuments[e.id]||(this._allDocuments[e.id]=e)}async createBuiltinDocument(e){let t={spec:f.SpecVersion,url:Wl,info:{version:f.SpecVersion,title:"Opra built-in types",license:{url:"https://github.com/oprajs/opra/blob/main/LICENSE",name:"MIT"}},types:[...Object.values(ks),...Object.values(Ss)]},r=new nt;r[Ie]=!0;let i=Object.getPrototypeOf(BigInt(0)).constructor,n=Object.getPrototypeOf(Buffer.from([])),s=r.types[vr];return s.set(Object,"object"),s.set(String,"string"),s.set(Number,"number"),s.set(Boolean,"boolean"),s.set(Object,"any"),s.set(Date,"datetime"),s.set(i,"bigint"),s.set(ArrayBuffer,"base64"),s.set(n,"base64"),await this.initDocument(r,e,t),r}};a(Ji,"ApiDocumentFactory");var Aa=Ji;var Ra;(function(o){o.HttpApiFactory=xr,o.DataTypeFactory=M,o.MQOperationDecoratorFactory=Gr,o.MQControllerDecoratorFactory=hr,o.WSOperationDecoratorFactory=Xr,o.WSControllerDecoratorFactory=yr})(Ra||(Ra={}));var lc=require("uid");