@overmap-ai/core 1.0.78-attachment-model-improvements.1 → 1.0.78-attachment-model-improvements.2

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 (32) hide show
  1. package/dist/overmap-core.js +6717 -7153
  2. package/dist/overmap-core.umd.cjs +8 -8
  3. package/dist/sdk/constants.d.ts +1 -1
  4. package/dist/sdk/services/AssetAttachmentService.d.ts +6 -11
  5. package/dist/sdk/services/AssetProcedureStepFieldValuesAttachmentService.d.ts +7 -11
  6. package/dist/sdk/services/AssetProcedureStepFieldsAttachmentService.d.ts +16 -18
  7. package/dist/sdk/services/AssetProcedureTypeAttachmentService.d.ts +5 -11
  8. package/dist/sdk/services/AssetProcedureTypeFieldValuesAttachmentService.d.ts +7 -11
  9. package/dist/sdk/services/AssetProcedureTypeFieldsAttachmentService.d.ts +16 -18
  10. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +5 -11
  11. package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +7 -8
  12. package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +7 -9
  13. package/dist/sdk/services/BaseOfflineFileModelApiService.d.ts +15 -0
  14. package/dist/sdk/services/DocumentAttachmentService.d.ts +8 -11
  15. package/dist/sdk/services/FileService.d.ts +7 -18
  16. package/dist/sdk/services/FormRevisionAttachmentService.d.ts +16 -18
  17. package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +16 -18
  18. package/dist/sdk/services/GeoImageService.d.ts +8 -7
  19. package/dist/sdk/services/IssueAttachmentService.d.ts +5 -11
  20. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +5 -11
  21. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +5 -11
  22. package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +16 -19
  23. package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +16 -18
  24. package/dist/sdk/services/ProjectAttachmentService.d.ts +5 -11
  25. package/dist/sdk/services/ProjectFileService.d.ts +18 -16
  26. package/dist/sdk/services/index.d.ts +1 -1
  27. package/dist/sdk/typings.d.ts +12 -4
  28. package/dist/store/slices/fileSlice.d.ts +0 -3
  29. package/dist/typings/files.d.ts +20 -5
  30. package/dist/utils/file.d.ts +5 -12
  31. package/package.json +1 -1
  32. package/dist/sdk/services/BaseOfflineAttachmentModelService.d.ts +0 -23
@@ -1,15 +1,15 @@
1
- (function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("redux-persist-migrate"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","react","file-saver","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","redux-persist-migrate","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.fileSaver,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,o,ct,xe,pO,AO,Cn,ft,fO,Ln,SO,TO,rb,ub,IO,OO,PO){"use strict";var cb=Object.defineProperty;var db=(i,L,o)=>L in i?cb(i,L,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[L]=o;var y=(i,L,o)=>db(i,typeof L!="symbol"?L+"":L,o);var mO;const kn=Object.freeze([]),Nn=Object.freeze({});var Gn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Gn||{}),m=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(m||{}),Hn=(t=>(t[t.PLANNED=0]="PLANNED",t[t.ACTIVE=1]="ACTIVE",t[t.MAINTENANCE=2]="MAINTENANCE",t[t.INACTIVE=3]="INACTIVE",t[t.RETIRED=4]="RETIRED",t[t.DISPOSED=5]="DISPOSED",t))(Hn||{}),Wn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Wn||{}),Nt=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(Nt||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),Kn=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.PLANNED=1]="PLANNED",t[t.IN_PROGRESS=2]="IN_PROGRESS",t[t.COMPLETED=3]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))(Kn||{});const FO=Nt.MEDIUM,Yn=6e4;function R(t){return{addOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},addMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},setOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},setMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},updateOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},updateMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},deleteOne:(h,p)=>{delete h.instances[p.payload]},deleteMany:(h,p)=>{for(const A of p.payload)delete h.instances[A]},initialize:(h,p)=>{h.instances={};const A=new Set;for(const f of p.payload){const I=t(f);A.add(I),h.instances[I]=f}A.size!==p.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function gO(){return{initializeSelection:(u,d)=>{u.selection=Array.from(new Set(d.payload))},selectOne:(u,d)=>{new Set(u.selection).has(d.payload)||u.selection.push(d.payload)},selectMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)||h.add(p);u.selection=Array.from(h)},unselectOne:(u,d)=>{const h=new Set(u.selection);h.has(d.payload)&&(h.delete(d.payload),u.selection=Array.from(h))},unselectMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)&&h.delete(p);u.selection=Array.from(h)},toggleOne:(u,d)=>{const h=new Set(u.selection);h.has(d.payload)?h.delete(d.payload):h.add(d.payload),u.selection=Array.from(h)},toggleMany:(u,d)=>{const h=new Set(u.selection);for(const p of d.payload)h.has(p)?h.delete(p):h.add(p);u.selection=Array.from(h)},getInitialState:u=>({...u,selection:[]})}}const ht="versioning",_=o.createAction("RESET"),D=o.createAction("RESET_PROJECT_STATE"),w=o.createAction("RESET_ORGANIZATION_STATE");function bO(t,s){return pO.useMemo(t,s)}mO=Symbol.toStringTag;class Gt{constructor(){y(this,mO,"Promise");y(this,"_promise");y(this,"_resolve");y(this,"_reject");y(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let Ht=!1;["true","1"].includes("".toLowerCase())&&(Ht=!0);function _O(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),a=e.length;if(a!==n.length)return!1;for(let c=0;c<a;c++){const r=e[c];if(!Object.prototype.hasOwnProperty.call(s,r)||t[r]!==s[r])return!1}return!0}function Wt(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Ht&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Ht&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function MO(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const T=t=>t.length===0?kn:t,St=t=>Object.keys(t).length===0?Nn:t,Zn=Wt(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Kt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),RO=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),wO=1e3*86400,Kt=new Date,EO=t=>new Date(t).toDateString()===Kt.toDateString(),vO=Wt((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Kt.getTime())/wO);return n<s||n>e?Zn(t):RO.format(n,"days")});function VO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}const Yt=async(t,s)=>{s||(s=await dt(t));let e=t.type;if(e.includes("/")&&(e=e.split("/")[1]),!e)throw new Error(`Could not extract file type from ${t.type}`);return`${s}.${e}`};function dt(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const a=n.result;if(!a){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",a).then(c=>{const r=VO(c);s(r)})},n.readAsArrayBuffer(t)})}function zO(t){if(!t.name||!t.type||!t.size){const s="File has no name, type, and/or size";throw new Error(s)}return`${t.name}&${t.type}${t.size}`}function Jn(t,s){return new File([t],s,{type:t.type})}function BO(t,s){const e=document.createElement("a");e.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(s)),e.setAttribute("download",t),e.style.display="none",document.body.appendChild(e),e.click(),document.body.removeChild(e)}const jO=async t=>{const s={};for(const e of t){const n=await dt(e);s[n]={sha1:n,extension:e.name.split(".").pop()||"",file_type:e.type,size:e.size}}return Object.values(s)},Xn=async t=>(await fetch(t)).blob(),qO=t=>new Promise((s,e)=>{const n=new FileReader;n.onloadend=()=>{var a;s(((a=n.result)==null?void 0:a.toString())||"")},n.readAsDataURL(t)});function DO(t){const s=new Blob([t]);AO.saveAs(s,t.name)}function Qn(t){return typeof t=="string"&&t.startsWith("blob:")}function k(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const xn={};function UO(t,s,e,...n){const a=xn[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(xn[t]={[s]:!0},c=!0),c&&console[e](...n)}const ea=["created_at","updated_at","index","revision"];function M(t){return{...t,uuid:xe.v4()}}function $O(t){const s={};for(const e of t)s[e.uuid]=e;return s}function q(t){return t.map(({uuid:s})=>s)}function Tt(t,s){return t.localeCompare(s)}function Zt(t,s){return Tt(t.uuid,s.uuid)}function CO(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const c=t.split(".");c.length>1&&(s=c[c.length-1])}s&&!s.startsWith(".")&&(s="."+s);const a=s?s.length:0;return n.length+a>e&&(n=n.slice(0,e-a)+(s||"")),n}function LO(t){return t.toLowerCase().replace(" ","-")}function kO(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function NO(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const GO=/^.+@.+\..+$/;function z(t){const s={...t};for(const e of[...ea,"created_by"])e in s&&delete s[e];return s}const ta=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return Cn(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},HO=t=>{const{roots:s}=ta(t);return s.map(e=>new ft.Tree(e))},sa=(t,s)=>{const{nodes:e}=ta(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new ft.Tree(n)},ia=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,na=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,aa=t=>Cn(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),WO=t=>{const{roots:s}=aa(t);return s.map(e=>new ft.Tree(e))},ca=(t,s)=>{const{nodes:e}=aa(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new ft.Tree(n)};class KO{constructor(s){y(this,"operations",[]);y(this,"getData");this.getData=s}performOperations(s){let e=s;for(const n of this.operations)e=n(e);return e}filter(s,e){return this.operations.push(n=>n.filter(a=>a[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(a=>a[s]!==e)),this}orderBy(s){return this.operations.push(e=>[...e].sort((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>[...s].reverse()),this}all(){return this.operations.push(s=>s),this}get(s,e){return o.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return o.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return o.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return o.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return o.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return o.createSelector([this.getData],s=>T(this.performOperations(s)))}}const S=t=>(...s)=>e=>t(e,...s),G=R(t=>t.uuid),da={instances:{}},Jt=o.createSlice({name:"agents",initialState:da,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,da)),reducers:{initializeConversations:G.initialize,addConversation:G.addOne,addConversations:G.addMany,setConversation:G.setOne,setConversations:G.setMany,updateConversation:G.updateOne,updateConversations:G.updateMany,deleteConversation:G.deleteOne,deleteConversations:G.deleteMany}}),{initializeConversations:ra,addConversation:ua,addConversations:YO,setConversation:la,setConversations:ZO,updateConversation:oa,updateConversations:JO,deleteConversation:XO,deleteConversations:QO}=Jt.actions,Xt=t=>t.agentsReducer.instances,xO=o.createSelector([Xt],t=>Object.values(t)),eP=S(o.createSelector([Xt,(t,s)=>s],(t,s)=>t[s])),ha=Jt.reducer,H=R(t=>t.uuid),ma={instances:{}},Qt=o.createSlice({name:"assetAttachments",initialState:ma,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ma)),reducers:{initializeAssetAttachments:H.initialize,addAssetAttachment:H.addOne,addAssetAttachments:H.addMany,setAssetAttachment:H.setOne,setAssetAttachments:H.setMany,updateAssetAttachment:H.updateOne,updateAssetAttachments:H.updateMany,deleteAssetAttachment:H.deleteOne,deleteAssetAttachments:H.deleteMany}}),{initializeAssetAttachments:ya,addAssetAttachment:pa,addAssetAttachments:xt,setAssetAttachment:Aa,setAssetAttachments:fa,updateAssetAttachment:Sa,updateAssetAttachments:Ta,deleteAssetAttachment:Ia,deleteAssetAttachments:es}=Qt.actions,Oa=t=>t.assetAttachmentReducer.instances,ts=o.createSelector([Oa],t=>Object.values(t)),Pa=t=>s=>s.assetAttachmentReducer.instances[t],Fa=S(o.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ga=S(o.createSelector([ts,(t,s)=>s],(t,s)=>T(t.filter(({asset:e})=>s===e)))),ba=Qt.reducer,W=R(({uuid:t})=>t),_a={instances:{}},ss=o.createSlice({name:"assetProcedureTypeAttachments",initialState:_a,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,_a)),reducers:{initializeAssetProcedureTypeAttachments:W.initialize,addAssetProcedureTypeAttachment:W.addOne,addAssetProcedureTypeAttachments:W.addMany,setAssetProcedureTypeAttachment:W.setOne,setAssetProcedureTypeAttachments:W.setMany,updateAssetProcedureTypeAttachment:W.updateOne,updateAssetProcedureTypeAttachments:W.updateMany,deleteAssetProcedureTypeAttachment:W.deleteOne,deleteAssetProcedureTypeAttachments:W.deleteMany}}),{initializeAssetProcedureTypeAttachments:Ma,addAssetProcedureTypeAttachment:Ra,addAssetProcedureTypeAttachments:wa,setAssetProcedureTypeAttachment:Ea,setAssetProcedureTypeAttachments:va,updateAssetProcedureTypeAttachment:Va,updateAssetProcedureTypeAttachments:za,deleteAssetProcedureTypeAttachment:Ba,deleteAssetProcedureTypeAttachments:ja}=ss.actions,qa=ss.reducer,Da=t=>t.assetProcedureTypeAttachmentReducer.instances,is=o.createSelector([Da],t=>Object.values(t)),Ua=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],$a=S(o.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),tP=S(o.createSelector([is,(t,s)=>s],(t,s)=>T(t.filter(({asset_procedure_type:e})=>s===e)))),K=R(({uuid:t})=>t),Ca={instances:{}},ns=o.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:Ca,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Ca)),reducers:{initializeAssetProcedureTypeFieldsAttachments:K.initialize,addAssetProcedureTypeFieldsAttachment:K.addOne,addAssetProcedureTypeFieldsAttachments:K.addMany,setAssetProcedureTypeFieldsAttachment:K.setOne,setAssetProcedureTypeFieldsAttachments:K.setMany,updateAssetProcedureTypeFieldsAttachment:K.updateOne,updateAssetProcedureTypeFieldsAttachments:K.updateMany,deleteAssetProcedureTypeFieldsAttachment:K.deleteOne,deleteAssetProcedureTypeFieldsAttachments:K.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:La,addAssetProcedureTypeFieldsAttachment:ka,addAssetProcedureTypeFieldsAttachments:Na,setAssetProcedureTypeFieldsAttachment:Ga,setAssetProcedureTypeFieldsAttachments:Ha,updateAssetProcedureTypeFieldsAttachment:Wa,updateAssetProcedureTypeFieldsAttachments:Ka,deleteAssetProcedureTypeFieldsAttachment:Ya,deleteAssetProcedureTypeFieldsAttachments:Za}=ns.actions,Ja=ns.reducer,Xa=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,as=o.createSelector([Xa],t=>Object.values(t)),sP=S(o.createSelector([as,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),Qa=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],xa=S(o.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Y=R(({uuid:t})=>t),ec={instances:{}},cs=o.createSlice({name:"assetProcedureTypeFields",initialState:ec,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ec)),reducers:{initializeAssetProcedureTypeFields:Y.initialize,addAssetProcedureTypeFields:Y.addOne,addAssetProcedureTypeFieldsMany:Y.addMany,setAssetProcedureTypeFields:Y.setOne,setAssetProcedureTypeFieldsMany:Y.setMany,updateAssetProcedureTypeFields:Y.updateOne,updateAssetProcedureTypeFieldsMany:Y.updateMany,deleteAssetProcedureTypeFields:Y.deleteOne,deleteAssetProcedureTypeFieldsMany:Y.deleteMany}}),{initializeAssetProcedureTypeFields:tc,addAssetProcedureTypeFields:sc,addAssetProcedureTypeFieldsMany:ic,setAssetProcedureTypeFields:nc,setAssetProcedureTypeFieldsMany:ac,updateAssetProcedureTypeFields:cc,updateAssetProcedureTypeFieldsMany:dc,deleteAssetProcedureTypeFields:rc,deleteAssetProcedureTypeFieldsMany:uc}=cs.actions,lc=cs.reducer,oc=t=>t.assetProcedureTypeFieldsReducer.instances,It=o.createSelector([oc],t=>Object.values(t)),iP=S(o.createSelector([It,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),nP=S(o.createSelector([It,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),hc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],mc=S(o.createSelector([It,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Z=R(({uuid:t})=>t),yc={instances:{}},ds=o.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:yc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,yc)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:Z.initialize,addAssetProcedureTypeFieldValuesAttachment:Z.addOne,addAssetProcedureTypeFieldValuesAttachments:Z.addMany,setAssetProcedureTypeFieldValuesAttachment:Z.setOne,setAssetProcedureTypeFieldValuesAttachments:Z.setMany,updateAssetProcedureTypeFieldValuesAttachment:Z.updateOne,updateAssetProcedureTypeFieldValuesAttachments:Z.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:Z.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:Z.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:pc,addAssetProcedureTypeFieldValuesAttachment:Ac,addAssetProcedureTypeFieldValuesAttachments:rs,setAssetProcedureTypeFieldValuesAttachment:fc,setAssetProcedureTypeFieldValuesAttachments:Sc,updateAssetProcedureTypeFieldValuesAttachment:Tc,updateAssetProcedureTypeFieldValuesAttachments:Ic,deleteAssetProcedureTypeFieldValuesAttachment:Oc,deleteAssetProcedureTypeFieldValuesAttachments:us}=ds.actions,Pc=ds.reducer,Fc=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,ls=o.createSelector([Fc],t=>Object.values(t)),gc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],bc=S(o.createSelector([ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),_c=S(o.createSelector([ls,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),J=R(({uuid:t})=>t),Mc={instances:{}},os=o.createSlice({name:"assetProcedureTypeFieldValues",initialState:Mc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Mc)),reducers:{initializeAssetProcedureTypeFieldValues:J.initialize,addAssetProcedureTypeFieldValues:J.addOne,addAssetProcedureTypeFieldValuesMany:J.addMany,setAssetProcedureTypeFieldValues:J.setOne,setAssetProcedureTypeFieldValuesMany:J.setMany,updateAssetProcedureTypeFieldValues:J.updateOne,updateAssetProcedureTypeFieldValuesMany:J.updateMany,deleteAssetProcedureTypeFieldValues:J.deleteOne,deleteAssetProcedureTypeFieldValuesMany:J.deleteMany}}),{initializeAssetProcedureTypeFieldValues:Rc,addAssetProcedureTypeFieldValues:wc,addAssetProcedureTypeFieldValuesMany:Ec,setAssetProcedureTypeFieldValues:vc,setAssetProcedureTypeFieldValuesMany:Vc,updateAssetProcedureTypeFieldValues:zc,updateAssetProcedureTypeFieldValuesMany:Bc,deleteAssetProcedureTypeFieldValues:jc,deleteAssetProcedureTypeFieldValuesMany:qc}=os.actions,Dc=os.reducer,Uc=t=>t.assetProcedureTypeFieldValuesReducer.instances,Ot=o.createSelector([Uc],t=>Object.values(t)),aP=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),cP=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),$c=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],Cc=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),X=R(({uuid:t})=>t),Lc={instances:{}},hs=o.createSlice({name:"assetProcedures",initialState:Lc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Lc)),reducers:{initializeAssetProcedures:X.initialize,addAssetProcedure:X.addOne,addAssetProcedures:X.addMany,setAssetProcedure:X.setOne,setAssetProcedures:X.setMany,updateAssetProcedure:X.updateOne,updateAssetProcedures:X.updateMany,deleteAssetProcedure:X.deleteOne,deleteAssetProcedures:X.deleteMany}}),{initializeAssetProcedures:kc,addAssetProcedure:Nc,addAssetProcedures:ms,updateAssetProcedure:Gc,updateAssetProcedures:Hc,deleteAssetProcedure:Wc,deleteAssetProcedures:ys,setAssetProcedure:Kc,setAssetProcedures:Yc}=hs.actions,Zc=hs.reducer,Jc=t=>t.assetProcedureReducer.instances,Pt=o.createSelector([Jc],t=>Object.values(t)),Xc=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),dP=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Qc=t=>s=>s.assetProcedureReducer.instances[t],xc=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Q=R(t=>t.uuid),ed={instances:{}},ps=o.createSlice({name:"assetProcedureTypes",initialState:ed,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ed)),reducers:{initializeAssetProcedureTypes:Q.initialize,addAssetProcedureType:Q.addOne,addAssetProcedureTypes:Q.addMany,setAssetProcedureType:Q.setOne,setAssetProcedureTypes:Q.setMany,updateAssetProcedureType:Q.updateOne,updateAssetProcedureTypes:Q.updateMany,deleteAssetProcedureType:Q.deleteOne,deleteAssetProcedureTypes:Q.deleteMany}}),{initializeAssetProcedureTypes:td,addAssetProcedureType:sd,addAssetProcedureTypes:id,updateAssetProcedureType:nd,updateAssetProcedureTypes:ad,deleteAssetProcedureType:cd,deleteAssetProcedureTypes:dd,setAssetProcedureType:rd,setAssetProcedureTypes:ud}=ps.actions,ld=ps.reducer,od=t=>t.assetProcedureTypeReducer.instances,As=o.createSelector([od],t=>Object.values(t)),hd=t=>s=>s.assetProcedureTypeReducer.instances[t],md=S(o.createSelector([As,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),rP=S(o.createSelector([As,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),x=R(t=>t.uuid),yd={instances:{}},fs=o.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:yd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,yd)),reducers:{initializeAssetProcedureStepFieldsAttachments:x.initialize,addAssetProcedureStepFieldsAttachment:x.addOne,addAssetProcedureStepFieldsAttachments:x.addMany,setAssetProcedureStepFieldsAttachment:x.setOne,setAssetProcedureStepFieldsAttachments:x.setMany,updateAssetProcedureStepFieldsAttachment:x.updateOne,updateAssetProcedureStepFieldsAttachments:x.updateMany,deleteAssetProcedureStepFieldsAttachment:x.deleteOne,deleteAssetProcedureStepFieldsAttachments:x.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:pd,addAssetProcedureStepFieldsAttachment:Ad,addAssetProcedureStepFieldsAttachments:fd,setAssetProcedureStepFieldsAttachment:Sd,setAssetProcedureStepFieldsAttachments:Td,updateAssetProcedureStepFieldsAttachment:Id,updateAssetProcedureStepFieldsAttachments:Od,deleteAssetProcedureStepFieldsAttachment:Pd,deleteAssetProcedureStepFieldsAttachments:Fd}=fs.actions,gd=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,Ss=o.createSelector([gd],t=>Object.values(t)),uP=S(o.createSelector([Ss,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),bd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],_d=S(o.createSelector([Ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Md=fs.reducer,ee=R(t=>t.uuid),Rd={instances:{}},Ts=o.createSlice({name:"assetProcedureStepFields",initialState:Rd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Rd)),reducers:{initializeAssetProcedureStepFields:ee.initialize,addAssetProcedureStepFields:ee.addOne,addAssetProcedureStepFieldsMany:ee.addMany,setAssetProcedureStepFields:ee.setOne,setAssetProcedureStepFieldsMany:ee.setMany,updateAssetProcedureStepFields:ee.updateOne,updateAssetProcedureStepFieldsMany:ee.updateMany,deleteAssetProcedureStepFields:ee.deleteOne,deleteAssetProcedureStepFieldsMany:ee.deleteMany}}),{initializeAssetProcedureStepFields:wd,addAssetProcedureStepFields:Ed,addAssetProcedureStepFieldsMany:vd,setAssetProcedureStepFields:Vd,setAssetProcedureStepFieldsMany:zd,updateAssetProcedureStepFields:Bd,updateAssetProcedureStepFieldsMany:jd,deleteAssetProcedureStepFields:qd,deleteAssetProcedureStepFieldsMany:Dd}=Ts.actions,Is=t=>t.assetProcedureStepFieldsReducer.instances,Ft=o.createSelector([Is],t=>Object.values(t)),lP=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),oP=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),hP=o.createSelector([Is],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),Ud=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],$d=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Cd=Ts.reducer,te=R(t=>t.uuid),Ld={instances:{}},Os=o.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Ld,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Ld)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:te.initialize,addAssetProcedureStepFieldValuesAttachment:te.addOne,addAssetProcedureStepFieldValuesAttachments:te.addMany,setAssetProcedureStepFieldValuesAttachment:te.setOne,setAssetProcedureStepFieldValuesAttachments:te.setMany,updateAssetProcedureStepFieldValuesAttachment:te.updateOne,updateAssetProcedureStepFieldValuesAttachments:te.updateMany,deleteAssetProcedureStepFieldValuesAttachment:te.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:te.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:kd,addAssetProcedureStepFieldValuesAttachment:Nd,addAssetProcedureStepFieldValuesAttachments:Ps,setAssetProcedureStepFieldValuesAttachment:Gd,setAssetProcedureStepFieldValuesAttachments:Hd,updateAssetProcedureStepFieldValuesAttachment:Wd,updateAssetProcedureStepFieldValuesAttachments:Kd,deleteAssetProcedureStepFieldValuesAttachment:Yd,deleteAssetProcedureStepFieldValuesAttachments:Fs}=Os.actions,Zd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,gs=o.createSelector([Zd],t=>Object.values(t)),Jd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Xd=S(o.createSelector([gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Qd=S(o.createSelector([gs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),xd=Os.reducer,se=R(t=>t.uuid),er={instances:{}},bs=o.createSlice({name:"assetProcedureStepFieldValues",initialState:er,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,er)),reducers:{initializeAssetProcedureStepFieldValues:se.initialize,addAssetProcedureStepFieldValues:se.addOne,addAssetProcedureStepFieldValuesMany:se.addMany,setAssetProcedureStepFieldValues:se.setOne,setAssetProcedureStepFieldValuesMany:se.setMany,updateAssetProcedureStepFieldValues:se.updateOne,updateAssetProcedureStepFieldValuesMany:se.updateMany,deleteAssetProcedureStepFieldValues:se.deleteOne,deleteAssetProcedureStepFieldValuesMany:se.deleteMany}}),{initializeAssetProcedureStepFieldValues:tr,addAssetProcedureStepFieldValues:sr,addAssetProcedureStepFieldValuesMany:ir,setAssetProcedureStepFieldValues:nr,setAssetProcedureStepFieldValuesMany:ar,updateAssetProcedureStepFieldValues:cr,updateAssetProcedureStepFieldValuesMany:dr,deleteAssetProcedureStepFieldValues:rr,deleteAssetProcedureStepFieldValuesMany:ur}=bs.actions,lr=t=>t.assetProcedureStepFieldValuesReducer.instances,mt=o.createSelector([lr],t=>Object.values(t)),mP=S(o.createSelector([mt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),yP=S(o.createSelector([mt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),pP=S(o.createSelector([mt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),or=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],hr=S(o.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),mr=bs.reducer,ie=R(t=>t.uuid),yr={instances:{}},_s=o.createSlice({name:"assetProcedureSteps",initialState:yr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,yr)),reducers:{initializeAssetProcedureSteps:ie.initialize,setAssetProcedureStep:ie.setOne,setAssetProcedureSteps:ie.setMany,addAssetProcedureStep:ie.addOne,addAssetProcedureSteps:ie.addMany,updateAssetProcedureStep:ie.updateOne,updateAssetProcedureSteps:ie.updateMany,deleteAssetProcedureStep:ie.deleteOne,deleteAssetProcedureSteps:ie.deleteMany}}),{initializeAssetProcedureSteps:pr,setAssetProcedureStep:Ar,setAssetProcedureSteps:fr,addAssetProcedureStep:Sr,addAssetProcedureSteps:Tr,updateAssetProcedureStep:Ir,updateAssetProcedureSteps:Or,deleteAssetProcedureStep:Pr,deleteAssetProcedureSteps:Fr}=_s.actions,gr=_s.reducer,gt=t=>t.assetProcedureStepReducer.instances,br=t=>s=>s.assetProcedureStepReducer.instances[t],Ms=o.createSelector([gt],t=>Object.values(t)),AP=S(o.createSelector([gt,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return St(e)})),fP=S(o.createSelector([Ms,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),_r=S(o.createSelector([Ms,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Mr=S(o.createSelector([gt,(t,s)=>s],(t,s)=>{if(!t[s])return T([]);const a=sa(s,Object.values(t)).all().map(({model:c})=>c);return T(a)})),ne=R(t=>t.uuid),Rr={instances:{}},Rs=o.createSlice({name:"assets",initialState:Rr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Rr)),reducers:{initializeAssets:ne.initialize,addAsset:ne.addOne,addAssets:ne.addMany,setAsset:ne.setOne,setAssets:ne.setMany,updateAsset:ne.updateOne,updateAssets:ne.updateMany,deleteAsset:ne.deleteOne,deleteAssets:ne.deleteMany}}),{initializeAssets:wr,addAsset:Er,addAssets:ws,updateAsset:vr,updateAssets:Vr,deleteAsset:zr,deleteAssets:Es,setAsset:Br,setAssets:jr}=Rs.actions,qr=t=>t.assetReducer.instances,bt=o.createSelector([qr],t=>T(Object.values(t))),SP=S(o.createSelector([bt,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>e===s)))),Dr=S(o.createSelector([bt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Ur=t=>s=>s.assetReducer.instances[t],$r=S(o.createSelector([bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Cr=Rs.reducer,ae=R(t=>t.uuid),Lr={instances:{}},vs=o.createSlice({name:"assetStageCompletions",initialState:Lr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Lr)),reducers:{initializeAssetStageCompletions:ae.initialize,addAssetStageCompletion:ae.addOne,addAssetStageCompletions:ae.addMany,setAssetStageCompletion:ae.setOne,setAssetStageCompletions:ae.setMany,updateAssetStageCompletion:ae.updateOne,updateAssetStageCompletions:ae.updateMany,deleteAssetStageCompletion:ae.deleteOne,deleteAssetStageCompletions:ae.deleteMany}}),{initializeAssetStageCompletions:kr,addAssetStageCompletion:Nr,addAssetStageCompletions:Gr,setAssetStageCompletion:Hr,setAssetStageCompletions:Wr,updateAssetStageCompletion:Kr,updateAssetStageCompletions:Yr,deleteAssetStageCompletion:Zr,deleteAssetStageCompletions:Jr}=vs.actions,Xr=vs.reducer,Qr=t=>t.assetStageCompletionReducer.instances,xr=o.createSelector([Qr],t=>Object.values(t)),eu=t=>s=>s.assetStageCompletionReducer.instances[t],tu=S(o.createSelector([xr,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ce=R(t=>t.uuid),su={instances:{}},Vs=o.createSlice({name:"assetStages",initialState:su,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,su)),reducers:{initializeAssetStages:ce.initialize,setAssetStage:ce.setOne,setAssetStages:ce.setMany,addAssetStage:ce.addOne,addAssetStages:ce.addMany,updateAssetStage:ce.updateOne,updateAssetStages:ce.updateMany,deleteAssetStage:ce.deleteOne,deleteAssetStages:ce.deleteMany}}),{initializeAssetStages:iu,setAssetStage:nu,setAssetStages:au,addAssetStage:cu,addAssetStages:du,updateAssetStage:ru,updateAssetStages:uu,deleteAssetStage:lu,deleteAssetStages:ou}=Vs.actions,hu=Vs.reducer,zs=t=>t.assetStageReducer.instances,mu=t=>s=>s.assetStageReducer.instances[t],Bs=o.createSelector([zs],t=>Object.values(t)),TP=S(o.createSelector([zs,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return St(e)})),IP=S(o.createSelector([Bs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),yu=S(o.createSelector([Bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),de=R(t=>t.uuid),pu={instances:{}},js=o.createSlice({name:"assetTypeAttachments",initialState:pu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,pu)),reducers:{initializeAssetTypeAttachments:de.initialize,addAssetTypeAttachment:de.addOne,addAssetTypeAttachments:de.addMany,setAssetTypeAttachment:de.setOne,setAssetTypeAttachments:de.setMany,updateAssetTypeAttachment:de.updateOne,updateAssetTypeAttachments:de.updateMany,deleteAssetTypeAttachment:de.deleteOne,deleteAssetTypeAttachments:de.deleteMany}}),{initializeAssetTypeAttachments:Au,addAssetTypeAttachment:fu,addAssetTypeAttachments:qs,setAssetTypeAttachment:Su,setAssetTypeAttachments:Tu,updateAssetTypeAttachment:Iu,updateAssetTypeAttachments:Ou,deleteAssetTypeAttachment:Pu,deleteAssetTypeAttachments:Ds}=js.actions,Fu=t=>t.assetTypeAttachmentReducer.instances,Us=o.createSelector([Fu],t=>Object.values(t)),gu=t=>s=>s.assetTypeAttachmentReducer.instances[t],bu=S(o.createSelector([Us,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),_u=S(o.createSelector([Us,(t,s)=>s],(t,s)=>T(t.filter(({asset_type:e})=>s===e)))),Mu=js.reducer,re=R(t=>t.uuid),Ru={instances:{}},$s=o.createSlice({name:"assetTypeFieldsAttachments",initialState:Ru,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Ru)),reducers:{initializeAssetTypeFieldsAttachments:re.initialize,addAssetTypeFieldsAttachment:re.addOne,addAssetTypeFieldsAttachments:re.addMany,setAssetTypeFieldsAttachment:re.setOne,setAssetTypeFieldsAttachments:re.setMany,updateAssetTypeFieldsAttachment:re.updateOne,updateAssetTypeFieldsAttachments:re.updateMany,deleteAssetTypeFieldsAttachment:re.deleteOne,deleteAssetTypeFieldsAttachments:re.deleteMany}}),{initializeAssetTypeFieldsAttachments:wu,addAssetTypeFieldsAttachment:Eu,addAssetTypeFieldsAttachments:vu,setAssetTypeFieldsAttachment:Vu,setAssetTypeFieldsAttachments:zu,updateAssetTypeFieldsAttachment:Bu,updateAssetTypeFieldsAttachments:ju,deleteAssetTypeFieldsAttachment:qu,deleteAssetTypeFieldsAttachments:Du}=$s.actions,Uu=t=>t.assetTypeFieldsAttachmentReducer.instances,Cs=o.createSelector([Uu],t=>Object.values(t)),OP=S(o.createSelector([Cs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),$u=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Cu=S(o.createSelector([Cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Lu=$s.reducer,ue=R(t=>t.uuid),ku={instances:{}},Ls=o.createSlice({name:"assetTypeFields",initialState:ku,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ku)),reducers:{initializeAssetTypeFields:ue.initialize,addAssetTypeFields:ue.addOne,addAssetTypeFieldsMany:ue.addMany,setAssetTypeFields:ue.setOne,setAssetTypeFieldsMany:ue.setMany,updateAssetTypeFields:ue.updateOne,updateAssetTypeFieldsMany:ue.updateMany,deleteAssetTypeFields:ue.deleteOne,deleteAssetTypeFieldsMany:ue.deleteMany}}),{initializeAssetTypeFields:Nu,addAssetTypeFields:Gu,addAssetTypeFieldsMany:Hu,setAssetTypeFields:Wu,setAssetTypeFieldsMany:Ku,updateAssetTypeFields:Yu,updateAssetTypeFieldsMany:Zu,deleteAssetTypeFields:Ju,deleteAssetTypeFieldsMany:Xu}=Ls.actions,Qu=t=>t.assetTypeFieldsReducer.instances,yt=o.createSelector([Qu],t=>Object.values(t)),PP=S(o.createSelector([yt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),FP=S(o.createSelector([yt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),xu=t=>s=>s.assetTypeFieldsReducer.instances[t],el=S(o.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),tl=Ls.reducer,le=R(t=>t.uuid),sl={instances:{}},ks=o.createSlice({name:"assetTypeFieldValuesAttachments",initialState:sl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,sl)),reducers:{initializeAssetTypeFieldValuesAttachments:le.initialize,addAssetTypeFieldValuesAttachment:le.addOne,addAssetTypeFieldValuesAttachments:le.addMany,setAssetTypeFieldValuesAttachment:le.setOne,setAssetTypeFieldValuesAttachments:le.setMany,updateAssetTypeFieldValuesAttachment:le.updateOne,updateAssetTypeFieldValuesAttachments:le.updateMany,deleteAssetTypeFieldValuesAttachment:le.deleteOne,deleteAssetTypeFieldValuesAttachments:le.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:il,addAssetTypeFieldValuesAttachment:nl,addAssetTypeFieldValuesAttachments:Ns,setAssetTypeFieldValuesAttachment:al,setAssetTypeFieldValuesAttachments:cl,updateAssetTypeFieldValuesAttachment:dl,updateAssetTypeFieldValuesAttachments:rl,deleteAssetTypeFieldValuesAttachment:ul,deleteAssetTypeFieldValuesAttachments:Gs}=ks.actions,ll=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Hs=o.createSelector([ll],t=>Object.values(t)),ol=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],hl=S(o.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ml=S(o.createSelector([Hs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),yl=ks.reducer,oe=R(t=>t.uuid),pl={instances:{}},Ws=o.createSlice({name:"assetTypeFieldValues",initialState:pl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,pl)),reducers:{initializeAssetTypeFieldValues:oe.initialize,addAssetTypeFieldValues:oe.addOne,addAssetTypeFieldValuesMany:oe.addMany,setAssetTypeFieldValues:oe.setOne,setAssetTypeFieldValuesMany:oe.setMany,updateAssetTypeFieldValues:oe.updateOne,updateAssetTypeFieldValuesMany:oe.updateMany,deleteAssetTypeFieldValues:oe.deleteOne,deleteAssetTypeFieldValuesMany:oe.deleteMany}}),{initializeAssetTypeFieldValues:Al,addAssetTypeFieldValues:fl,addAssetTypeFieldValuesMany:Sl,setAssetTypeFieldValues:Tl,setAssetTypeFieldValuesMany:Il,updateAssetTypeFieldValues:Ol,updateAssetTypeFieldValuesMany:Pl,deleteAssetTypeFieldValues:Fl,deleteAssetTypeFieldValuesMany:gl}=Ws.actions,bl=t=>t.assetTypeFieldValuesReducer.instances,_t=o.createSelector([bl],t=>Object.values(t)),gP=S(o.createSelector([_t,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),bP=S(o.createSelector([yt,_t,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return T(s.filter(a=>n.has(a.fields_revision)))})),_l=t=>s=>s.assetTypeFieldValuesReducer.instances[t],Ml=S(o.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Rl=Ws.reducer,he=R(t=>t.uuid),wl={instances:{}},Ks=o.createSlice({name:"assetTypeIdentifiers",initialState:wl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,wl)),reducers:{initializeAssetTypeIdentifiers:he.initialize,addAssetTypeIdentifier:he.addOne,addAssetTypeIdentifiers:he.addMany,setAssetTypeIdentifier:he.setOne,setAssetTypeIdentifiers:he.setMany,updateAssetTypeIdentifier:he.updateOne,updateAssetTypeIdentifiers:he.updateMany,deleteAssetTypeIdentifier:he.deleteOne,deleteAssetTypeIdentifiers:he.deleteMany}}),{initializeAssetTypeIdentifiers:El,addAssetTypeIdentifier:vl,addAssetTypeIdentifiers:Vl,setAssetTypeIdentifier:zl,setAssetTypeIdentifiers:Bl,updateAssetTypeIdentifier:jl,updateAssetTypeIdentifiers:ql,deleteAssetTypeIdentifier:Dl,deleteAssetTypeIdentifiers:Ul}=Ks.actions,$l=t=>t.assetTypeIdentifierReducer.instances,Ys=o.createSelector([$l],t=>Object.values(t)),Cl=t=>s=>s.assetTypeIdentifierReducer.instances[t],Ll=S(o.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),_P=S(o.createSelector([Ys,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),kl=Ks.reducer,me=R(t=>t.uuid),Nl={instances:{}},Zs=o.createSlice({name:"assetTypeIdentifierValues",initialState:Nl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Nl)),reducers:{initializeAssetTypeIdentifierValues:me.initialize,addAssetTypeIdentifierValue:me.addOne,addAssetTypeIdentifierValues:me.addMany,setAssetTypeIdentifierValue:me.setOne,setAssetTypeIdentifierValues:me.setMany,updateAssetTypeIdentifierValue:me.updateOne,updateAssetTypeIdentifierValues:me.updateMany,deleteAssetTypeIdentifierValue:me.deleteOne,deleteAssetTypeIdentifierValues:me.deleteMany}}),{initializeAssetTypeIdentifierValues:Gl,addAssetTypeIdentifierValue:Hl,addAssetTypeIdentifierValues:Wl,setAssetTypeIdentifierValue:Kl,setAssetTypeIdentifierValues:Yl,updateAssetTypeIdentifierValue:Zl,updateAssetTypeIdentifierValues:Jl,deleteAssetTypeIdentifierValue:Xl,deleteAssetTypeIdentifierValues:Ql}=Zs.actions,xl=t=>t.assetTypeIdentifierValueReducer.instances,Mt=o.createSelector([xl],t=>Object.values(t)),eo=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],to=S(o.createSelector([Mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),MP=S(o.createSelector([Mt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),RP=S(o.createSelector([Mt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type_identifier===s)))),so=Zs.reducer,ye=R(t=>t.uuid),io={instances:{}},Js=o.createSlice({name:"assetTypes",initialState:io,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,io)),reducers:{initializeAssetTypes:ye.initialize,setAssetType:ye.setOne,setAssetTypes:ye.setMany,addAssetType:ye.addOne,addAssetTypes:ye.addMany,updateAssetType:ye.updateOne,updateAssetTypes:ye.updateMany,deleteAssetType:ye.deleteOne,deleteAssetTypes:ye.deleteMany}}),{initializeAssetTypes:no,setAssetType:ao,setAssetTypes:co,addAssetType:ro,addAssetTypes:uo,updateAssetType:lo,updateAssetTypes:oo,deleteAssetType:ho,deleteAssetTypes:mo}=Js.actions,yo=t=>t.assetTypeReducer.instances,Xs=o.createSelector([yo],t=>Object.values(t)),po=t=>s=>s.assetTypeReducer.instances[t],Ao=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),wP=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),fo=Js.reducer,pe=R(t=>t.uuid),So={instances:{}},Qs=o.createSlice({name:"assetTypeStatuses",initialState:So,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,So)),reducers:{initializeAssetTypeStatuses:pe.initialize,addAssetTypeStatus:pe.addOne,addAssetTypeStatuses:pe.addMany,setAssetTypeStatus:pe.setOne,setAssetTypeStatuses:pe.setMany,updateAssetTypeStatus:pe.updateOne,updateAssetTypeStatuses:pe.updateMany,deleteAssetTypeStatus:pe.deleteOne,deleteAssetTypeStatuses:pe.deleteMany}}),{initializeAssetTypeStatuses:To,addAssetTypeStatus:Io,addAssetTypeStatuses:Oo,setAssetTypeStatus:Po,setAssetTypeStatuses:Fo,updateAssetTypeStatus:go,updateAssetTypeStatuses:bo,deleteAssetTypeStatus:_o,deleteAssetTypeStatuses:Mo}=Qs.actions,Ro=t=>t.assetTypeStatusReducer.instances,xs=o.createSelector([Ro],t=>T(Object.values(t).toSorted(ia))),wo=t=>s=>s.assetTypeStatusReducer.instances[t],Eo=S(o.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),EP=S(o.createSelector([xs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),vo=Qs.reducer,Vo={accessToken:"",refreshToken:"",isLoggedIn:!1},Rt=o.createSlice({name:"auth",initialState:Vo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,Vo)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||Rt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:vP,clearTokens:VP,setLoggedIn:zo}=Rt.actions,zP=t=>t.authReducer.accessToken,BP=t=>t.authReducer.isLoggedIn,Bo=Rt.reducer,Ae=R(t=>t.uuid),jo={instances:{}},ei=o.createSlice({name:"documentAttachments",initialState:jo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,jo)),reducers:{initializeDocumentAttachments:Ae.initialize,addDocumentAttachment:Ae.addOne,addDocumentAttachments:Ae.addMany,setDocumentAttachment:Ae.setOne,setDocumentAttachments:Ae.setMany,updateDocumentAttachment:Ae.updateOne,updateDocumentAttachments:Ae.updateMany,deleteDocumentAttachment:Ae.deleteOne,deleteDocumentAttachments:Ae.deleteMany}}),{initializeDocumentAttachments:qo,addDocumentAttachment:Do,addDocumentAttachments:Uo,setDocumentAttachment:$o,setDocumentAttachments:Co,updateDocumentAttachment:Lo,updateDocumentAttachments:ko,deleteDocumentAttachment:No,deleteDocumentAttachments:Go}=ei.actions,Ho=t=>t.documentAttachmentReducer.instances,ti=o.createSelector([Ho],t=>Object.values(t)),Wo=t=>s=>s.documentAttachmentReducer.instances[t],Ko=S(o.createSelector([ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),jP=S(o.createSelector([ti,(t,s)=>s],(t,s)=>T(t.filter(({document:e})=>s===e)))),Yo=ei.reducer,fe=R(({uuid:t})=>t),Zo={instances:{}},si=o.createSlice({name:"documents",initialState:Zo,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>{Object.assign(s,Zo)}),reducers:{initializeDocuments:fe.initialize,addDocument:fe.addOne,addDocuments:fe.addMany,setDocument:fe.setOne,setDocuments:fe.setMany,updateDocument:fe.updateOne,updateDocuments:fe.updateMany,deleteDocument:fe.deleteOne,deleteDocuments:fe.deleteMany}}),{initializeDocuments:Jo,addDocument:Xo,addDocuments:Qo,setDocument:xo,setDocuments:eh,updateDocument:th,updateDocuments:sh,deleteDocument:ih,deleteDocuments:nh}=si.actions,ah=si.reducer,ii=t=>t.documentsReducer.instances,wt=o.createSelector([ii],t=>Object.values(t)),ch=t=>s=>s.documentsReducer.instances[t],dh=S(o.createSelector([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),qP=S(o.createSelector([wt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),DP=S(o.createSelector([wt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),rh=S(o.createSelector([ii,(t,s)=>s],(t,s)=>{if(!t[s])return T([]);const a=ca(s,Object.values(t)).all().map(({model:c})=>c);return T(a)})),Se=R(t=>t.uuid),uh={instances:{}},ni=o.createSlice({name:"emailDomains",initialState:uh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,uh)),reducers:{initializeEmailDomains:Se.initialize,addEmailDomain:Se.addOne,addEmailDomains:Se.addMany,setEmailDomain:Se.setOne,setEmailDomains:Se.setMany,updateEmailDomain:Se.updateOne,updateEmailDomains:Se.updateMany,deleteEmailDomain:Se.deleteOne,deleteEmailDomains:Se.deleteMany}}),{initializeEmailDomains:lh,addEmailDomain:oh,addEmailDomains:hh,setEmailDomain:mh,setEmailDomains:yh,updateEmailDomain:ph,updateEmailDomains:Ah,deleteEmailDomain:fh,deleteEmailDomains:Sh}=ni.actions,Th=t=>t.emailDomainsReducer.instances,ai=o.createSelector([Th],t=>Object.values(t)),Ih=t=>s=>s.emailDomainsReducer.instances[t],Oh=S(o.createSelector([ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),UP=S(o.createSelector([ai,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Ph=ni.reducer,Fh={s3Urls:{}},gh=1e3*60*60,$P=gh*24*7,ci=o.createSlice({name:"file",initialState:Fh,extraReducers:t=>t.addCase(_,s=>Object.assign(s,Fh)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+$P);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:bh}=ci.actions,_h=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<gh))return e},Mh=ci.reducer,Te=R(t=>t.uuid),Rh={instances:{}},di=o.createSlice({name:"formIdentifiers",initialState:Rh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Rh)),reducers:{initializeFormIdentifiers:Te.initialize,addFormIdentifier:Te.addOne,addFormIdentifiers:Te.addMany,setFormIdentifier:Te.setOne,setFormIdentifiers:Te.setMany,updateFormIdentifier:Te.updateOne,updateFormIdentifiers:Te.updateMany,deleteFormIdentifier:Te.deleteOne,deleteFormIdentifiers:Te.deleteMany}}),{initializeFormIdentifiers:wh,addFormIdentifier:Eh,addFormIdentifiers:vh,setFormIdentifier:Vh,setFormIdentifiers:zh,updateFormIdentifier:Bh,updateFormIdentifiers:jh,deleteFormIdentifier:qh,deleteFormIdentifiers:Dh}=di.actions,Uh=t=>t.formIdentifierReducer.instances,ri=o.createSelector([Uh],t=>Object.values(t)),$h=t=>s=>s.formIdentifierReducer.instances[t],Ch=S(o.createSelector([ri,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),CP=S(o.createSelector([ri,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),Lh=di.reducer,Ie=R(t=>t.uuid),kh={instances:{}},ui=o.createSlice({name:"formIdentifierValues",initialState:kh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,kh)),reducers:{initializeFormIdentifierValues:Ie.initialize,addFormIdentifierValue:Ie.addOne,addFormIdentifierValues:Ie.addMany,setFormIdentifierValue:Ie.setOne,setFormIdentifierValues:Ie.setMany,updateFormIdentifierValue:Ie.updateOne,updateFormIdentifierValues:Ie.updateMany,deleteFormIdentifierValue:Ie.deleteOne,deleteFormIdentifierValues:Ie.deleteMany}}),{initializeFormIdentifierValues:Nh,addFormIdentifierValue:Gh,addFormIdentifierValues:Hh,setFormIdentifierValue:Wh,setFormIdentifierValues:Kh,updateFormIdentifierValue:Yh,updateFormIdentifierValues:Zh,deleteFormIdentifierValue:Jh,deleteFormIdentifierValues:Xh}=ui.actions,Qh=t=>t.formIdentifierValueReducer.instances,Et=o.createSelector([Qh],t=>Object.values(t)),xh=t=>s=>s.formIdentifierValueReducer.instances[t],em=S(o.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),LP=S(o.createSelector([Et,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),kP=S(o.createSelector([Et,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_identifier===s)))),tm=ui.reducer,Oe=R(t=>t.uuid),sm={instances:{}},li=o.createSlice({name:"formRevisionAttachments",initialState:sm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,sm)),reducers:{initializeFormRevisionAttachments:Oe.initialize,addFormRevisionAttachment:Oe.addOne,addFormRevisionAttachments:Oe.addMany,setFormRevisionAttachment:Oe.setOne,setFormRevisionAttachments:Oe.setMany,updateFormRevisionAttachment:Oe.updateOne,updateFormRevisionAttachments:Oe.updateMany,deleteFormRevisionAttachment:Oe.deleteOne,deleteFormRevisionAttachments:Oe.deleteMany}}),{initializeFormRevisionAttachments:im,addFormRevisionAttachment:nm,addFormRevisionAttachments:am,setFormRevisionAttachment:cm,setFormRevisionAttachments:dm,updateFormRevisionAttachment:rm,updateFormRevisionAttachments:um,deleteFormRevisionAttachment:lm,deleteFormRevisionAttachments:om}=li.actions,vt=t=>t.formRevisionAttachmentReducer.instances,hm=o.createSelector([vt],t=>Object.values(t)),mm=S(o.createSelector([vt,(t,s)=>s],(t,s)=>t[s])),ym=S(o.createSelector([hm,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),NP=S(o.createSelector([vt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.form_revision===s)))),pm=li.reducer,Pe=R(t=>t.uuid),Am={instances:{}},oi=o.createSlice({name:"formRevisions",initialState:Am,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Am)),reducers:{initializeFormRevisions:Pe.initialize,addFormRevision:Pe.addOne,addFormRevisions:Pe.addMany,setFormRevision:Pe.setOne,setFormRevisions:Pe.setMany,updateFormRevision:Pe.updateOne,updateFormRevisions:Pe.updateMany,deleteFormRevision:Pe.deleteOne,deleteFormRevisions:Pe.deleteMany}}),{initializeFormRevisions:fm,addFormRevision:hi,addFormRevisions:mi,setFormRevision:Sm,setFormRevisions:Tm,updateFormRevision:Im,updateFormRevisions:Om,deleteFormRevision:yi,deleteFormRevisions:pi}=oi.actions,Ai=t=>t.formRevisionReducer.instances,Vt=o.createSelector([Ai],t=>Object.values(t)),Pm=t=>s=>s.formRevisionReducer.instances[t],Fm=S(o.createSelector([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),GP=S(o.createSelector([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),gm=S(o.createSelector([Vt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),bm=oi.reducer,Fe=R(t=>t.uuid),_m={instances:{}},fi=o.createSlice({name:"forms",initialState:_m,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,_m)),reducers:{initializeForms:Fe.initialize,addForm:Fe.addOne,addForms:Fe.addMany,setForm:Fe.setOne,setForms:Fe.setMany,updateForm:Fe.updateOne,updateForms:Fe.updateMany,deleteForm:Fe.deleteOne,deleteForms:Fe.deleteMany}}),{initializeForms:Mm,addForm:Rm,addForms:wm,setForm:Em,setForms:vm,updateForm:Vm,updateForms:zm,deleteForm:Bm,deleteForms:jm}=fi.actions,qm=fi.reducer,Dm=t=>t.formReducer.instances,Si=o.createSelector([Dm],t=>Object.values(t)),Um=t=>s=>s.formReducer.instances[t],$m=S(o.createSelector([Si,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),HP=S(o.createSelector([Si,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),ge=R(t=>t.uuid),Cm={instances:{}},Ti=o.createSlice({name:"formSubmissionAttachments",initialState:Cm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Cm)),reducers:{initializeFormSubmissionAttachments:ge.initialize,addFormSubmissionAttachment:ge.addOne,addFormSubmissionAttachments:ge.addMany,setFormSubmissionAttachment:ge.setOne,setFormSubmissionAttachments:ge.setMany,updateFormSubmissionAttachment:ge.updateOne,updateFormSubmissionAttachments:ge.updateMany,deleteFormSubmissionAttachment:ge.deleteOne,deleteFormSubmissionAttachments:ge.deleteMany}}),{initializeFormSubmissionAttachments:Lm,addFormSubmissionAttachment:km,addFormSubmissionAttachments:Ii,setFormSubmissionAttachment:Nm,setFormSubmissionAttachments:Gm,updateFormSubmissionAttachment:Hm,updateFormSubmissionAttachments:Wm,deleteFormSubmissionAttachment:Km,deleteFormSubmissionAttachments:Oi}=Ti.actions,Pi=t=>t.formSubmissionAttachmentReducer.instances,Fi=o.createSelector([Pi],t=>Object.values(t)),Ym=S(o.createSelector([Pi,(t,s)=>s],(t,s)=>t[s])),gi=S(o.createSelector([Fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(n=>e.has(n.uuid)))})),Zm=gi,Jm=S(o.createSelector([Fi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),Xm=Ti.reducer,be=R(t=>t.uuid),Qm={instances:{}},bi=o.createSlice({name:"formSubmissions",initialState:Qm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Qm)),reducers:{initializeFormSubmissions:be.initialize,setFormSubmission:be.setOne,setFormSubmissions:be.setMany,addFormSubmission:be.addOne,addFormSubmissions:be.addMany,updateFormSubmission:be.updateOne,updateFormSubmissions:be.updateMany,deleteFormSubmission:be.deleteOne,deleteFormSubmissions:be.deleteMany}}),{initializeFormSubmissions:xm,setFormSubmission:ey,setFormSubmissions:ty,addFormSubmission:sy,addFormSubmissions:_i,updateFormSubmission:iy,updateFormSubmissions:ny,deleteFormSubmission:ay,deleteFormSubmissions:Mi}=bi.actions,Ri=t=>t.formSubmissionReducer.instances,cy=o.createSelector([Ri],t=>Object.values(t)),dy=t=>s=>s.formSubmissionReducer.instances[t],ry=S(o.createSelector([cy,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),uy=S(o.createSelector([Ri,Ai,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),ly=bi.reducer,_e=R(t=>t.uuid),oy={instances:{}},wi=o.createSlice({name:"geoImages",initialState:oy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,oy)),reducers:{initializeGeoImages:_e.initialize,setGeoImage:_e.setOne,setGeoImages:_e.setMany,addGeoImage:_e.addOne,addGeoImages:_e.addMany,updateGeoImage:_e.updateOne,updateGeoImages:_e.updateMany,deleteGeoImage:_e.deleteOne,deleteGeoImages:_e.deleteMany}}),{initializeGeoImages:hy,setGeoImage:my,setGeoImages:yy,addGeoImage:py,addGeoImages:Ay,updateGeoImage:fy,updateGeoImages:Sy,deleteGeoImage:Ty,deleteGeoImages:Iy}=wi.actions,Oy=t=>t.geoImageReducer.instances,Ei=o.createSelector([Oy],t=>Object.values(t)),Py=t=>s=>s.geoImageReducer.instances[t],Fy=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),WP=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>T(t.filter(e=>e.project===s)))),gy=wi.reducer,Me=R(t=>t.uuid),by={instances:{}},vi=o.createSlice({name:"issueAssociations",initialState:by,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,by)),reducers:{initializeIssueAssociations:Me.initialize,addIssueAssociation:Me.addOne,addIssueAssociations:Me.addMany,setIssueAssociation:Me.setOne,setIssueAssociations:Me.setMany,updateIssueAssociation:Me.updateOne,updateIssueAssociations:Me.updateMany,deleteIssueAssociation:Me.deleteOne,deleteIssueAssociations:Me.deleteMany}}),{initializeIssueAssociations:_y,setIssueAssociations:My,setIssueAssociation:Ry,updateIssueAssociation:wy,updateIssueAssociations:Ey,addIssueAssociation:vy,addIssueAssociations:tt,deleteIssueAssociation:Vy,deleteIssueAssociations:st}=vi.actions,zy=t=>t.issueAssociationReducer.instances,it=o.createSelector([zy],t=>Object.values(t)),By=t=>s=>s.issueAssociationReducer.instances[t],jy=S(o.createSelector([it,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),qy=S(o.createSelector([it,(t,s)=>s],(t,s)=>T(t.filter(({associated_issue:e})=>e===s)))),Dy=S(o.createSelector([it,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({associated_issue:n})=>e.has(n)))})),Uy=S(o.createSelector([it,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({issue:n})=>n&&e.has(n)))})),$y=S(o.createSelector([it,(t,s)=>s],(t,s)=>T(t.filter(({issue:e})=>e===s)))),Cy=S(o.createSelector([it,(t,s)=>s],(t,s)=>T(t.filter(({asset:e})=>e===s)))),Ly=vi.reducer,Re=R(t=>t.uuid),ky={instances:{}},Vi=o.createSlice({name:"issueAttachments",initialState:ky,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ky)),reducers:{initializeIssueAttachments:Re.initialize,addIssueAttachment:Re.addOne,addIssueAttachments:Re.addMany,setIssueAttachment:Re.setOne,setIssueAttachments:Re.setMany,updateIssueAttachment:Re.updateOne,updateIssueAttachments:Re.updateMany,deleteIssueAttachment:Re.deleteOne,deleteIssueAttachments:Re.deleteMany}}),{initializeIssueAttachments:Ny,addIssueAttachment:Gy,addIssueAttachments:zi,setIssueAttachment:Hy,setIssueAttachments:Wy,updateIssueAttachment:Ky,updateIssueAttachments:Yy,deleteIssueAttachment:Zy,deleteIssueAttachments:Bi}=Vi.actions,Jy=t=>t.issueAttachmentReducer.instances,ji=o.createSelector([Jy],t=>Object.values(t)),Xy=S(o.createSelector([ji,(t,s)=>s],(t,s)=>T(t.filter(({issue:e})=>s===e)))),Qy=t=>s=>s.issueAttachmentReducer.instances[t],xy=S(o.createSelector([ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ep=Vi.reducer,we=R(t=>t.uuid),tp={instances:{}},qi=o.createSlice({name:"issueCommentAttachments",initialState:tp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,tp)),reducers:{initializeIssueCommentAttachments:we.initialize,addIssueCommentAttachment:we.addOne,addIssueCommentAttachments:we.addMany,setIssueCommentAttachment:we.setOne,setIssueCommentAttachments:we.setMany,updateIssueCommentAttachment:we.updateOne,updateIssueCommentAttachments:we.updateMany,deleteIssueCommentAttachment:we.deleteOne,deleteIssueCommentAttachments:we.deleteMany}}),{initializeIssueCommentAttachments:sp,addIssueCommentAttachment:ip,addIssueCommentAttachments:np,setIssueCommentAttachment:ap,setIssueCommentAttachments:cp,updateIssueCommentAttachment:dp,updateIssueCommentAttachments:rp,deleteIssueCommentAttachment:up,deleteIssueCommentAttachments:lp}=qi.actions,op=t=>t.issueCommentAttachmentReducer.instances,Di=o.createSelector([op],t=>Object.values(t)),hp=t=>s=>s.issueCommentAttachmentReducer.instances[t],mp=S(o.createSelector([Di,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),KP=S(o.createSelector([Di,(t,s)=>s],(t,s)=>T(t.filter(({issue_comment:e})=>s===e)))),yp=qi.reducer,Ee=R(t=>t.uuid),pp={instances:{}},Ui=o.createSlice({name:"issueComments",initialState:pp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,pp)),reducers:{initializeIssueComments:Ee.initialize,addIssueComment:Ee.addOne,addIssueComments:Ee.addMany,setIssueComment:Ee.setOne,setIssueComments:Ee.setMany,updateIssueComment:Ee.updateOne,updateIssueComments:Ee.updateMany,deleteIssueComment:Ee.deleteOne,deleteIssueComments:Ee.deleteMany}}),{initializeIssueComments:Ap,addIssueComment:fp,addIssueComments:Sp,setIssueComment:Tp,setIssueComments:Ip,updateIssueComment:Op,updateIssueComments:Pp,deleteIssueComment:Fp,deleteIssueComments:gp}=Ui.actions,$i=t=>t.issueCommentReducer.instances,bp=t=>s=>s.issueCommentReducer.instances[t],_p=S(o.createSelector([$i,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),YP=S(o.createSelector([$i,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.issue===s)))),Mp=Ui.reducer,ve=R(t=>t.uuid),Rp={instances:{}},Ci=o.createSlice({name:"issues",initialState:Rp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Rp)),reducers:{initializeIssues:ve.initialize,addIssue:ve.addOne,addIssues:ve.addMany,setIssue:ve.setOne,setIssues:ve.setMany,updateIssue:ve.updateOne,updateIssues:ve.updateMany,deleteIssue:ve.deleteOne,deleteIssues:ve.deleteMany}}),{initializeIssues:wp,addIssue:Ep,addIssues:Li,setIssue:vp,setIssues:Vp,updateIssue:zp,updateIssues:Bp,deleteIssue:jp,deleteIssues:ki}=Ci.actions,qp=t=>t.issueReducer.instances,zt=o.createSelector([qp],t=>Object.values(t)),Dp=t=>s=>s.issueReducer.instances[t],Up=S(o.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ZP=S(o.createSelector([zt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),$p=S(o.createSelector([zt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Cp=Ci.reducer,Ve=R(t=>t.uuid),Lp={instances:{}},Ni=o.createSlice({name:"issueTypeAttachments",initialState:Lp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Lp)),reducers:{initializeIssueTypeAttachments:Ve.initialize,addIssueTypeAttachment:Ve.addOne,addIssueTypeAttachments:Ve.addMany,setIssueTypeAttachment:Ve.setOne,setIssueTypeAttachments:Ve.setMany,updateIssueTypeAttachment:Ve.updateOne,updateIssueTypeAttachments:Ve.updateMany,deleteIssueTypeAttachment:Ve.deleteOne,deleteIssueTypeAttachments:Ve.deleteMany}}),{initializeIssueTypeAttachments:kp,addIssueTypeAttachment:Np,addIssueTypeAttachments:Gp,setIssueTypeAttachment:Hp,setIssueTypeAttachments:Wp,updateIssueTypeAttachment:Kp,updateIssueTypeAttachments:Yp,deleteIssueTypeAttachment:Zp,deleteIssueTypeAttachments:Jp}=Ni.actions,Xp=t=>t.issueTypeAttachmentReducer.instances,Gi=o.createSelector([Xp],t=>Object.values(t)),Qp=t=>s=>s.issueTypeAttachmentReducer.instances[t],xp=S(o.createSelector([Gi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),JP=S(o.createSelector([Gi,(t,s)=>s],(t,s)=>T(t.filter(({issue_type:e})=>s===e)))),eA=Ni.reducer,ze=R(t=>t.uuid),tA={instances:{}},Hi=o.createSlice({name:"issueTypeFieldsAttachments",initialState:tA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,tA)),reducers:{initializeIssueTypeFieldsAttachments:ze.initialize,addIssueTypeFieldsAttachment:ze.addOne,addIssueTypeFieldsAttachments:ze.addMany,setIssueTypeFieldsAttachment:ze.setOne,setIssueTypeFieldsAttachments:ze.setMany,updateIssueTypeFieldsAttachment:ze.updateOne,updateIssueTypeFieldsAttachments:ze.updateMany,deleteIssueTypeFieldsAttachment:ze.deleteOne,deleteIssueTypeFieldsAttachments:ze.deleteMany}}),{initializeIssueTypeFieldsAttachments:sA,addIssueTypeFieldsAttachment:iA,addIssueTypeFieldsAttachments:nA,setIssueTypeFieldsAttachment:aA,setIssueTypeFieldsAttachments:cA,updateIssueTypeFieldsAttachment:dA,updateIssueTypeFieldsAttachments:rA,deleteIssueTypeFieldsAttachment:uA,deleteIssueTypeFieldsAttachments:lA}=Hi.actions,oA=t=>t.issueTypeFieldsAttachmentReducer.instances,Wi=o.createSelector([oA],t=>Object.values(t)),XP=S(o.createSelector([Wi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),hA=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],mA=S(o.createSelector([Wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),yA=Hi.reducer,Be=R(t=>t.uuid),pA={instances:{}},Ki=o.createSlice({name:"issueTypeFieldValues",initialState:pA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,pA)),reducers:{initializeIssueTypeFieldValues:Be.initialize,addIssueTypeFieldValues:Be.addOne,addIssueTypeFieldValuesMany:Be.addMany,setIssueTypeFieldValues:Be.setOne,setIssueTypeFieldValuesMany:Be.setMany,updateIssueTypeFieldValues:Be.updateOne,updateIssueTypeFieldValuesMany:Be.updateMany,deleteIssueTypeFieldValues:Be.deleteOne,deleteIssueTypeFieldValuesMany:Be.deleteMany}}),{initializeIssueTypeFieldValues:AA,addIssueTypeFieldValues:fA,addIssueTypeFieldValuesMany:SA,setIssueTypeFieldValues:TA,setIssueTypeFieldValuesMany:IA,updateIssueTypeFieldValues:OA,updateIssueTypeFieldValuesMany:PA,deleteIssueTypeFieldValues:FA,deleteIssueTypeFieldValuesMany:gA}=Ki.actions,bA=t=>t.issueTypeFieldValuesReducer.instances,Bt=o.createSelector([bA],t=>Object.values(t)),QP=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),_A=t=>s=>s.issueTypeFieldValuesReducer.instances[t],MA=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),RA=Ki.reducer,je=R(t=>t.uuid),wA={instances:{}},Yi=o.createSlice({name:"issueTypeFields",initialState:wA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,wA)),reducers:{initializeIssueTypeFields:je.initialize,addIssueTypeFields:je.addOne,addIssueTypeFieldsMany:je.addMany,setIssueTypeFields:je.setOne,setIssueTypeFieldsMany:je.setMany,updateIssueTypeFields:je.updateOne,updateIssueTypeFieldsMany:je.updateMany,deleteIssueTypeFields:je.deleteOne,deleteIssueTypeFieldsMany:je.deleteMany}}),{initializeIssueTypeFields:EA,addIssueTypeFields:vA,addIssueTypeFieldsMany:VA,setIssueTypeFields:zA,setIssueTypeFieldsMany:BA,updateIssueTypeFields:jA,updateIssueTypeFieldsMany:qA,deleteIssueTypeFields:DA,deleteIssueTypeFieldsMany:UA}=Yi.actions,$A=t=>t.issueTypeFieldsReducer.instances,pt=o.createSelector([$A],t=>Object.values(t)),xP=S(o.createSelector([pt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),eF=S(o.createSelector([pt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),tF=S(o.createSelector([pt,Bt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return T(s.filter(a=>n.has(a.fields_revision)))})),CA=t=>s=>s.issueTypeFieldsReducer.instances[t],LA=S(o.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),kA=Yi.reducer,qe=R(t=>t.uuid),NA={instances:{}},Zi=o.createSlice({name:"issueTypeFieldValuesAttachments",initialState:NA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,NA)),reducers:{initializeIssueTypeFieldValuesAttachments:qe.initialize,addIssueTypeFieldValuesAttachment:qe.addOne,addIssueTypeFieldValuesAttachments:qe.addMany,setIssueTypeFieldValuesAttachment:qe.setOne,setIssueTypeFieldValuesAttachments:qe.setMany,updateIssueTypeFieldValuesAttachment:qe.updateOne,updateIssueTypeFieldValuesAttachments:qe.updateMany,deleteIssueTypeFieldValuesAttachment:qe.deleteOne,deleteIssueTypeFieldValuesAttachments:qe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:GA,addIssueTypeFieldValuesAttachment:HA,addIssueTypeFieldValuesAttachments:Ji,setIssueTypeFieldValuesAttachment:WA,setIssueTypeFieldValuesAttachments:KA,updateIssueTypeFieldValuesAttachment:YA,updateIssueTypeFieldValuesAttachments:ZA,deleteIssueTypeFieldValuesAttachment:JA,deleteIssueTypeFieldValuesAttachments:Xi}=Zi.actions,XA=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Qi=o.createSelector([XA],t=>Object.values(t)),QA=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],xA=S(o.createSelector([Qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ef=S(o.createSelector([Qi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),tf=Zi.reducer,De=R(t=>t.uuid),sf={instances:{}},xi=o.createSlice({name:"issueTypeIdentifiers",initialState:sf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,sf)),reducers:{initializeIssueTypeIdentifiers:De.initialize,addIssueTypeIdentifier:De.addOne,addIssueTypeIdentifiers:De.addMany,setIssueTypeIdentifier:De.setOne,setIssueTypeIdentifiers:De.setMany,updateIssueTypeIdentifier:De.updateOne,updateIssueTypeIdentifiers:De.updateMany,deleteIssueTypeIdentifier:De.deleteOne,deleteIssueTypeIdentifiers:De.deleteMany}}),{initializeIssueTypeIdentifiers:nf,addIssueTypeIdentifier:af,addIssueTypeIdentifiers:cf,setIssueTypeIdentifier:df,setIssueTypeIdentifiers:rf,updateIssueTypeIdentifier:uf,updateIssueTypeIdentifiers:lf,deleteIssueTypeIdentifier:of,deleteIssueTypeIdentifiers:hf}=xi.actions,mf=t=>t.issueTypeIdentifierReducer.instances,en=o.createSelector([mf],t=>Object.values(t)),yf=t=>s=>s.issueTypeIdentifierReducer.instances[t],pf=S(o.createSelector([en,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),sF=S(o.createSelector([en,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),Af=xi.reducer,Ue=R(t=>t.uuid),ff={instances:{}},tn=o.createSlice({name:"issueTypeIdentifierValues",initialState:ff,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ff)),reducers:{initializeIssueTypeIdentifierValues:Ue.initialize,addIssueTypeIdentifierValue:Ue.addOne,addIssueTypeIdentifierValues:Ue.addMany,setIssueTypeIdentifierValue:Ue.setOne,setIssueTypeIdentifierValues:Ue.setMany,updateIssueTypeIdentifierValue:Ue.updateOne,updateIssueTypeIdentifierValues:Ue.updateMany,deleteIssueTypeIdentifierValue:Ue.deleteOne,deleteIssueTypeIdentifierValues:Ue.deleteMany}}),{initializeIssueTypeIdentifierValues:Sf,addIssueTypeIdentifierValue:Tf,addIssueTypeIdentifierValues:If,setIssueTypeIdentifierValue:Of,setIssueTypeIdentifierValues:Pf,updateIssueTypeIdentifierValue:Ff,updateIssueTypeIdentifierValues:gf,deleteIssueTypeIdentifierValue:bf,deleteIssueTypeIdentifierValues:_f}=tn.actions,Mf=t=>t.issueTypeIdentifierValueReducer.instances,jt=o.createSelector([Mf],t=>Object.values(t)),Rf=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],wf=S(o.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),iF=S(o.createSelector([jt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),nF=S(o.createSelector([jt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type_identifier===s)))),Ef=tn.reducer,$e=R(t=>t.uuid),vf={instances:{}},sn=o.createSlice({name:"issueTypes",initialState:vf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,vf)),reducers:{initializeIssueTypes:$e.initialize,addIssueType:$e.addOne,addIssueTypes:$e.addMany,setIssueType:$e.setOne,setIssueTypes:$e.setMany,updateIssueType:$e.updateOne,updateIssueTypes:$e.updateMany,deleteIssueType:$e.deleteOne,deleteIssueTypes:$e.deleteMany}}),{initializeIssueTypes:Vf,addIssueType:zf,addIssueTypes:Bf,setIssueType:jf,setIssueTypes:qf,updateIssueType:Df,updateIssueTypes:Uf,deleteIssueType:$f,deleteIssueTypes:Cf}=sn.actions,Lf=t=>t.issueTypeReducer.instances,nn=o.createSelector(Lf,t=>Object.values(t)),kf=t=>s=>s.issueTypeReducer.instances[t],Nf=S(o.createSelector([nn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),aF=S(o.createSelector([nn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Gf=sn.reducer,Ce=R(t=>t.uuid),Hf={instances:{}},an=o.createSlice({name:"issueTypeStatuses",initialState:Hf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Hf)),reducers:{initializeIssueTypeStatuses:Ce.initialize,addIssueTypeStatus:Ce.addOne,addIssueTypeStatuses:Ce.addMany,setIssueTypeStatus:Ce.setOne,setIssueTypeStatuses:Ce.setMany,updateIssueTypeStatus:Ce.updateOne,updateIssueTypeStatuses:Ce.updateMany,deleteIssueTypeStatus:Ce.deleteOne,deleteIssueTypeStatuses:Ce.deleteMany}}),{initializeIssueTypeStatuses:Wf,addIssueTypeStatus:Kf,addIssueTypeStatuses:Yf,setIssueTypeStatus:Zf,setIssueTypeStatuses:Jf,updateIssueTypeStatus:Xf,updateIssueTypeStatuses:Qf,deleteIssueTypeStatus:xf,deleteIssueTypeStatuses:eS}=an.actions,tS=t=>t.issueTypeStatusReducer.instances,cn=o.createSelector([tS],t=>T(Object.values(t).toSorted(na))),dn=t=>s=>s.issueTypeStatusReducer.instances[t],sS=S(o.createSelector([cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),cF=S(o.createSelector([cn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),iS=an.reducer,Le=R(t=>t.uuid),nS={instances:{}},rn=o.createSlice({name:"issueUpdates",initialState:nS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,nS)),reducers:{initializeIssueUpdates:Le.initialize,addIssueUpdate:Le.addOne,addIssueUpdates:Le.addMany,setIssueUpdate:Le.setOne,setIssueUpdates:Le.setMany,updateIssueUpdate:Le.updateOne,updateIssueUpdates:Le.updateMany,deleteIssueUpdate:Le.deleteOne,deleteIssueUpdates:Le.deleteMany}}),{initializeIssueUpdates:aS,addIssueUpdate:un,addIssueUpdates:ln,setIssueUpdate:cS,setIssueUpdates:dS,updateIssueUpdate:rS,updateIssueUpdates:uS,deleteIssueUpdate:on,deleteIssueUpdates:hn}=rn.actions,mn=t=>t.issueUpdateReducer.instances,yn=o.createSelector([mn],t=>Object.values(t)),lS=S(o.createSelector([mn,(t,s)=>s],(t,s)=>t[s])),oS=S(o.createSelector([yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),hS=S(o.createSelector([yn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),mS=rn.reducer,ke=R(t=>t.id),yS={instances:{},currentUser:null},pn=o.createSlice({name:"users",initialState:yS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,yS)),reducers:{initializeUsers:ke.initialize,setUsers:ke.setMany,setUser:ke.setOne,addUsers:ke.addMany,addUser:ke.addOne,updateUsers:ke.updateMany,updateUser:ke.updateOne,deleteUser:ke.deleteOne,deleteUsers:ke.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setProfilePicture:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile.file_url=s.payload.file_url??null,t.currentUser.profile.file_sha1=s.payload.file_sha1??null,t.currentUser.profile.file_extension=s.payload.file_extension??null;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile.file_url=s.payload.file_url??null,e.profile.file_sha1=s.payload.file_sha1??null,t.currentUser.profile.file_extension=s.payload.file_extension??null}}}),{initializeUsers:pS,setUsers:AS,setUser:fS,addUsers:SS,addUser:An,updateUsers:TS,updateUser:IS,deleteUser:fn,deleteUsers:OS,setCurrentUser:dF,setProfilePicture:rF}=pn.actions,PS=pn.reducer,FS=t=>t.userReducer.currentUser,Sn=t=>t.userReducer.instances,qt=o.createSelector([Sn],t=>Object.values(t)),Dt=t=>s=>s.userReducer.instances[t],gS=S(o.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({id:n})=>e.has(n)))})),Ne=R(t=>t.uuid),bS={instances:{}},Tn=o.createSlice({name:"organizationAccess",initialState:bS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,bS)),reducers:{initializeOrganizationAccesses:Ne.initialize,addOrganizationAccess:Ne.addOne,addOrganizationAccesses:Ne.addMany,setOrganizationAccess:Ne.setOne,setOrganizationAccesses:Ne.setMany,updateOrganizationAccess:Ne.updateOne,updateOrganizationAccesses:Ne.updateMany,deleteOrganizationAccess:Ne.deleteOne,deleteOrganizationAccesses:Ne.deleteMany}}),{initializeOrganizationAccesses:_S,addOrganizationAccess:MS,addOrganizationAccesses:RS,setOrganizationAccess:wS,setOrganizationAccesses:ES,updateOrganizationAccess:vS,updateOrganizationAccesses:VS,deleteOrganizationAccess:zS,deleteOrganizationAccesses:BS}=Tn.actions,jS=Tn.reducer,Ut=t=>t.organizationAccessReducer.instances,qS=t=>s=>s.organizationAccessReducer.instances[t],DS=S(o.createSelector([Ut,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),uF=o.createSelector([FS,Ut],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),US=o.createSelector([Ut],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return St(s)}),lF=S(o.createSelector([Sn,US,(t,s)=>s],(t,s,e)=>T(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),Ge=R(t=>t.uuid),$S={instances:{}},In=o.createSlice({name:"organizations",initialState:$S,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,$S)),reducers:{initializeOrganizations:Ge.initialize,setOrganizations:Ge.setMany,setOrganization:Ge.setOne,addOrganizations:Ge.addMany,addOrganization:Ge.addOne,updateOrganizations:Ge.updateMany,updateOrganization:Ge.updateOne,deleteOrganization:Ge.deleteOne,deleteOrganizations:Ge.deleteMany}}),{initializeOrganizations:CS,setOrganizations:LS,setOrganization:kS,addOrganizations:NS,addOrganization:GS,updateOrganizations:HS,updateOrganization:WS,deleteOrganization:KS,deleteOrganizations:YS}=In.actions,ZS=t=>t.organizationReducer.instances,JS=o.createSelector([ZS],t=>Object.values(t)),XS=t=>s=>s.organizationReducer.instances[t],QS=S(o.createSelector([JS,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),xS=In.reducer,eT=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:xe.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},tT={deletedRequests:[],latestRetryTime:0},On=o.createSlice({name:"outbox",initialState:tT,extraReducers:t=>t.addCase(_,s=>Object.assign(s,tT)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:s,serviceName:e,...n}=t;return eT(n,s,e)}},markForDeletion(t,s){t.deletedRequests.push(s.payload)},markAsDeleted(t,s){const e=t.deletedRequests.indexOf(s.payload);e!==-1&&t.deletedRequests.splice(e,1)},_setLatestRetryTime:(t,s)=>{t.latestRetryTime=s.payload}}}),oF=t=>t.outboxReducer.deletedRequests,hF=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:sT,markForDeletion:mF,markAsDeleted:iT,_setLatestRetryTime:nT}=On.actions,aT=On.reducer,He=R(t=>t.uuid),cT={instances:{}},Pn=o.createSlice({name:"projectAccess",initialState:cT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,cT)),reducers:{initializeProjectAccesses:He.initialize,addProjectAccess:He.addOne,addProjectAccesses:He.addMany,setProjectAccess:He.setOne,setProjectAccesses:He.setMany,updateProjectAccess:He.updateOne,updateProjectAccesses:He.updateMany,deleteProjectAccess:He.deleteOne,deleteProjectAccesses:He.deleteMany}}),{initializeProjectAccesses:dT,addProjectAccess:rT,addProjectAccesses:uT,setProjectAccess:lT,setProjectAccesses:oT,updateProjectAccess:hT,updateProjectAccesses:mT,deleteProjectAccess:yT,deleteProjectAccesses:pT}=Pn.actions,AT=Pn.reducer,Fn=t=>t.projectAccessReducer.instances,At=o.createSelector(Fn,t=>Object.values(t)),fT=t=>s=>s.projectAccessReducer.instances[t],ST=S(o.createSelector([At,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),yF=S(o.createSelector([Fn,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.project===s)))),pF=S(o.createSelector([At,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),AF=S(o.createSelector([qt,At,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return T(t.filter(a=>n.has(a.id)))})),We=R(t=>t.uuid),TT={instances:{}},gn=o.createSlice({name:"projectAttachments",initialState:TT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,TT)),reducers:{initializeProjectAttachments:We.initialize,addProjectAttachment:We.addOne,addProjectAttachments:We.addMany,setProjectAttachment:We.setOne,setProjectAttachments:We.setMany,updateProjectAttachment:We.updateOne,updateProjectAttachments:We.updateMany,deleteProjectAttachment:We.deleteOne,deleteProjectAttachments:We.deleteMany}}),{initializeProjectAttachments:IT,addProjectAttachment:OT,addProjectAttachments:PT,setProjectAttachment:FT,setProjectAttachments:gT,updateProjectAttachment:bT,updateProjectAttachments:_T,deleteProjectAttachment:MT,deleteProjectAttachments:RT}=gn.actions,wT=t=>t.projectAttachmentReducer.instances,bn=o.createSelector([wT],t=>Object.values(t)),ET=t=>s=>s.projectAttachmentReducer.instances[t],vT=S(o.createSelector([bn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),fF=S(o.createSelector([bn,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>s===e)))),VT=gn.reducer,Ke=R(t=>t.uuid),zT={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},_n=o.createSlice({name:"projectFiles",initialState:zT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,zT)),reducers:{initializeProjectFiles:Ke.initialize,setProjectFile:Ke.setOne,setProjectFiles:Ke.setMany,addProjectFile:Ke.addOne,addProjectFiles:Ke.addMany,updateProjectFile:Ke.updateOne,updateProjectFiles:Ke.updateMany,deleteProjectFile:Ke.deleteOne,deleteProjectFiles:Ke.deleteMany,setIsImportingProjectFile:(t,s)=>{t.isImportingProjectFile=s.payload},saveActiveProjectFileBounds:(t,s)=>{const e=t.activeProjectFileId;if(!e)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[e])throw new Error(`Tried to save bounds for active project file, but project file with ID ${e}
2
- doesn't exist.`);t.instances[e].bounds=s.payload},setActiveProjectFileId:(t,s)=>{t.activeProjectFileId=s.payload}}}),{initializeProjectFiles:BT,setProjectFile:jT,setProjectFiles:qT,addProjectFile:DT,addProjectFiles:UT,updateProjectFile:$T,updateProjectFiles:CT,deleteProjectFile:LT,deleteProjectFiles:kT,setIsImportingProjectFile:NT,setActiveProjectFileId:GT,saveActiveProjectFileBounds:HT}=_n.actions,WT=t=>t.projectFileReducer.instances,KT=o.createSelector([WT],t=>T(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),YT=t=>s=>s.projectFileReducer.instances[t],ZT=S(o.createSelector([KT,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),SF=t=>t.projectFileReducer.activeProjectFileId,TF=t=>t.projectFileReducer.isImportingProjectFile,JT=_n.reducer,Ye=R(t=>t.uuid),XT={instances:{}},Mn=o.createSlice({name:"projects",initialState:XT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,XT)),reducers:{initializeProjects:Ye.initialize,setProjects:Ye.setMany,setProject:Ye.setOne,addProjects:Ye.addMany,addProject:Ye.addOne,updateProjects:Ye.updateMany,updateProject:Ye.updateOne,deleteProject:Ye.deleteOne,deleteProjects:Ye.deleteMany}}),{initializeProjects:QT,setProjects:xT,setProject:eI,addProjects:tI,addProject:sI,updateProjects:iI,updateProject:nI,deleteProject:aI,deleteProjects:cI}=Mn.actions,dI=Mn.reducer,rI=t=>t.projectReducer.instances,$t=o.createSelector([rI],t=>Object.values(t)),uI=t=>s=>s.projectReducer.instances[t],lI=S(o.createSelector([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),IF=S(o.createSelector([$t,At,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return T(t.filter(a=>n.has(a.uuid)))})),OF=S(o.createSelector([$t,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),PF={isRehydrated:!1},Rn=o.createSlice({name:"rehydrated",initialState:PF,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:FF}=Rn.actions,gF=t=>t.rehydratedReducer.isRehydrated,oI=Rn.reducer,Ze=R(t=>t.uuid),hI={instances:{}},wn=o.createSlice({name:"teamMemberships",initialState:hI,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,hI)),reducers:{initializeTeamMemberships:Ze.initialize,addTeamMembership:Ze.addOne,addTeamMemberships:Ze.addMany,setTeamMembership:Ze.setOne,setTeamMemberships:Ze.setMany,updateTeamMembership:Ze.updateOne,updateTeamMemberships:Ze.updateMany,deleteTeamMembership:Ze.deleteOne,deleteTeamMemberships:Ze.deleteMany}}),{initializeTeamMemberships:mI,addTeamMembership:yI,addTeamMemberships:pI,setTeamMembership:AI,setTeamMemberships:fI,updateTeamMembership:SI,updateTeamMemberships:TI,deleteTeamMembership:II,deleteTeamMemberships:OI}=wn.actions,PI=wn.reducer,FI=t=>t.teamMembershipReducer.instances,Ct=o.createSelector([FI],t=>Object.values(t)),gI=t=>s=>s.teamMembershipReducer.instances[t],bI=S(o.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),bF=S(o.createSelector([Ct,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),_F=S(o.createSelector([qt,Ct,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return T(t.filter(a=>n.has(a.id)))})),Je=R(t=>t.uuid),_I={instances:{}},En=o.createSlice({name:"teams",initialState:_I,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,_I)),reducers:{initializeTeams:Je.initialize,addTeam:Je.addOne,addTeams:Je.addMany,setTeam:Je.setOne,setTeams:Je.setMany,updateTeam:Je.updateOne,updateTeams:Je.updateMany,deleteTeam:Je.deleteOne,deleteTeams:Je.deleteMany}}),{initializeTeams:MI,addTeam:RI,addTeams:wI,setTeam:EI,setTeams:vI,updateTeam:VI,updateTeams:zI,deleteTeam:BI,deleteTeams:jI}=En.actions,qI=t=>t.teamReducer.instances,vn=o.createSelector([qI],t=>Object.values(t)),DI=t=>s=>s.teamReducer.instances[t],UI=S(o.createSelector([vn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),MF=S(o.createSelector([vn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),$I=En.reducer,RF={version:0},CI=o.createSlice({name:"versioning",initialState:RF,reducers:{}}),LI=CI.reducer,Vn={outboxReducer:aT,fileReducer:Mh,authReducer:Bo},wF=o.combineReducers(Vn),kI={...Vn,[ht]:LI,assetReducer:Cr,assetAttachmentReducer:ba,assetStageCompletionReducer:Xr,assetStageReducer:hu,assetTypeReducer:fo,assetTypeAttachmentReducer:Mu,issueReducer:Cp,issueAttachmentReducer:ep,issueTypeReducer:Gf,issueTypeAttachmentReducer:eA,organizationReducer:xS,projectReducer:dI,projectAttachmentReducer:VT,projectAccessReducer:AT,organizationAccessReducer:jS,projectFileReducer:JT,rehydratedReducer:oI,formReducer:qm,formRevisionReducer:bm,formRevisionAttachmentReducer:pm,formSubmissionAttachmentReducer:Xm,formSubmissionReducer:ly,formIdentifierReducer:Lh,formIdentifierValueReducer:tm,userReducer:PS,emailDomainsReducer:Ph,documentsReducer:ah,documentAttachmentReducer:Yo,teamReducer:$I,agentsReducer:ha,issueCommentReducer:Mp,issueCommentAttachmentReducer:yp,issueUpdateReducer:mS,geoImageReducer:gy,issueAssociationReducer:Ly,issueTypeFieldsReducer:kA,issueTypeFieldValuesReducer:RA,issueTypeFieldsAttachmentReducer:yA,issueTypeFieldValuesAttachmentReducer:tf,issueTypeIdentifierReducer:Af,issueTypeIdentifierValueReducer:Ef,issueTypeStatusReducer:iS,assetTypeFieldsReducer:tl,assetTypeFieldValuesReducer:Rl,assetTypeFieldsAttachmentReducer:Lu,assetTypeFieldValuesAttachmentReducer:yl,assetTypeIdentifierReducer:kl,assetTypeIdentifierValueReducer:so,assetTypeStatusReducer:vo,assetProcedureTypeReducer:ld,assetProcedureReducer:Zc,assetProcedureTypeFieldsReducer:lc,assetProcedureTypeFieldValuesReducer:Dc,assetProcedureTypeFieldsAttachmentReducer:Ja,assetProcedureTypeFieldValuesAttachmentReducer:Pc,assetProcedureTypeAttachmentReducer:qa,assetProcedureStepFieldsAttachmentReducer:Md,assetProcedureStepFieldsReducer:Cd,assetProcedureStepFieldValuesAttachmentReducer:xd,assetProcedureStepFieldValuesReducer:mr,assetProcedureStepReducer:gr,teamMembershipReducer:PI},EF=o.combineReducers(kI),NI=1e4,GI=200,zn=[400,409,403,404,405,500],N=1e4,HI={};class WI{constructor(s){y(this,"client");y(this,"pageSize",NI);HI[this.constructor.name]=this,this.client=s}async performRequest(s,e){return this.client.performRequest(this.host,s,this,e)}async enqueueRequest(s){return this.client.enqueueRequest(s,this.host,this.constructor.name)}async performPagination(s,e){return this.client.performPagination(this.host,s,this.pageSize,this,e)}dispatch(s){this.client.store.dispatch(s)}}const KI=()=>JI.length-1,YI=t=>(t[ht]={version:KI()},t),ZI=()=>YI({}),vF=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),VF=t=>s=>{var e;return s===void 0&&(s={}),((e=s[ht])==null?void 0:e.version)===KI()?s:t(s)},JI=[YI,ZI,ZI,vF],zF=Object.fromEntries(JI.map((t,s)=>[s,VF(t)])),BF=t=>{if(t)throw t;const s=ot();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},XI=(t,s,e)=>{const n=at();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},QI=(t,s,e)=>{const n=at();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=s.meta.offlineAction.payload.uuid;return n.remove(c),n.getQueue()};async function jF(t,s){if(!s.payload)throw new Error("Received empty payload");return oO(s)}const qF={...Ln,effect:jF,discard:eO,returnPromises:!0,persistCallback:BF,retry:CF,persistOptions:{storage:SO},queue:{...Ln.queue,enqueue:XI,dequeue:QI,peek:(...t)=>$F(...t)}},DF=TO(zF,ht),UF=o.compose(fO.offline(qF),DF);async function xI(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=HI[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return Dn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function eO(t,s,e=0){var d;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
1
+ (function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("redux-persist-migrate"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","react","file-saver","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","redux-persist-migrate","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.fileSaver,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,o,ct,Xe,rO,uO,$n,ft,lO,Cn,oO,hO,sb,ib,mO,yO,pO){"use strict";var eb=Object.defineProperty;var tb=(i,L,o)=>L in i?eb(i,L,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[L]=o;var y=(i,L,o)=>tb(i,typeof L!="symbol"?L+"":L,o);var cO;const Un=Object.freeze([]),Ln=Object.freeze({});var Nn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Nn||{}),m=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(m||{}),Gn=(t=>(t[t.PLANNED=0]="PLANNED",t[t.ACTIVE=1]="ACTIVE",t[t.MAINTENANCE=2]="MAINTENANCE",t[t.INACTIVE=3]="INACTIVE",t[t.RETIRED=4]="RETIRED",t[t.DISPOSED=5]="DISPOSED",t))(Gn||{}),Hn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Hn||{}),Nt=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(Nt||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),kn=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.PLANNED=1]="PLANNED",t[t.IN_PROGRESS=2]="IN_PROGRESS",t[t.COMPLETED=3]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))(kn||{});const AO=Nt.MEDIUM,Kn=6e4;function F(t){return{addOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},addMany:(h,p)=>{for(const A of p.payload){const I=t(A);h.instances[I]=A}},setOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},setMany:(h,p)=>{for(const A of p.payload){const I=t(A);h.instances[I]=A}},updateOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},updateMany:(h,p)=>{for(const A of p.payload){const I=t(A);h.instances[I]=A}},deleteOne:(h,p)=>{delete h.instances[p.payload]},deleteMany:(h,p)=>{for(const A of p.payload)delete h.instances[A]},initialize:(h,p)=>{h.instances={};const A=new Set;for(const I of p.payload){const b=t(I);A.add(b),h.instances[b]=I}A.size!==p.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function fO(){return{initializeSelection:(r,u)=>{r.selection=Array.from(new Set(u.payload))},selectOne:(r,u)=>{new Set(r.selection).has(u.payload)||r.selection.push(u.payload)},selectMany:(r,u)=>{const h=new Set(r.selection);for(const p of u.payload)h.has(p)||h.add(p);r.selection=Array.from(h)},unselectOne:(r,u)=>{const h=new Set(r.selection);h.has(u.payload)&&(h.delete(u.payload),r.selection=Array.from(h))},unselectMany:(r,u)=>{const h=new Set(r.selection);for(const p of u.payload)h.has(p)&&h.delete(p);r.selection=Array.from(h)},toggleOne:(r,u)=>{const h=new Set(r.selection);h.has(u.payload)?h.delete(u.payload):h.add(u.payload),r.selection=Array.from(h)},toggleMany:(r,u)=>{const h=new Set(r.selection);for(const p of u.payload)h.has(p)?h.delete(p):h.add(p);r.selection=Array.from(h)},getInitialState:r=>({...r,selection:[]})}}const ot="versioning",O=o.createAction("RESET"),j=o.createAction("RESET_PROJECT_STATE"),g=o.createAction("RESET_ORGANIZATION_STATE");function SO(t,s){return rO.useMemo(t,s)}cO=Symbol.toStringTag;class Gt{constructor(){y(this,cO,"Promise");y(this,"_promise");y(this,"_resolve");y(this,"_reject");y(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let Ht=!1;["true","1"].includes("".toLowerCase())&&(Ht=!0);function TO(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),a=e.length;if(a!==n.length)return!1;for(let c=0;c<a;c++){const d=e[c];if(!Object.prototype.hasOwnProperty.call(s,d)||t[d]!==s[d])return!1}return!0}function kt(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Ht&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Ht&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function IO(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const S=t=>t.length===0?Un:t,St=t=>Object.keys(t).length===0?Ln:t,Wn=kt(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Kt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),OO=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),PO=1e3*86400,Kt=new Date,FO=t=>new Date(t).toDateString()===Kt.toDateString(),gO=kt((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Kt.getTime())/PO);return n<s||n>e?Wn(t):OO.format(n,"days")});function bO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Tt(t){return new Promise((s,e)=>{const n=new FileReader;n.onload=()=>{const a=n.result;if(!a){e(new Error("FileReader did not return a valid ArrayBuffer."));return}crypto.subtle.digest("SHA-1",a).then(c=>{const d=bO(c);s(d)})},n.readAsArrayBuffer(t)})}const Wt=(t,s)=>`${t}${s?`.${s}`:""}`;function MO(t,s){return new File([t],s,{type:t.type})}function Yt(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const Yn=async t=>(await fetch(t)).blob(),Zn=async(t,s)=>{const e=await Yn(t);return new File([e],s,{type:e.type})};function _O(t){const s=new Blob([t]);uO.saveAs(s,t.name)}function Jn(t){return typeof t=="string"&&t.startsWith("blob:")}const Xn={};function RO(t,s,e,...n){const a=Xn[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(Xn[t]={[s]:!0},c=!0),c&&console[e](...n)}const Qn=["created_at","updated_at","index","revision"];function P(t){return{...t,uuid:Xe.v4()}}function wO(t){const s={};for(const e of t)s[e.uuid]=e;return s}function B(t){return t.map(({uuid:s})=>s)}function It(t,s){return t.localeCompare(s)}function Zt(t,s){return It(t.uuid,s.uuid)}function EO(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const c=t.split(".");c.length>1&&(s=c[c.length-1])}s&&!s.startsWith(".")&&(s="."+s);const a=s?s.length:0;return n.length+a>e&&(n=n.slice(0,e-a)+(s||"")),n}function vO(t){return t.toLowerCase().replace(" ","-")}function VO(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function BO(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const zO=/^.+@.+\..+$/;function E(t){const s={...t};for(const e of[...Qn,"created_by"])e in s&&delete s[e];return s}const xn=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return $n(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},jO=t=>{const{roots:s}=xn(t);return s.map(e=>new ft.Tree(e))},ea=(t,s)=>{const{nodes:e}=xn(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new ft.Tree(n)},ta=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,sa=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,ia=t=>$n(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),DO=t=>{const{roots:s}=ia(t);return s.map(e=>new ft.Tree(e))},na=(t,s)=>{const{nodes:e}=ia(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new ft.Tree(n)};class qO{constructor(s){y(this,"operations",[]);y(this,"getData");this.getData=s}performOperations(s){let e=s;for(const n of this.operations)e=n(e);return e}filter(s,e){return this.operations.push(n=>n.filter(a=>a[s]===e)),this}exclude(s,e){return this.operations.push(n=>n.filter(a=>a[s]!==e)),this}orderBy(s){return this.operations.push(e=>[...e].sort((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>[...s].reverse()),this}all(){return this.operations.push(s=>s),this}get(s,e){return o.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return o.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return o.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return o.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return o.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return o.createSelector([this.getData],s=>S(this.performOperations(s)))}}const f=t=>(...s)=>e=>t(e,...s),G=F(t=>t.uuid),aa={instances:{}},Jt=o.createSlice({name:"agents",initialState:aa,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,aa)),reducers:{initializeConversations:G.initialize,addConversation:G.addOne,addConversations:G.addMany,setConversation:G.setOne,setConversations:G.setMany,updateConversation:G.updateOne,updateConversations:G.updateMany,deleteConversation:G.deleteOne,deleteConversations:G.deleteMany}}),{initializeConversations:ca,addConversation:da,addConversations:$O,setConversation:ra,setConversations:CO,updateConversation:ua,updateConversations:UO,deleteConversation:LO,deleteConversations:NO}=Jt.actions,Xt=t=>t.agentsReducer.instances,GO=o.createSelector([Xt],t=>Object.values(t)),HO=f(o.createSelector([Xt,(t,s)=>s],(t,s)=>t[s])),la=Jt.reducer,H=F(t=>t.uuid),oa={instances:{}},Qt=o.createSlice({name:"assetAttachments",initialState:oa,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,oa)),reducers:{initializeAssetAttachments:H.initialize,addAssetAttachment:H.addOne,addAssetAttachments:H.addMany,setAssetAttachment:H.setOne,setAssetAttachments:H.setMany,updateAssetAttachment:H.updateOne,updateAssetAttachments:H.updateMany,deleteAssetAttachment:H.deleteOne,deleteAssetAttachments:H.deleteMany}}),{initializeAssetAttachments:ha,addAssetAttachment:ma,addAssetAttachments:xt,setAssetAttachment:ya,setAssetAttachments:pa,updateAssetAttachment:Aa,updateAssetAttachments:fa,deleteAssetAttachment:Sa,deleteAssetAttachments:es}=Qt.actions,Ta=t=>t.assetAttachmentReducer.instances,ts=o.createSelector([Ta],t=>Object.values(t)),Ia=t=>s=>s.assetAttachmentReducer.instances[t],Oa=f(o.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Pa=f(o.createSelector([ts,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),Fa=Qt.reducer,k=F(({uuid:t})=>t),ga={instances:{}},ss=o.createSlice({name:"assetProcedureTypeAttachments",initialState:ga,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,ga)),reducers:{initializeAssetProcedureTypeAttachments:k.initialize,addAssetProcedureTypeAttachment:k.addOne,addAssetProcedureTypeAttachments:k.addMany,setAssetProcedureTypeAttachment:k.setOne,setAssetProcedureTypeAttachments:k.setMany,updateAssetProcedureTypeAttachment:k.updateOne,updateAssetProcedureTypeAttachments:k.updateMany,deleteAssetProcedureTypeAttachment:k.deleteOne,deleteAssetProcedureTypeAttachments:k.deleteMany}}),{initializeAssetProcedureTypeAttachments:ba,addAssetProcedureTypeAttachment:Ma,addAssetProcedureTypeAttachments:_a,setAssetProcedureTypeAttachment:Ra,setAssetProcedureTypeAttachments:wa,updateAssetProcedureTypeAttachment:Ea,updateAssetProcedureTypeAttachments:va,deleteAssetProcedureTypeAttachment:Va,deleteAssetProcedureTypeAttachments:Ba}=ss.actions,za=ss.reducer,ja=t=>t.assetProcedureTypeAttachmentReducer.instances,is=o.createSelector([ja],t=>Object.values(t)),Da=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],qa=f(o.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kO=f(o.createSelector([is,(t,s)=>s],(t,s)=>S(t.filter(({asset_procedure_type:e})=>s===e)))),K=F(({uuid:t})=>t),$a={instances:{}},ns=o.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:$a,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,$a)),reducers:{initializeAssetProcedureTypeFieldsAttachments:K.initialize,addAssetProcedureTypeFieldsAttachment:K.addOne,addAssetProcedureTypeFieldsAttachments:K.addMany,setAssetProcedureTypeFieldsAttachment:K.setOne,setAssetProcedureTypeFieldsAttachments:K.setMany,updateAssetProcedureTypeFieldsAttachment:K.updateOne,updateAssetProcedureTypeFieldsAttachments:K.updateMany,deleteAssetProcedureTypeFieldsAttachment:K.deleteOne,deleteAssetProcedureTypeFieldsAttachments:K.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:Ca,addAssetProcedureTypeFieldsAttachment:Ua,addAssetProcedureTypeFieldsAttachments:La,setAssetProcedureTypeFieldsAttachment:Na,setAssetProcedureTypeFieldsAttachments:Ga,updateAssetProcedureTypeFieldsAttachment:Ha,updateAssetProcedureTypeFieldsAttachments:ka,deleteAssetProcedureTypeFieldsAttachment:Ka,deleteAssetProcedureTypeFieldsAttachments:Wa}=ns.actions,Ya=ns.reducer,Za=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,as=o.createSelector([Za],t=>Object.values(t)),KO=f(o.createSelector([as,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Ja=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],Xa=f(o.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),W=F(({uuid:t})=>t),Qa={instances:{}},cs=o.createSlice({name:"assetProcedureTypeFields",initialState:Qa,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Qa)),reducers:{initializeAssetProcedureTypeFields:W.initialize,addAssetProcedureTypeFields:W.addOne,addAssetProcedureTypeFieldsMany:W.addMany,setAssetProcedureTypeFields:W.setOne,setAssetProcedureTypeFieldsMany:W.setMany,updateAssetProcedureTypeFields:W.updateOne,updateAssetProcedureTypeFieldsMany:W.updateMany,deleteAssetProcedureTypeFields:W.deleteOne,deleteAssetProcedureTypeFieldsMany:W.deleteMany}}),{initializeAssetProcedureTypeFields:xa,addAssetProcedureTypeFields:ec,addAssetProcedureTypeFieldsMany:tc,setAssetProcedureTypeFields:sc,setAssetProcedureTypeFieldsMany:ic,updateAssetProcedureTypeFields:nc,updateAssetProcedureTypeFieldsMany:ac,deleteAssetProcedureTypeFields:cc,deleteAssetProcedureTypeFieldsMany:dc}=cs.actions,rc=cs.reducer,uc=t=>t.assetProcedureTypeFieldsReducer.instances,Ot=o.createSelector([uc],t=>Object.values(t)),WO=f(o.createSelector([Ot,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),YO=f(o.createSelector([Ot,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),lc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],oc=f(o.createSelector([Ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Y=F(({uuid:t})=>t),hc={instances:{}},ds=o.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:hc,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,hc)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:Y.initialize,addAssetProcedureTypeFieldValuesAttachment:Y.addOne,addAssetProcedureTypeFieldValuesAttachments:Y.addMany,setAssetProcedureTypeFieldValuesAttachment:Y.setOne,setAssetProcedureTypeFieldValuesAttachments:Y.setMany,updateAssetProcedureTypeFieldValuesAttachment:Y.updateOne,updateAssetProcedureTypeFieldValuesAttachments:Y.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:Y.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:Y.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:mc,addAssetProcedureTypeFieldValuesAttachment:yc,addAssetProcedureTypeFieldValuesAttachments:rs,setAssetProcedureTypeFieldValuesAttachment:pc,setAssetProcedureTypeFieldValuesAttachments:Ac,updateAssetProcedureTypeFieldValuesAttachment:fc,updateAssetProcedureTypeFieldValuesAttachments:Sc,deleteAssetProcedureTypeFieldValuesAttachment:Tc,deleteAssetProcedureTypeFieldValuesAttachments:us}=ds.actions,Ic=ds.reducer,Oc=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,ls=o.createSelector([Oc],t=>Object.values(t)),Pc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],Fc=f(o.createSelector([ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gc=f(o.createSelector([ls,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Z=F(({uuid:t})=>t),bc={instances:{}},os=o.createSlice({name:"assetProcedureTypeFieldValues",initialState:bc,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,bc)),reducers:{initializeAssetProcedureTypeFieldValues:Z.initialize,addAssetProcedureTypeFieldValues:Z.addOne,addAssetProcedureTypeFieldValuesMany:Z.addMany,setAssetProcedureTypeFieldValues:Z.setOne,setAssetProcedureTypeFieldValuesMany:Z.setMany,updateAssetProcedureTypeFieldValues:Z.updateOne,updateAssetProcedureTypeFieldValuesMany:Z.updateMany,deleteAssetProcedureTypeFieldValues:Z.deleteOne,deleteAssetProcedureTypeFieldValuesMany:Z.deleteMany}}),{initializeAssetProcedureTypeFieldValues:Mc,addAssetProcedureTypeFieldValues:_c,addAssetProcedureTypeFieldValuesMany:Rc,setAssetProcedureTypeFieldValues:wc,setAssetProcedureTypeFieldValuesMany:Ec,updateAssetProcedureTypeFieldValues:vc,updateAssetProcedureTypeFieldValuesMany:Vc,deleteAssetProcedureTypeFieldValues:Bc,deleteAssetProcedureTypeFieldValuesMany:zc}=os.actions,jc=os.reducer,Dc=t=>t.assetProcedureTypeFieldValuesReducer.instances,Pt=o.createSelector([Dc],t=>Object.values(t)),ZO=f(o.createSelector([Pt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),JO=f(o.createSelector([Pt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure===s)))),qc=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],$c=f(o.createSelector([Pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),J=F(({uuid:t})=>t),Cc={instances:{}},hs=o.createSlice({name:"assetProcedures",initialState:Cc,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Cc)),reducers:{initializeAssetProcedures:J.initialize,addAssetProcedure:J.addOne,addAssetProcedures:J.addMany,setAssetProcedure:J.setOne,setAssetProcedures:J.setMany,updateAssetProcedure:J.updateOne,updateAssetProcedures:J.updateMany,deleteAssetProcedure:J.deleteOne,deleteAssetProcedures:J.deleteMany}}),{initializeAssetProcedures:Uc,addAssetProcedure:Lc,addAssetProcedures:ms,updateAssetProcedure:Nc,updateAssetProcedures:Gc,deleteAssetProcedure:Hc,deleteAssetProcedures:ys,setAssetProcedure:kc,setAssetProcedures:Kc}=hs.actions,Wc=hs.reducer,Yc=t=>t.assetProcedureReducer.instances,Ft=o.createSelector([Yc],t=>Object.values(t)),Zc=f(o.createSelector([Ft,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),XO=f(o.createSelector([Ft,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Jc=t=>s=>s.assetProcedureReducer.instances[t],Xc=f(o.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),X=F(t=>t.uuid),Qc={instances:{}},ps=o.createSlice({name:"assetProcedureTypes",initialState:Qc,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Qc)),reducers:{initializeAssetProcedureTypes:X.initialize,addAssetProcedureType:X.addOne,addAssetProcedureTypes:X.addMany,setAssetProcedureType:X.setOne,setAssetProcedureTypes:X.setMany,updateAssetProcedureType:X.updateOne,updateAssetProcedureTypes:X.updateMany,deleteAssetProcedureType:X.deleteOne,deleteAssetProcedureTypes:X.deleteMany}}),{initializeAssetProcedureTypes:xc,addAssetProcedureType:ed,addAssetProcedureTypes:td,updateAssetProcedureType:sd,updateAssetProcedureTypes:id,deleteAssetProcedureType:nd,deleteAssetProcedureTypes:ad,setAssetProcedureType:cd,setAssetProcedureTypes:dd}=ps.actions,rd=ps.reducer,ud=t=>t.assetProcedureTypeReducer.instances,As=o.createSelector([ud],t=>Object.values(t)),ld=t=>s=>s.assetProcedureTypeReducer.instances[t],od=f(o.createSelector([As,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),QO=f(o.createSelector([As,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Q=F(t=>t.uuid),hd={instances:{}},fs=o.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:hd,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,hd)),reducers:{initializeAssetProcedureStepFieldsAttachments:Q.initialize,addAssetProcedureStepFieldsAttachment:Q.addOne,addAssetProcedureStepFieldsAttachments:Q.addMany,setAssetProcedureStepFieldsAttachment:Q.setOne,setAssetProcedureStepFieldsAttachments:Q.setMany,updateAssetProcedureStepFieldsAttachment:Q.updateOne,updateAssetProcedureStepFieldsAttachments:Q.updateMany,deleteAssetProcedureStepFieldsAttachment:Q.deleteOne,deleteAssetProcedureStepFieldsAttachments:Q.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:md,addAssetProcedureStepFieldsAttachment:yd,addAssetProcedureStepFieldsAttachments:pd,setAssetProcedureStepFieldsAttachment:Ad,setAssetProcedureStepFieldsAttachments:fd,updateAssetProcedureStepFieldsAttachment:Sd,updateAssetProcedureStepFieldsAttachments:Td,deleteAssetProcedureStepFieldsAttachment:Id,deleteAssetProcedureStepFieldsAttachments:Od}=fs.actions,Pd=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,Ss=o.createSelector([Pd],t=>Object.values(t)),xO=f(o.createSelector([Ss,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Fd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],gd=f(o.createSelector([Ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),bd=fs.reducer,x=F(t=>t.uuid),Md={instances:{}},Ts=o.createSlice({name:"assetProcedureStepFields",initialState:Md,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Md)),reducers:{initializeAssetProcedureStepFields:x.initialize,addAssetProcedureStepFields:x.addOne,addAssetProcedureStepFieldsMany:x.addMany,setAssetProcedureStepFields:x.setOne,setAssetProcedureStepFieldsMany:x.setMany,updateAssetProcedureStepFields:x.updateOne,updateAssetProcedureStepFieldsMany:x.updateMany,deleteAssetProcedureStepFields:x.deleteOne,deleteAssetProcedureStepFieldsMany:x.deleteMany}}),{initializeAssetProcedureStepFields:_d,addAssetProcedureStepFields:Rd,addAssetProcedureStepFieldsMany:wd,setAssetProcedureStepFields:Ed,setAssetProcedureStepFieldsMany:vd,updateAssetProcedureStepFields:Vd,updateAssetProcedureStepFieldsMany:Bd,deleteAssetProcedureStepFields:zd,deleteAssetProcedureStepFieldsMany:jd}=Ts.actions,Is=t=>t.assetProcedureStepFieldsReducer.instances,gt=o.createSelector([Is],t=>Object.values(t)),eP=f(o.createSelector([gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_step===s)))),tP=f(o.createSelector([gt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_procedure_step===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),sP=o.createSelector([Is],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),Dd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],qd=f(o.createSelector([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$d=Ts.reducer,ee=F(t=>t.uuid),Cd={instances:{}},Os=o.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Cd,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Cd)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:ee.initialize,addAssetProcedureStepFieldValuesAttachment:ee.addOne,addAssetProcedureStepFieldValuesAttachments:ee.addMany,setAssetProcedureStepFieldValuesAttachment:ee.setOne,setAssetProcedureStepFieldValuesAttachments:ee.setMany,updateAssetProcedureStepFieldValuesAttachment:ee.updateOne,updateAssetProcedureStepFieldValuesAttachments:ee.updateMany,deleteAssetProcedureStepFieldValuesAttachment:ee.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:ee.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Ud,addAssetProcedureStepFieldValuesAttachment:Ld,addAssetProcedureStepFieldValuesAttachments:Ps,setAssetProcedureStepFieldValuesAttachment:Nd,setAssetProcedureStepFieldValuesAttachments:Gd,updateAssetProcedureStepFieldValuesAttachment:Hd,updateAssetProcedureStepFieldValuesAttachments:kd,deleteAssetProcedureStepFieldValuesAttachment:Kd,deleteAssetProcedureStepFieldValuesAttachments:Fs}=Os.actions,Wd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,gs=o.createSelector([Wd],t=>Object.values(t)),Yd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Zd=f(o.createSelector([gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Jd=f(o.createSelector([gs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Xd=Os.reducer,te=F(t=>t.uuid),Qd={instances:{}},bs=o.createSlice({name:"assetProcedureStepFieldValues",initialState:Qd,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Qd)),reducers:{initializeAssetProcedureStepFieldValues:te.initialize,addAssetProcedureStepFieldValues:te.addOne,addAssetProcedureStepFieldValuesMany:te.addMany,setAssetProcedureStepFieldValues:te.setOne,setAssetProcedureStepFieldValuesMany:te.setMany,updateAssetProcedureStepFieldValues:te.updateOne,updateAssetProcedureStepFieldValuesMany:te.updateMany,deleteAssetProcedureStepFieldValues:te.deleteOne,deleteAssetProcedureStepFieldValuesMany:te.deleteMany}}),{initializeAssetProcedureStepFieldValues:xd,addAssetProcedureStepFieldValues:er,addAssetProcedureStepFieldValuesMany:tr,setAssetProcedureStepFieldValues:sr,setAssetProcedureStepFieldValuesMany:ir,updateAssetProcedureStepFieldValues:nr,updateAssetProcedureStepFieldValuesMany:ar,deleteAssetProcedureStepFieldValues:cr,deleteAssetProcedureStepFieldValuesMany:dr}=bs.actions,rr=t=>t.assetProcedureStepFieldValuesReducer.instances,ht=o.createSelector([rr],t=>Object.values(t)),iP=f(o.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),nP=f(o.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure===s)))),aP=f(o.createSelector([ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_step===s)))),ur=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],lr=f(o.createSelector([ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),or=bs.reducer,se=F(t=>t.uuid),hr={instances:{}},Ms=o.createSlice({name:"assetProcedureSteps",initialState:hr,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,hr)),reducers:{initializeAssetProcedureSteps:se.initialize,setAssetProcedureStep:se.setOne,setAssetProcedureSteps:se.setMany,addAssetProcedureStep:se.addOne,addAssetProcedureSteps:se.addMany,updateAssetProcedureStep:se.updateOne,updateAssetProcedureSteps:se.updateMany,deleteAssetProcedureStep:se.deleteOne,deleteAssetProcedureSteps:se.deleteMany}}),{initializeAssetProcedureSteps:mr,setAssetProcedureStep:yr,setAssetProcedureSteps:pr,addAssetProcedureStep:Ar,addAssetProcedureSteps:fr,updateAssetProcedureStep:Sr,updateAssetProcedureSteps:Tr,deleteAssetProcedureStep:Ir,deleteAssetProcedureSteps:Or}=Ms.actions,Pr=Ms.reducer,bt=t=>t.assetProcedureStepReducer.instances,Fr=t=>s=>s.assetProcedureStepReducer.instances[t],_s=o.createSelector([bt],t=>Object.values(t)),cP=f(o.createSelector([bt,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return St(e)})),dP=f(o.createSelector([_s,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),gr=f(o.createSelector([_s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),br=f(o.createSelector([bt,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=ea(s,Object.values(t)).all().map(({model:c})=>c);return S(a)})),ie=F(t=>t.uuid),Mr={instances:{}},Rs=o.createSlice({name:"assets",initialState:Mr,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Mr)),reducers:{initializeAssets:ie.initialize,addAsset:ie.addOne,addAssets:ie.addMany,setAsset:ie.setOne,setAssets:ie.setMany,updateAsset:ie.updateOne,updateAssets:ie.updateMany,deleteAsset:ie.deleteOne,deleteAssets:ie.deleteMany}}),{initializeAssets:_r,addAsset:Rr,addAssets:ws,updateAsset:wr,updateAssets:Er,deleteAsset:vr,deleteAssets:Es,setAsset:Vr,setAssets:Br}=Rs.actions,zr=t=>t.assetReducer.instances,Mt=o.createSelector([zr],t=>S(Object.values(t))),rP=f(o.createSelector([Mt,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),jr=f(o.createSelector([Mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Dr=t=>s=>s.assetReducer.instances[t],qr=f(o.createSelector([Mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$r=Rs.reducer,ne=F(t=>t.uuid),Cr={instances:{}},vs=o.createSlice({name:"assetStageCompletions",initialState:Cr,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Cr)),reducers:{initializeAssetStageCompletions:ne.initialize,addAssetStageCompletion:ne.addOne,addAssetStageCompletions:ne.addMany,setAssetStageCompletion:ne.setOne,setAssetStageCompletions:ne.setMany,updateAssetStageCompletion:ne.updateOne,updateAssetStageCompletions:ne.updateMany,deleteAssetStageCompletion:ne.deleteOne,deleteAssetStageCompletions:ne.deleteMany}}),{initializeAssetStageCompletions:Ur,addAssetStageCompletion:Lr,addAssetStageCompletions:Nr,setAssetStageCompletion:Gr,setAssetStageCompletions:Hr,updateAssetStageCompletion:kr,updateAssetStageCompletions:Kr,deleteAssetStageCompletion:Wr,deleteAssetStageCompletions:Yr}=vs.actions,Zr=vs.reducer,Jr=t=>t.assetStageCompletionReducer.instances,Xr=o.createSelector([Jr],t=>Object.values(t)),Qr=t=>s=>s.assetStageCompletionReducer.instances[t],xr=f(o.createSelector([Xr,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ae=F(t=>t.uuid),eu={instances:{}},Vs=o.createSlice({name:"assetStages",initialState:eu,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,eu)),reducers:{initializeAssetStages:ae.initialize,setAssetStage:ae.setOne,setAssetStages:ae.setMany,addAssetStage:ae.addOne,addAssetStages:ae.addMany,updateAssetStage:ae.updateOne,updateAssetStages:ae.updateMany,deleteAssetStage:ae.deleteOne,deleteAssetStages:ae.deleteMany}}),{initializeAssetStages:tu,setAssetStage:su,setAssetStages:iu,addAssetStage:nu,addAssetStages:au,updateAssetStage:cu,updateAssetStages:du,deleteAssetStage:ru,deleteAssetStages:uu}=Vs.actions,lu=Vs.reducer,Bs=t=>t.assetStageReducer.instances,ou=t=>s=>s.assetStageReducer.instances[t],zs=o.createSelector([Bs],t=>Object.values(t)),uP=f(o.createSelector([Bs,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return St(e)})),lP=f(o.createSelector([zs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_procedure_type===s)))),hu=f(o.createSelector([zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ce=F(t=>t.uuid),mu={instances:{}},js=o.createSlice({name:"assetTypeAttachments",initialState:mu,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,mu)),reducers:{initializeAssetTypeAttachments:ce.initialize,addAssetTypeAttachment:ce.addOne,addAssetTypeAttachments:ce.addMany,setAssetTypeAttachment:ce.setOne,setAssetTypeAttachments:ce.setMany,updateAssetTypeAttachment:ce.updateOne,updateAssetTypeAttachments:ce.updateMany,deleteAssetTypeAttachment:ce.deleteOne,deleteAssetTypeAttachments:ce.deleteMany}}),{initializeAssetTypeAttachments:yu,addAssetTypeAttachment:pu,addAssetTypeAttachments:Ds,setAssetTypeAttachment:Au,setAssetTypeAttachments:fu,updateAssetTypeAttachment:Su,updateAssetTypeAttachments:Tu,deleteAssetTypeAttachment:Iu,deleteAssetTypeAttachments:qs}=js.actions,Ou=t=>t.assetTypeAttachmentReducer.instances,$s=o.createSelector([Ou],t=>Object.values(t)),Pu=t=>s=>s.assetTypeAttachmentReducer.instances[t],Fu=f(o.createSelector([$s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gu=f(o.createSelector([$s,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),bu=js.reducer,de=F(t=>t.uuid),Mu={instances:{}},Cs=o.createSlice({name:"assetTypeFieldsAttachments",initialState:Mu,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Mu)),reducers:{initializeAssetTypeFieldsAttachments:de.initialize,addAssetTypeFieldsAttachment:de.addOne,addAssetTypeFieldsAttachments:de.addMany,setAssetTypeFieldsAttachment:de.setOne,setAssetTypeFieldsAttachments:de.setMany,updateAssetTypeFieldsAttachment:de.updateOne,updateAssetTypeFieldsAttachments:de.updateMany,deleteAssetTypeFieldsAttachment:de.deleteOne,deleteAssetTypeFieldsAttachments:de.deleteMany}}),{initializeAssetTypeFieldsAttachments:_u,addAssetTypeFieldsAttachment:Ru,addAssetTypeFieldsAttachments:wu,setAssetTypeFieldsAttachment:Eu,setAssetTypeFieldsAttachments:vu,updateAssetTypeFieldsAttachment:Vu,updateAssetTypeFieldsAttachments:Bu,deleteAssetTypeFieldsAttachment:zu,deleteAssetTypeFieldsAttachments:ju}=Cs.actions,Du=t=>t.assetTypeFieldsAttachmentReducer.instances,Us=o.createSelector([Du],t=>Object.values(t)),oP=f(o.createSelector([Us,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),qu=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],$u=f(o.createSelector([Us,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Cu=Cs.reducer,re=F(t=>t.uuid),Uu={instances:{}},Ls=o.createSlice({name:"assetTypeFields",initialState:Uu,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Uu)),reducers:{initializeAssetTypeFields:re.initialize,addAssetTypeFields:re.addOne,addAssetTypeFieldsMany:re.addMany,setAssetTypeFields:re.setOne,setAssetTypeFieldsMany:re.setMany,updateAssetTypeFields:re.updateOne,updateAssetTypeFieldsMany:re.updateMany,deleteAssetTypeFields:re.deleteOne,deleteAssetTypeFieldsMany:re.deleteMany}}),{initializeAssetTypeFields:Lu,addAssetTypeFields:Nu,addAssetTypeFieldsMany:Gu,setAssetTypeFields:Hu,setAssetTypeFieldsMany:ku,updateAssetTypeFields:Ku,updateAssetTypeFieldsMany:Wu,deleteAssetTypeFields:Yu,deleteAssetTypeFieldsMany:Zu}=Ls.actions,Ju=t=>t.assetTypeFieldsReducer.instances,mt=o.createSelector([Ju],t=>Object.values(t)),hP=f(o.createSelector([mt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),mP=f(o.createSelector([mt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Xu=t=>s=>s.assetTypeFieldsReducer.instances[t],Qu=f(o.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),xu=Ls.reducer,ue=F(t=>t.uuid),el={instances:{}},Ns=o.createSlice({name:"assetTypeFieldValuesAttachments",initialState:el,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,el)),reducers:{initializeAssetTypeFieldValuesAttachments:ue.initialize,addAssetTypeFieldValuesAttachment:ue.addOne,addAssetTypeFieldValuesAttachments:ue.addMany,setAssetTypeFieldValuesAttachment:ue.setOne,setAssetTypeFieldValuesAttachments:ue.setMany,updateAssetTypeFieldValuesAttachment:ue.updateOne,updateAssetTypeFieldValuesAttachments:ue.updateMany,deleteAssetTypeFieldValuesAttachment:ue.deleteOne,deleteAssetTypeFieldValuesAttachments:ue.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:tl,addAssetTypeFieldValuesAttachment:sl,addAssetTypeFieldValuesAttachments:Gs,setAssetTypeFieldValuesAttachment:il,setAssetTypeFieldValuesAttachments:nl,updateAssetTypeFieldValuesAttachment:al,updateAssetTypeFieldValuesAttachments:cl,deleteAssetTypeFieldValuesAttachment:dl,deleteAssetTypeFieldValuesAttachments:Hs}=Ns.actions,rl=t=>t.assetTypeFieldValuesAttachmentReducer.instances,ks=o.createSelector([rl],t=>Object.values(t)),ul=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],ll=f(o.createSelector([ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ol=f(o.createSelector([ks,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),hl=Ns.reducer,le=F(t=>t.uuid),ml={instances:{}},Ks=o.createSlice({name:"assetTypeFieldValues",initialState:ml,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,ml)),reducers:{initializeAssetTypeFieldValues:le.initialize,addAssetTypeFieldValues:le.addOne,addAssetTypeFieldValuesMany:le.addMany,setAssetTypeFieldValues:le.setOne,setAssetTypeFieldValuesMany:le.setMany,updateAssetTypeFieldValues:le.updateOne,updateAssetTypeFieldValuesMany:le.updateMany,deleteAssetTypeFieldValues:le.deleteOne,deleteAssetTypeFieldValuesMany:le.deleteMany}}),{initializeAssetTypeFieldValues:yl,addAssetTypeFieldValues:pl,addAssetTypeFieldValuesMany:Al,setAssetTypeFieldValues:fl,setAssetTypeFieldValuesMany:Sl,updateAssetTypeFieldValues:Tl,updateAssetTypeFieldValuesMany:Il,deleteAssetTypeFieldValues:Ol,deleteAssetTypeFieldValuesMany:Pl}=Ks.actions,Fl=t=>t.assetTypeFieldValuesReducer.instances,_t=o.createSelector([Fl],t=>Object.values(t)),yP=f(o.createSelector([_t,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),pP=f(o.createSelector([mt,_t,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),gl=t=>s=>s.assetTypeFieldValuesReducer.instances[t],bl=f(o.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ml=Ks.reducer,oe=F(t=>t.uuid),_l={instances:{}},Ws=o.createSlice({name:"assetTypeIdentifiers",initialState:_l,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,_l)),reducers:{initializeAssetTypeIdentifiers:oe.initialize,addAssetTypeIdentifier:oe.addOne,addAssetTypeIdentifiers:oe.addMany,setAssetTypeIdentifier:oe.setOne,setAssetTypeIdentifiers:oe.setMany,updateAssetTypeIdentifier:oe.updateOne,updateAssetTypeIdentifiers:oe.updateMany,deleteAssetTypeIdentifier:oe.deleteOne,deleteAssetTypeIdentifiers:oe.deleteMany}}),{initializeAssetTypeIdentifiers:Rl,addAssetTypeIdentifier:wl,addAssetTypeIdentifiers:El,setAssetTypeIdentifier:vl,setAssetTypeIdentifiers:Vl,updateAssetTypeIdentifier:Bl,updateAssetTypeIdentifiers:zl,deleteAssetTypeIdentifier:jl,deleteAssetTypeIdentifiers:Dl}=Ws.actions,ql=t=>t.assetTypeIdentifierReducer.instances,Ys=o.createSelector([ql],t=>Object.values(t)),$l=t=>s=>s.assetTypeIdentifierReducer.instances[t],Cl=f(o.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),AP=f(o.createSelector([Ys,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Ul=Ws.reducer,he=F(t=>t.uuid),Ll={instances:{}},Zs=o.createSlice({name:"assetTypeIdentifierValues",initialState:Ll,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Ll)),reducers:{initializeAssetTypeIdentifierValues:he.initialize,addAssetTypeIdentifierValue:he.addOne,addAssetTypeIdentifierValues:he.addMany,setAssetTypeIdentifierValue:he.setOne,setAssetTypeIdentifierValues:he.setMany,updateAssetTypeIdentifierValue:he.updateOne,updateAssetTypeIdentifierValues:he.updateMany,deleteAssetTypeIdentifierValue:he.deleteOne,deleteAssetTypeIdentifierValues:he.deleteMany}}),{initializeAssetTypeIdentifierValues:Nl,addAssetTypeIdentifierValue:Gl,addAssetTypeIdentifierValues:Hl,setAssetTypeIdentifierValue:kl,setAssetTypeIdentifierValues:Kl,updateAssetTypeIdentifierValue:Wl,updateAssetTypeIdentifierValues:Yl,deleteAssetTypeIdentifierValue:Zl,deleteAssetTypeIdentifierValues:Jl}=Zs.actions,Xl=t=>t.assetTypeIdentifierValueReducer.instances,Rt=o.createSelector([Xl],t=>Object.values(t)),Ql=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],xl=f(o.createSelector([Rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),fP=f(o.createSelector([Rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),SP=f(o.createSelector([Rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),eo=Zs.reducer,me=F(t=>t.uuid),to={instances:{}},Js=o.createSlice({name:"assetTypes",initialState:to,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,to)),reducers:{initializeAssetTypes:me.initialize,setAssetType:me.setOne,setAssetTypes:me.setMany,addAssetType:me.addOne,addAssetTypes:me.addMany,updateAssetType:me.updateOne,updateAssetTypes:me.updateMany,deleteAssetType:me.deleteOne,deleteAssetTypes:me.deleteMany}}),{initializeAssetTypes:so,setAssetType:io,setAssetTypes:no,addAssetType:ao,addAssetTypes:co,updateAssetType:ro,updateAssetTypes:uo,deleteAssetType:lo,deleteAssetTypes:oo}=Js.actions,ho=t=>t.assetTypeReducer.instances,Xs=o.createSelector([ho],t=>Object.values(t)),mo=t=>s=>s.assetTypeReducer.instances[t],yo=f(o.createSelector([Xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),TP=f(o.createSelector([Xs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),po=Js.reducer,ye=F(t=>t.uuid),Ao={instances:{}},Qs=o.createSlice({name:"assetTypeStatuses",initialState:Ao,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Ao)),reducers:{initializeAssetTypeStatuses:ye.initialize,addAssetTypeStatus:ye.addOne,addAssetTypeStatuses:ye.addMany,setAssetTypeStatus:ye.setOne,setAssetTypeStatuses:ye.setMany,updateAssetTypeStatus:ye.updateOne,updateAssetTypeStatuses:ye.updateMany,deleteAssetTypeStatus:ye.deleteOne,deleteAssetTypeStatuses:ye.deleteMany}}),{initializeAssetTypeStatuses:fo,addAssetTypeStatus:So,addAssetTypeStatuses:To,setAssetTypeStatus:Io,setAssetTypeStatuses:Oo,updateAssetTypeStatus:Po,updateAssetTypeStatuses:Fo,deleteAssetTypeStatus:go,deleteAssetTypeStatuses:bo}=Qs.actions,Mo=t=>t.assetTypeStatusReducer.instances,xs=o.createSelector([Mo],t=>S(Object.values(t).toSorted(ta))),_o=t=>s=>s.assetTypeStatusReducer.instances[t],Ro=f(o.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),IP=f(o.createSelector([xs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),wo=Qs.reducer,Eo={accessToken:"",refreshToken:"",isLoggedIn:!1},wt=o.createSlice({name:"auth",initialState:Eo,extraReducers:t=>t.addCase(O,s=>Object.assign(s,Eo)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||wt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:OP,clearTokens:PP,setLoggedIn:vo}=wt.actions,FP=t=>t.authReducer.accessToken,gP=t=>t.authReducer.isLoggedIn,Vo=wt.reducer,pe=F(t=>t.uuid),Bo={instances:{}},ei=o.createSlice({name:"documentAttachments",initialState:Bo,extraReducers:t=>t.addCase(O,s=>Object.assign(s,Bo)),reducers:{initializeDocumentAttachments:pe.initialize,addDocumentAttachment:pe.addOne,addDocumentAttachments:pe.addMany,setDocumentAttachment:pe.setOne,setDocumentAttachments:pe.setMany,updateDocumentAttachment:pe.updateOne,updateDocumentAttachments:pe.updateMany,deleteDocumentAttachment:pe.deleteOne,deleteDocumentAttachments:pe.deleteMany}}),{initializeDocumentAttachments:zo,addDocumentAttachment:jo,addDocumentAttachments:Do,setDocumentAttachment:qo,setDocumentAttachments:$o,updateDocumentAttachment:Co,updateDocumentAttachments:Uo,deleteDocumentAttachment:Lo,deleteDocumentAttachments:No}=ei.actions,Go=t=>t.documentAttachmentReducer.instances,ti=o.createSelector([Go],t=>Object.values(t)),Ho=t=>s=>s.documentAttachmentReducer.instances[t],ko=f(o.createSelector([ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),bP=f(o.createSelector([ti,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),Ko=ei.reducer,Ae=F(({uuid:t})=>t),Wo={instances:{}},si=o.createSlice({name:"documents",initialState:Wo,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>{Object.assign(s,Wo)}),reducers:{initializeDocuments:Ae.initialize,addDocument:Ae.addOne,addDocuments:Ae.addMany,setDocument:Ae.setOne,setDocuments:Ae.setMany,updateDocument:Ae.updateOne,updateDocuments:Ae.updateMany,deleteDocument:Ae.deleteOne,deleteDocuments:Ae.deleteMany}}),{initializeDocuments:Yo,addDocument:Zo,addDocuments:Jo,setDocument:Xo,setDocuments:Qo,updateDocument:xo,updateDocuments:eh,deleteDocument:th,deleteDocuments:sh}=si.actions,ih=si.reducer,ii=t=>t.documentsReducer.instances,Et=o.createSelector([ii],t=>Object.values(t)),nh=t=>s=>s.documentsReducer.instances[t],ah=f(o.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),MP=f(o.createSelector([Et,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),_P=f(o.createSelector([Et,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),ch=f(o.createSelector([ii,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=na(s,Object.values(t)).all().map(({model:c})=>c);return S(a)})),fe=F(t=>t.uuid),dh={instances:{}},ni=o.createSlice({name:"emailDomains",initialState:dh,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,dh)),reducers:{initializeEmailDomains:fe.initialize,addEmailDomain:fe.addOne,addEmailDomains:fe.addMany,setEmailDomain:fe.setOne,setEmailDomains:fe.setMany,updateEmailDomain:fe.updateOne,updateEmailDomains:fe.updateMany,deleteEmailDomain:fe.deleteOne,deleteEmailDomains:fe.deleteMany}}),{initializeEmailDomains:rh,addEmailDomain:uh,addEmailDomains:lh,setEmailDomain:oh,setEmailDomains:hh,updateEmailDomain:mh,updateEmailDomains:yh,deleteEmailDomain:ph,deleteEmailDomains:Ah}=ni.actions,fh=t=>t.emailDomainsReducer.instances,ai=o.createSelector([fh],t=>Object.values(t)),Sh=t=>s=>s.emailDomainsReducer.instances[t],Th=f(o.createSelector([ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),RP=f(o.createSelector([ai,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ih=ni.reducer,Oh={s3Urls:{}},Ph=1e3*60*60,wP=Ph*24*7,ci=o.createSlice({name:"file",initialState:Oh,extraReducers:t=>t.addCase(O,s=>Object.assign(s,Oh)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,d=new Date(c.getTime()+wP);t.s3Urls[a]={url:e,fields:n,exp:d.getTime()}}}}),{setUploadUrl:EP}=ci.actions,vP=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<Ph))return e},Fh=ci.reducer,Se=F(t=>t.uuid),gh={instances:{}},di=o.createSlice({name:"formIdentifiers",initialState:gh,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,gh)),reducers:{initializeFormIdentifiers:Se.initialize,addFormIdentifier:Se.addOne,addFormIdentifiers:Se.addMany,setFormIdentifier:Se.setOne,setFormIdentifiers:Se.setMany,updateFormIdentifier:Se.updateOne,updateFormIdentifiers:Se.updateMany,deleteFormIdentifier:Se.deleteOne,deleteFormIdentifiers:Se.deleteMany}}),{initializeFormIdentifiers:bh,addFormIdentifier:Mh,addFormIdentifiers:_h,setFormIdentifier:Rh,setFormIdentifiers:wh,updateFormIdentifier:Eh,updateFormIdentifiers:vh,deleteFormIdentifier:Vh,deleteFormIdentifiers:Bh}=di.actions,zh=t=>t.formIdentifierReducer.instances,ri=o.createSelector([zh],t=>Object.values(t)),jh=t=>s=>s.formIdentifierReducer.instances[t],Dh=f(o.createSelector([ri,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),VP=f(o.createSelector([ri,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),qh=di.reducer,Te=F(t=>t.uuid),$h={instances:{}},ui=o.createSlice({name:"formIdentifierValues",initialState:$h,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,$h)),reducers:{initializeFormIdentifierValues:Te.initialize,addFormIdentifierValue:Te.addOne,addFormIdentifierValues:Te.addMany,setFormIdentifierValue:Te.setOne,setFormIdentifierValues:Te.setMany,updateFormIdentifierValue:Te.updateOne,updateFormIdentifierValues:Te.updateMany,deleteFormIdentifierValue:Te.deleteOne,deleteFormIdentifierValues:Te.deleteMany}}),{initializeFormIdentifierValues:Ch,addFormIdentifierValue:Uh,addFormIdentifierValues:Lh,setFormIdentifierValue:Nh,setFormIdentifierValues:Gh,updateFormIdentifierValue:Hh,updateFormIdentifierValues:kh,deleteFormIdentifierValue:Kh,deleteFormIdentifierValues:Wh}=ui.actions,Yh=t=>t.formIdentifierValueReducer.instances,vt=o.createSelector([Yh],t=>Object.values(t)),Zh=t=>s=>s.formIdentifierValueReducer.instances[t],Jh=f(o.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),BP=f(o.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),zP=f(o.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),Xh=ui.reducer,Ie=F(t=>t.uuid),Qh={instances:{}},li=o.createSlice({name:"formRevisionAttachments",initialState:Qh,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Qh)),reducers:{initializeFormRevisionAttachments:Ie.initialize,addFormRevisionAttachment:Ie.addOne,addFormRevisionAttachments:Ie.addMany,setFormRevisionAttachment:Ie.setOne,setFormRevisionAttachments:Ie.setMany,updateFormRevisionAttachment:Ie.updateOne,updateFormRevisionAttachments:Ie.updateMany,deleteFormRevisionAttachment:Ie.deleteOne,deleteFormRevisionAttachments:Ie.deleteMany}}),{initializeFormRevisionAttachments:xh,addFormRevisionAttachment:em,addFormRevisionAttachments:tm,setFormRevisionAttachment:sm,setFormRevisionAttachments:im,updateFormRevisionAttachment:nm,updateFormRevisionAttachments:am,deleteFormRevisionAttachment:cm,deleteFormRevisionAttachments:dm}=li.actions,Vt=t=>t.formRevisionAttachmentReducer.instances,rm=o.createSelector([Vt],t=>Object.values(t)),um=f(o.createSelector([Vt,(t,s)=>s],(t,s)=>t[s])),lm=f(o.createSelector([rm,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jP=f(o.createSelector([Vt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),om=li.reducer,Oe=F(t=>t.uuid),hm={instances:{}},oi=o.createSlice({name:"formRevisions",initialState:hm,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,hm)),reducers:{initializeFormRevisions:Oe.initialize,addFormRevision:Oe.addOne,addFormRevisions:Oe.addMany,setFormRevision:Oe.setOne,setFormRevisions:Oe.setMany,updateFormRevision:Oe.updateOne,updateFormRevisions:Oe.updateMany,deleteFormRevision:Oe.deleteOne,deleteFormRevisions:Oe.deleteMany}}),{initializeFormRevisions:mm,addFormRevision:hi,addFormRevisions:mi,setFormRevision:ym,setFormRevisions:pm,updateFormRevision:Am,updateFormRevisions:fm,deleteFormRevision:yi,deleteFormRevisions:pi}=oi.actions,Ai=t=>t.formRevisionReducer.instances,Bt=o.createSelector([Ai],t=>Object.values(t)),Sm=t=>s=>s.formRevisionReducer.instances[t],Tm=f(o.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),DP=f(o.createSelector([Bt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Im=f(o.createSelector([Bt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Om=oi.reducer,Pe=F(t=>t.uuid),Pm={instances:{}},fi=o.createSlice({name:"forms",initialState:Pm,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Pm)),reducers:{initializeForms:Pe.initialize,addForm:Pe.addOne,addForms:Pe.addMany,setForm:Pe.setOne,setForms:Pe.setMany,updateForm:Pe.updateOne,updateForms:Pe.updateMany,deleteForm:Pe.deleteOne,deleteForms:Pe.deleteMany}}),{initializeForms:Fm,addForm:gm,addForms:bm,setForm:Mm,setForms:_m,updateForm:Rm,updateForms:wm,deleteForm:Em,deleteForms:vm}=fi.actions,Vm=fi.reducer,Bm=t=>t.formReducer.instances,Si=o.createSelector([Bm],t=>Object.values(t)),zm=t=>s=>s.formReducer.instances[t],jm=f(o.createSelector([Si,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qP=f(o.createSelector([Si,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Fe=F(t=>t.uuid),Dm={instances:{}},Ti=o.createSlice({name:"formSubmissionAttachments",initialState:Dm,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Dm)),reducers:{initializeFormSubmissionAttachments:Fe.initialize,addFormSubmissionAttachment:Fe.addOne,addFormSubmissionAttachments:Fe.addMany,setFormSubmissionAttachment:Fe.setOne,setFormSubmissionAttachments:Fe.setMany,updateFormSubmissionAttachment:Fe.updateOne,updateFormSubmissionAttachments:Fe.updateMany,deleteFormSubmissionAttachment:Fe.deleteOne,deleteFormSubmissionAttachments:Fe.deleteMany}}),{initializeFormSubmissionAttachments:qm,addFormSubmissionAttachment:$m,addFormSubmissionAttachments:Ii,setFormSubmissionAttachment:Cm,setFormSubmissionAttachments:Um,updateFormSubmissionAttachment:Lm,updateFormSubmissionAttachments:Nm,deleteFormSubmissionAttachment:Gm,deleteFormSubmissionAttachments:Oi}=Ti.actions,Pi=t=>t.formSubmissionAttachmentReducer.instances,Fi=o.createSelector([Pi],t=>Object.values(t)),Hm=f(o.createSelector([Pi,(t,s)=>s],(t,s)=>t[s])),gi=f(o.createSelector([Fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),km=gi,Km=f(o.createSelector([Fi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),Wm=Ti.reducer,ge=F(t=>t.uuid),Ym={instances:{}},bi=o.createSlice({name:"formSubmissions",initialState:Ym,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Ym)),reducers:{initializeFormSubmissions:ge.initialize,setFormSubmission:ge.setOne,setFormSubmissions:ge.setMany,addFormSubmission:ge.addOne,addFormSubmissions:ge.addMany,updateFormSubmission:ge.updateOne,updateFormSubmissions:ge.updateMany,deleteFormSubmission:ge.deleteOne,deleteFormSubmissions:ge.deleteMany}}),{initializeFormSubmissions:Zm,setFormSubmission:Jm,setFormSubmissions:Xm,addFormSubmission:Qm,addFormSubmissions:Mi,updateFormSubmission:xm,updateFormSubmissions:ey,deleteFormSubmission:ty,deleteFormSubmissions:_i}=bi.actions,Ri=t=>t.formSubmissionReducer.instances,sy=o.createSelector([Ri],t=>Object.values(t)),iy=t=>s=>s.formSubmissionReducer.instances[t],ny=f(o.createSelector([sy,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ay=f(o.createSelector([Ri,Ai,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),cy=bi.reducer,be=F(t=>t.uuid),dy={instances:{}},wi=o.createSlice({name:"geoImages",initialState:dy,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,dy)),reducers:{initializeGeoImages:be.initialize,setGeoImage:be.setOne,setGeoImages:be.setMany,addGeoImage:be.addOne,addGeoImages:be.addMany,updateGeoImage:be.updateOne,updateGeoImages:be.updateMany,deleteGeoImage:be.deleteOne,deleteGeoImages:be.deleteMany}}),{initializeGeoImages:ry,setGeoImage:uy,setGeoImages:ly,addGeoImage:oy,addGeoImages:hy,updateGeoImage:my,updateGeoImages:yy,deleteGeoImage:py,deleteGeoImages:Ay}=wi.actions,fy=t=>t.geoImageReducer.instances,Ei=o.createSelector([fy],t=>Object.values(t)),Sy=t=>s=>s.geoImageReducer.instances[t],Ty=f(o.createSelector([Ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$P=f(o.createSelector([Ei,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),Iy=wi.reducer,Me=F(t=>t.uuid),Oy={instances:{}},vi=o.createSlice({name:"issueAssociations",initialState:Oy,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Oy)),reducers:{initializeIssueAssociations:Me.initialize,addIssueAssociation:Me.addOne,addIssueAssociations:Me.addMany,setIssueAssociation:Me.setOne,setIssueAssociations:Me.setMany,updateIssueAssociation:Me.updateOne,updateIssueAssociations:Me.updateMany,deleteIssueAssociation:Me.deleteOne,deleteIssueAssociations:Me.deleteMany}}),{initializeIssueAssociations:Py,setIssueAssociations:Fy,setIssueAssociation:gy,updateIssueAssociation:by,updateIssueAssociations:My,addIssueAssociation:_y,addIssueAssociations:et,deleteIssueAssociation:Ry,deleteIssueAssociations:tt}=vi.actions,wy=t=>t.issueAssociationReducer.instances,st=o.createSelector([wy],t=>Object.values(t)),Ey=t=>s=>s.issueAssociationReducer.instances[t],vy=f(o.createSelector([st,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Vy=f(o.createSelector([st,(t,s)=>s],(t,s)=>S(t.filter(({associated_issue:e})=>e===s)))),By=f(o.createSelector([st,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({associated_issue:n})=>e.has(n)))})),zy=f(o.createSelector([st,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>n&&e.has(n)))})),jy=f(o.createSelector([st,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),Dy=f(o.createSelector([st,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),qy=vi.reducer,_e=F(t=>t.uuid),$y={instances:{}},Vi=o.createSlice({name:"issueAttachments",initialState:$y,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,$y)),reducers:{initializeIssueAttachments:_e.initialize,addIssueAttachment:_e.addOne,addIssueAttachments:_e.addMany,setIssueAttachment:_e.setOne,setIssueAttachments:_e.setMany,updateIssueAttachment:_e.updateOne,updateIssueAttachments:_e.updateMany,deleteIssueAttachment:_e.deleteOne,deleteIssueAttachments:_e.deleteMany}}),{initializeIssueAttachments:Cy,addIssueAttachment:Uy,addIssueAttachments:Bi,setIssueAttachment:Ly,setIssueAttachments:Ny,updateIssueAttachment:Gy,updateIssueAttachments:Hy,deleteIssueAttachment:ky,deleteIssueAttachments:zi}=Vi.actions,Ky=t=>t.issueAttachmentReducer.instances,ji=o.createSelector([Ky],t=>Object.values(t)),Wy=f(o.createSelector([ji,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),Yy=t=>s=>s.issueAttachmentReducer.instances[t],Zy=f(o.createSelector([ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Jy=Vi.reducer,Re=F(t=>t.uuid),Xy={instances:{}},Di=o.createSlice({name:"issueCommentAttachments",initialState:Xy,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,Xy)),reducers:{initializeIssueCommentAttachments:Re.initialize,addIssueCommentAttachment:Re.addOne,addIssueCommentAttachments:Re.addMany,setIssueCommentAttachment:Re.setOne,setIssueCommentAttachments:Re.setMany,updateIssueCommentAttachment:Re.updateOne,updateIssueCommentAttachments:Re.updateMany,deleteIssueCommentAttachment:Re.deleteOne,deleteIssueCommentAttachments:Re.deleteMany}}),{initializeIssueCommentAttachments:Qy,addIssueCommentAttachment:xy,addIssueCommentAttachments:ep,setIssueCommentAttachment:tp,setIssueCommentAttachments:sp,updateIssueCommentAttachment:ip,updateIssueCommentAttachments:np,deleteIssueCommentAttachment:ap,deleteIssueCommentAttachments:cp}=Di.actions,dp=t=>t.issueCommentAttachmentReducer.instances,qi=o.createSelector([dp],t=>Object.values(t)),rp=t=>s=>s.issueCommentAttachmentReducer.instances[t],up=f(o.createSelector([qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),CP=f(o.createSelector([qi,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),lp=Di.reducer,we=F(t=>t.uuid),op={instances:{}},$i=o.createSlice({name:"issueComments",initialState:op,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,op)),reducers:{initializeIssueComments:we.initialize,addIssueComment:we.addOne,addIssueComments:we.addMany,setIssueComment:we.setOne,setIssueComments:we.setMany,updateIssueComment:we.updateOne,updateIssueComments:we.updateMany,deleteIssueComment:we.deleteOne,deleteIssueComments:we.deleteMany}}),{initializeIssueComments:hp,addIssueComment:mp,addIssueComments:yp,setIssueComment:pp,setIssueComments:Ap,updateIssueComment:fp,updateIssueComments:Sp,deleteIssueComment:Tp,deleteIssueComments:Ip}=$i.actions,Ci=t=>t.issueCommentReducer.instances,Op=t=>s=>s.issueCommentReducer.instances[t],Pp=f(o.createSelector([Ci,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),UP=f(o.createSelector([Ci,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),Fp=$i.reducer,Ee=F(t=>t.uuid),gp={instances:{}},Ui=o.createSlice({name:"issues",initialState:gp,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,gp)),reducers:{initializeIssues:Ee.initialize,addIssue:Ee.addOne,addIssues:Ee.addMany,setIssue:Ee.setOne,setIssues:Ee.setMany,updateIssue:Ee.updateOne,updateIssues:Ee.updateMany,deleteIssue:Ee.deleteOne,deleteIssues:Ee.deleteMany}}),{initializeIssues:bp,addIssue:Mp,addIssues:Li,setIssue:_p,setIssues:Rp,updateIssue:wp,updateIssues:Ep,deleteIssue:vp,deleteIssues:Ni}=Ui.actions,Vp=t=>t.issueReducer.instances,zt=o.createSelector([Vp],t=>Object.values(t)),Bp=t=>s=>s.issueReducer.instances[t],zp=f(o.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),LP=f(o.createSelector([zt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),jp=f(o.createSelector([zt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Dp=Ui.reducer,ve=F(t=>t.uuid),qp={instances:{}},Gi=o.createSlice({name:"issueTypeAttachments",initialState:qp,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,qp)),reducers:{initializeIssueTypeAttachments:ve.initialize,addIssueTypeAttachment:ve.addOne,addIssueTypeAttachments:ve.addMany,setIssueTypeAttachment:ve.setOne,setIssueTypeAttachments:ve.setMany,updateIssueTypeAttachment:ve.updateOne,updateIssueTypeAttachments:ve.updateMany,deleteIssueTypeAttachment:ve.deleteOne,deleteIssueTypeAttachments:ve.deleteMany}}),{initializeIssueTypeAttachments:$p,addIssueTypeAttachment:Cp,addIssueTypeAttachments:Up,setIssueTypeAttachment:Lp,setIssueTypeAttachments:Np,updateIssueTypeAttachment:Gp,updateIssueTypeAttachments:Hp,deleteIssueTypeAttachment:kp,deleteIssueTypeAttachments:Kp}=Gi.actions,Wp=t=>t.issueTypeAttachmentReducer.instances,Hi=o.createSelector([Wp],t=>Object.values(t)),Yp=t=>s=>s.issueTypeAttachmentReducer.instances[t],Zp=f(o.createSelector([Hi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),NP=f(o.createSelector([Hi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),Jp=Gi.reducer,Ve=F(t=>t.uuid),Xp={instances:{}},ki=o.createSlice({name:"issueTypeFieldsAttachments",initialState:Xp,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Xp)),reducers:{initializeIssueTypeFieldsAttachments:Ve.initialize,addIssueTypeFieldsAttachment:Ve.addOne,addIssueTypeFieldsAttachments:Ve.addMany,setIssueTypeFieldsAttachment:Ve.setOne,setIssueTypeFieldsAttachments:Ve.setMany,updateIssueTypeFieldsAttachment:Ve.updateOne,updateIssueTypeFieldsAttachments:Ve.updateMany,deleteIssueTypeFieldsAttachment:Ve.deleteOne,deleteIssueTypeFieldsAttachments:Ve.deleteMany}}),{initializeIssueTypeFieldsAttachments:Qp,addIssueTypeFieldsAttachment:xp,addIssueTypeFieldsAttachments:eA,setIssueTypeFieldsAttachment:tA,setIssueTypeFieldsAttachments:sA,updateIssueTypeFieldsAttachment:iA,updateIssueTypeFieldsAttachments:nA,deleteIssueTypeFieldsAttachment:aA,deleteIssueTypeFieldsAttachments:cA}=ki.actions,dA=t=>t.issueTypeFieldsAttachmentReducer.instances,Ki=o.createSelector([dA],t=>Object.values(t)),GP=f(o.createSelector([Ki,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),rA=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],uA=f(o.createSelector([Ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),lA=ki.reducer,Be=F(t=>t.uuid),oA={instances:{}},Wi=o.createSlice({name:"issueTypeFieldValues",initialState:oA,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,oA)),reducers:{initializeIssueTypeFieldValues:Be.initialize,addIssueTypeFieldValues:Be.addOne,addIssueTypeFieldValuesMany:Be.addMany,setIssueTypeFieldValues:Be.setOne,setIssueTypeFieldValuesMany:Be.setMany,updateIssueTypeFieldValues:Be.updateOne,updateIssueTypeFieldValuesMany:Be.updateMany,deleteIssueTypeFieldValues:Be.deleteOne,deleteIssueTypeFieldValuesMany:Be.deleteMany}}),{initializeIssueTypeFieldValues:hA,addIssueTypeFieldValues:mA,addIssueTypeFieldValuesMany:yA,setIssueTypeFieldValues:pA,setIssueTypeFieldValuesMany:AA,updateIssueTypeFieldValues:fA,updateIssueTypeFieldValuesMany:SA,deleteIssueTypeFieldValues:TA,deleteIssueTypeFieldValuesMany:IA}=Wi.actions,OA=t=>t.issueTypeFieldValuesReducer.instances,jt=o.createSelector([OA],t=>Object.values(t)),HP=f(o.createSelector([jt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),PA=t=>s=>s.issueTypeFieldValuesReducer.instances[t],FA=f(o.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gA=Wi.reducer,ze=F(t=>t.uuid),bA={instances:{}},Yi=o.createSlice({name:"issueTypeFields",initialState:bA,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,bA)),reducers:{initializeIssueTypeFields:ze.initialize,addIssueTypeFields:ze.addOne,addIssueTypeFieldsMany:ze.addMany,setIssueTypeFields:ze.setOne,setIssueTypeFieldsMany:ze.setMany,updateIssueTypeFields:ze.updateOne,updateIssueTypeFieldsMany:ze.updateMany,deleteIssueTypeFields:ze.deleteOne,deleteIssueTypeFieldsMany:ze.deleteMany}}),{initializeIssueTypeFields:MA,addIssueTypeFields:_A,addIssueTypeFieldsMany:RA,setIssueTypeFields:wA,setIssueTypeFieldsMany:EA,updateIssueTypeFields:vA,updateIssueTypeFieldsMany:VA,deleteIssueTypeFields:BA,deleteIssueTypeFieldsMany:zA}=Yi.actions,jA=t=>t.issueTypeFieldsReducer.instances,yt=o.createSelector([jA],t=>Object.values(t)),kP=f(o.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),KP=f(o.createSelector([yt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),WP=f(o.createSelector([yt,jt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),DA=t=>s=>s.issueTypeFieldsReducer.instances[t],qA=f(o.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$A=Yi.reducer,je=F(t=>t.uuid),CA={instances:{}},Zi=o.createSlice({name:"issueTypeFieldValuesAttachments",initialState:CA,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,CA)),reducers:{initializeIssueTypeFieldValuesAttachments:je.initialize,addIssueTypeFieldValuesAttachment:je.addOne,addIssueTypeFieldValuesAttachments:je.addMany,setIssueTypeFieldValuesAttachment:je.setOne,setIssueTypeFieldValuesAttachments:je.setMany,updateIssueTypeFieldValuesAttachment:je.updateOne,updateIssueTypeFieldValuesAttachments:je.updateMany,deleteIssueTypeFieldValuesAttachment:je.deleteOne,deleteIssueTypeFieldValuesAttachments:je.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:UA,addIssueTypeFieldValuesAttachment:LA,addIssueTypeFieldValuesAttachments:Ji,setIssueTypeFieldValuesAttachment:NA,setIssueTypeFieldValuesAttachments:GA,updateIssueTypeFieldValuesAttachment:HA,updateIssueTypeFieldValuesAttachments:kA,deleteIssueTypeFieldValuesAttachment:KA,deleteIssueTypeFieldValuesAttachments:Xi}=Zi.actions,WA=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Qi=o.createSelector([WA],t=>Object.values(t)),YA=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],ZA=f(o.createSelector([Qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),JA=f(o.createSelector([Qi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),XA=Zi.reducer,De=F(t=>t.uuid),QA={instances:{}},xi=o.createSlice({name:"issueTypeIdentifiers",initialState:QA,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,QA)),reducers:{initializeIssueTypeIdentifiers:De.initialize,addIssueTypeIdentifier:De.addOne,addIssueTypeIdentifiers:De.addMany,setIssueTypeIdentifier:De.setOne,setIssueTypeIdentifiers:De.setMany,updateIssueTypeIdentifier:De.updateOne,updateIssueTypeIdentifiers:De.updateMany,deleteIssueTypeIdentifier:De.deleteOne,deleteIssueTypeIdentifiers:De.deleteMany}}),{initializeIssueTypeIdentifiers:xA,addIssueTypeIdentifier:ef,addIssueTypeIdentifiers:tf,setIssueTypeIdentifier:sf,setIssueTypeIdentifiers:nf,updateIssueTypeIdentifier:af,updateIssueTypeIdentifiers:cf,deleteIssueTypeIdentifier:df,deleteIssueTypeIdentifiers:rf}=xi.actions,uf=t=>t.issueTypeIdentifierReducer.instances,en=o.createSelector([uf],t=>Object.values(t)),lf=t=>s=>s.issueTypeIdentifierReducer.instances[t],of=f(o.createSelector([en,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),YP=f(o.createSelector([en,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),hf=xi.reducer,qe=F(t=>t.uuid),mf={instances:{}},tn=o.createSlice({name:"issueTypeIdentifierValues",initialState:mf,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,mf)),reducers:{initializeIssueTypeIdentifierValues:qe.initialize,addIssueTypeIdentifierValue:qe.addOne,addIssueTypeIdentifierValues:qe.addMany,setIssueTypeIdentifierValue:qe.setOne,setIssueTypeIdentifierValues:qe.setMany,updateIssueTypeIdentifierValue:qe.updateOne,updateIssueTypeIdentifierValues:qe.updateMany,deleteIssueTypeIdentifierValue:qe.deleteOne,deleteIssueTypeIdentifierValues:qe.deleteMany}}),{initializeIssueTypeIdentifierValues:yf,addIssueTypeIdentifierValue:pf,addIssueTypeIdentifierValues:Af,setIssueTypeIdentifierValue:ff,setIssueTypeIdentifierValues:Sf,updateIssueTypeIdentifierValue:Tf,updateIssueTypeIdentifierValues:If,deleteIssueTypeIdentifierValue:Of,deleteIssueTypeIdentifierValues:Pf}=tn.actions,Ff=t=>t.issueTypeIdentifierValueReducer.instances,Dt=o.createSelector([Ff],t=>Object.values(t)),gf=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],bf=f(o.createSelector([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ZP=f(o.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),JP=f(o.createSelector([Dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),Mf=tn.reducer,$e=F(t=>t.uuid),_f={instances:{}},sn=o.createSlice({name:"issueTypes",initialState:_f,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,_f)),reducers:{initializeIssueTypes:$e.initialize,addIssueType:$e.addOne,addIssueTypes:$e.addMany,setIssueType:$e.setOne,setIssueTypes:$e.setMany,updateIssueType:$e.updateOne,updateIssueTypes:$e.updateMany,deleteIssueType:$e.deleteOne,deleteIssueTypes:$e.deleteMany}}),{initializeIssueTypes:Rf,addIssueType:wf,addIssueTypes:Ef,setIssueType:vf,setIssueTypes:Vf,updateIssueType:Bf,updateIssueTypes:zf,deleteIssueType:jf,deleteIssueTypes:Df}=sn.actions,qf=t=>t.issueTypeReducer.instances,nn=o.createSelector(qf,t=>Object.values(t)),$f=t=>s=>s.issueTypeReducer.instances[t],Cf=f(o.createSelector([nn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),XP=f(o.createSelector([nn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Uf=sn.reducer,Ce=F(t=>t.uuid),Lf={instances:{}},an=o.createSlice({name:"issueTypeStatuses",initialState:Lf,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,Lf)),reducers:{initializeIssueTypeStatuses:Ce.initialize,addIssueTypeStatus:Ce.addOne,addIssueTypeStatuses:Ce.addMany,setIssueTypeStatus:Ce.setOne,setIssueTypeStatuses:Ce.setMany,updateIssueTypeStatus:Ce.updateOne,updateIssueTypeStatuses:Ce.updateMany,deleteIssueTypeStatus:Ce.deleteOne,deleteIssueTypeStatuses:Ce.deleteMany}}),{initializeIssueTypeStatuses:Nf,addIssueTypeStatus:Gf,addIssueTypeStatuses:Hf,setIssueTypeStatus:kf,setIssueTypeStatuses:Kf,updateIssueTypeStatus:Wf,updateIssueTypeStatuses:Yf,deleteIssueTypeStatus:Zf,deleteIssueTypeStatuses:Jf}=an.actions,Xf=t=>t.issueTypeStatusReducer.instances,cn=o.createSelector([Xf],t=>S(Object.values(t).toSorted(sa))),dn=t=>s=>s.issueTypeStatusReducer.instances[t],Qf=f(o.createSelector([cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),QP=f(o.createSelector([cn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),xf=an.reducer,Ue=F(t=>t.uuid),eS={instances:{}},rn=o.createSlice({name:"issueUpdates",initialState:eS,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,eS)),reducers:{initializeIssueUpdates:Ue.initialize,addIssueUpdate:Ue.addOne,addIssueUpdates:Ue.addMany,setIssueUpdate:Ue.setOne,setIssueUpdates:Ue.setMany,updateIssueUpdate:Ue.updateOne,updateIssueUpdates:Ue.updateMany,deleteIssueUpdate:Ue.deleteOne,deleteIssueUpdates:Ue.deleteMany}}),{initializeIssueUpdates:tS,addIssueUpdate:un,addIssueUpdates:ln,setIssueUpdate:sS,setIssueUpdates:iS,updateIssueUpdate:nS,updateIssueUpdates:aS,deleteIssueUpdate:on,deleteIssueUpdates:hn}=rn.actions,mn=t=>t.issueUpdateReducer.instances,yn=o.createSelector([mn],t=>Object.values(t)),cS=f(o.createSelector([mn,(t,s)=>s],(t,s)=>t[s])),dS=f(o.createSelector([yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rS=f(o.createSelector([yn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),uS=rn.reducer,Le=F(t=>t.id),lS={instances:{},currentUser:null},pn=o.createSlice({name:"users",initialState:lS,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,lS)),reducers:{initializeUsers:Le.initialize,setUsers:Le.setMany,setUser:Le.setOne,addUsers:Le.addMany,addUser:Le.addOne,updateUsers:Le.updateMany,updateUser:Le.updateOne,deleteUser:Le.deleteOne,deleteUsers:Le.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setProfilePicture:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile.file_url=s.payload.file_url??null,t.currentUser.profile.file_sha1=s.payload.file_sha1??null,t.currentUser.profile.file_extension=s.payload.file_extension??null;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile.file_url=s.payload.file_url??null,e.profile.file_sha1=s.payload.file_sha1??null,t.currentUser.profile.file_extension=s.payload.file_extension??null}}}),{initializeUsers:oS,setUsers:hS,setUser:mS,addUsers:yS,addUser:An,updateUsers:pS,updateUser:AS,deleteUser:fn,deleteUsers:fS,setCurrentUser:xP,setProfilePicture:eF}=pn.actions,SS=pn.reducer,TS=t=>t.userReducer.currentUser,Sn=t=>t.userReducer.instances,qt=o.createSelector([Sn],t=>Object.values(t)),$t=t=>s=>s.userReducer.instances[t],IS=f(o.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),Ne=F(t=>t.uuid),OS={instances:{}},Tn=o.createSlice({name:"organizationAccess",initialState:OS,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,OS)),reducers:{initializeOrganizationAccesses:Ne.initialize,addOrganizationAccess:Ne.addOne,addOrganizationAccesses:Ne.addMany,setOrganizationAccess:Ne.setOne,setOrganizationAccesses:Ne.setMany,updateOrganizationAccess:Ne.updateOne,updateOrganizationAccesses:Ne.updateMany,deleteOrganizationAccess:Ne.deleteOne,deleteOrganizationAccesses:Ne.deleteMany}}),{initializeOrganizationAccesses:PS,addOrganizationAccess:FS,addOrganizationAccesses:gS,setOrganizationAccess:bS,setOrganizationAccesses:MS,updateOrganizationAccess:_S,updateOrganizationAccesses:RS,deleteOrganizationAccess:wS,deleteOrganizationAccesses:ES}=Tn.actions,vS=Tn.reducer,Ct=t=>t.organizationAccessReducer.instances,VS=t=>s=>s.organizationAccessReducer.instances[t],BS=f(o.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),tF=o.createSelector([TS,Ct],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),zS=o.createSelector([Ct],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return St(s)}),sF=f(o.createSelector([Sn,zS,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),Ge=F(t=>t.uuid),jS={instances:{}},In=o.createSlice({name:"organizations",initialState:jS,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,jS)),reducers:{initializeOrganizations:Ge.initialize,setOrganizations:Ge.setMany,setOrganization:Ge.setOne,addOrganizations:Ge.addMany,addOrganization:Ge.addOne,updateOrganizations:Ge.updateMany,updateOrganization:Ge.updateOne,deleteOrganization:Ge.deleteOne,deleteOrganizations:Ge.deleteMany}}),{initializeOrganizations:DS,setOrganizations:qS,setOrganization:$S,addOrganizations:CS,addOrganization:US,updateOrganizations:LS,updateOrganization:NS,deleteOrganization:GS,deleteOrganizations:HS}=In.actions,kS=t=>t.organizationReducer.instances,KS=o.createSelector([kS],t=>Object.values(t)),WS=t=>s=>s.organizationReducer.instances[t],YS=f(o.createSelector([KS,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ZS=In.reducer,JS=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:Xe.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},XS={deletedRequests:[],latestRetryTime:0},On=o.createSlice({name:"outbox",initialState:XS,extraReducers:t=>t.addCase(O,s=>Object.assign(s,XS)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:s,serviceName:e,...n}=t;return JS(n,s,e)}},markForDeletion(t,s){t.deletedRequests.push(s.payload)},markAsDeleted(t,s){const e=t.deletedRequests.indexOf(s.payload);e!==-1&&t.deletedRequests.splice(e,1)},_setLatestRetryTime:(t,s)=>{t.latestRetryTime=s.payload}}}),iF=t=>t.outboxReducer.deletedRequests,nF=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:QS,markForDeletion:aF,markAsDeleted:xS,_setLatestRetryTime:eT}=On.actions,tT=On.reducer,He=F(t=>t.uuid),sT={instances:{}},Pn=o.createSlice({name:"projectAccess",initialState:sT,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,sT)),reducers:{initializeProjectAccesses:He.initialize,addProjectAccess:He.addOne,addProjectAccesses:He.addMany,setProjectAccess:He.setOne,setProjectAccesses:He.setMany,updateProjectAccess:He.updateOne,updateProjectAccesses:He.updateMany,deleteProjectAccess:He.deleteOne,deleteProjectAccesses:He.deleteMany}}),{initializeProjectAccesses:iT,addProjectAccess:nT,addProjectAccesses:aT,setProjectAccess:cT,setProjectAccesses:dT,updateProjectAccess:rT,updateProjectAccesses:uT,deleteProjectAccess:lT,deleteProjectAccesses:oT}=Pn.actions,hT=Pn.reducer,Fn=t=>t.projectAccessReducer.instances,pt=o.createSelector(Fn,t=>Object.values(t)),mT=t=>s=>s.projectAccessReducer.instances[t],yT=f(o.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cF=f(o.createSelector([Fn,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),dF=f(o.createSelector([pt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),rF=f(o.createSelector([qt,pt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),ke=F(t=>t.uuid),pT={instances:{}},gn=o.createSlice({name:"projectAttachments",initialState:pT,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,pT)),reducers:{initializeProjectAttachments:ke.initialize,addProjectAttachment:ke.addOne,addProjectAttachments:ke.addMany,setProjectAttachment:ke.setOne,setProjectAttachments:ke.setMany,updateProjectAttachment:ke.updateOne,updateProjectAttachments:ke.updateMany,deleteProjectAttachment:ke.deleteOne,deleteProjectAttachments:ke.deleteMany}}),{initializeProjectAttachments:AT,addProjectAttachment:fT,addProjectAttachments:ST,setProjectAttachment:TT,setProjectAttachments:IT,updateProjectAttachment:OT,updateProjectAttachments:PT,deleteProjectAttachment:FT,deleteProjectAttachments:gT}=gn.actions,bT=t=>t.projectAttachmentReducer.instances,bn=o.createSelector([bT],t=>Object.values(t)),MT=t=>s=>s.projectAttachmentReducer.instances[t],_T=f(o.createSelector([bn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),uF=f(o.createSelector([bn,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),RT=gn.reducer,Ke=F(t=>t.uuid),wT={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},Mn=o.createSlice({name:"projectFiles",initialState:wT,extraReducers:t=>t.addMatcher(o.isAnyOf(O,j,g),s=>Object.assign(s,wT)),reducers:{initializeProjectFiles:Ke.initialize,setProjectFile:Ke.setOne,setProjectFiles:Ke.setMany,addProjectFile:Ke.addOne,addProjectFiles:Ke.addMany,updateProjectFile:Ke.updateOne,updateProjectFiles:Ke.updateMany,deleteProjectFile:Ke.deleteOne,deleteProjectFiles:Ke.deleteMany,setIsImportingProjectFile:(t,s)=>{t.isImportingProjectFile=s.payload},saveActiveProjectFileBounds:(t,s)=>{const e=t.activeProjectFileId;if(!e)throw new Error("Tried to save bounds for active project file, but no active project file was set.");if(!t.instances[e])throw new Error(`Tried to save bounds for active project file, but project file with ID ${e}
2
+ doesn't exist.`);t.instances[e].bounds=s.payload},setActiveProjectFileId:(t,s)=>{t.activeProjectFileId=s.payload}}}),{initializeProjectFiles:ET,setProjectFile:vT,setProjectFiles:VT,addProjectFile:BT,addProjectFiles:zT,updateProjectFile:jT,updateProjectFiles:DT,deleteProjectFile:qT,deleteProjectFiles:$T,setIsImportingProjectFile:lF,setActiveProjectFileId:oF,saveActiveProjectFileBounds:hF}=Mn.actions,CT=t=>t.projectFileReducer.instances,UT=o.createSelector([CT],t=>S(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),LT=t=>s=>s.projectFileReducer.instances[t],NT=f(o.createSelector([UT,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),mF=t=>t.projectFileReducer.activeProjectFileId,yF=t=>t.projectFileReducer.isImportingProjectFile,GT=Mn.reducer,We=F(t=>t.uuid),HT={instances:{}},_n=o.createSlice({name:"projects",initialState:HT,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,HT)),reducers:{initializeProjects:We.initialize,setProjects:We.setMany,setProject:We.setOne,addProjects:We.addMany,addProject:We.addOne,updateProjects:We.updateMany,updateProject:We.updateOne,deleteProject:We.deleteOne,deleteProjects:We.deleteMany}}),{initializeProjects:kT,setProjects:KT,setProject:WT,addProjects:YT,addProject:ZT,updateProjects:JT,updateProject:XT,deleteProject:QT,deleteProjects:xT}=_n.actions,eI=_n.reducer,tI=t=>t.projectReducer.instances,Ut=o.createSelector([tI],t=>Object.values(t)),sI=t=>s=>s.projectReducer.instances[t],iI=f(o.createSelector([Ut,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),pF=f(o.createSelector([Ut,pt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return S(t.filter(a=>n.has(a.uuid)))})),AF=f(o.createSelector([Ut,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),fF={isRehydrated:!1},Rn=o.createSlice({name:"rehydrated",initialState:fF,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:SF}=Rn.actions,TF=t=>t.rehydratedReducer.isRehydrated,nI=Rn.reducer,Ye=F(t=>t.uuid),aI={instances:{}},wn=o.createSlice({name:"teamMemberships",initialState:aI,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,aI)),reducers:{initializeTeamMemberships:Ye.initialize,addTeamMembership:Ye.addOne,addTeamMemberships:Ye.addMany,setTeamMembership:Ye.setOne,setTeamMemberships:Ye.setMany,updateTeamMembership:Ye.updateOne,updateTeamMemberships:Ye.updateMany,deleteTeamMembership:Ye.deleteOne,deleteTeamMemberships:Ye.deleteMany}}),{initializeTeamMemberships:cI,addTeamMembership:dI,addTeamMemberships:rI,setTeamMembership:uI,setTeamMemberships:lI,updateTeamMembership:oI,updateTeamMemberships:hI,deleteTeamMembership:mI,deleteTeamMemberships:yI}=wn.actions,pI=wn.reducer,AI=t=>t.teamMembershipReducer.instances,Lt=o.createSelector([AI],t=>Object.values(t)),fI=t=>s=>s.teamMembershipReducer.instances[t],SI=f(o.createSelector([Lt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),IF=f(o.createSelector([Lt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),OF=f(o.createSelector([qt,Lt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),Ze=F(t=>t.uuid),TI={instances:{}},En=o.createSlice({name:"teams",initialState:TI,extraReducers:t=>t.addMatcher(o.isAnyOf(O,g),s=>Object.assign(s,TI)),reducers:{initializeTeams:Ze.initialize,addTeam:Ze.addOne,addTeams:Ze.addMany,setTeam:Ze.setOne,setTeams:Ze.setMany,updateTeam:Ze.updateOne,updateTeams:Ze.updateMany,deleteTeam:Ze.deleteOne,deleteTeams:Ze.deleteMany}}),{initializeTeams:II,addTeam:OI,addTeams:PI,setTeam:FI,setTeams:gI,updateTeam:bI,updateTeams:MI,deleteTeam:_I,deleteTeams:RI}=En.actions,wI=t=>t.teamReducer.instances,vn=o.createSelector([wI],t=>Object.values(t)),EI=t=>s=>s.teamReducer.instances[t],vI=f(o.createSelector([vn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),PF=f(o.createSelector([vn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),VI=En.reducer,FF={version:0},BI=o.createSlice({name:"versioning",initialState:FF,reducers:{}}),zI=BI.reducer,Vn={outboxReducer:tT,fileReducer:Fh,authReducer:Vo},gF=o.combineReducers(Vn),jI={...Vn,[ot]:zI,assetReducer:$r,assetAttachmentReducer:Fa,assetStageCompletionReducer:Zr,assetStageReducer:lu,assetTypeReducer:po,assetTypeAttachmentReducer:bu,issueReducer:Dp,issueAttachmentReducer:Jy,issueTypeReducer:Uf,issueTypeAttachmentReducer:Jp,organizationReducer:ZS,projectReducer:eI,projectAttachmentReducer:RT,projectAccessReducer:hT,organizationAccessReducer:vS,projectFileReducer:GT,rehydratedReducer:nI,formReducer:Vm,formRevisionReducer:Om,formRevisionAttachmentReducer:om,formSubmissionAttachmentReducer:Wm,formSubmissionReducer:cy,formIdentifierReducer:qh,formIdentifierValueReducer:Xh,userReducer:SS,emailDomainsReducer:Ih,documentsReducer:ih,documentAttachmentReducer:Ko,teamReducer:VI,agentsReducer:la,issueCommentReducer:Fp,issueCommentAttachmentReducer:lp,issueUpdateReducer:uS,geoImageReducer:Iy,issueAssociationReducer:qy,issueTypeFieldsReducer:$A,issueTypeFieldValuesReducer:gA,issueTypeFieldsAttachmentReducer:lA,issueTypeFieldValuesAttachmentReducer:XA,issueTypeIdentifierReducer:hf,issueTypeIdentifierValueReducer:Mf,issueTypeStatusReducer:xf,assetTypeFieldsReducer:xu,assetTypeFieldValuesReducer:Ml,assetTypeFieldsAttachmentReducer:Cu,assetTypeFieldValuesAttachmentReducer:hl,assetTypeIdentifierReducer:Ul,assetTypeIdentifierValueReducer:eo,assetTypeStatusReducer:wo,assetProcedureTypeReducer:rd,assetProcedureReducer:Wc,assetProcedureTypeFieldsReducer:rc,assetProcedureTypeFieldValuesReducer:jc,assetProcedureTypeFieldsAttachmentReducer:Ya,assetProcedureTypeFieldValuesAttachmentReducer:Ic,assetProcedureTypeAttachmentReducer:za,assetProcedureStepFieldsAttachmentReducer:bd,assetProcedureStepFieldsReducer:$d,assetProcedureStepFieldValuesAttachmentReducer:Xd,assetProcedureStepFieldValuesReducer:or,assetProcedureStepReducer:Pr,teamMembershipReducer:pI},bF=o.combineReducers(jI),DI=1e4,qI=200,Bn=[400,409,403,404,405,500],Qe=1e4,$I={};class CI{constructor(s){y(this,"client");y(this,"pageSize",DI);$I[this.constructor.name]=this,this.client=s}async performRequest(s,e){return this.client.performRequest(this.host,s,this,e)}async enqueueRequest(s){return this.client.enqueueRequest(s,this.host,this.constructor.name)}async performPagination(s,e){return this.client.performPagination(this.host,s,this.pageSize,this,e)}dispatch(s){this.client.store.dispatch(s)}}const UI=()=>GI.length-1,LI=t=>(t[ot]={version:UI()},t),NI=()=>LI({}),MF=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),_F=t=>s=>{var e;return s===void 0&&(s={}),((e=s[ot])==null?void 0:e.version)===UI()?s:t(s)},GI=[LI,NI,NI,MF],RF=Object.fromEntries(GI.map((t,s)=>[s,_F(t)])),wF=t=>{if(t)throw t;const s=lt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},HI=(t,s,e)=>{const n=at();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},kI=(t,s,e)=>{const n=at();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const c=s.meta.offlineAction.payload.uuid;return n.remove(c),n.getQueue()};async function EF(t,s){if(!s.payload)throw new Error("Received empty payload");return nO(s)}const vF={...Cn,effect:EF,discard:WI,returnPromises:!0,persistCallback:wF,retry:jF,persistOptions:{storage:oO},queue:{...Cn.queue,enqueue:HI,dequeue:kI,peek:(...t)=>zF(...t)}},VF=hO(RF,ot),BF=o.compose(lO.offline(vF),VF);async function KI(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=$I[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return jn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function WI(t,s,e=0){var u;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
3
3
  Url:`,s.payload.url,`
4
- Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=ot(),c=n.getState().outboxReducer.deletedRequests,r=s.payload.uuid;function l(){n.dispatch(iT(r));const h=at();if(!h)throw new Error("Outbox coordinator not set");h.remove(s.payload.uuid);const p=s.meta.offline.rollback;throw p&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(p)),t}if(t instanceof C&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),l()),c.includes(r)&&(console.debug("Discarding request due to deletion:",s.payload.url),l()),t instanceof C){const h=t.status||((d=t.response)==null?void 0:d.status);if(h||console.warn("Error has no status code:",t),h!==void 0&&zn.includes(h)){console.warn("Discarding request due to error:",t,`
5
- Action:`,s);const p=at();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid),t.options.discard=!0,l()}}console.debug("Registering a retry for request:",s.payload.uuid);const u=at();if(!u)throw new Error("Outbox coordinator not set");return u.registerRetry(s.payload.uuid),!1}function $F(t,s,e){var n;return(n=at())==null?void 0:n.peek()}function CF(t,s){return ot().dispatch(nT(new Date().getTime())),Yn}const rt="An unknown error occurred",LF=500,tO=["non_field_errors","detail"];function kF(t,s){let e;if(t!=null&&t.body)if(typeof t.body=="object"){const n=t.body;if(typeof n.error=="string")e=n.error;else if(typeof n.message=="string")e=n.message;else try{e=Object.entries(n).map(([a,c])=>typeof c=="string"?tO.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?tO.includes(a)?c.join(`
6
- `):c.map(r=>`${a}: ${r}`).join(`
4
+ Retries:`,e),!(t instanceof Error))throw console.error("ENCOUNTERED NON-ERROR ERROR:",t,"(throwing immediately, which may lead to unexpected behavior)"),t;const n=lt(),c=n.getState().outboxReducer.deletedRequests,d=s.payload.uuid;function l(){n.dispatch(xS(d));const h=at();if(!h)throw new Error("Outbox coordinator not set");h.remove(s.payload.uuid);const p=s.meta.offline.rollback;throw p&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(p)),t}if(t instanceof C&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),l()),c.includes(d)&&(console.debug("Discarding request due to deletion:",s.payload.url),l()),t instanceof C){const h=t.status||((u=t.response)==null?void 0:u.status);if(h||console.warn("Error has no status code:",t),h!==void 0&&Bn.includes(h)){console.warn("Discarding request due to error:",t,`
5
+ Action:`,s);const p=at();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid),t.options.discard=!0,l()}}console.debug("Registering a retry for request:",s.payload.uuid);const r=at();if(!r)throw new Error("Outbox coordinator not set");return r.registerRetry(s.payload.uuid),!1}function zF(t,s,e){var n;return(n=at())==null?void 0:n.peek()}function jF(t,s){return lt().dispatch(eT(new Date().getTime())),Kn}const dt="An unknown error occurred",DF=500,YI=["non_field_errors","detail"];function qF(t,s){let e;if(t!=null&&t.body)if(typeof t.body=="object"){const n=t.body;if(typeof n.error=="string")e=n.error;else if(typeof n.message=="string")e=n.message;else try{e=Object.entries(n).map(([a,c])=>typeof c=="string"?YI.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?YI.includes(a)?c.join(`
6
+ `):c.map(d=>`${a}: ${d}`).join(`
7
7
  `):`${a}: ${JSON.stringify(c)}`).join(`
8
- `)}catch(a){console.error("Failed to extract error message from response body",a)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>LF?rt:e}class C extends Error{constructor(e){super(rt);y(this,"status");y(this,"response");y(this,"message");y(this,"options");const{response:n,innerError:a}=e;this.message=e.message??kF(n,a)??rt,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function sO(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(a=>a in e)}if(s(t))return t;if(typeof t=="object"&&t!==null){const e=t;if(s(e.response))return e.response;if(e.response&&s(e.response.response))return e.response.response}}class NF extends WI{constructor(s){super(s)}}class nt extends WI{constructor(e,n){super(e);y(this,"auth");this.auth=n}}class GF extends nt{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(ua(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(oa(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:m.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(la(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:m.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:m.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(ra(n)),n}}function O(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case m.GET:return`Get ${n}`;case m.POST:return`Create ${n}`;case m.PATCH:return`Update ${n}`;case m.PUT:return`Update ${n}`;case m.DELETE:return`Delete ${n}`}}class E extends nt{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class Xe extends E{constructor(){super(...arguments);y(this,"pageSize",GI)}async _bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),d=[],h=[],p={};for(const I of e){const{modelUuid:g,file:P}=I,F=await this.client.files.getFilePayload(P);F.sha1 in p||(p[F.sha1]=F);const b=this.buildModel({file:P,file_sha1:F.sha1,submitted_at:u,created_by:l,modelUuid:g});d.push(b),h.push(this.buildPayload(b,F))}this.dispatch(a(d));const A=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,attachments:h,files:Object.values(p)},blocks:d.map(I=>this.getId(I)),blockers:d.map(I=>I.file_sha1)});return A.then(({attachments:I,presigned_urls:g})=>{this.dispatch(c(I)),this.client.files.processPresignedUrls(g)}).catch(()=>{this.dispatch(r(d.map(I=>this.getId(I))))}),[d,A.then(({attachments:I})=>I)]}async _delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Attempting to delete attachment with uuid ${e} that does not exist in the store`);this.dispatch(c(this.getId(l)));const u=this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return u.then(()=>{this.client.files.removeCache(l.file_sha1)}).catch(()=>{this.dispatch(a(l))}),u}}class HF extends Xe{constructor(){super(...arguments);y(this,"name","Asset attachment");y(this,"url","/asset-attachments");y(this,"actions",{addOne:pa,addMany:xt,setOne:Aa,setMany:fa,updateOne:Sa,updateMany:Ta,deleteOne:Ia,deleteMany:es,initialize:ya});y(this,"selectors",{selectById:Pa,selectByIds:Fa})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_extension:k(e.file),created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,submitted_at:e.submitted_at,asset:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset:e.asset}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(r)),r}}class WF extends Xe{constructor(){super(...arguments);y(this,"name","Asset Procedure Attachment");y(this,"url","/asset-procedure-type-attachments");y(this,"actions",{addOne:Ra,addMany:wa,setOne:Ea,setMany:va,updateOne:Va,updateMany:za,deleteOne:Ba,deleteMany:ja,initialize:Ma});y(this,"selectors",{selectById:Ua,selectByIds:$a})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_extension:k(e.file),file_name:e.file.name,file_type:e.file.type,created_by:e.created_by,submitted_at:e.submitted_at,asset_procedure_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset_procedure_type:e.asset_procedure_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetProcedureTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class KF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields Attachment");y(this,"url","/asset-procedure-type-fields-attachments");y(this,"actions",{addOne:ka,addMany:Na,setOne:Ga,setMany:Ha,updateOne:Wa,updateMany:Ka,deleteOne:Ya,deleteMany:Za,initialize:La});y(this,"selectors",{selectById:Qa,selectByIds:xa})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:g,file:P}=f,F=await this.client.files.getFilePayload(P);F.sha1 in u||(u[F.sha1]=F);const b=M({file_url:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,created_by:l,fields_revision:I,submitted_at:r,field_identifier:g});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:g,file_extension:F.extension,file_sha1:F.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class YF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields");y(this,"url","/asset-procedure-type-fields");y(this,"actions",{addOne:sc,addMany:ic,setOne:nc,setMany:ac,updateOne:cc,updateMany:dc,deleteOne:rc,deleteMany:uc,initialize:tc});y(this,"selectors",{selectById:hc,selectByIds:mc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}function Qe(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}class ZF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values Attachment");y(this,"url","/asset-procedure-type-field-values-attachments");y(this,"actions",{addOne:Ac,addMany:rs,setOne:fc,setMany:Sc,updateOne:Tc,updateMany:Ic,deleteOne:Oc,deleteMany:us,initialize:pc});y(this,"selectors",{selectById:gc,selectByIds:bc})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Qe(e,Math.min(n??e.length,N)),h=[],p=[];for(const I of d){const g={},P=[];for(const F of I){const{fieldValuesUuid:b,fieldIdentifier:v,file:B}=F,V=await this.client.files.getFilePayload(B);V.sha1 in g||(g[V.sha1]=V);const U=M({file_url:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,created_by:u,field_values:b,submitted_at:l,field_identifier:v});h.push(U);const j={uuid:U.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(g)})}this.dispatch(a(h));const A=p.map(I=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:I,blockers:I.attachments.map(g=>g.field_values),blocks:I.attachments.map(g=>g.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const g=I.flatMap(P=>P.attachments);this.dispatch(c(g))}).catch(I=>{throw this.dispatch(r(h.map(g=>g.uuid))),I}),[h,A.map(I=>I.then(({attachments:g})=>g))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class JF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values");y(this,"url","/asset-procedure-type-field-values");y(this,"actions",{addOne:wc,addMany:Ec,setOne:vc,setMany:Vc,updateOne:zc,updateMany:Bc,deleteOne:jc,deleteMany:qc,initialize:Rc});y(this,"selectors",{selectById:$c,selectByIds:Cc})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var g;const{values:a,payloads:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=((g=this.client.store.getState().userReducer.currentUser)==null?void 0:g.id)??null,p=[],A=Qe(c,Math.min(n??c.length,N)),f=[];for(const P of A){const F=[];for(const b of P){const v=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(v),F.push({uuid:v.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,published_at:b.published_at,values:v.values})}f.push({submitted_at:d,values:a,field_values:F})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:F}=P,b=F.map(({asset:j})=>j),v=F.map(({fields_revision:j})=>j),B=F.map(({asset_procedure:j})=>j),V=F.map(({uuid:j})=>j),U=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(v).concat(B),blocks:V});I.push(U)}return Promise.all(I).then(P=>{this.dispatch(l(P.flat()))}).catch(()=>{this.dispatch(u(q(p)))}),[p,I]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetProcedureTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.fields_revision,u.asset,u.asset_procedure],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=_c(e)(l);this.dispatch(a(e)),this.dispatch(us(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(rs(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class XF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure");y(this,"url","/asset-procedures");y(this,"actions",{addOne:Nc,addMany:ms,setOne:Kc,setMany:Yc,updateOne:Gc,updateMany:Hc,deleteOne:Wc,deleteMany:ys,initialize:kc});y(this,"selectors",{selectById:Qc,selectByIds:xc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset_procedure_type,e.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class QF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type");y(this,"url","/asset-procedure-types");y(this,"actions",{addOne:sd,addMany:id,setOne:rd,setMany:ud,updateOne:nd,updateMany:ad,deleteOne:cd,deleteMany:dd,initialize:td});y(this,"selectors",{selectById:hd,selectByIds:md})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure type with uuid ${e} to exist`);const d=Xc(e)(l);this.dispatch(a(e)),this.dispatch(ys(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(ms(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class xF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields Attachment");y(this,"url","/asset-procedure-step-fields-attachments");y(this,"actions",{addOne:Ad,addMany:fd,setOne:Sd,setMany:Td,updateOne:Id,updateMany:Od,deleteOne:Pd,deleteMany:Fd,initialize:pd});y(this,"selectors",{selectById:bd,selectByIds:_d})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:g,file:P}=f,F=await this.client.files.getFilePayload(P);F.sha1 in u||(u[F.sha1]=F);const b=M({file_url:URL.createObjectURL(P),file_sha1:F.sha1,file_extension:F.extension,file_type:P.type,file_name:P.name,created_by:l,fields_revision:I,submitted_at:r,field_identifier:g});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:g,file_extension:F.extension,file_sha1:F.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_step__organization:e}},n);return this.dispatch(a(c)),c}}class eg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields");y(this,"url","/asset-procedure-step-fields");y(this,"actions",{addOne:Ed,addMany:vd,setOne:Vd,setMany:zd,updateOne:Bd,updateMany:jd,deleteOne:qd,deleteMany:Dd,initialize:wd});y(this,"selectors",{selectById:Ud,selectByIds:$d})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_step],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,c=n.getState().assetProcedureStepFieldsReducer.instances[e.uuid];if(!c)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const r={...c,...e};this.dispatch(a(r));const l=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(c)),u}),[r,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,r=n.getState().assetProcedureStepFieldsReducer.instances[e];if(!r)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(l){throw this.dispatch(c(r)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_step__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class tg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values Attachment");y(this,"url","/asset-procedure-step-field-values-attachments");y(this,"actions",{addOne:Nd,addMany:Ps,setOne:Gd,setMany:Hd,updateOne:Wd,updateMany:Kd,deleteOne:Yd,deleteMany:Fs,initialize:kd});y(this,"selectors",{selectById:Jd,selectByIds:Xd})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Qe(e,Math.min(n??e.length,N)),h=[],p=[];for(const I of d){const g={},P=[];for(const F of I){const{fieldValuesUuid:b,fieldIdentifier:v,file:B}=F,V=await this.client.files.getFilePayload(B);V.sha1 in g||(g[V.sha1]=V);const U=M({file_url:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,created_by:u,field_values:b,submitted_at:l,field_identifier:v});h.push(U);const j={uuid:U.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(g)})}this.dispatch(a(h));const A=p.map(I=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:I,blockers:I.attachments.map(g=>g.field_values),blocks:I.attachments.map(g=>g.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const g=I.flatMap(P=>P.attachments);this.dispatch(c(g))}).catch(I=>{throw this.dispatch(r(h.map(g=>g.uuid))),I}),[h,A.map(I=>I.then(({attachments:g})=>g))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class sg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values");y(this,"url","/asset-procedure-step-field-values");y(this,"actions",{addOne:sr,addMany:ir,setOne:nr,setMany:ar,updateOne:cr,updateMany:dr,deleteOne:rr,deleteMany:ur,initialize:tr});y(this,"selectors",{selectById:or,selectByIds:hr})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var g;const{payloads:a,values:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=((g=this.client.store.getState().userReducer.currentUser)==null?void 0:g.id)??null,p=[],A=Qe(a,Math.min(n??a.length,N)),f=[];for(const P of A){const F=[];for(const b of P){const v=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(v),F.push({uuid:v.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,asset_procedure_step:b.asset_procedure_step,published_at:b.published_at,values:v.values})}f.push({submitted_at:d,values:c,field_values:F})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:F}=P,b=F.map(({asset:j})=>j),v=F.map(({fields_revision:j})=>j),B=F.map(({asset_procedure:j})=>j),V=F.map(({uuid:j})=>j),U=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(v).concat(B),blocks:V});I.push(U)}return Promise.all(I).then(P=>{this.dispatch(l(P.flat()))}).catch(()=>{this.dispatch(u(q(p)))}),[p,I]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetProcedureStepFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.fields_revision,u.asset,u.asset_procedure],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=Qd(e)(l);this.dispatch(a(e)),this.dispatch(Fs(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ps(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class ig extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step");y(this,"url","/asset-procedure-steps");y(this,"actions",{addOne:Sr,addMany:Tr,setOne:Ar,setMany:fr,updateOne:Ir,updateMany:Or,deleteOne:Pr,deleteMany:Fr,initialize:pr});y(this,"selectors",{selectById:br,selectByIds:_r})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteMany:a,addMany:c,addOne:r,deleteOne:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`No asset procedure step with uuid ${e} found in the store`);const p=Mr(e)(d);this.dispatch(l(e)),this.dispatch(a(q(p)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(r(h)),this.dispatch(c(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class ng extends E{constructor(){super(...arguments);y(this,"url","/assets");y(this,"name","Asset");y(this,"actions",{addOne:Er,addMany:ws,setOne:Br,setMany:jr,updateOne:vr,updateMany:Vr,deleteOne:zr,deleteMany:Es,initialize:wr});y(this,"selectors",{selectById:Ur,selectByIds:$r})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset with uuid ${e} found in the store`);const d=ga(e)(l),h=Cy(e)(l);this.dispatch(c(e)),this.dispatch(es(q(d))),this.dispatch(st(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(u)),this.dispatch(xt(d)),this.dispatch(tt(h)),p}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),r=xe.v4(),l=Qe(e,Math.min(n??e.length,N)).map(h=>{const p=h.map(A=>M(A));return{batchId:xe.v4(),payload:{transaction_id:r,submitted_at:c,assets:p}}}),u=[];let d=null;for(const h of l){const{batchId:p,payload:A}=h,f=A.assets.map(({uuid:b})=>b),I=A.assets.map(({asset_type:b})=>b),g=A.assets.map(({project:b})=>b),P=A.assets.map(({status:b})=>b),F=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:A,blockers:(d?[d]:[]).concat(I).concat(g).concat(P),blocks:[p].concat(f)});d=h.batchId,u.push(F)}return Promise.all(u).then(h=>{const p=h.flat();this.dispatch(a(p))}),u}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,l=q(e).toSorted(Tt);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=r(l)(a.getState()).toSorted(Zt);if(l.length!=u.length)throw new Error(`Attempting to bulk update ${l.length-u.length} assets that dont exist in the store`);const d=[];for(let f=0;f<l.length;f++)d.push({...u[f],...e[f]});this.dispatch(c(d));const h=Qe(e,Math.min(n??e.length,N)),p=[];let A=null;for(const f of h){const I=xe.v4(),g=q(f),P=f.map(({status:b})=>b).filter(Boolean),F=this.enqueueRequest({description:O(m.PATCH,this.name,!0),method:m.PATCH,url:`${this.url}/bulk/`,payload:{payloads:f},blockers:(A?[A]:[]).concat(g).concat(P),blocks:[I].concat(g)});p.push(F),A=I}return Promise.all(p).then(f=>{this.dispatch(c(f.flat()))}).catch(()=>{this.dispatch(c(u))}),[d,p]}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(c(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class ag extends E{constructor(){super(...arguments);y(this,"name","Asset Stage Completion");y(this,"url","/asset-stage-completions");y(this,"actions",{addOne:Nr,addMany:Gr,setOne:Hr,setMany:Wr,updateOne:Kr,updateMany:Yr,deleteOne:Zr,deleteMany:Jr,initialize:kr});y(this,"selectors",{selectById:eu,selectByIds:tu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,e.asset_stage],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=e.map(I=>M(I)),h=d.map(I=>({...I,created_by:u,submitted_at:l})),p=h.map(({uuid:I})=>I);this.dispatch(a(h));const A=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:l,completions:d},blockers:[...e.map(I=>I.asset_procedure),...e.map(I=>I.asset_stage),...e.map(I=>I.asset)],blocks:p});return A.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(r(p))}),[h,A]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e}},n)).flat();return this.dispatch(a(r)),r}}class cg extends E{constructor(){super(...arguments);y(this,"name","Asset Stage");y(this,"url","/asset-stages");y(this,"actions",{addOne:cu,addMany:du,setOne:nu,setMany:au,updateOne:ru,updateMany:uu,deleteOne:lu,deleteMany:ou,initialize:iu});y(this,"selectors",{selectById:mu,selectByIds:yu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset stage with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class dg extends Xe{constructor(){super(...arguments);y(this,"name","Asset Type Attachment");y(this,"url","/asset-type-attachments");y(this,"actions",{addOne:fu,addMany:qs,setOne:Su,setMany:Tu,updateOne:Iu,updateMany:Ou,deleteOne:Pu,deleteMany:Ds,initialize:Au});y(this,"selectors",{selectById:gu,selectByIds:bu})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_name:e.file.name,file_type:e.file.type,file_extension:k(e.file),created_by:e.created_by,submitted_at:e.submitted_at,asset_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,asset_type:e.asset_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.assetTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class rg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields Attachment");y(this,"url","/asset-type-fields-attachments");y(this,"actions",{addOne:Eu,addMany:vu,setOne:Vu,setMany:zu,updateOne:Bu,updateMany:ju,deleteOne:qu,deleteMany:Du,initialize:wu});y(this,"selectors",{selectById:$u,selectByIds:Cu})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:g,file:P}=f,F=await this.client.files.getFilePayload(P);F.sha1 in u||(u[F.sha1]=F);const b=M({file_url:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,created_by:l,fields_revision:I,submitted_at:r,field_identifier:g});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:g,file_extension:F.extension,file_sha1:F.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class ug extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields");y(this,"url","/asset-type-fields");y(this,"actions",{addOne:Gu,addMany:Hu,setOne:Wu,setMany:Ku,updateOne:Yu,updateMany:Zu,deleteOne:Ju,deleteMany:Xu,initialize:Nu});y(this,"selectors",{selectById:xu,selectByIds:el})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class lg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values Attachment");y(this,"url","/asset-type-field-values-attachments");y(this,"actions",{addOne:nl,addMany:Ns,setOne:al,setMany:cl,updateOne:dl,updateMany:rl,deleteOne:ul,deleteMany:Gs,initialize:il});y(this,"selectors",{selectById:ol,selectByIds:hl})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Qe(e,Math.min(n??e.length,N)),h=[],p=[];for(const I of d){const g={},P=[];for(const F of I){const{fieldValuesUuid:b,fieldIdentifier:v,file:B}=F,V=await this.client.files.getFilePayload(B);V.sha1 in g||(g[V.sha1]=V);const U=M({file_url:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,created_by:u,field_values:b,submitted_at:l,field_identifier:v});h.push(U);const j={uuid:U.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(g)})}this.dispatch(a(h));const A=p.map(I=>this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:I,blockers:I.attachments.map(g=>g.field_values),blocks:I.attachments.map(g=>g.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const g=I.flatMap(P=>P.attachments);this.dispatch(c(g))}).catch(I=>{throw this.dispatch(r(h.map(g=>g.uuid))),I}),[h,A.map(I=>I.then(({attachments:g})=>g))]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class og extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values");y(this,"url","/asset-type-field-values");y(this,"actions",{addOne:fl,addMany:Sl,setOne:Tl,setMany:Il,updateOne:Ol,updateMany:Pl,deleteOne:Fl,deleteMany:gl,initialize:Al});y(this,"selectors",{selectById:_l,selectByIds:Ml})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var I;const{payloads:a,values:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=[],p=Qe(a,Math.min(n??a.length,N)),A=[];for(const g of p){const P=[];for(const F of g){const b=M({...F,values:F.values,created_by:((I=this.client.store.getState().userReducer.currentUser)==null?void 0:I.id)??null,submitted_at:d});h.push(b),P.push({uuid:b.uuid,asset:F.asset,fields_revision:F.fields_revision,published_at:F.published_at,values:b.values})}A.push({submitted_at:d,values:c,field_values:P})}this.dispatch(r(h));const f=[];for(const g of A){const{field_values:P}=g,F=P.map(({asset:V})=>V),b=P.map(({fields_revision:V})=>V),v=P.map(({uuid:V})=>V),B=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:g,blockers:F.concat(b),blocks:v});f.push(B)}return Promise.all(f).then(g=>{this.dispatch(l(g.flat()))}).catch(()=>{this.dispatch(u(q(h)))}),[h,f]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.uuid,u.fields_revision,u.asset],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=ml(e)(l);this.dispatch(a(e)),this.dispatch(Gs(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ns(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class hg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier");y(this,"url","/asset-type-identifiers");y(this,"actions",{addOne:vl,addMany:Vl,setOne:zl,setMany:Bl,updateOne:jl,updateMany:ql,deleteOne:Dl,deleteMany:Ul,initialize:El});y(this,"selectors",{selectById:Cl,selectByIds:Ll})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class mg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier Value");y(this,"url","/asset-type-identifier-values");y(this,"actions",{addOne:Hl,addMany:Wl,setOne:Kl,setMany:Yl,updateOne:Zl,updateMany:Jl,deleteOne:Xl,deleteMany:Ql,initialize:Gl});y(this,"selectors",{selectById:eo,selectByIds:to})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class yg extends E{constructor(){super(...arguments);y(this,"name","Asset Type");y(this,"url","/asset-types");y(this,"actions",{addOne:ro,addMany:uo,setOne:ao,setMany:co,updateOne:lo,updateMany:oo,deleteOne:ho,deleteMany:mo,initialize:no});y(this,"selectors",{selectById:po,selectByIds:Ao})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=Dr(e)(l),h=_u(e)(l);this.dispatch(a(e)),this.dispatch(Es(q(d))),this.dispatch(Ds(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(ws(d)),this.dispatch(qs(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class pg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Status");y(this,"url","/asset-type-statuses");y(this,"actions",{addOne:Io,addMany:Oo,setOne:Po,setMany:Fo,updateOne:go,updateMany:bo,deleteOne:_o,deleteMany:Mo,initialize:To});y(this,"selectors",{selectById:wo,selectByIds:Eo})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class Ag extends Xe{constructor(){super(...arguments);y(this,"name","Document Attachment");y(this,"url","/document-attachments");y(this,"actions",{addOne:Do,addMany:Uo,setOne:$o,setMany:Co,updateOne:Lo,updateMany:ko,deleteOne:No,deleteMany:Go,initialize:qo});y(this,"selectors",{selectById:Wo,selectByIds:Ko})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_name:e.file.name,file_type:e.file.type,file_extension:k(e.file),created_by:e.created_by,submitted_at:e.submitted_at,document:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,document:e.document}}async bulkAdd(e){var I;const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:r}=this.actions,l=((I=n.getState().userReducer.currentUser)==null?void 0:I.id)??null,u=new Date().toISOString(),d=[],h=[],p={},A={};for(const g of e){const{documentUuid:P,file:F}=g,b=await this.client.files.getFilePayload(F);b.sha1 in p||(p[b.sha1]=b,A[b.sha1]=[]);const v=this.buildModel({file:F,file_sha1:b.sha1,submitted_at:u,created_by:l,modelUuid:P});d.push(v),h.push(this.buildPayload(v,b)),A[b.sha1].push(v.uuid)}this.dispatch(a(d));const f=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,attachments:h,files:Object.values(p)},blocks:d.map(g=>g.uuid),blockers:d.map(g=>g.file_sha1)});return f.then(({attachments:g,presigned_urls:P})=>{this.dispatch(c(g));const F=this.client.files.processPresignedUrls(P);for(const[b,v]of Object.entries(F))v.then(()=>{const B=A[b];for(const V of B)this.makeReadable(V)})}).catch(()=>{this.dispatch(r(d.map(g=>g.uuid)))}),[d,f.then(({attachments:g})=>g)]}async delete(e){return this._delete(e)}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:m.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{document__project__organization:e}},n),r=this.list({queryParams:{document__organization:e}},n),u=(await Promise.all([c,r])).flat();return this.dispatch(a(u)),u}}class fg extends E{constructor(){super(...arguments);y(this,"name","Document");y(this,"url","/documents");y(this,"actions",{addOne:Xo,addMany:Qo,setOne:xo,setMany:eh,updateOne:th,updateMany:sh,deleteOne:ih,deleteMany:nh,initialize:Jo});y(this,"selectors",{selectById:ch,selectByIds:dh})}add(e){var p;const{store:n}=this.client,{addOne:a,deleteOne:c,updateOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(r(A))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c,addMany:r,deleteMany:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=rh(e)(d);this.dispatch(a(e)),this.dispatch(l(q(p)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(c(h)),this.dispatch(r(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{project__organization:e}},n),r=this.list({queryParams:{organization:e}},n),u=(await Promise.all([c,r])).flat();return this.dispatch(a(u)),u}}class ut extends nt{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class Sg extends ut{constructor(){super(...arguments);y(this,"name","Email Domains");y(this,"url","/organization-email-domains");y(this,"actions",{addOne:oh,addMany:hh,setOne:mh,setMany:yh,updateOne:ph,updateMany:Ah,deleteOne:fh,deleteMany:Sh,initialize:lh});y(this,"selectors",{selectById:Ih,selectByIds:Oh})}async add(e,n){return this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:a}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(c){throw this.dispatch(a(e)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Tg extends nt{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:m.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:m.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const Lt={},Bn=new Set;let kt=0,jn=0,qn=0;const Ig=20;class Og extends nt{constructor(){super(...arguments);y(this,"host");y(this,"_dbPromise",IO.openDB("fileCache",1,{upgrade(e){e.createObjectStore("files")}}))}async renewUploadUrl(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Yt(n,e),c=await this.enqueueRequest({description:"Get S3 URL",method:m.GET,url:"/authentication/files/presigned-upload-url/",queryParams:{sha1:await dt(n),file_type:n.type,extension:n.name.split(".").pop(),size:n.size.toString()},blockers:[],blocks:[`s3-${a}`]});return"url"in c&&this.dispatch(bh({sha1:e,...c})),c}async addCache(e,n){if(Bn.has(n))return;if(!e.type){const r=e.name.split("."),l=r[r.length-1];e=new File([e],e.name,{type:l})}if(!e.name||!e.size||!e.type)throw new Error("Cannot add files to cache that do not have a name, size and type.");const a=await this._dbPromise;!!await a.get("files",n)?(console.error("File already cached (this is unexpected at this point):",e.name,n),kt++):(await a.put("files",e,n),jn++),Bn.add(n),qn++,qn%Ig===0&&console.debug(`File cache summary: ${kt} hits and ${jn} misses, ${kt/(kt+jn)*100}% hit rate over ${qn} calls to addCache.`)}async removeCache(e){await(await this._dbPromise).delete("files",e),Bn.delete(e)}async fetchCache(e){return(await this._dbPromise).get("files",e)}async getOrRenewUploadUrl(e){const n=this.client.store.getState();return _h(e)(n)??await this.renewUploadUrl(e)}async uploadFileToS3(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Yt(n,e),c={file_name:n.name,file_sha1:e,file:a},r=await this.getOrRenewUploadUrl(e);if("warning"in r){if(r.warning==="already_uploaded")return[c,Promise.resolve(void 0)];throw new Error(r.warning)}const l=r.url,u=this.enqueueRequest({url:l,description:"Upload file",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${a}`],blocks:[e],s3url:r});return[c,u]}async fetchFileFromUrl(e,n,a){const c=e.split("?")[0]??e,r=await this.fetchCache(n);if(r){if(!r.name)throw new Error("Cached file unexpectedly has no name.");return r}if(Qn(e)){const h=await Xn(e),p=new File([h],a??n,{type:h.type});return await this.addCache(p,n),p}let l=Lt[c],u=!0;l?u=!1:(l=new Promise(h=>{this.enqueueRequest({description:"Download file",method:m.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1,blockers:[n],blocks:[n]}).then(p=>{const A=new File([p],a??n,{type:p.type});h(A)})}),Lt[c]=l);let d;try{d=await l}catch(h){throw u&&h instanceof C&&delete Lt[c],h}if(u){const h=await dt(d);if(h!==n){const f=`The hash of the file returned from the server (${h}) does not match the
8
+ `)}catch(a){console.error("Failed to extract error message from response body",a)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>DF?dt:e}class C extends Error{constructor(e){super(dt);y(this,"status");y(this,"response");y(this,"message");y(this,"options");const{response:n,innerError:a}=e;this.message=e.message??qF(n,a)??dt,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function ZI(t){function s(e){return typeof e=="object"&&e!==null&&["ok","redirect","clientError","serverError","error"].every(a=>a in e)}if(s(t))return t;if(typeof t=="object"&&t!==null){const e=t;if(s(e.response))return e.response;if(e.response&&s(e.response.response))return e.response.response}}class $F extends CI{constructor(s){super(s)}}class it extends CI{constructor(e,n){super(e);y(this,"auth");this.auth=n}}class CF extends it{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(da(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:m.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(ua(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:m.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(ra(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:m.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:m.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(ca(n)),n}}function nt(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}function T(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case m.GET:return`Get ${n}`;case m.POST:return`Create ${n}`;case m.PATCH:return`Update ${n}`;case m.PUT:return`Update ${n}`;case m.DELETE:return`Delete ${n}`}}class v extends it{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class q extends v{constructor(){super(...arguments);y(this,"pageSize",qI)}async add(e){const{addOne:n,updateOne:a,deleteOne:c}=this.actions;let d,l=null,r=null;if("file"in e){const{file:b,...w}=e;l=await this.client.files.getFilePayload(b),r=URL.createObjectURL(b),d={...w,file_sha1:l.sha1,file_type:l.file_type,file_name:b.name,file_extension:l.extension,file_url:r}}else d=e;const u=this.buildModel(d),h=this.buildPayload(u);this.dispatch(n(u));const p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{...h,...l?{file:l}:{}},blockers:this.getBlockers(h),blocks:[this.getId(u)]});p.then(({instance:b})=>{this.dispatch(a(b))}).catch(b=>{throw this.dispatch(c(this.getId(u))),b}).finally(()=>{r&&URL.revokeObjectURL(r)});const A=p.then(({instance:b})=>b),I=p.then(async({instance:b,presigned_url:w})=>{try{return w&&await this.client.files.processPresignedUrl(b.file_sha1,w),b.file_sha1}catch(M){throw console.error("Upload to s3 using presigned url failed.",M),M}});return[u,A,I]}async bulkAdd(e,n){const{addMany:a,updateMany:c,deleteMany:d}=this.actions,l=new Date().toISOString(),r=[],u=new Set,h=nt(e,Math.min(n??e.length,Qe)),p=[];for(const w of h){const M=[],R={};for(const z of w){let U;if("file"in z){const{file:V,...N}=z,Je=await this.client.files.getFilePayload(V);Je.sha1 in R||(R[Je.sha1]=Je);const dO=URL.createObjectURL(V);u.add(dO),U={...N,file_sha1:Je.sha1,file_type:Je.file_type,file_name:V.name,file_extension:Je.extension,file_url:dO}}else U=z;const D=this.buildModel(U);r.push(D);const xe=this.buildPayload(D);M.push(xe)}const _={payloads:M,submitted_at:l,files:Object.values(R)};p.push(_)}this.dispatch(a(r));const A=p.map(w=>{const{payloads:M}=w,R=M.flatMap(z=>this.getBlockers(z)),_=[].concat(M.map(z=>z.uuid)).concat(M.map(z=>z.file_sha1));return this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:w,blockers:R,blocks:_})});Promise.all(A).then(w=>{const M=w.flatMap(R=>R.instances);this.dispatch(c(M))}).catch(w=>{throw this.dispatch(d(r.map(M=>this.getId(M)))),w}).finally(()=>{for(const w of u)URL.revokeObjectURL(w)});const I=Promise.all(A).then(w=>w.flatMap(({instances:M})=>M)),b=Promise.all(A).then(async w=>{const M=[];for(const{presigned_urls:R}of w){const _=this.client.files.processPresignedUrls(R);for(const[z,U]of Object.entries(_))try{await U,M.push(z)}catch(D){throw console.error("Upload to s3 using presigned url failed.",D),D}}return M});return[r,I,b]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:d}=this.selectors,l=d(e)(n.getState());if(!l)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(c(this.getId(l)));const r=this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return r.then(()=>{this.client.files.removeCache(l.file_sha1)}).catch(()=>{this.dispatch(a(l))}),r}}class UF extends q{constructor(){super(...arguments);y(this,"name","Asset attachment");y(this,"url","/asset-attachments");y(this,"actions",{addOne:ma,addMany:xt,setOne:ya,setMany:pa,updateOne:Aa,updateMany:fa,deleteOne:Sa,deleteMany:es,initialize:ha});y(this,"selectors",{selectById:Ia,selectByIds:Oa})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(d)),d}}class LF extends q{constructor(){super(...arguments);y(this,"name","Asset Procedure Attachment");y(this,"url","/asset-procedure-type-attachments");y(this,"actions",{addOne:Ma,addMany:_a,setOne:Ra,setMany:wa,updateOne:Ea,updateMany:va,deleteOne:Va,deleteMany:Ba,initialize:ba});y(this,"selectors",{selectById:Da,selectByIds:qa})}getId(e){return e.uuid}buildModel(e){var A;const{store:n}=this.client,{asset_procedure_type:a,file_sha1:c,file_extension:d,file_name:l,file_type:r,file_url:u}=e,h=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,p=new Date().toISOString();return P({file_url:u,file_sha1:c,file_extension:d,file_name:l,file_type:r,created_by:h,submitted_at:p,asset_procedure_type:a})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_procedure_type:e.asset_procedure_type}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class NF extends q{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields Attachment");y(this,"url","/asset-procedure-type-fields-attachments");y(this,"actions",{addOne:Ua,addMany:La,setOne:Na,setMany:Ga,updateOne:Ha,updateMany:ka,deleteOne:Ka,deleteMany:Wa,initialize:Ca});y(this,"selectors",{selectById:Ja,selectByIds:Xa})}getId(e){return e.uuid}getBlockers(e){throw[e.fields_revision]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class GF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields");y(this,"url","/asset-procedure-type-fields");y(this,"actions",{addOne:ec,addMany:tc,setOne:sc,setMany:ic,updateOne:nc,updateMany:ac,deleteOne:cc,deleteMany:dc,initialize:xa});y(this,"selectors",{selectById:lc,selectByIds:oc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.asset_procedure_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(d(u.uuid)),A}),[u,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class HF extends q{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values Attachment");y(this,"url","/asset-procedure-type-field-values-attachments");y(this,"actions",{addOne:yc,addMany:rs,setOne:pc,setMany:Ac,updateOne:fc,updateMany:Sc,deleteOne:Tc,deleteMany:us,initialize:mc});y(this,"selectors",{selectById:Pc,selectByIds:Fc})}getId(e){return e.uuid}getBlockers(e){throw[e.field_values]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:d}=this.selectors,l=n.getState(),r=d(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class kF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values");y(this,"url","/asset-procedure-type-field-values");y(this,"actions",{addOne:_c,addMany:Rc,setOne:wc,setMany:Ec,updateOne:vc,updateMany:Vc,deleteOne:Bc,deleteMany:zc,initialize:Mc});y(this,"selectors",{selectById:qc,selectByIds:$c})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,r=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=new Date().toISOString(),h=P({...e,created_by:r,submitted_at:u}),p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(d(h.uuid))}),[h,p]}bulkAdd(e,n){var w;const{values:a,payloads:c}=e,{addMany:d,setMany:l,deleteMany:r}=this.actions,u=new Date().toISOString(),h=((w=this.client.store.getState().userReducer.currentUser)==null?void 0:w.id)??null,p=[],A=nt(c,Math.min(n??c.length,Qe)),I=[];for(const M of A){const R=[];for(const _ of M){const z=P({..._,values:_.values,created_by:h,submitted_at:u});p.push(z),R.push({uuid:z.uuid,asset:_.asset,fields_revision:_.fields_revision,asset_procedure:_.asset_procedure,published_at:_.published_at,values:z.values})}I.push({submitted_at:u,values:a,field_values:R})}this.dispatch(d(p));const b=[];for(const M of I){const{field_values:R}=M,_=R.map(({asset:V})=>V),z=R.map(({fields_revision:V})=>V),U=R.map(({asset_procedure:V})=>V),D=R.map(({uuid:V})=>V),xe=this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:M,blockers:_.concat(z).concat(U),blocks:D});b.push(xe)}return Promise.all(b).then(M=>{this.dispatch(l(M.flat()))}).catch(()=>{this.dispatch(r(B(p)))}),[p,b]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`Expected AssetProcedureTypeFieldValues with uuid ${e.uuid} to exist`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.fields_revision,r.asset,r.asset_procedure],blocks:[r.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected submission with uuid ${e} to exist`);const u=gc(e)(l);this.dispatch(a(e)),this.dispatch(us(B(u)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(rs(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class KF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure");y(this,"url","/asset-procedures");y(this,"actions",{addOne:Lc,addMany:ms,setOne:kc,setMany:Kc,updateOne:Nc,updateMany:Gc,deleteOne:Hc,deleteMany:ys,initialize:Uc});y(this,"selectors",{selectById:Jc,selectByIds:Xc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.asset_procedure_type,e.asset_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[d.uuid],blocks:[d.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected asset procedure with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(d)),d}}class WF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Type");y(this,"url","/asset-procedure-types");y(this,"actions",{addOne:ed,addMany:td,setOne:cd,setMany:dd,updateOne:sd,updateMany:id,deleteOne:nd,deleteMany:ad,initialize:xc});y(this,"selectors",{selectById:ld,selectByIds:od})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Expected asset procedure type with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[d.uuid],blocks:[d.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected asset procedure type with uuid ${e} to exist`);const u=Zc(e)(l);this.dispatch(a(e)),this.dispatch(ys(B(u)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(ms(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class YF extends q{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields Attachment");y(this,"url","/asset-procedure-step-fields-attachments");y(this,"actions",{addOne:yd,addMany:pd,setOne:Ad,setMany:fd,updateOne:Sd,updateMany:Td,deleteOne:Id,deleteMany:Od,initialize:md});y(this,"selectors",{selectById:Fd,selectByIds:gd})}getId(e){return e.uuid}getBlockers(e){throw[e.fields_revision]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_step__organization:e}},n);return this.dispatch(a(c)),c}}class ZF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields");y(this,"url","/asset-procedure-step-fields");y(this,"actions",{addOne:Rd,addMany:wd,setOne:Ed,setMany:vd,updateOne:Vd,updateMany:Bd,deleteOne:zd,deleteMany:jd,initialize:_d});y(this,"selectors",{selectById:Dd,selectByIds:qd})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.asset_procedure_step],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(d(u.uuid)),A}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,c=n.getState().assetProcedureStepFieldsReducer.instances[e.uuid];if(!c)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const d={...c,...e};this.dispatch(a(d));const l=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return l.then(r=>{this.dispatch(a(r))}).catch(r=>{throw this.dispatch(a(c)),r}),[d,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,d=n.getState().assetProcedureStepFieldsReducer.instances[e];if(!d)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(l){throw this.dispatch(c(d)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_step__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class JF extends q{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values Attachment");y(this,"url","/asset-procedure-step-field-values-attachments");y(this,"actions",{addOne:Ld,addMany:Ps,setOne:Nd,setMany:Gd,updateOne:Hd,updateMany:kd,deleteOne:Kd,deleteMany:Fs,initialize:Ud});y(this,"selectors",{selectById:Yd,selectByIds:Zd})}getId(e){return e.uuid}getBlockers(e){throw[e.field_values]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:d}=this.selectors,l=n.getState(),r=d(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{field_values__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class XF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values");y(this,"url","/asset-procedure-step-field-values");y(this,"actions",{addOne:er,addMany:tr,setOne:sr,setMany:ir,updateOne:nr,updateMany:ar,deleteOne:cr,deleteMany:dr,initialize:xd});y(this,"selectors",{selectById:ur,selectByIds:lr})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,r=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=new Date().toISOString(),h=P({...e,created_by:r,submitted_at:u}),p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(d(h.uuid))}),[h,p]}bulkAdd(e,n){var w;const{payloads:a,values:c}=e,{addMany:d,setMany:l,deleteMany:r}=this.actions,u=new Date().toISOString(),h=((w=this.client.store.getState().userReducer.currentUser)==null?void 0:w.id)??null,p=[],A=nt(a,Math.min(n??a.length,Qe)),I=[];for(const M of A){const R=[];for(const _ of M){const z=P({..._,values:_.values,created_by:h,submitted_at:u});p.push(z),R.push({uuid:z.uuid,asset:_.asset,fields_revision:_.fields_revision,asset_procedure:_.asset_procedure,asset_procedure_step:_.asset_procedure_step,published_at:_.published_at,values:z.values})}I.push({submitted_at:u,values:c,field_values:R})}this.dispatch(d(p));const b=[];for(const M of I){const{field_values:R}=M,_=R.map(({asset:V})=>V),z=R.map(({fields_revision:V})=>V),U=R.map(({asset_procedure:V})=>V),D=R.map(({uuid:V})=>V),xe=this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:M,blockers:_.concat(z).concat(U),blocks:D});b.push(xe)}return Promise.all(b).then(M=>{this.dispatch(l(M.flat()))}).catch(()=>{this.dispatch(r(B(p)))}),[p,b]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`Expected AssetProcedureStepFieldValues with uuid ${e.uuid} to exist`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.fields_revision,r.asset,r.asset_procedure],blocks:[r.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected submission with uuid ${e} to exist`);const u=Jd(e)(l);this.dispatch(a(e)),this.dispatch(Fs(B(u)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(Ps(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class QF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Step");y(this,"url","/asset-procedure-steps");y(this,"actions",{addOne:Ar,addMany:fr,setOne:yr,setMany:pr,updateOne:Sr,updateMany:Tr,deleteOne:Ir,deleteMany:Or,initialize:mr});y(this,"selectors",{selectById:Fr,selectByIds:gr})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.asset_procedure_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${d.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[d.uuid],blocks:[d.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteMany:a,addMany:c,addOne:d,deleteOne:l}=this.actions,{selectById:r}=this.selectors,u=n.getState(),h=r(e)(u);if(!h)throw new Error(`No asset procedure step with uuid ${e} found in the store`);const p=br(e)(u);this.dispatch(l(e)),this.dispatch(a(B(p)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(d(h)),this.dispatch(c(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class xF extends v{constructor(){super(...arguments);y(this,"url","/assets");y(this,"name","Asset");y(this,"actions",{addOne:Rr,addMany:ws,setOne:Vr,setMany:Br,updateOne:wr,updateMany:Er,deleteOne:vr,deleteMany:Es,initialize:_r});y(this,"selectors",{selectById:Dr,selectByIds:qr})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.asset_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`No asset with uuid ${e} found in the store`);const u=Pa(e)(l),h=Dy(e)(l);this.dispatch(c(e)),this.dispatch(es(B(u))),this.dispatch(tt(B(h)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(r)),this.dispatch(xt(u)),this.dispatch(et(h)),p}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),d=Xe.v4(),l=nt(e,Math.min(n??e.length,Qe)).map(h=>{const p=h.map(A=>P(A));return{batchId:Xe.v4(),payload:{transaction_id:d,submitted_at:c,assets:p}}}),r=[];let u=null;for(const h of l){const{batchId:p,payload:A}=h,I=A.assets.map(({uuid:_})=>_),b=A.assets.map(({asset_type:_})=>_),w=A.assets.map(({project:_})=>_),M=A.assets.map(({status:_})=>_),R=this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:A,blockers:(u?[u]:[]).concat(b).concat(w).concat(M),blocks:[p].concat(I)});u=h.batchId,r.push(R)}return Promise.all(r).then(h=>{const p=h.flat();this.dispatch(a(p))}),r}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:d}=this.selectors,l=B(e).toSorted(It);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const r=d(l)(a.getState()).toSorted(Zt);if(l.length!=r.length)throw new Error(`Attempting to bulk update ${l.length-r.length} assets that dont exist in the store`);const u=[];for(let I=0;I<l.length;I++)u.push({...r[I],...e[I]});this.dispatch(c(u));const h=nt(e,Math.min(n??e.length,Qe)),p=[];let A=null;for(const I of h){const b=Xe.v4(),w=B(I),M=I.map(({status:_})=>_).filter(Boolean),R=this.enqueueRequest({description:T(m.PATCH,this.name,!0),method:m.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(A?[A]:[]).concat(w).concat(M),blocks:[b].concat(w)});p.push(R),A=b}return Promise.all(p).then(I=>{this.dispatch(c(I.flat()))}).catch(()=>{this.dispatch(c(r))}),[u,p]}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:d}=this.selectors,l=n.getState(),r=d(e)(l);this.dispatch(c(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(d)),d}}class eg extends v{constructor(){super(...arguments);y(this,"name","Asset Stage Completion");y(this,"url","/asset-stage-completions");y(this,"actions",{addOne:Lr,addMany:Nr,setOne:Gr,setMany:Hr,updateOne:kr,updateMany:Kr,deleteOne:Wr,deleteMany:Yr,initialize:Ur});y(this,"selectors",{selectById:Qr,selectByIds:xr})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.asset,e.asset_stage],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=d(e)(n.getState());if(!l)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}bulkAdd(e){var I;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:d}=this.actions,l=new Date().toISOString(),r=((I=n.getState().userReducer.currentUser)==null?void 0:I.id)??null,u=e.map(b=>P(b)),h=u.map(b=>({...b,created_by:r,submitted_at:l})),p=h.map(({uuid:b})=>b);this.dispatch(a(h));const A=this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:l,completions:u},blockers:[...e.map(b=>b.asset_procedure),...e.map(b=>b.asset_stage),...e.map(b=>b.asset)],blocks:p});return A.then(b=>{this.dispatch(c(b))}).catch(()=>{this.dispatch(d(p))}),[h,A]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:d}=this.selectors,l=d(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{asset_procedure__project:e}},n)).flat();return this.dispatch(a(d)),d}}class tg extends v{constructor(){super(...arguments);y(this,"name","Asset Stage");y(this,"url","/asset-stages");y(this,"actions",{addOne:nu,addMany:au,setOne:su,setMany:iu,updateOne:cu,updateMany:du,deleteOne:ru,deleteMany:uu,initialize:tu});y(this,"selectors",{selectById:ou,selectByIds:hu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.asset_procedure_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${d.uuid}/`,payload:e,blockers:[d.uuid],blocks:[d.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`No asset stage with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class sg extends q{constructor(){super(...arguments);y(this,"name","Asset Type Attachment");y(this,"url","/asset-type-attachments");y(this,"actions",{addOne:pu,addMany:Ds,setOne:Au,setMany:fu,updateOne:Su,updateMany:Tu,deleteOne:Iu,deleteMany:qs,initialize:yu});y(this,"selectors",{selectById:Pu,selectByIds:Fu})}getId(e){return e.uuid}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class ig extends q{constructor(){super(...arguments);y(this,"name","Asset Type Fields Attachment");y(this,"url","/asset-type-fields-attachments");y(this,"actions",{addOne:Ru,addMany:wu,setOne:Eu,setMany:vu,updateOne:Vu,updateMany:Bu,deleteOne:zu,deleteMany:ju,initialize:_u});y(this,"selectors",{selectById:qu,selectByIds:$u})}getId(e){return e.uuid}getBlockers(e){throw[e.fields_revision]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class ng extends v{constructor(){super(...arguments);y(this,"name","Asset Type Fields");y(this,"url","/asset-type-fields");y(this,"actions",{addOne:Nu,addMany:Gu,setOne:Hu,setMany:ku,updateOne:Ku,updateMany:Wu,deleteOne:Yu,deleteMany:Zu,initialize:Lu});y(this,"selectors",{selectById:Xu,selectByIds:Qu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.asset_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(d(u.uuid)),A}),[u,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class ag extends q{constructor(){super(...arguments);y(this,"name","Asset Type Field Values Attachment");y(this,"url","/asset-type-field-values-attachments");y(this,"actions",{addOne:sl,addMany:Gs,setOne:il,setMany:nl,updateOne:al,updateMany:cl,deleteOne:dl,deleteMany:Hs,initialize:tl});y(this,"selectors",{selectById:ul,selectByIds:ll})}getId(e){return e.uuid}getBlockers(e){throw[e.field_values]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:d}=this.selectors,l=n.getState(),r=d(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class cg extends v{constructor(){super(...arguments);y(this,"name","Asset Type Field Values");y(this,"url","/asset-type-field-values");y(this,"actions",{addOne:pl,addMany:Al,setOne:fl,setMany:Sl,updateOne:Tl,updateMany:Il,deleteOne:Ol,deleteMany:Pl,initialize:yl});y(this,"selectors",{selectById:gl,selectByIds:bl})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,r=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=new Date().toISOString(),h=P({...e,created_by:r,submitted_at:u}),p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[e.asset,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(d(h.uuid))}),[h,p]}bulkAdd(e,n){var b;const{payloads:a,values:c}=e,{addMany:d,setMany:l,deleteMany:r}=this.actions,u=new Date().toISOString(),h=[],p=nt(a,Math.min(n??a.length,Qe)),A=[];for(const w of p){const M=[];for(const R of w){const _=P({...R,values:R.values,created_by:((b=this.client.store.getState().userReducer.currentUser)==null?void 0:b.id)??null,submitted_at:u});h.push(_),M.push({uuid:_.uuid,asset:R.asset,fields_revision:R.fields_revision,published_at:R.published_at,values:_.values})}A.push({submitted_at:u,values:c,field_values:M})}this.dispatch(d(h));const I=[];for(const w of A){const{field_values:M}=w,R=M.map(({asset:D})=>D),_=M.map(({fields_revision:D})=>D),z=M.map(({uuid:D})=>D),U=this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:w,blockers:R.concat(_),blocks:z});I.push(U)}return Promise.all(I).then(w=>{this.dispatch(l(w.flat()))}).catch(()=>{this.dispatch(r(B(h)))}),[h,I]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid,r.fields_revision,r.asset],blocks:[r.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected submission with uuid ${e} to exist`);const u=ol(e)(l);this.dispatch(a(e)),this.dispatch(Hs(B(u)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(Gs(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class dg extends v{constructor(){super(...arguments);y(this,"name","Asset Type Identifier");y(this,"url","/asset-type-identifiers");y(this,"actions",{addOne:wl,addMany:El,setOne:vl,setMany:Vl,updateOne:Bl,updateMany:zl,deleteOne:jl,deleteMany:Dl,initialize:Rl});y(this,"selectors",{selectById:$l,selectByIds:Cl})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.asset_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class rg extends v{constructor(){super(...arguments);y(this,"name","Asset Type Identifier Value");y(this,"url","/asset-type-identifier-values");y(this,"actions",{addOne:Gl,addMany:Hl,setOne:kl,setMany:Kl,updateOne:Wl,updateMany:Yl,deleteOne:Zl,deleteMany:Jl,initialize:Nl});y(this,"selectors",{selectById:Ql,selectByIds:xl})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.asset,e.asset_type_identifier],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class ug extends v{constructor(){super(...arguments);y(this,"name","Asset Type");y(this,"url","/asset-types");y(this,"actions",{addOne:ao,addMany:co,setOne:io,setMany:no,updateOne:ro,updateMany:uo,deleteOne:lo,deleteMany:oo,initialize:so});y(this,"selectors",{selectById:mo,selectByIds:yo})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[d.uuid],blocks:[d.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=jr(e)(l),h=gu(e)(l);this.dispatch(a(e)),this.dispatch(Es(B(u))),this.dispatch(qs(B(h)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(r)),this.dispatch(ws(u)),this.dispatch(Ds(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class lg extends v{constructor(){super(...arguments);y(this,"name","Asset Type Status");y(this,"url","/asset-type-statuses");y(this,"actions",{addOne:So,addMany:To,setOne:Io,setMany:Oo,updateOne:Po,updateMany:Fo,deleteOne:go,deleteMany:bo,initialize:fo});y(this,"selectors",{selectById:_o,selectByIds:Ro})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.asset_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),d=a(e.uuid)(c);if(!d)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const l={...d,...e};this.dispatch(n(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(n(u))}).catch(()=>{this.dispatch(n(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=d(e)(n.getState());if(!l)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class og extends q{constructor(){super(...arguments);y(this,"name","Document Attachment");y(this,"url","/document-attachments");y(this,"actions",{addOne:jo,addMany:Do,setOne:qo,setMany:$o,updateOne:Co,updateMany:Uo,deleteOne:Lo,deleteMany:No,initialize:zo});y(this,"selectors",{selectById:Ho,selectByIds:ko})}getId(e){return e.uuid}getBlockers(e){throw[e.document]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}async bulkAdd(e,n){const[a,c,d]=await super.bulkAdd(e,n),l={};for(const{file_sha1:r,uuid:u}of a)r in l||(l[r]=[]),l[r].push(u);return d.then(r=>{const u=r.flatMap(h=>l[h]??[]);for(const h of u)this.makeReadable(h)}),[a,c,d]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:m.PATCH,url:`${this.url}/${e}/`,payload:{readable_to_assistant:!0},blockers:["index-document-attachment",e],blocks:["index-document-attachment"]})}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{document__project__organization:e}},n),d=this.list({queryParams:{document__organization:e}},n),r=(await Promise.all([c,d])).flat();return this.dispatch(a(r)),r}}class hg extends v{constructor(){super(...arguments);y(this,"name","Document");y(this,"url","/documents");y(this,"actions",{addOne:Zo,addMany:Jo,setOne:Xo,setMany:Qo,updateOne:xo,updateMany:eh,deleteOne:th,deleteMany:sh,initialize:Yo});y(this,"selectors",{selectById:nh,selectByIds:ah})}add(e){var p;const{store:n}=this.client,{addOne:a,deleteOne:c,updateOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:u.parent_document?[u.parent_document]:[],blocks:[u.uuid]});return h.then(A=>{this.dispatch(d(A))}).catch(()=>{this.dispatch(c(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c,addMany:d,deleteMany:l}=this.actions,{selectById:r}=this.selectors,u=n.getState(),h=r(e)(u);if(!h)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=ch(e)(u);this.dispatch(a(e)),this.dispatch(l(B(p)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(A){throw this.dispatch(c(h)),this.dispatch(d(p)),A}}async refreshStore(e,n){const{initialize:a}=this.actions,c=this.list({queryParams:{project__organization:e}},n),d=this.list({queryParams:{organization:e}},n),r=(await Promise.all([c,d])).flat();return this.dispatch(a(r)),r}}class rt extends it{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:m.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:m.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:m.GET,...s},e)}}class mg extends rt{constructor(){super(...arguments);y(this,"name","Email Domains");y(this,"url","/organization-email-domains");y(this,"actions",{addOne:uh,addMany:lh,setOne:oh,setMany:hh,updateOne:mh,updateMany:yh,deleteOne:ph,deleteMany:Ah,initialize:rh});y(this,"selectors",{selectById:Sh,selectByIds:Th})}async add(e,n){return this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:a}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(c){throw this.dispatch(a(e)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class yg extends it{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:m.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:m.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const At={},zn=new Set;class pg extends it{constructor(){super(...arguments);y(this,"host");y(this,"dbPromise",mO.openDB("fileCache",1,{upgrade(e){e.createObjectStore("files")}}))}async getDB(){return await this.dbPromise}async addCache(e){if(!e.name)throw new Error(`Cant add a file without a name to cache: ${e.name}`);if(!e.type)throw new Error(`Cant add a file without a type to cache: ${e.name}`);if(!e.size)throw new Error(`Cant add an empty file to cache: ${e.name}`);const n=await Tt(e);if(zn.has(n))return;const a=await this.getDB();!!await a.get("files",n)?console.warn(`Attempting to add a file already cached, ${e.name}`):await a.put("files",e,n),zn.add(n)}async removeCache(e){await(await this.getDB()).delete("files",e),zn.delete(e)}async fetchCache(e){return(await this.getDB()).get("files",e)}async getPresignedUploadUrl(e){const{sha1:n,file_type:a,size:c,extension:d}=await this.getFilePayload(e),l=Wt(n,d),r={sha1:n,file_type:a,extension:d,size:c};return await this.enqueueRequest({description:"Create S3 upload url",method:m.POST,url:"/authentication/files/presigned-upload-url/",payload:r,blockers:[],blocks:[`s3-${l}`]})}async uploadFileToS3(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=Wt(e,Yt(n)),c={file_name:n.name,file_sha1:e,file:a},d=await this.getPresignedUploadUrl(n);if("warning"in d){if(d.warning==="already_uploaded")return[c,Promise.resolve(void 0)];throw new Error(d.warning)}const l=d.url,r=this.enqueueRequest({url:l,description:"Upload file",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${a}`],blocks:[e],s3url:d});return[c,r]}async fetchFileFromUrl(e,n,a=n){const c=e.split("?")[0]??e,d=await this.fetchCache(n);if(d)return d;let l;c in At?l=At[c]:Jn(e)?(l=Zn(e,a),At[c]=l):(l=new Promise(h=>{this.performRequest({method:m.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1}).then(p=>{const A=new File([p],a,{type:p.type});h(A)})}),At[c]=l);let r;try{r=await l}catch(h){throw h instanceof C&&delete At[c],h}const u=await Tt(r);if(u!==n){const h=`The hash of the file returned from the server (${u}) does not match the
9
9
  expected hash (${n}). This can happen if you're using a local development server and the
10
10
  isExternalUrl flag in the request details is set to true, because instead of requesting the local
11
11
  REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
12
12
  (with an uuid attached) being returned. Alternatively, you may be running with
13
13
  import.meta.env.PROD, which will result in some file requests being treated as
14
- external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(f)}const p=d.type.split("/")[1];if(!p)throw new Error("File has no extension");const A=a??h+"."+p;if(d=Jn(d,A),!d.name)throw new Error("Failed to set file's name");await this.addCache(d,h),Lt[c]=new Promise(f=>{f(d)})}return d}processPresignedUrls(e){const n={};for(const[a,c]of Object.entries(e))n[a]=this.enqueueRequest({url:c.url,description:"Upload file to S3",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:a,blockers:[`s3-${c.fields.key}`],blocks:[a],s3url:c});return n}async getFilePayload(e){const n=await dt(e),a={sha1:n,file_type:e.type,extension:k(e),size:e.size};return await this.client.files.addCache(e,n),a}}class Pg extends E{constructor(){super(...arguments);y(this,"name","Form Identifier");y(this,"url","/form-identifiers");y(this,"actions",{addOne:Eh,addMany:vh,setOne:Vh,setMany:zh,updateOne:Bh,updateMany:jh,deleteOne:qh,deleteMany:Dh,initialize:wh});y(this,"selectors",{selectById:$h,selectByIds:Ch})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.form],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class Fg extends E{constructor(){super(...arguments);y(this,"name","Form Identifier Value");y(this,"url","/form-identifier-values");y(this,"actions",{addOne:Gh,addMany:Hh,setOne:Wh,setMany:Kh,updateOne:Yh,updateMany:Zh,deleteOne:Jh,deleteMany:Xh,initialize:Nh});y(this,"selectors",{selectById:xh,selectByIds:em})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class gg extends E{constructor(){super(...arguments);y(this,"name","Form Revision Attachment");y(this,"url","/form-revision-attachments");y(this,"actions",{addOne:nm,addMany:am,setOne:cm,setMany:dm,updateOne:rm,updateMany:um,deleteOne:lm,deleteMany:om,initialize:im});y(this,"selectors",{selectById:mm,selectByIds:ym})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{revisionUuid:I,fieldIdentifier:g,file:P}=f,F=await this.client.files.getFilePayload(P);F.sha1 in u||(u[F.sha1]=F);const b=M({file_url:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,created_by:l,form_revision:I,submitted_at:r,field_identifier:g});d.push(b);const v={uuid:b.uuid,file_name:P.name,field_identifier:g,file_extension:F.extension,file_sha1:F.sha1,form_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(c)),c}}class bg extends E{constructor(){super(...arguments);y(this,"name","Form Revision");y(this,"url","/form-revisions");y(this,"actions",{addOne:hi,addMany:mi,setOne:Sm,setMany:Tm,updateOne:Im,updateMany:Om,deleteOne:yi,deleteMany:pi,initialize:fm});y(this,"selectors",{selectById:Pm,selectByIds:Fm})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class _g extends E{constructor(){super(...arguments);y(this,"name","Form");y(this,"url","/forms");y(this,"actions",{addOne:Rm,addMany:wm,setOne:Em,setMany:vm,updateOne:Vm,updateMany:zm,deleteOne:Bm,deleteMany:jm,initialize:Mm});y(this,"selectors",{selectById:Um,selectByIds:$m})}add(e,n){var A;const{store:a}=this.client,{addOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((A=a.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=M({...e,submitted_at:l,created_by:u}),h=M({...n,form:d.uuid,submitted_at:l,created_by:u});this.dispatch(c(d)),this.dispatch(hi(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{...z(d),initial_revision:{uuid:h.uuid,submitted_at:h.submitted_at,title:h.title,description:h.description,fields:h.fields}},blockers:[],blocks:[d.uuid,h.uuid]});return p.catch(f=>{throw this.dispatch(r(d.uuid)),this.dispatch(yi(h.uuid)),f}),[d,h,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error("Expected form to exist");const d=uy(e)(l),h=gm(e)(l);this.dispatch(a(e)),this.dispatch(Mi(q(d))),this.dispatch(pi(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(mi(h)),this.dispatch(_i(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Mg extends E{constructor(){super(...arguments);y(this,"name","Form Submission Attachment");y(this,"url","/form-submission-attachments");y(this,"actions",{addOne:km,addMany:Ii,setOne:Nm,setMany:Gm,updateOne:Hm,updateMany:Wm,deleteOne:Km,deleteMany:Oi,initialize:Lm});y(this,"selectors",{selectById:Ym,selectByIds:Zm})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{submissionUuid:I,fieldIdentifier:g,file:P}=f,F=await this.client.files.getFilePayload(P);F.sha1 in u||(u[F.sha1]=F);const b=M({file_url:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,created_by:l,form_submission:I,submitted_at:r,field_identifier:g});d.push(b);const v={uuid:b.uuid,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,field_identifier:g,form_submission:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_submission),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(f=>{throw this.dispatch(c(d.map(I=>I.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,r=n.getState(),l=gi(e)(r);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(r)),r}}class Rg extends E{constructor(){super(...arguments);y(this,"name","Form Submission");y(this,"url","/form-submissions");y(this,"actions",{addOne:sy,addMany:_i,setOne:ey,setMany:ty,updateOne:iy,updateMany:ny,deleteOne:ay,deleteMany:Mi,initialize:xm});y(this,"selectors",{selectById:dy,selectByIds:ry})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${u.uuid}/`,payload:e,blockers:[u.uuid],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=Jm(e)(l);this.dispatch(a(e)),this.dispatch(Oi(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ii(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(r)),r}}class wg extends E{constructor(){super(...arguments);y(this,"name","Geo Image");y(this,"url","/geo-images");y(this,"actions",{addOne:py,addMany:Ay,setOne:my,setMany:yy,updateOne:fy,updateMany:Sy,deleteOne:Ty,deleteMany:Iy,initialize:hy});y(this,"selectors",{selectById:Py,selectByIds:Fy})}async add(e){var g;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,{file:l,...u}=e,d=new Date().toISOString(),h=((g=n.getState().userReducer.currentUser)==null?void 0:g.id)??null,p=u.project,A=await this.client.files.getFilePayload(l),f=M({...u,file_name:l.name,file_sha1:A.sha1,file_type:l.type,file_url:URL.createObjectURL(l),file_extension:k(l),submitted_at:d,created_by:h});this.dispatch(a(f));const I=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{uuid:f.uuid,submitted_at:d,title:f.title,description:f.description,geo_marker:f.geo_marker,canvas_marker:f.canvas_marker,sha1:f.file_sha1,project:f.project,file_name:f.file_name,direction:f.direction,original_date:f.original_date,file:A},blocks:[p],blockers:[p]});return I.then(P=>{this.client.files.processPresignedUrls(P.presigned_urls),this.dispatch(c(P.geo_image))}).catch(()=>{this.dispatch(r(f.uuid))}),[f,I.then(P=>P.geo_image)]}async bulkAdd(e,n){var g;const{store:a}=this.client,{addMany:c,setMany:r,deleteMany:l}=this.actions,u=new Date().toISOString(),d=((g=a.getState().userReducer.currentUser)==null?void 0:g.id)??null,h=[],p=[],A=[],f={};for(const P of e){const{file:F,...b}=P,v=await this.client.files.getFilePayload(F);v.sha1 in f||(f[v.sha1]=v);const B=M({...b,file_name:F.name,file_sha1:v.sha1,file_type:F.type,file_url:URL.createObjectURL(F),file_extension:k(F),submitted_at:u,created_by:d,project:n});h.push(B),p.push(B.uuid),A.push({uuid:B.uuid,sha1:B.file_sha1,file_name:B.file_name,title:B.title,description:B.description,geo_marker:B.geo_marker,canvas_marker:B.canvas_marker,direction:B.direction,original_date:B.original_date})}this.dispatch(c(h));const I=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,project:n,geo_images:A,files:Object.values(f)},blocks:[n],blockers:p});return I.then(P=>{this.client.files.processPresignedUrls(P.presigned_urls),this.dispatch(r(P.geo_images))}).catch(()=>{this.dispatch(l(p))}),[h,I.then(P=>P.geo_images)]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Map image with uuid ${e.uuid} does not exist in the store`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Map image with uuid ${e} does not exist in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blocks:[e],blockers:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project:e}},n);return this.dispatch(a(c)),c}}class Eg extends E{constructor(){super(...arguments);y(this,"name","Issue Association");y(this,"url","/issue-associations");y(this,"actions",{addOne:vy,addMany:tt,setOne:Ry,setMany:My,updateOne:wy,updateMany:Ey,deleteOne:Vy,deleteMany:st,initialize:_y});y(this,"selectors",{selectById:By,selectByIds:jy})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,d=M({...e,submitted_at:l,created_by:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{associated_issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class vg extends Xe{constructor(){super(...arguments);y(this,"name","Issue Attachment");y(this,"url","/issue-attachments");y(this,"actions",{addOne:Gy,addMany:zi,setOne:Hy,setMany:Wy,updateOne:Ky,updateMany:Yy,deleteOne:Zy,deleteMany:Bi,initialize:Ny});y(this,"selectors",{selectById:Qy,selectByIds:xy})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_name:e.file.name,file_type:e.file.type,file_extension:k(e.file),created_by:e.created_by,submitted_at:e.submitted_at,issue:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue:e.issue}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Vg extends Xe{constructor(){super(...arguments);y(this,"name","Issue Comment Attachment");y(this,"url","/issue-comment-attachments");y(this,"actions",{addOne:ip,addMany:np,setOne:ap,setMany:cp,updateOne:dp,updateMany:rp,deleteOne:up,deleteMany:lp,initialize:sp});y(this,"selectors",{selectById:hp,selectByIds:mp})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_name:e.file.name,file_type:e.file.type,file_extension:k(e.file),created_by:e.created_by,submitted_at:e.submitted_at,issue_comment:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue_comment:e.issue_comment}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueCommentUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class zg extends E{constructor(){super(...arguments);y(this,"name","Issue Comment");y(this,"url","/issue-comments");y(this,"actions",{addOne:fp,addMany:Sp,setOne:Tp,setMany:Ip,updateOne:Op,updateMany:Pp,deleteOne:Fp,deleteMany:gp,initialize:Ap});y(this,"selectors",{selectById:bp,selectByIds:_p})}add(e){const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=M({...e,author:n.getState().userReducer.currentUser.id,submitted_at:new Date().toISOString()});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.issue],blocks:[l.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{setMany:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Bg extends E{constructor(){super(...arguments);y(this,"name","Issue");y(this,"url","/issues");y(this,"actions",{addOne:Ep,addMany:Li,setOne:vp,setMany:Vp,updateOne:zp,updateMany:Bp,deleteOne:jp,deleteMany:ki,initialize:wp});y(this,"selectors",{selectById:Dp,selectByIds:Up})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=n.getState(),u=new Date().toISOString(),d=((A=l.userReducer.currentUser)==null?void 0:A.id)??null,h=M({...e,submitted_at:u,created_by:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[h.project,h.issue_type,h.status],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(h.uuid)),f}),[h,p]}update(e){var p;const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const l={...r,...e};this.dispatch(n(l));const u={};for(const A of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(A in e&&e[A]!==r[A])switch(A){case $.PRIORITY:u[A]=e[A];break;case $.DUE_DATE:u[A]=e[A];break;case $.DESCRIPTION:u[A]=e[A];break;case $.TITLE:u[A]=e[A];break;case $.STATUS:{const f=e[A],I=dn(f)(c);if(!I)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[A]={name:I.name,color:I.color,uuid:I.uuid};break}case $.ASSIGNED_TO:{const f=e[A];if(f===null)u[A]=null;else{const I=Dt(f)(c);if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[A]={full_name:I.username,id:I.id}}break}}const d=M({created_by:((p=c.userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(un(d));const h=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return h.then(A=>{this.dispatch(n(A))}).catch(()=>{this.dispatch(n(r)),this.dispatch(on(d.uuid))}),[l,h]}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,l=q(e).toSorted(Tt);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=r(l)(a.getState()).toSorted(Zt);if(l.length!=u.length)throw new Error(`Attempting to bulk update ${l.length-u.length} issues that dont exist in the store`);const d=[];for(let f=0;f<l.length;f++)d.push({...u[f],...e[f]});this.dispatch(c(d));const h=Qe(e,Math.min(n??e.length,N)),p=[];let A=null;for(const f of h){const I=xe.v4(),g=q(f),P=f.map(({status:b})=>b).filter(Boolean),F=this.enqueueRequest({description:O(m.PATCH,this.name,!0),method:m.PATCH,url:`${this.url}/bulk/`,payload:{payloads:f},blockers:(A?[A]:[]).concat(g).concat(P),blocks:[I].concat(g)});p.push(F),A=I}return Promise.all(p).then(f=>{this.dispatch(c(f.flat()))}).catch(()=>{this.dispatch(c(u))}),[d,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No issue with uuid ${e} found in the store`);const d=qy(e)(l),h=$y(e)(l),p=Xy(e)(l),A=hS(e)(l);this.dispatch(a(e)),this.dispatch(Bi(q(p))),this.dispatch(hn(q(A))),this.dispatch(st(q(d))),this.dispatch(st(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(u)),this.dispatch(zi(p)),this.dispatch(ln(A)),this.dispatch(tt(d)),this.dispatch(tt(h)),f}}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l),d=Dy(e)(l),h=Uy(e)(l);this.dispatch(c(e)),this.dispatch(st(q(d))),this.dispatch(st(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(a(u)),this.dispatch(tt(d)),this.dispatch(tt(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class jg extends Xe{constructor(){super(...arguments);y(this,"name","Issue Type Attachment");y(this,"url","/issue-type-attachments");y(this,"actions",{addOne:Np,addMany:Gp,setOne:Hp,setMany:Wp,updateOne:Kp,updateMany:Yp,deleteOne:Zp,deleteMany:Jp,initialize:kp});y(this,"selectors",{selectById:Qp,selectByIds:xp})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_name:e.file.name,file_type:e.file.type,file_extension:k(e.file),created_by:e.created_by,submitted_at:e.submitted_at,issue_type:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,issue_type:e.issue_type}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.issueTypeUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class qg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields Attachment");y(this,"url","/issue-type-fields-attachments");y(this,"actions",{addOne:iA,addMany:nA,setOne:aA,setMany:cA,updateOne:dA,updateMany:rA,deleteOne:uA,deleteMany:lA,initialize:sA});y(this,"selectors",{selectById:hA,selectByIds:mA})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:g,file:P}=f,F=await this.client.files.getFilePayload(P);F.sha1 in u||(u[F.sha1]=F);const b=M({file_url:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,created_by:l,fields_revision:I,submitted_at:r,field_identifier:g});d.push(b);const v={uuid:b.uuid,file_name:P.name,file_extension:F.extension,field_identifier:g,file_sha1:F.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Dg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields");y(this,"url","/issue-type-fields");y(this,"actions",{addOne:vA,addMany:VA,setOne:zA,setMany:BA,updateOne:jA,updateMany:qA,deleteOne:DA,deleteMany:UA,initialize:EA});y(this,"selectors",{selectById:CA,selectByIds:LA})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Ug extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values Attachment");y(this,"url","/issue-type-field-values-attachments");y(this,"actions",{addOne:HA,addMany:Ji,setOne:WA,setMany:KA,updateOne:YA,updateMany:ZA,deleteOne:JA,deleteMany:Xi,initialize:GA});y(this,"selectors",{selectById:QA,selectByIds:xA})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldValuesUuid:I,fieldIdentifier:g,file:P}=f,F=await this.client.files.getFilePayload(P);F.sha1 in u||(u[F.sha1]=F);const b=M({file_url:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,created_by:l,field_values:I,submitted_at:r,field_identifier:g});d.push(b);const v={uuid:b.uuid,file_name:P.name,file_sha1:F.sha1,file_extension:F.extension,field_identifier:g,field_values:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.field_values),blocks:d.map(f=>f.uuid)});return p.then(({presigned_urls:f,attachments:I})=>{this.client.files.processPresignedUrls(f),this.dispatch(a(I))}).catch(f=>{throw this.dispatch(c(d.map(I=>I.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class $g extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values");y(this,"url","/issue-type-field-values");y(this,"actions",{addOne:fA,addMany:SA,setOne:TA,setMany:IA,updateOne:OA,updateMany:PA,deleteOne:FA,deleteMany:gA,initialize:AA});y(this,"selectors",{selectById:_A,selectByIds:MA})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.issue,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.uuid,u.fields_revision,u.issue],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=ef(e)(l);this.dispatch(a(e)),this.dispatch(Xi(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ji(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class Cg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier");y(this,"url","/issue-type-identifiers");y(this,"actions",{addOne:af,addMany:cf,setOne:df,setMany:rf,updateOne:uf,updateMany:lf,deleteOne:of,deleteMany:hf,initialize:nf});y(this,"selectors",{selectById:yf,selectByIds:pf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Lg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier Value");y(this,"url","/issue-type-identifier-values");y(this,"actions",{addOne:Tf,addMany:If,setOne:Of,setMany:Pf,updateOne:Ff,updateMany:gf,deleteOne:bf,deleteMany:_f,initialize:Sf});y(this,"selectors",{selectById:Rf,selectByIds:wf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class kg extends E{constructor(){super(...arguments);y(this,"name","Issue Type");y(this,"url","/issue-types");y(this,"actions",{addOne:zf,addMany:Bf,setOne:jf,setMany:qf,updateOne:Df,updateMany:Uf,deleteOne:$f,deleteMany:Cf,initialize:Vf});y(this,"selectors",{selectById:kf,selectByIds:Nf})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,submitted_at:d,created_by:u});this.dispatch(a(h));const p=this.enqueueRequest({method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=$p(e)(l);this.dispatch(a(e)),this.dispatch(ki(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Li(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Ng extends E{constructor(){super(...arguments);y(this,"name","Issue Type Status");y(this,"url","/issue-type-statuses");y(this,"actions",{addOne:Kf,addMany:Yf,setOne:Zf,setMany:Jf,updateOne:Xf,updateMany:Qf,deleteOne:xf,deleteMany:eS,initialize:Wf});y(this,"selectors",{selectById:dn,selectByIds:sS})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Gg extends E{constructor(){super(...arguments);y(this,"name","Issue Update");y(this,"url","/issue-updates");y(this,"actions",{addOne:un,addMany:ln,setOne:cS,setMany:dS,updateOne:rS,updateMany:uS,deleteOne:on,deleteMany:hn,initialize:aS});y(this,"selectors",{selectById:lS,selectByIds:oS})}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}const Hg=1800;function Wg(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class Kg extends NF{constructor(){super(...arguments);y(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:m.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(c){console.error("Could not renew tokens; clearing auth",c),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(zo(!1)),this.clearTokens(),this.dispatch(_()),this.dispatch(_())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const n=await this._getRenewedTokens(e);if(!n)return;console.log("Got renewed tokens"),this.setTokens(n)}catch(n){throw console.error("Could not renew tokens; clearing auth",n),this.clearAuth(),n}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const n=Date.now()/1e3;let a;try{a=OO(e).exp??n}catch{a=n}return a-n<Hg}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof C&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??rt).toString()))}}}async handleUnauthorized(e,n){const a=this.client.store.getState();if(e.url.endsWith("/token/refresh/"))throw a.authReducer.isLoggedIn&&console.warn("No signed-in user to sign out."),this.clearAuth(),new C({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(a.authReducer.isLoggedIn)await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new C({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=xe.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:m.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(Wg(a))})}}class Yg extends ut{constructor(){super(...arguments);y(this,"name","Organization Access");y(this,"url","/organization-accesses");y(this,"actions",{addOne:MS,addMany:RS,setOne:wS,setMany:ES,updateOne:vS,updateMany:VS,deleteOne:zS,deleteMany:BS,initialize:_S});y(this,"selectors",{selectById:qS,selectByIds:DS})}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l),d=Dt(u.user)(l);this.dispatch(a(u.uuid)),this.dispatch(fn(u.user));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${u.uuid}/`,blockers:[u.uuid],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(An(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Zg extends ut{constructor(){super(...arguments);y(this,"name","Organization");y(this,"url","/organizations");y(this,"actions",{addOne:GS,addMany:NS,setOne:kS,setMany:LS,updateOne:WS,updateMany:HS,deleteOne:KS,deleteMany:YS,initialize:CS});y(this,"selectors",{selectById:XS,selectByIds:QS})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(a)),a}async update(e){const{setOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(a)),a}async invite(e,n){return this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,a=await this.list({},e);return this.dispatch(n(a)),a}}class Jg extends E{constructor(){super(...arguments);y(this,"name","Project Access");y(this,"url","/project-accesses");y(this,"actions",{addOne:rT,addMany:uT,setOne:lT,setMany:oT,updateOne:hT,updateMany:mT,deleteOne:yT,deleteMany:pT,initialize:dT});y(this,"selectors",{selectById:fT,selectByIds:ST})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[l.organization_access,l.project],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(h=>{throw this.dispatch(r(l.uuid)),h}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,deleteMany:c,updateMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,u=e.map(p=>M({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(p=>z(p))},blockers:u.flatMap(p=>[p.project,p.organization_access]),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(r(p))}).catch(p=>{throw this.dispatch(c(u.map(A=>A.uuid))),p}),[u,d]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class Xg extends Xe{constructor(){super(...arguments);y(this,"name","Project Attachment");y(this,"url","/project-attachments");y(this,"actions",{addOne:OT,addMany:PT,setOne:FT,setMany:gT,updateOne:bT,updateMany:_T,deleteOne:MT,deleteMany:RT,initialize:IT});y(this,"selectors",{selectById:ET,selectByIds:vT})}getId(e){return e.uuid}buildModel(e){return M({file_url:URL.createObjectURL(e.file),file_sha1:e.file_sha1,file_name:e.file.name,file_type:e.file.type,file_extension:k(e.file),created_by:e.created_by,submitted_at:e.submitted_at,project:e.modelUuid})}buildPayload(e,n){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:n.extension,project:e.project}}async bulkAdd(e){return this._bulkAdd(e.map(n=>({modelUuid:n.projectUuid,file:n.file})))}async delete(e){return this._delete(e)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class Qg extends E{constructor(){super(...arguments);y(this,"name","Project File");y(this,"url","/project-files");y(this,"actions",{addOne:DT,addMany:UT,setOne:jT,setMany:qT,updateOne:$T,updateMany:CT,deleteOne:LT,deleteMany:kT,initialize:BT});y(this,"selectors",{selectById:YT,selectByIds:ZT})}async saveExisting(e){const{setOne:n}=this.actions;if(!e.uuid)throw new Error("You can only use this method to save existing project files. The one provided has no uuid.");const a={...e};delete a.file_url;const c=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:a,blockers:[e.uuid],blocks:[e.uuid]});return c.then(r=>{this.dispatch(n(r))}),c}saveActive(){const{store:e}=this.client,{setOne:n}=this.actions,a=e.getState(),c=a.projectFileReducer.activeProjectFileId;if(!c)throw new Error("No active project file");const r=a.projectFileReducer.instances[c];if(!r)throw new Error("No active project file");if(!r.bounds&&!r.canvas_bounds)throw new Error("Project file must either have bounds or canvas_bounds set");let l;if(typeof r.file_url=="string"&&!r.file_url.startsWith("blob:")){const h={...r};delete h.file_url,l={method:m.PATCH,url:`${this.url}/${c}/`,payload:h,blockers:[c],blocks:[c]}}else l=new Promise((h,p)=>{this.client.files.uploadFileToS3(r.file_sha1).then(([A])=>{h({method:m.POST,url:`${this.url}/`,payload:{...r,...A},blockers:[c],blocks:[c]})}).catch(p)});const d=Promise.resolve(l).then(h=>this.enqueueRequest(h));return d.then(h=>{this.dispatch(n(h))}),this.dispatch(HT),this.dispatch(GT(null)),this.dispatch(NT(!1)),[r,d]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected project file with uuid ${e} to exist in the store.`);this.dispatch(c(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class xg extends ut{constructor(){super(...arguments);y(this,"name","Project");y(this,"url","/projects");y(this,"actions",{addOne:sI,addMany:tI,setOne:eI,setMany:xT,updateOne:nI,updateMany:iI,deleteOne:aI,deleteMany:cI,initialize:QT});y(this,"selectors",{selectById:uI,selectByIds:lI})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:m.POST,url:`${this.url}/`,payload:z(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:z(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class eb extends E{constructor(){super(...arguments);y(this,"name","Team Membership");y(this,"url","/team-memberships");y(this,"actions",{addOne:yI,addMany:pI,setOne:AI,setMany:fI,updateOne:SI,updateMany:TI,deleteOne:II,deleteMany:OI,initialize:mI});y(this,"selectors",{selectById:gI,selectByIds:bI})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.team],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,u=e.map(p=>M({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(p=>z(p))},blockers:u.map(p=>p.team),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(u.map(p=>p.uuid)))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(c)),c}}class tb extends E{constructor(){super(...arguments);y(this,"name","Team");y(this,"url","/teams");y(this,"actions",{addOne:RI,addMany:wI,setOne:EI,setMany:vI,updateOne:VI,updateMany:zI,deleteOne:BI,deleteMany:jI,initialize:MI});y(this,"selectors",{selectById:DI,selectByIds:UI})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,submitted_at:new Date().toISOString(),created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:z(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class sb extends ut{constructor(){super(...arguments);y(this,"name","User");y(this,"url","/user");y(this,"actions",{addOne:An,addMany:SS,setOne:fS,setMany:AS,updateOne:IS,updateMany:TS,deleteOne:fn,deleteMany:OS,initialize:pS});y(this,"selectors",{selectById:Dt,selectByIds:gS})}async list(e,n){const{organizationUuid:a,...c}=e,r=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:m.GET,url:r,...c},n)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({organizationUuid:e},n);return this.dispatch(a(c)),c}}async function Dn(t,s,e,n,a){const c=n instanceof nt;c&&s.checkAuth!==!1&&await n.auth.prepareAuth();const r={queryParams:"",isAuthNeeded:!0},{s3url:l,payload:u,headers:d,method:h,queryParams:p,attachmentHash:A,isExternalUrl:f,isAuthNeeded:I,isResponseBlob:g}={...r,...s};let P=s.url;const F=A?await e.files.fetchCache(A):void 0;if(A&&!F)throw new Error(`Cannot upload file ${A} because it's not cached.`);!f&&!P.startsWith("http")&&(!P.startsWith("/")&&!P.startsWith("blob:")&&(P="/"+P),P=t+P);const b=j=>{if(A){if(!l)throw new Error(`No S3 URL for file ${A}`);if("warning"in l)throw new Error(`S3 URL warning for file ${A}`);if(!F)throw new Error(`No file for file ${A}`);const et=l.fields["x-amz-checksum-sha1"];if(!et)throw new Error(`No checksum for file ${A}`);return j.set("x-amz-checksum-sha1",et).field({...u,...l.fields}).attach("file",F)}return j.send(u)},B={[m.GET]:()=>g?ct.get(P.toString()).responseType("blob"):ct.get(P.toString()),[m.POST]:()=>{const j=ct.post(P.toString());return b(j)},[m.PATCH]:()=>{const j=ct.patch(P.toString());return b(j)},[m.PUT]:()=>{const j=ct.put(P.toString());return b(j)},[m.DELETE]:()=>{const j=ct.delete(P.toString());return b(j)}}[h];let V=B();const U=()=>{console.debug("aborting request:",s.url),V.abort()};if(a==null||a.addEventListener("abort",U),I&&c){const j=n.auth.getAuthHeader();V=V.set("Authorization",j)}d&&(V=V.set(d));try{return await V.query(p)}catch(j){const et=sO(j),yO=et==null?void 0:et.status;if(c&&yO===401)return await n.auth.handleUnauthorized(V,et),V.query(p);throw new C({response:et,innerError:j,discard:zn.includes(yO)})}finally{a==null||a.removeEventListener("abort",U)}}class ib{constructor(s){y(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new Gt,r={...e,uuid:e.uuid??xe.v4()};return Dn(s,r,this,n,a).then(l=>{c.resolve(l.body)}).catch(l=>{l instanceof Error?c.reject(l):c.reject(new Error((l??rt).toString()))}),c}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(c=>{if(c instanceof C)throw c;return c})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof C)throw a;return a})}_enqueueRequest(s,e,n){const a=new Gt,c={...s,BASE_URL:e,serviceName:n},r=this.store.dispatch(sT(c)),l=d=>{if(d)a.resolve(d.body);else{const h=new C({message:"Could not get a response from the server.",response:d,discard:!0});a.reject(h)}},u=d=>{d instanceof C?d.options.discard=!0:(console.error("Received an unexpected error while processing a request:",d,`
15
- Converting error to APIError and discarding.`),d=new C({message:"An error occurred while processing the request.",innerError:d,discard:!0})),a.reject(d)};return r.then(l,u),a}async performPagination(s,e,n,a,c){const r={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:l}=r,u=[];let d=await this.performRequest(s,r,a,c);for(u.push(d.results);d.next;)d=await this.performRequest(s,{url:d.next,method:l},a,c),u.push(d.results);return u}}class lt{constructor(){y(this,"graph");y(this,"requestAttemptCounter");this.graph=new PO.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new lt;for(let n=0;n<s.length;n++){const a=s[n];if(!a){console.error("Outbox item was undefined");continue}e.sneakRequest(a);for(let c=0;c<n;c++){const r=s[c];if(!r){console.error("Previous outbox item was undefined");continue}r.payload.uuid!==a.payload.uuid&&r.payload.blocks.some(l=>a.payload.blockers.includes(l))&&lt._addDependency(a.payload.uuid,r.payload.uuid,e.graph)}}return e}_addDependency(s,e){lt._addDependency(s,e,this.graph)}static _addDependency(s,e,n){if(s===e)throw new Error(`Tried to add dependency from node to itself: ${s}`);if(!n.hasNode(s))throw new Error(`Tried to add dependency from non-existent node: ${s} (to node: ${e})`);if(!n.hasNode(e))throw new Error(`Tried to add dependency to non-existent node: ${e} (from node: ${s})`);n.addDependency(s,e)}addRequest(s){if(this.graph.addNode(s.payload.uuid,s),!(s.payload.blockers.length===0||this.graph.size()===1))for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),a=new Set(n.payload.blocks);s.payload.blockers.some(c=>a.has(c))&&this._addDependency(s.payload.uuid,e)}}insertRequest(s){this.graph.addNode(s.payload.uuid,s);for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),a=new Set(s.payload.blocks);n.payload.blockers.some(c=>a.has(c))&&this._addDependency(e,s.payload.uuid)}}sneakRequest(s){this.graph.addNode(s.payload.uuid,s)}_getNextNode(){const s=this.graph.overallOrder(!0);let e=1/0,n;for(const a of s){const c=this.requestAttemptCounter[a]||0;c<e&&(e=c,n=a)}return n}peek(){const s=this._getNextNode();if(s)return this.graph.getNodeData(s)}remove(s){this.graph.removeNode(s),delete this.requestAttemptCounter[s]}pop(){const s=this.peek();return s&&this.graph.removeNode(s.payload.uuid),s}getQueue(){const s=this.graph.overallOrder().map(n=>this.graph.getNodeData(n)),e=this._getNextNode();if(e){const n=this.graph.getNodeData(e),a=s.findIndex(c=>c.payload.uuid===n.payload.uuid);a!==-1&&(s.splice(a,1),s.unshift(n))}return s}getReady(){let s=this.graph.overallOrder(!0).map(e=>this.graph.getNodeData(e));return s=s.sort((e,n)=>e.meta.offline.effect.timestamp.localeCompare(n.meta.offline.effect.timestamp)),s=s.sort((e,n)=>{const a=this.requestAttemptCounter[e.payload.uuid]||0,c=this.requestAttemptCounter[n.payload.uuid]||0;return a-c}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let iO;function nO(t){iO=t}function ot(){return iO}let aO;function cO(t){aO=t}function dO(){return aO}let Un=null;function at(){const t=ot();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Un)return Un;const s=t.getState().offline.outbox,e=lt._fromOutbox(s);return Un=e,e}const nb=(t,s)=>{const e=new s(t);return cO(e),nO(t),e};class ab{constructor(s){y(this,"_all");y(this,"_previous");this._all=[s],this._previous=s,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(s){return this._previous&&(this._previous.next=s),this._all.push(s),this._previous=s,{then:this.then,compile:this.compile}}compile(){return this._all}}class $n{constructor(){y(this,"next");this.next=null}then(s){return new ab(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!ot())throw new Error("Client store not set");const n=dO();if(!n)throw new Error("Client SDK not set");return xI(s,n)}}}class rO extends $n{async run(s){return super.run(s)}}class uO extends $n{async run(s){return super.run(s)}}const lO=new rO().then(new uO).compile();function oO(t){var s;return(s=lO[0])==null?void 0:s.run(t)}var hO=(t=>(t[t.USER_REGISTRATION=0]="USER_REGISTRATION",t[t.APPLICATION_INVITE=2]="APPLICATION_INVITE",t[t.PROJECT_INVITE=4]="PROJECT_INVITE",t[t.ORGANIZATION_INVITE=6]="ORGANIZATION_INVITE",t[t.ADD_EMAIL_DOMAIN=8]="ADD_EMAIL_DOMAIN",t[t.RESET_PASSWORD=10]="RESET_PASSWORD",t))(hO||{});i.ALL_MIDDLEWARE=lO,i.APIError=C,i.ATTACHMENT_MODEL_DEFAULT_PAGE_SIZE=GI,i.AgentService=GF,i.AssetAttachmentService=HF,i.AssetProcedureService=XF,i.AssetProcedureStepFieldValuesAttachmentService=tg,i.AssetProcedureStepFieldValuesService=sg,i.AssetProcedureStepFieldsAttachmentService=xF,i.AssetProcedureStepFieldsService=eg,i.AssetProcedureStepService=ig,i.AssetProcedureTypeAttachmentService=WF,i.AssetProcedureTypeFieldValuesAttachmentService=ZF,i.AssetProcedureTypeFieldValuesService=JF,i.AssetProcedureTypeFieldsAttachmentService=KF,i.AssetProcedureTypeFieldsService=YF,i.AssetProcedureTypeService=QF,i.AssetService=ng,i.AssetStageCompletionService=ag,i.AssetStageService=cg,i.AssetStatusType=Hn,i.AssetTypeAttachmentService=dg,i.AssetTypeFieldValuesAttachmentService=lg,i.AssetTypeFieldValuesService=og,i.AssetTypeFieldsAttachmentService=rg,i.AssetTypeFieldsService=ug,i.AssetTypeIdentifierService=hg,i.AssetTypeIdentifierValueService=mg,i.AssetTypeService=yg,i.AssetTypeStatusService=pg,i.AttachmentModel=Wn,i.BaseApiService=nt,i.BaseModelApiService=ut,i.BaseOfflineAttachmentModelService=Xe,i.BaseOfflineModelApiService=E,i.BaseSDK=ib,i.COMMON_AUTO_FIELDS=ea,i.DEFAULT_ISSUE_PRIORITY=FO,i.DEFAULT_PAGE_SIZE=NI,i.DISCARD_HTTP_STATUSES=zn,i.DeferredPromise=Gt,i.DocumentAttachmentService=Ag,i.DocumentService=fg,i.EMPTY_ARRAY=kn,i.EMPTY_OBJECT=Nn,i.EmailDomainsService=Sg,i.EmailVerificationService=Tg,i.FileService=Og,i.FormIdentifierService=Pg,i.FormIdentifierValueService=Fg,i.FormRevisionAttachmentService=gg,i.FormRevisionService=bg,i.FormService=_g,i.FormSubmissionAttachmentService=Mg,i.FormSubmissionService=Rg,i.GeoImageService=wg,i.HttpMethod=m,i.IssueAssociationService=Eg,i.IssueAttachmentService=vg,i.IssueCommentAttachmentService=Vg,i.IssueCommentService=zg,i.IssuePriority=Nt,i.IssueService=Bg,i.IssueStatusType=Kn,i.IssueTypeAttachmentService=jg,i.IssueTypeFieldValuesAttachmentService=Ug,i.IssueTypeFieldValuesService=$g,i.IssueTypeFieldsAttachmentService=qg,i.IssueTypeFieldsService=Dg,i.IssueTypeIdentifierService=Cg,i.IssueTypeIdentifierValueService=Lg,i.IssueTypeService=kg,i.IssueTypeStatusService=Ng,i.IssueUpdateChange=$,i.IssueUpdateService=Gg,i.JWTService=Kg,i.MAX_SERVICE_BATCH_SIZE=N,i.OUTBOX_RETRY_DELAY=Yn,i.OfflineAnalyticsMiddleware=rO,i.OfflineMiddleware=$n,i.OrganizationAccessLevel=Gn,i.OrganizationAccessService=Yg,i.OrganizationService=Zg,i.OutboxCoordinator=lt,i.ProjectAccessService=Jg,i.ProjectAttachmentService=Xg,i.ProjectFileService=Qg,i.ProjectService=xg,i.RESET_ORGANIZATION_STATE=w,i.RESET_PROJECT_STATE=D,i.RESET_STATE=_,i.RateLimitingMiddleware=uO,i.SelectorBuilder=KO,i.TeamMembershipService=eb,i.TeamService=tb,i.UNKNOWN_ERROR_MESSAGE=rt,i.UserService=sb,i.VERSION_REDUCER_KEY=ht,i.VerificationCodeType=hO,i._setLatestRetryTime=nT,i.addAsset=Er,i.addAssetAttachment=pa,i.addAssetAttachments=xt,i.addAssetProcedure=Nc,i.addAssetProcedureStep=Sr,i.addAssetProcedureStepFieldValues=sr,i.addAssetProcedureStepFieldValuesAttachment=Nd,i.addAssetProcedureStepFieldValuesAttachments=Ps,i.addAssetProcedureStepFieldValuesMany=ir,i.addAssetProcedureStepFields=Ed,i.addAssetProcedureStepFieldsAttachment=Ad,i.addAssetProcedureStepFieldsAttachments=fd,i.addAssetProcedureStepFieldsMany=vd,i.addAssetProcedureSteps=Tr,i.addAssetProcedureType=sd,i.addAssetProcedureTypeAttachment=Ra,i.addAssetProcedureTypeAttachments=wa,i.addAssetProcedureTypeFieldValues=wc,i.addAssetProcedureTypeFieldValuesAttachment=Ac,i.addAssetProcedureTypeFieldValuesAttachments=rs,i.addAssetProcedureTypeFieldValuesMany=Ec,i.addAssetProcedureTypeFields=sc,i.addAssetProcedureTypeFieldsAttachment=ka,i.addAssetProcedureTypeFieldsAttachments=Na,i.addAssetProcedureTypeFieldsMany=ic,i.addAssetProcedureTypes=id,i.addAssetProcedures=ms,i.addAssetStage=cu,i.addAssetStageCompletion=Nr,i.addAssetStageCompletions=Gr,i.addAssetStages=du,i.addAssetType=ro,i.addAssetTypeAttachment=fu,i.addAssetTypeAttachments=qs,i.addAssetTypeFieldValues=fl,i.addAssetTypeFieldValuesAttachment=nl,i.addAssetTypeFieldValuesAttachments=Ns,i.addAssetTypeFieldValuesMany=Sl,i.addAssetTypeFields=Gu,i.addAssetTypeFieldsAttachment=Eu,i.addAssetTypeFieldsAttachments=vu,i.addAssetTypeFieldsMany=Hu,i.addAssetTypeIdentifier=vl,i.addAssetTypeIdentifierValue=Hl,i.addAssetTypeIdentifierValues=Wl,i.addAssetTypeIdentifiers=Vl,i.addAssetTypeStatus=Io,i.addAssetTypeStatuses=Oo,i.addAssetTypes=uo,i.addAssets=ws,i.addConversation=ua,i.addConversations=YO,i.addDocument=Xo,i.addDocumentAttachment=Do,i.addDocumentAttachments=Uo,i.addDocuments=Qo,i.addEmailDomain=oh,i.addEmailDomains=hh,i.addForm=Rm,i.addFormIdentifier=Eh,i.addFormIdentifierValue=Gh,i.addFormIdentifierValues=Hh,i.addFormIdentifiers=vh,i.addFormRevision=hi,i.addFormRevisionAttachment=nm,i.addFormRevisionAttachments=am,i.addFormRevisions=mi,i.addFormSubmission=sy,i.addFormSubmissionAttachment=km,i.addFormSubmissionAttachments=Ii,i.addFormSubmissions=_i,i.addForms=wm,i.addGeoImage=py,i.addGeoImages=Ay,i.addIssue=Ep,i.addIssueAssociation=vy,i.addIssueAssociations=tt,i.addIssueAttachment=Gy,i.addIssueAttachments=zi,i.addIssueComment=fp,i.addIssueCommentAttachment=ip,i.addIssueCommentAttachments=np,i.addIssueComments=Sp,i.addIssueType=zf,i.addIssueTypeAttachment=Np,i.addIssueTypeAttachments=Gp,i.addIssueTypeFieldValues=fA,i.addIssueTypeFieldValuesAttachment=HA,i.addIssueTypeFieldValuesAttachments=Ji,i.addIssueTypeFieldValuesMany=SA,i.addIssueTypeFields=vA,i.addIssueTypeFieldsAttachment=iA,i.addIssueTypeFieldsAttachments=nA,i.addIssueTypeFieldsMany=VA,i.addIssueTypeIdentifier=af,i.addIssueTypeIdentifierValue=Tf,i.addIssueTypeIdentifierValues=If,i.addIssueTypeIdentifiers=cf,i.addIssueTypeStatus=Kf,i.addIssueTypeStatuses=Yf,i.addIssueTypes=Bf,i.addIssueUpdate=un,i.addIssueUpdates=ln,i.addIssues=Li,i.addOrganization=GS,i.addOrganizationAccess=MS,i.addOrganizationAccesses=RS,i.addOrganizations=NS,i.addProject=sI,i.addProjectAccess=rT,i.addProjectAccesses=uT,i.addProjectAttachment=OT,i.addProjectAttachments=PT,i.addProjectFile=DT,i.addProjectFiles=UT,i.addProjects=tI,i.addTeam=RI,i.addTeamMembership=yI,i.addTeamMemberships=pI,i.addTeams=wI,i.addUser=An,i.addUsers=SS,i.agentsReducer=ha,i.agentsSlice=Jt,i.areArraysEqual=MO,i.assetAttachmentReducer=ba,i.assetAttachmentSlice=Qt,i.assetProcedureReducer=Zc,i.assetProcedureSlice=hs,i.assetProcedureStepFieldValuesAttachmentReducer=xd,i.assetProcedureStepFieldValuesAttachmentSlice=Os,i.assetProcedureStepFieldValuesReducer=mr,i.assetProcedureStepFieldValuesSlice=bs,i.assetProcedureStepFieldsAttachmentReducer=Md,i.assetProcedureStepFieldsAttachmentSlice=fs,i.assetProcedureStepFieldsReducer=Cd,i.assetProcedureStepFieldsSlice=Ts,i.assetProcedureStepReducer=gr,i.assetProcedureStepSlice=_s,i.assetProcedureTypeAttachmentReducer=qa,i.assetProcedureTypeAttachmentSlice=ss,i.assetProcedureTypeFieldValuesAttachmentReducer=Pc,i.assetProcedureTypeFieldValuesAttachmentSlice=ds,i.assetProcedureTypeFieldValuesReducer=Dc,i.assetProcedureTypeFieldValuesSlice=os,i.assetProcedureTypeFieldsAttachmentReducer=Ja,i.assetProcedureTypeFieldsAttachmentSlice=ns,i.assetProcedureTypeFieldsReducer=lc,i.assetProcedureTypeFieldsSlice=cs,i.assetProcedureTypeReducer=ld,i.assetProcedureTypeSlice=ps,i.assetReducer=Cr,i.assetSlice=Rs,i.assetStageCompletionReducer=Xr,i.assetStageCompletionSlice=vs,i.assetStageReducer=hu,i.assetStageSlice=Vs,i.assetTypeAttachmentReducer=Mu,i.assetTypeAttachmentSlice=js,i.assetTypeFieldValuesAttachmentReducer=yl,i.assetTypeFieldValuesAttachmentSlice=ks,i.assetTypeFieldValuesReducer=Rl,i.assetTypeFieldValuesSlice=Ws,i.assetTypeFieldsAttachmentReducer=Lu,i.assetTypeFieldsAttachmentSlice=$s,i.assetTypeFieldsReducer=tl,i.assetTypeFieldsSlice=Ls,i.assetTypeIdentifierReducer=kl,i.assetTypeIdentifierSlice=Ks,i.assetTypeIdentifierValueReducer=so,i.assetTypeIdentifierValueSlice=Zs,i.assetTypeReducer=fo,i.assetTypeSlice=Js,i.assetTypeStatusReducer=vo,i.assetTypeStatusSlice=Qs,i.assetTypeStatusSortFn=ia,i.authReducer=Bo,i.authSlice=Rt,i.baseReducer=wF,i.baseReducers=Vn,i.blobToBase64=qO,i.clearTokens=VP,i.constructUploadedFilePayloads=jO,i.createModelAdapter=R,i.createOfflineAction=eT,i.createPayload=z,i.createSelectionAdapter=gO,i.deleteAsset=zr,i.deleteAssetAttachment=Ia,i.deleteAssetAttachments=es,i.deleteAssetProcedure=Wc,i.deleteAssetProcedureStep=Pr,i.deleteAssetProcedureStepFieldValues=rr,i.deleteAssetProcedureStepFieldValuesAttachment=Yd,i.deleteAssetProcedureStepFieldValuesAttachments=Fs,i.deleteAssetProcedureStepFieldValuesMany=ur,i.deleteAssetProcedureStepFields=qd,i.deleteAssetProcedureStepFieldsAttachment=Pd,i.deleteAssetProcedureStepFieldsAttachments=Fd,i.deleteAssetProcedureStepFieldsMany=Dd,i.deleteAssetProcedureSteps=Fr,i.deleteAssetProcedureType=cd,i.deleteAssetProcedureTypeAttachment=Ba,i.deleteAssetProcedureTypeAttachments=ja,i.deleteAssetProcedureTypeFieldValues=jc,i.deleteAssetProcedureTypeFieldValuesAttachment=Oc,i.deleteAssetProcedureTypeFieldValuesAttachments=us,i.deleteAssetProcedureTypeFieldValuesMany=qc,i.deleteAssetProcedureTypeFields=rc,i.deleteAssetProcedureTypeFieldsAttachment=Ya,i.deleteAssetProcedureTypeFieldsAttachments=Za,i.deleteAssetProcedureTypeFieldsMany=uc,i.deleteAssetProcedureTypes=dd,i.deleteAssetProcedures=ys,i.deleteAssetStage=lu,i.deleteAssetStageCompletion=Zr,i.deleteAssetStageCompletions=Jr,i.deleteAssetStages=ou,i.deleteAssetType=ho,i.deleteAssetTypeAttachment=Pu,i.deleteAssetTypeAttachments=Ds,i.deleteAssetTypeFieldValues=Fl,i.deleteAssetTypeFieldValuesAttachment=ul,i.deleteAssetTypeFieldValuesAttachments=Gs,i.deleteAssetTypeFieldValuesMany=gl,i.deleteAssetTypeFields=Ju,i.deleteAssetTypeFieldsAttachment=qu,i.deleteAssetTypeFieldsAttachments=Du,i.deleteAssetTypeFieldsMany=Xu,i.deleteAssetTypeIdentifier=Dl,i.deleteAssetTypeIdentifierValue=Xl,i.deleteAssetTypeIdentifierValues=Ql,i.deleteAssetTypeIdentifiers=Ul,i.deleteAssetTypeStatus=_o,i.deleteAssetTypeStatuses=Mo,i.deleteAssetTypes=mo,i.deleteAssets=Es,i.deleteConversation=XO,i.deleteConversations=QO,i.deleteDocument=ih,i.deleteDocumentAttachment=No,i.deleteDocumentAttachments=Go,i.deleteDocuments=nh,i.deleteEmailDomain=fh,i.deleteEmailDomains=Sh,i.deleteForm=Bm,i.deleteFormIdentifier=qh,i.deleteFormIdentifierValue=Jh,i.deleteFormIdentifierValues=Xh,i.deleteFormIdentifiers=Dh,i.deleteFormRevision=yi,i.deleteFormRevisionAttachment=lm,i.deleteFormRevisionAttachments=om,i.deleteFormRevisions=pi,i.deleteFormSubmission=ay,i.deleteFormSubmissionAttachment=Km,i.deleteFormSubmissionAttachments=Oi,i.deleteFormSubmissions=Mi,i.deleteForms=jm,i.deleteGeoImage=Ty,i.deleteGeoImages=Iy,i.deleteIssue=jp,i.deleteIssueAssociation=Vy,i.deleteIssueAssociations=st,i.deleteIssueAttachment=Zy,i.deleteIssueAttachments=Bi,i.deleteIssueComment=Fp,i.deleteIssueCommentAttachment=up,i.deleteIssueCommentAttachments=lp,i.deleteIssueComments=gp,i.deleteIssueType=$f,i.deleteIssueTypeAttachment=Zp,i.deleteIssueTypeAttachments=Jp,i.deleteIssueTypeFieldValues=FA,i.deleteIssueTypeFieldValuesAttachment=JA,i.deleteIssueTypeFieldValuesAttachments=Xi,i.deleteIssueTypeFieldValuesMany=gA,i.deleteIssueTypeFields=DA,i.deleteIssueTypeFieldsAttachment=uA,i.deleteIssueTypeFieldsAttachments=lA,i.deleteIssueTypeFieldsMany=UA,i.deleteIssueTypeIdentifier=of,i.deleteIssueTypeIdentifierValue=bf,i.deleteIssueTypeIdentifierValues=_f,i.deleteIssueTypeIdentifiers=hf,i.deleteIssueTypeStatus=xf,i.deleteIssueTypeStatuses=eS,i.deleteIssueTypes=Cf,i.deleteIssueUpdate=on,i.deleteIssueUpdates=hn,i.deleteIssues=ki,i.deleteOrganization=KS,i.deleteOrganizationAccess=zS,i.deleteOrganizationAccesses=BS,i.deleteOrganizations=YS,i.deleteProject=aI,i.deleteProjectAccess=yT,i.deleteProjectAccesses=pT,i.deleteProjectAttachment=MT,i.deleteProjectAttachments=RT,i.deleteProjectFile=LT,i.deleteProjectFiles=kT,i.deleteProjects=cI,i.deleteTeam=BI,i.deleteTeamMembership=II,i.deleteTeamMemberships=OI,i.deleteTeams=jI,i.deleteUser=fn,i.deleteUsers=OS,i.dequeue=QI,i.discard=eO,i.documentAttachmentReducer=Yo,i.documentAttachmentSlice=ei,i.documentSlice=si,i.documentsReducer=ah,i.downloadFile=DO,i.downloadInMemoryFile=BO,i.emailDomainsReducer=Ph,i.emailDomainsSlice=ni,i.emailRegex=GO,i.enqueue=XI,i.enqueueRequest=sT,i.extractResponseFromError=sO,i.fallbackToEmptyArray=T,i.fallbackToEmptyObject=St,i.fileReducer=Mh,i.fileSlice=ci,i.fileToBlob=Xn,i.formIdentifierReducer=Lh,i.formIdentifierSlice=di,i.formIdentifierValueReducer=tm,i.formIdentifierValueSlice=ui,i.formReducer=qm,i.formRevisionAttachmentReducer=pm,i.formRevisionAttachmentSlice=li,i.formRevisionReducer=bm,i.formRevisionsSlice=oi,i.formSlice=fi,i.formSubmissionAttachmentReducer=Xm,i.formSubmissionAttachmentSlice=Ti,i.formSubmissionReducer=ly,i.formSubmissionSlice=bi,i.geoImageReducer=gy,i.geoImageSlice=wi,i.getAssetProcedureStepSubTree=sa,i.getAssetProcedureStepTrees=HO,i.getClientSDK=dO,i.getClientStore=ot,i.getDocumentSubTree=ca,i.getDocumentTrees=WO,i.getFileExtension=k,i.getFileIdentifier=zO,i.getFileS3Key=Yt,i.getLocalDateString=Zn,i.getLocalRelativeDateString=vO,i.getOutboxCoordinator=at,i.getRenamedFile=Jn,i.getRequestDescription=O,i.hashFile=dt,i.initSDK=nb,i.initializeAssetAttachments=ya,i.initializeAssetProcedureStepFieldValues=tr,i.initializeAssetProcedureStepFieldValuesAttachments=kd,i.initializeAssetProcedureStepFields=wd,i.initializeAssetProcedureStepFieldsAttachments=pd,i.initializeAssetProcedureSteps=pr,i.initializeAssetProcedureTypeAttachments=Ma,i.initializeAssetProcedureTypeFieldValues=Rc,i.initializeAssetProcedureTypeFieldValuesAttachments=pc,i.initializeAssetProcedureTypeFields=tc,i.initializeAssetProcedureTypeFieldsAttachments=La,i.initializeAssetProcedureTypes=td,i.initializeAssetProcedures=kc,i.initializeAssetStageCompletions=kr,i.initializeAssetStages=iu,i.initializeAssetTypeAttachments=Au,i.initializeAssetTypeFieldValues=Al,i.initializeAssetTypeFieldValuesAttachments=il,i.initializeAssetTypeFields=Nu,i.initializeAssetTypeFieldsAttachments=wu,i.initializeAssetTypeIdentifierValues=Gl,i.initializeAssetTypeIdentifiers=El,i.initializeAssetTypeStatuses=To,i.initializeAssetTypes=no,i.initializeAssets=wr,i.initializeConversations=ra,i.initializeDocumentAttachments=qo,i.initializeDocuments=Jo,i.initializeEmailDomains=lh,i.initializeFormIdentifierValues=Nh,i.initializeFormIdentifiers=wh,i.initializeFormRevisionAttachments=im,i.initializeFormRevisions=fm,i.initializeFormSubmissionAttachments=Lm,i.initializeFormSubmissions=xm,i.initializeForms=Mm,i.initializeGeoImages=hy,i.initializeIssueAssociations=_y,i.initializeIssueAttachments=Ny,i.initializeIssueCommentAttachments=sp,i.initializeIssueComments=Ap,i.initializeIssueTypeAttachments=kp,i.initializeIssueTypeFieldValues=AA,i.initializeIssueTypeFieldValuesAttachments=GA,i.initializeIssueTypeFields=EA,i.initializeIssueTypeFieldsAttachments=sA,i.initializeIssueTypeIdentifierValues=Sf,i.initializeIssueTypeIdentifiers=nf,i.initializeIssueTypeStatuses=Wf,i.initializeIssueTypes=Vf,i.initializeIssueUpdates=aS,i.initializeIssues=wp,i.initializeOrganizationAccesses=_S,i.initializeOrganizations=CS,i.initializeProjectAccesses=dT,i.initializeProjectAttachments=IT,i.initializeProjectFiles=BT,i.initializeProjects=QT,i.initializeTeamMemberships=mI,i.initializeTeams=MI,i.initializeUsers=pS,i.isObjectUrl=Qn,i.isToday=EO,i.issueAssociationReducer=Ly,i.issueAssociationSlice=vi,i.issueAttachmentReducer=ep,i.issueAttachmentSlice=Vi,i.issueCommentAttachmentReducer=yp,i.issueCommentAttachmentSlice=qi,i.issueCommentReducer=Mp,i.issueCommentSlice=Ui,i.issueReducer=Cp,i.issueSlice=Ci,i.issueTypeAttachmentReducer=eA,i.issueTypeAttachmentSlice=Ni,i.issueTypeFieldValuesAttachmentReducer=tf,i.issueTypeFieldValuesAttachmentSlice=Zi,i.issueTypeFieldValuesReducer=RA,i.issueTypeFieldValuesSlice=Ki,i.issueTypeFieldsAttachmentReducer=yA,i.issueTypeFieldsAttachmentSlice=Hi,i.issueTypeFieldsReducer=kA,i.issueTypeFieldsSlice=Yi,i.issueTypeIdentifierReducer=Af,i.issueTypeIdentifierSlice=xi,i.issueTypeIdentifierValueReducer=Ef,i.issueTypeIdentifierValueSlice=tn,i.issueTypeReducer=Gf,i.issueTypeSlice=sn,i.issueTypeStatusReducer=iS,i.issueTypeStatusSlice=an,i.issueTypeStatusSortFn=na,i.issueUpdateReducer=mS,i.issueUpdateSlice=rn,i.logOnlyOnce=UO,i.markAsDeleted=iT,i.markForDeletion=mF,i.memoize=Wt,i.organizationAccessReducer=jS,i.organizationAccessSlice=Tn,i.organizationReducer=xS,i.organizationSlice=In,i.outboxReducer=aT,i.outboxSlice=On,i.overmapEnhancer=UF,i.overmapReducer=EF,i.overmapReducers=kI,i.performRequest=Dn,i.performRequestFromAction=xI,i.projectAccessReducer=AT,i.projectAccessSlice=Pn,i.projectAttachmentReducer=VT,i.projectAttachmentSlice=gn,i.projectFileReducer=JT,i.projectFileSlice=_n,i.projectReducer=dI,i.projectSlice=Mn,i.rehydratedReducer=oI,i.rehydratedSlice=Rn,i.restructureSelectorWithArgs=S,i.runMiddleware=oO,i.saveActiveProjectFileBounds=HT,i.selectAccessToken=zP,i.selectAccessesByUserOfProject=pF,i.selectAccessibleProjects=IF,i.selectActiveOrganizationAccess=uF,i.selectActiveProjectFileId=SF,i.selectAllDocumentAttachments=ti,i.selectAssetAttachmentById=Pa,i.selectAssetAttachmentMapping=Oa,i.selectAssetAttachments=ts,i.selectAssetAttachmentsByIds=Fa,i.selectAssetById=Ur,i.selectAssetProcedureById=Qc,i.selectAssetProcedureStepById=br,i.selectAssetProcedureStepFieldValues=mt,i.selectAssetProcedureStepFieldValuesAttachmentById=Jd,i.selectAssetProcedureStepFieldValuesAttachments=gs,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Xd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=Zd,i.selectAssetProcedureStepFieldValuesById=or,i.selectAssetProcedureStepFieldValuesByIds=hr,i.selectAssetProcedureStepFieldValuesMapping=lr,i.selectAssetProcedureStepFieldValuesOfAsset=mP,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=yP,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=pP,i.selectAssetProcedureStepFields=Ft,i.selectAssetProcedureStepFieldsAttachmentById=bd,i.selectAssetProcedureStepFieldsAttachments=Ss,i.selectAssetProcedureStepFieldsAttachmentsByIds=_d,i.selectAssetProcedureStepFieldsAttachmentsMapping=gd,i.selectAssetProcedureStepFieldsById=Ud,i.selectAssetProcedureStepFieldsByIds=$d,i.selectAssetProcedureStepFieldsMapping=Is,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=lP,i.selectAssetProcedureStepMapping=gt,i.selectAssetProcedureSteps=Ms,i.selectAssetProcedureStepsByIds=_r,i.selectAssetProcedureStepsMappingOfAssetProcedureType=AP,i.selectAssetProcedureStepsOfAssetProcedureType=fP,i.selectAssetProcedureTypeAttachmentById=Ua,i.selectAssetProcedureTypeAttachmentMapping=Da,i.selectAssetProcedureTypeAttachments=is,i.selectAssetProcedureTypeAttachmentsByIds=$a,i.selectAssetProcedureTypeById=hd,i.selectAssetProcedureTypeFieldValues=Ot,i.selectAssetProcedureTypeFieldValuesAttachmentById=gc,i.selectAssetProcedureTypeFieldValuesAttachments=ls,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=bc,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=Fc,i.selectAssetProcedureTypeFieldValuesById=$c,i.selectAssetProcedureTypeFieldValuesByIds=Cc,i.selectAssetProcedureTypeFieldValuesMapping=Uc,i.selectAssetProcedureTypeFieldValuesOfAsset=aP,i.selectAssetProcedureTypeFields=It,i.selectAssetProcedureTypeFieldsAttachmentById=Qa,i.selectAssetProcedureTypeFieldsAttachments=as,i.selectAssetProcedureTypeFieldsAttachmentsByIds=xa,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Xa,i.selectAssetProcedureTypeFieldsById=hc,i.selectAssetProcedureTypeFieldsByIds=mc,i.selectAssetProcedureTypeFieldsMapping=oc,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=iP,i.selectAssetProcedureTypes=As,i.selectAssetProcedureTypesByIds=md,i.selectAssetProcedureTypesMapping=od,i.selectAssetProcedureTypesOfOrganization=rP,i.selectAssetProcedures=Pt,i.selectAssetProceduresByIds=xc,i.selectAssetProceduresMapping=Jc,i.selectAssetProceduresOfAssetProcedureType=Xc,i.selectAssetProceduresOfAssetType=dP,i.selectAssetStageById=mu,i.selectAssetStageCompletionById=eu,i.selectAssetStageCompletionMapping=Qr,i.selectAssetStageCompletions=xr,i.selectAssetStageCompletionsByIds=tu,i.selectAssetStages=Bs,i.selectAssetStagesByIds=yu,i.selectAssetStagesMappingOfAssetProcedureType=TP,i.selectAssetStagesOfAssetProcedureType=IP,i.selectAssetTypeAttachmentById=gu,i.selectAssetTypeAttachmentMapping=Fu,i.selectAssetTypeAttachments=Us,i.selectAssetTypeAttachmentsByIds=bu,i.selectAssetTypeById=po,i.selectAssetTypeFieldValues=_t,i.selectAssetTypeFieldValuesAttachmentById=ol,i.selectAssetTypeFieldValuesAttachments=Hs,i.selectAssetTypeFieldValuesAttachmentsByIds=hl,i.selectAssetTypeFieldValuesAttachmentsMapping=ll,i.selectAssetTypeFieldValuesById=_l,i.selectAssetTypeFieldValuesByIds=Ml,i.selectAssetTypeFieldValuesMapping=bl,i.selectAssetTypeFieldValuesOfAsset=gP,i.selectAssetTypeFields=yt,i.selectAssetTypeFieldsAttachmentById=$u,i.selectAssetTypeFieldsAttachments=Cs,i.selectAssetTypeFieldsAttachmentsByIds=Cu,i.selectAssetTypeFieldsAttachmentsMapping=Uu,i.selectAssetTypeFieldsById=xu,i.selectAssetTypeFieldsByIds=el,i.selectAssetTypeFieldsMapping=Qu,i.selectAssetTypeFieldsOfAssetType=PP,i.selectAssetTypeIdentifierById=Cl,i.selectAssetTypeIdentifierMapping=$l,i.selectAssetTypeIdentifierValueById=eo,i.selectAssetTypeIdentifierValueMapping=xl,i.selectAssetTypeIdentifierValues=Mt,i.selectAssetTypeIdentifierValuesByIds=to,i.selectAssetTypeIdentifierValuesOfAsset=MP,i.selectAssetTypeIdentifierValuesOfIdentifier=RP,i.selectAssetTypeIdentifiers=Ys,i.selectAssetTypeIdentifiersByIds=Ll,i.selectAssetTypeIdentifiersOfAssetType=_P,i.selectAssetTypeStatusById=wo,i.selectAssetTypeStatusMapping=Ro,i.selectAssetTypeStatuses=xs,i.selectAssetTypeStatusesByIds=Eo,i.selectAssetTypeStatusesOfAssetType=EP,i.selectAssetTypeValuesOfAssetType=bP,i.selectAssetTypes=Xs,i.selectAssetTypesByIds=Ao,i.selectAssetTypesMapping=yo,i.selectAssetTypesOfOrganization=wP,i.selectAssets=bt,i.selectAssetsByIds=$r,i.selectAssetsMapping=qr,i.selectAssetsOfAssetType=Dr,i.selectAssetsOfProject=SP,i.selectAttachmentsOfAsset=ga,i.selectAttachmentsOfAssetProcedureStepFieldValues=Qd,i.selectAttachmentsOfAssetProcedureStepFields=uP,i.selectAttachmentsOfAssetProcedureType=tP,i.selectAttachmentsOfAssetProcedureTypeFieldValues=_c,i.selectAttachmentsOfAssetProcedureTypeFields=sP,i.selectAttachmentsOfAssetType=_u,i.selectAttachmentsOfAssetTypeFieldValues=ml,i.selectAttachmentsOfAssetTypeFields=OP,i.selectAttachmentsOfDocument=jP,i.selectAttachmentsOfFormRevision=NP,i.selectAttachmentsOfFormSubmission=Jm,i.selectAttachmentsOfIssue=Xy,i.selectAttachmentsOfIssueComment=KP,i.selectAttachmentsOfIssueType=JP,i.selectAttachmentsOfIssueTypeFieldValues=ef,i.selectAttachmentsOfIssueTypeFields=XP,i.selectAttachmentsOfProject=fF,i.selectCommentsOfIssue=YP,i.selectConversation=eP,i.selectConversationMapping=Xt,i.selectConversations=xO,i.selectCurrentUser=FS,i.selectDeletedRequests=oF,i.selectDescendantsOfAssetProcedureStep=Mr,i.selectDescendantsOfDocument=rh,i.selectDocumentAttachmentById=Wo,i.selectDocumentAttachmentMapping=Ho,i.selectDocumentAttachmentsByIds=Ko,i.selectDocumentById=ch,i.selectDocuments=wt,i.selectDocumentsByIds=dh,i.selectDocumentsMapping=ii,i.selectEmailDomainById=Ih,i.selectEmailDomains=ai,i.selectEmailDomainsAsMapping=Th,i.selectEmailDomainsByIds=Oh,i.selectEmailDomainsOfOrganization=UP,i.selectFieldValuesOfAssetProcedure=cP,i.selectFormById=Um,i.selectFormIdentifierById=$h,i.selectFormIdentifierMapping=Uh,i.selectFormIdentifierValueById=xh,i.selectFormIdentifierValueMapping=Qh,i.selectFormIdentifierValues=Et,i.selectFormIdentifierValuesByIds=em,i.selectFormIdentifierValuesOfFormSubmission=LP,i.selectFormIdentifierValuesOfIdentifier=kP,i.selectFormIdentifiers=ri,i.selectFormIdentifiersByIds=Ch,i.selectFormIdentifiersOfForm=CP,i.selectFormMapping=Dm,i.selectFormRevisionAttachmentById=mm,i.selectFormRevisionAttachments=hm,i.selectFormRevisionAttachmentsByIds=ym,i.selectFormRevisionAttachmentsMapping=vt,i.selectFormRevisionById=Pm,i.selectFormRevisionMapping=Ai,i.selectFormRevisions=Vt,i.selectFormRevisionsByIds=Fm,i.selectFormRevisionsOfForm=gm,i.selectFormSubmissionAttachemntsByIds=gi,i.selectFormSubmissionAttachmentById=Ym,i.selectFormSubmissionAttachments=Fi,i.selectFormSubmissionAttachmentsByIds=Zm,i.selectFormSubmissionAttachmentsMapping=Pi,i.selectFormSubmissionById=dy,i.selectFormSubmissions=cy,i.selectFormSubmissionsByIds=ry,i.selectFormSubmissionsMapping=Ri,i.selectFormSubmissionsOfForm=uy,i.selectForms=Si,i.selectFormsByIds=$m,i.selectFormsOfOrganization=HP,i.selectGeoImageById=Py,i.selectGeoImageMapping=Oy,i.selectGeoImages=Ei,i.selectGeoImagesByIds=Fy,i.selectGeoImagesOfProject=WP,i.selectIsImportingProjectFile=TF,i.selectIsLoggedIn=BP,i.selectIssueAssociationById=By,i.selectIssueAssociationMapping=zy,i.selectIssueAssociations=it,i.selectIssueAssociationsByIds=jy,i.selectIssueAssociationsOfAsset=Cy,i.selectIssueAssociationsOfIssue=$y,i.selectIssueAssociationsOfIssues=Uy,i.selectIssueAssociationsToIssue=qy,i.selectIssueAssociationsToIssues=Dy,i.selectIssueAttachmentById=Qy,i.selectIssueAttachmentMapping=Jy,i.selectIssueAttachments=ji,i.selectIssueAttachmentsByIds=xy,i.selectIssueById=Dp,i.selectIssueCommentAttachmentById=hp,i.selectIssueCommentAttachmentMapping=op,i.selectIssueCommentAttachments=Di,i.selectIssueCommentAttachmentsByIds=mp,i.selectIssueCommentById=bp,i.selectIssueCommentMapping=$i,i.selectIssueCommentsByIds=_p,i.selectIssueMapping=qp,i.selectIssueTypeAttachmentById=Qp,i.selectIssueTypeAttachmentMapping=Xp,i.selectIssueTypeAttachments=Gi,i.selectIssueTypeAttachmentsByIds=xp,i.selectIssueTypeById=kf,i.selectIssueTypeFieldValues=Bt,i.selectIssueTypeFieldValuesAttachmentById=QA,i.selectIssueTypeFieldValuesAttachments=Qi,i.selectIssueTypeFieldValuesAttachmentsByIds=xA,i.selectIssueTypeFieldValuesAttachmentsMapping=XA,i.selectIssueTypeFieldValuesById=_A,i.selectIssueTypeFieldValuesByIds=MA,i.selectIssueTypeFieldValuesMapping=bA,i.selectIssueTypeFieldValuesOfIssue=QP,i.selectIssueTypeFields=pt,i.selectIssueTypeFieldsAttachmentById=hA,i.selectIssueTypeFieldsAttachments=Wi,i.selectIssueTypeFieldsAttachmentsByIds=mA,i.selectIssueTypeFieldsAttachmentsMapping=oA,i.selectIssueTypeFieldsById=CA,i.selectIssueTypeFieldsByIds=LA,i.selectIssueTypeFieldsMapping=$A,i.selectIssueTypeFieldsOfIssueType=xP,i.selectIssueTypeIdentifierById=yf,i.selectIssueTypeIdentifierMapping=mf,i.selectIssueTypeIdentifierValueById=Rf,i.selectIssueTypeIdentifierValueMapping=Mf,i.selectIssueTypeIdentifierValues=jt,i.selectIssueTypeIdentifierValuesByIds=wf,i.selectIssueTypeIdentifierValuesOfIdentifier=nF,i.selectIssueTypeIdentifierValuesOfIssue=iF,i.selectIssueTypeIdentifiers=en,i.selectIssueTypeIdentifiersByIds=pf,i.selectIssueTypeIdentifiersOfIssueType=sF,i.selectIssueTypeMapping=Lf,i.selectIssueTypeStatusById=dn,i.selectIssueTypeStatusMapping=tS,i.selectIssueTypeStatuses=cn,i.selectIssueTypeStatusesByIds=sS,i.selectIssueTypeStatusesOfIssueType=cF,i.selectIssueTypeValuesOfIssueType=tF,i.selectIssueTypes=nn,i.selectIssueTypesByIds=Nf,i.selectIssueTypesOfOrganization=aF,i.selectIssueUpdateById=lS,i.selectIssueUpdateMapping=mn,i.selectIssueUpdates=yn,i.selectIssueUpdatesByIds=oS,i.selectIssueUpdatesOfIssue=hS,i.selectIssues=zt,i.selectIssuesByIds=Up,i.selectIssuesOfIssueType=$p,i.selectIssuesOfProject=ZP,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=oP,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=nP,i.selectLatestAssetTypeFieldsOfAssetType=FP,i.selectLatestFieldsByAssetProcedureStep=hP,i.selectLatestFormRevisionOfForm=GP,i.selectLatestIssueTypeFieldsOfIssueType=eF,i.selectLatestRetryTime=hF,i.selectMembershipsByUserOfTeam=bF,i.selectOrganizationAccessById=qS,i.selectOrganizationAccessMapping=Ut,i.selectOrganizationAccessUserMapping=US,i.selectOrganizationAccessesByIds=DS,i.selectOrganizationById=XS,i.selectOrganizationDocuments=DP,i.selectOrganizations=JS,i.selectOrganizationsByIds=QS,i.selectOrganizationsMapping=ZS,i.selectProjectAccessById=fT,i.selectProjectAccessMapping=Fn,i.selectProjectAccesses=At,i.selectProjectAccessesByIds=ST,i.selectProjectAccessesOfProject=yF,i.selectProjectAttachmentById=ET,i.selectProjectAttachmentMapping=wT,i.selectProjectAttachments=bn,i.selectProjectAttachmentsByIds=vT,i.selectProjectById=uI,i.selectProjectDocuments=qP,i.selectProjectFileById=YT,i.selectProjectFileMapping=WT,i.selectProjectFiles=KT,i.selectProjectFilesByIds=ZT,i.selectProjectMapping=rI,i.selectProjects=$t,i.selectProjectsByIds=lI,i.selectProjectsOfOrganization=OF,i.selectRehydrated=gF,i.selectStageMapping=zs,i.selectTeamById=DI,i.selectTeamMembershipById=gI,i.selectTeamMemberships=Ct,i.selectTeamMembershipsByIds=bI,i.selectTeamMembershipsMapping=FI,i.selectTeams=vn,i.selectTeamsByIds=UI,i.selectTeamsMapping=qI,i.selectTeamsOfOrganization=MF,i.selectUploadUrl=_h,i.selectUserById=Dt,i.selectUsers=qt,i.selectUsersByIds=gS,i.selectUsersMapping=Sn,i.selectUsersOfOrganization=lF,i.selectUsersOfProject=AF,i.selectUsersOfTeam=_F,i.setActiveProjectFileId=GT,i.setAsset=Br,i.setAssetAttachment=Aa,i.setAssetAttachments=fa,i.setAssetProcedure=Kc,i.setAssetProcedureStep=Ar,i.setAssetProcedureStepFieldValues=nr,i.setAssetProcedureStepFieldValuesAttachment=Gd,i.setAssetProcedureStepFieldValuesAttachments=Hd,i.setAssetProcedureStepFieldValuesMany=ar,i.setAssetProcedureStepFields=Vd,i.setAssetProcedureStepFieldsAttachment=Sd,i.setAssetProcedureStepFieldsAttachments=Td,i.setAssetProcedureStepFieldsMany=zd,i.setAssetProcedureSteps=fr,i.setAssetProcedureType=rd,i.setAssetProcedureTypeAttachment=Ea,i.setAssetProcedureTypeAttachments=va,i.setAssetProcedureTypeFieldValues=vc,i.setAssetProcedureTypeFieldValuesAttachment=fc,i.setAssetProcedureTypeFieldValuesAttachments=Sc,i.setAssetProcedureTypeFieldValuesMany=Vc,i.setAssetProcedureTypeFields=nc,i.setAssetProcedureTypeFieldsAttachment=Ga,i.setAssetProcedureTypeFieldsAttachments=Ha,i.setAssetProcedureTypeFieldsMany=ac,i.setAssetProcedureTypes=ud,i.setAssetProcedures=Yc,i.setAssetStage=nu,i.setAssetStageCompletion=Hr,i.setAssetStageCompletions=Wr,i.setAssetStages=au,i.setAssetType=ao,i.setAssetTypeAttachment=Su,i.setAssetTypeAttachments=Tu,i.setAssetTypeFieldValues=Tl,i.setAssetTypeFieldValuesAttachment=al,i.setAssetTypeFieldValuesAttachments=cl,i.setAssetTypeFieldValuesMany=Il,i.setAssetTypeFields=Wu,i.setAssetTypeFieldsAttachment=Vu,i.setAssetTypeFieldsAttachments=zu,i.setAssetTypeFieldsMany=Ku,i.setAssetTypeIdentifier=zl,i.setAssetTypeIdentifierValue=Kl,i.setAssetTypeIdentifierValues=Yl,i.setAssetTypeIdentifiers=Bl,i.setAssetTypeStatus=Po,i.setAssetTypeStatuses=Fo,i.setAssetTypes=co,i.setAssets=jr,i.setClientSDK=cO,i.setClientStore=nO,i.setConversation=la,i.setConversations=ZO,i.setCurrentUser=dF,i.setDocument=xo,i.setDocumentAttachment=$o,i.setDocumentAttachments=Co,i.setDocuments=eh,i.setEmailDomain=mh,i.setEmailDomains=yh,i.setForm=Em,i.setFormIdentifier=Vh,i.setFormIdentifierValue=Wh,i.setFormIdentifierValues=Kh,i.setFormIdentifiers=zh,i.setFormRevision=Sm,i.setFormRevisionAttachment=cm,i.setFormRevisionAttachments=dm,i.setFormRevisions=Tm,i.setFormSubmission=ey,i.setFormSubmissionAttachment=Nm,i.setFormSubmissionAttachments=Gm,i.setFormSubmissions=ty,i.setForms=vm,i.setGeoImage=my,i.setGeoImages=yy,i.setIsImportingProjectFile=NT,i.setIssue=vp,i.setIssueAssociation=Ry,i.setIssueAssociations=My,i.setIssueAttachment=Hy,i.setIssueAttachments=Wy,i.setIssueComment=Tp,i.setIssueCommentAttachment=ap,i.setIssueCommentAttachments=cp,i.setIssueComments=Ip,i.setIssueType=jf,i.setIssueTypeAttachment=Hp,i.setIssueTypeAttachments=Wp,i.setIssueTypeFieldValues=TA,i.setIssueTypeFieldValuesAttachment=WA,i.setIssueTypeFieldValuesAttachments=KA,i.setIssueTypeFieldValuesMany=IA,i.setIssueTypeFields=zA,i.setIssueTypeFieldsAttachment=aA,i.setIssueTypeFieldsAttachments=cA,i.setIssueTypeFieldsMany=BA,i.setIssueTypeIdentifier=df,i.setIssueTypeIdentifierValue=Of,i.setIssueTypeIdentifierValues=Pf,i.setIssueTypeIdentifiers=rf,i.setIssueTypeStatus=Zf,i.setIssueTypeStatuses=Jf,i.setIssueTypes=qf,i.setIssueUpdate=cS,i.setIssueUpdates=dS,i.setIssues=Vp,i.setLoggedIn=zo,i.setOrganization=kS,i.setOrganizationAccess=wS,i.setOrganizationAccesses=ES,i.setOrganizations=LS,i.setProfilePicture=rF,i.setProject=eI,i.setProjectAccess=lT,i.setProjectAccesses=oT,i.setProjectAttachment=FT,i.setProjectAttachments=gT,i.setProjectFile=jT,i.setProjectFiles=qT,i.setProjects=xT,i.setRehydrated=FF,i.setTeam=EI,i.setTeamMembership=AI,i.setTeamMemberships=fI,i.setTeams=vI,i.setTokens=vP,i.setUploadUrl=bh,i.setUser=fS,i.setUsers=AS,i.shallowEqual=_O,i.slugify=kO,i.spacesToDashesLower=LO,i.teamMembershipReducer=PI,i.teamMembershipSlice=wn,i.teamReducer=$I,i.teamSlice=En,i.toFileNameSafeString=CO,i.toUuidArray=q,i.toUuidIdRecord=$O,i.truncate=NO,i.updateAsset=vr,i.updateAssetAttachment=Sa,i.updateAssetAttachments=Ta,i.updateAssetProcedure=Gc,i.updateAssetProcedureStep=Ir,i.updateAssetProcedureStepFieldValues=cr,i.updateAssetProcedureStepFieldValuesAttachment=Wd,i.updateAssetProcedureStepFieldValuesAttachments=Kd,i.updateAssetProcedureStepFieldValuesMany=dr,i.updateAssetProcedureStepFields=Bd,i.updateAssetProcedureStepFieldsAttachment=Id,i.updateAssetProcedureStepFieldsAttachments=Od,i.updateAssetProcedureStepFieldsMany=jd,i.updateAssetProcedureSteps=Or,i.updateAssetProcedureType=nd,i.updateAssetProcedureTypeAttachment=Va,i.updateAssetProcedureTypeAttachments=za,i.updateAssetProcedureTypeFieldValues=zc,i.updateAssetProcedureTypeFieldValuesAttachment=Tc,i.updateAssetProcedureTypeFieldValuesAttachments=Ic,i.updateAssetProcedureTypeFieldValuesMany=Bc,i.updateAssetProcedureTypeFields=cc,i.updateAssetProcedureTypeFieldsAttachment=Wa,i.updateAssetProcedureTypeFieldsAttachments=Ka,i.updateAssetProcedureTypeFieldsMany=dc,i.updateAssetProcedureTypes=ad,i.updateAssetProcedures=Hc,i.updateAssetStage=ru,i.updateAssetStageCompletion=Kr,i.updateAssetStageCompletions=Yr,i.updateAssetStages=uu,i.updateAssetType=lo,i.updateAssetTypeAttachment=Iu,i.updateAssetTypeAttachments=Ou,i.updateAssetTypeFieldValues=Ol,i.updateAssetTypeFieldValuesAttachment=dl,i.updateAssetTypeFieldValuesAttachments=rl,i.updateAssetTypeFieldValuesMany=Pl,i.updateAssetTypeFields=Yu,i.updateAssetTypeFieldsAttachment=Bu,i.updateAssetTypeFieldsAttachments=ju,i.updateAssetTypeFieldsMany=Zu,i.updateAssetTypeIdentifier=jl,i.updateAssetTypeIdentifierValue=Zl,i.updateAssetTypeIdentifierValues=Jl,i.updateAssetTypeIdentifiers=ql,i.updateAssetTypeStatus=go,i.updateAssetTypeStatuses=bo,i.updateAssetTypes=oo,i.updateAssets=Vr,i.updateConversation=oa,i.updateConversations=JO,i.updateDocument=th,i.updateDocumentAttachment=Lo,i.updateDocumentAttachments=ko,i.updateDocuments=sh,i.updateEmailDomain=ph,i.updateEmailDomains=Ah,i.updateForm=Vm,i.updateFormIdentifier=Bh,i.updateFormIdentifierValue=Yh,i.updateFormIdentifierValues=Zh,i.updateFormIdentifiers=jh,i.updateFormRevision=Im,i.updateFormRevisionAttachment=rm,i.updateFormRevisionAttachments=um,i.updateFormRevisions=Om,i.updateFormSubmission=iy,i.updateFormSubmissionAttachment=Hm,i.updateFormSubmissionAttachments=Wm,i.updateFormSubmissions=ny,i.updateForms=zm,i.updateGeoImage=fy,i.updateGeoImages=Sy,i.updateIssue=zp,i.updateIssueAssociation=wy,i.updateIssueAssociations=Ey,i.updateIssueAttachment=Ky,i.updateIssueAttachments=Yy,i.updateIssueComment=Op,i.updateIssueCommentAttachment=dp,i.updateIssueCommentAttachments=rp,i.updateIssueComments=Pp,i.updateIssueType=Df,i.updateIssueTypeAttachment=Kp,i.updateIssueTypeAttachments=Yp,i.updateIssueTypeFieldValues=OA,i.updateIssueTypeFieldValuesAttachment=YA,i.updateIssueTypeFieldValuesAttachments=ZA,i.updateIssueTypeFieldValuesMany=PA,i.updateIssueTypeFields=jA,i.updateIssueTypeFieldsAttachment=dA,i.updateIssueTypeFieldsAttachments=rA,i.updateIssueTypeFieldsMany=qA,i.updateIssueTypeIdentifier=uf,i.updateIssueTypeIdentifierValue=Ff,i.updateIssueTypeIdentifierValues=gf,i.updateIssueTypeIdentifiers=lf,i.updateIssueTypeStatus=Xf,i.updateIssueTypeStatuses=Qf,i.updateIssueTypes=Uf,i.updateIssueUpdate=rS,i.updateIssueUpdates=uS,i.updateIssues=Bp,i.updateOrganization=WS,i.updateOrganizationAccess=vS,i.updateOrganizationAccesses=VS,i.updateOrganizations=HS,i.updateProject=nI,i.updateProjectAccess=hT,i.updateProjectAccesses=mT,i.updateProjectAttachment=bT,i.updateProjectAttachments=_T,i.updateProjectFile=$T,i.updateProjectFiles=CT,i.updateProjects=iI,i.updateTeam=VI,i.updateTeamMembership=SI,i.updateTeamMemberships=TI,i.updateTeams=zI,i.updateUser=IS,i.updateUsers=TS,i.useSelectorBuilder=bO,i.userReducer=PS,i.userSlice=pn,i.uuidObj=M,i.uuidObjSortFn=Zt,i.uuidSortFn=Tt,i.versioningReducer=LI,i.versioningSlice=CI,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
14
+ external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(h)}return await this.addCache(r),r}processPresignedUrl(e,n){if("warning"in n){if(n.warning==="already_uploaded")return Promise.resolve(void 0);throw new Error(n.warning)}return this.enqueueRequest({url:n.url,description:"Upload file to S3",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${n.fields.key}`],blocks:[e],s3url:n})}processPresignedUrls(e){const n={};for(const[a,c]of Object.entries(e))n[a]=this.processPresignedUrl(a,c);return n}async getFilePayload(e){const a={sha1:await Tt(e),file_type:e.type,extension:Yt(e),size:e.size};return await this.client.files.addCache(e),a}}class Ag extends v{constructor(){super(...arguments);y(this,"name","Form Identifier");y(this,"url","/form-identifiers");y(this,"actions",{addOne:Mh,addMany:_h,setOne:Rh,setMany:wh,updateOne:Eh,updateMany:vh,deleteOne:Vh,deleteMany:Bh,initialize:bh});y(this,"selectors",{selectById:jh,selectByIds:Dh})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.form],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class fg extends v{constructor(){super(...arguments);y(this,"name","Form Identifier Value");y(this,"url","/form-identifier-values");y(this,"actions",{addOne:Uh,addMany:Lh,setOne:Nh,setMany:Gh,updateOne:Hh,updateMany:kh,deleteOne:Kh,deleteMany:Wh,initialize:Ch});y(this,"selectors",{selectById:Zh,selectByIds:Jh})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.form_submission,e.form_identifier],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class Sg extends q{constructor(){super(...arguments);y(this,"name","Form Revision Attachment");y(this,"url","/form-revision-attachments");y(this,"actions",{addOne:em,addMany:tm,setOne:sm,setMany:im,updateOne:nm,updateMany:am,deleteOne:cm,deleteMany:dm,initialize:xh});y(this,"selectors",{selectById:um,selectByIds:lm})}getId(e){return e.uuid}getBlockers(e){throw[e.form_revision]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,form_revision:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,form_revision:c,file_sha1:d,file_name:l,file_extension:r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(c)),c}}class Tg extends v{constructor(){super(...arguments);y(this,"name","Form Revision");y(this,"url","/form-revisions");y(this,"actions",{addOne:hi,addMany:mi,setOne:ym,setMany:pm,updateOne:Am,updateMany:fm,deleteOne:yi,deleteMany:pi,initialize:mm});y(this,"selectors",{selectById:Sm,selectByIds:Tm})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,r=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=new Date().toISOString(),h=P({...e,created_by:r,submitted_at:u});this.dispatch(a(h));const p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[e.form],blocks:[h.uuid]});return p.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(d(h.uuid))}),[h,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class Ig extends v{constructor(){super(...arguments);y(this,"name","Form");y(this,"url","/forms");y(this,"actions",{addOne:gm,addMany:bm,setOne:Mm,setMany:_m,updateOne:Rm,updateMany:wm,deleteOne:Em,deleteMany:vm,initialize:Fm});y(this,"selectors",{selectById:zm,selectByIds:jm})}add(e,n){var A;const{store:a}=this.client,{addOne:c,deleteOne:d}=this.actions,l=new Date().toISOString(),r=((A=a.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=P({...e,submitted_at:l,created_by:r}),h=P({...n,form:u.uuid,submitted_at:l,created_by:r});this.dispatch(c(u)),this.dispatch(hi(h));const p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{...E(u),initial_revision:{uuid:h.uuid,submitted_at:h.submitted_at,title:h.title,description:h.description,fields:h.fields}},blockers:[],blocks:[u.uuid,h.uuid]});return p.catch(I=>{throw this.dispatch(d(u.uuid)),this.dispatch(yi(h.uuid)),I}),[u,h,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error("Expected form to exist");const u=ay(e)(l),h=Im(e)(l);this.dispatch(a(e)),this.dispatch(_i(B(u))),this.dispatch(pi(B(h)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(r)),this.dispatch(mi(h)),this.dispatch(Mi(u)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Og extends q{constructor(){super(...arguments);y(this,"name","Form Submission Attachment");y(this,"url","/form-submission-attachments");y(this,"actions",{addOne:$m,addMany:Ii,setOne:Cm,setMany:Um,updateOne:Lm,updateMany:Nm,deleteOne:Gm,deleteMany:Oi,initialize:qm});y(this,"selectors",{selectById:Hm,selectByIds:km})}getId(e){return e.uuid}getBlockers(e){throw[e.form_submission]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,form_submission:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,form_submission:c,file_sha1:d,file_name:l,file_extension:r}}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,d=n.getState(),l=gi(e)(d);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(d)),d}}class Pg extends v{constructor(){super(...arguments);y(this,"name","Form Submission");y(this,"url","/form-submissions");y(this,"actions",{addOne:Qm,addMany:Mi,setOne:Jm,setMany:Xm,updateOne:xm,updateMany:ey,deleteOne:ty,deleteMany:_i,initialize:Zm});y(this,"selectors",{selectById:iy,selectByIds:ny})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,r=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=new Date().toISOString(),h=P({...e,created_by:r,submitted_at:u}),p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[e.form_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(d(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected submission with uuid ${e} to exist`);const u=Km(e)(l);this.dispatch(a(e)),this.dispatch(Oi(B(u)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(Ii(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(d)),d}}class Fg extends q{constructor(){super(...arguments);y(this,"name","Geo Image");y(this,"url","/geo-images");y(this,"actions",{addOne:oy,addMany:hy,setOne:uy,setMany:ly,updateOne:my,updateMany:yy,deleteOne:py,deleteMany:Ay,initialize:ry});y(this,"selectors",{selectById:Sy,selectByIds:Ty})}getId(e){return e.uuid}getBlockers(e){return[e.project]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,title:e.title,description:e.description,geo_marker:e.geo_marker,canvas_marker:e.canvas_marker,direction:e.direction,original_date:e.original_date,project:e.project}}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project:e}},n);return this.dispatch(a(c)),c}}class gg extends v{constructor(){super(...arguments);y(this,"name","Issue Association");y(this,"url","/issue-associations");y(this,"actions",{addOne:_y,addMany:et,setOne:gy,setMany:Fy,updateOne:by,updateMany:My,deleteOne:Ry,deleteMany:tt,initialize:Py});y(this,"selectors",{selectById:Ey,selectByIds:vy})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=new Date().toISOString(),r=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=P({...e,submitted_at:l,created_by:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=d(e)(n.getState());if(!l)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{associated_issue__project:e}},n)).flat();return this.dispatch(a(d)),d}}class bg extends q{constructor(){super(...arguments);y(this,"name","Issue Attachment");y(this,"url","/issue-attachments");y(this,"actions",{addOne:Uy,addMany:Bi,setOne:Ly,setMany:Ny,updateOne:Gy,updateMany:Hy,deleteOne:ky,deleteMany:zi,initialize:Cy});y(this,"selectors",{selectById:Yy,selectByIds:Zy})}getId(e){return e.uuid}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(d)),d}}class Mg extends q{constructor(){super(...arguments);y(this,"name","Issue Comment Attachment");y(this,"url","/issue-comment-attachments");y(this,"actions",{addOne:xy,addMany:ep,setOne:tp,setMany:sp,updateOne:ip,updateMany:np,deleteOne:ap,deleteMany:cp,initialize:Qy});y(this,"selectors",{selectById:rp,selectByIds:up})}getId(e){return e.uuid}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(d)),d}}class _g extends v{constructor(){super(...arguments);y(this,"name","Issue Comment");y(this,"url","/issue-comments");y(this,"actions",{addOne:mp,addMany:yp,setOne:pp,setMany:Ap,updateOne:fp,updateMany:Sp,deleteOne:Tp,deleteMany:Ip,initialize:hp});y(this,"selectors",{selectById:Op,selectByIds:Pp})}add(e){const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:d}=this.actions,l=P({...e,author:n.getState().userReducer.currentUser.id,submitted_at:new Date().toISOString()});this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(l),blockers:[e.issue],blocks:[l.uuid]});return r.then(u=>{this.dispatch(c(u))}).catch(()=>{this.dispatch(d(l.uuid))}),[l,r]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=d(e)(n.getState());if(!l)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}async refreshStore(e,n){const{setMany:a}=this.actions,d=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(d)),d}}class Rg extends v{constructor(){super(...arguments);y(this,"name","Issue");y(this,"url","/issues");y(this,"actions",{addOne:Mp,addMany:Li,setOne:_p,setMany:Rp,updateOne:wp,updateMany:Ep,deleteOne:vp,deleteMany:Ni,initialize:bp});y(this,"selectors",{selectById:Bp,selectByIds:zp})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=n.getState(),r=new Date().toISOString(),u=((A=l.userReducer.currentUser)==null?void 0:A.id)??null,h=P({...e,submitted_at:r,created_by:u});this.dispatch(a(h));const p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[h.project,h.issue_type,h.status],blocks:[h.uuid]});return p.then(I=>{this.dispatch(c(I))}).catch(I=>{throw this.dispatch(d(h.uuid)),I}),[h,p]}update(e){var p;const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),d=a(e.uuid)(c);if(!d)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const l={...d,...e};this.dispatch(n(l));const r={};for(const A of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(A in e&&e[A]!==d[A])switch(A){case $.PRIORITY:r[A]=e[A];break;case $.DUE_DATE:r[A]=e[A];break;case $.DESCRIPTION:r[A]=e[A];break;case $.TITLE:r[A]=e[A];break;case $.STATUS:{const I=e[A],b=dn(I)(c);if(!b)throw new Error(`Trying to update issue type status with ${I} which does not exist in store`);r[A]={name:b.name,color:b.color,uuid:b.uuid};break}case $.ASSIGNED_TO:{const I=e[A];if(I===null)r[A]=null;else{const b=$t(I)(c);if(!b)throw new Error(`Trying to update assigned to with ${I} which does not exist in store.`);r[A]={full_name:b.username,id:b.id}}break}}const u=P({created_by:((p=c.userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString(),issue:d.uuid,changes:r});this.dispatch(un(u));const h=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return h.then(A=>{this.dispatch(n(A))}).catch(()=>{this.dispatch(n(d)),this.dispatch(on(u.uuid))}),[l,h]}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:d}=this.selectors,l=B(e).toSorted(It);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const r=d(l)(a.getState()).toSorted(Zt);if(l.length!=r.length)throw new Error(`Attempting to bulk update ${l.length-r.length} issues that dont exist in the store`);const u=[];for(let I=0;I<l.length;I++)u.push({...r[I],...e[I]});this.dispatch(c(u));const h=nt(e,Math.min(n??e.length,Qe)),p=[];let A=null;for(const I of h){const b=Xe.v4(),w=B(I),M=I.map(({status:_})=>_).filter(Boolean),R=this.enqueueRequest({description:T(m.PATCH,this.name,!0),method:m.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(A?[A]:[]).concat(w).concat(M),blocks:[b].concat(w)});p.push(R),A=b}return Promise.all(p).then(I=>{this.dispatch(c(I.flat()))}).catch(()=>{this.dispatch(c(r))}),[u,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`No issue with uuid ${e} found in the store`);const u=Vy(e)(l),h=jy(e)(l),p=Wy(e)(l),A=rS(e)(l);this.dispatch(a(e)),this.dispatch(zi(B(p))),this.dispatch(hn(B(A))),this.dispatch(tt(B(u))),this.dispatch(tt(B(h)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(I){throw this.dispatch(c(r)),this.dispatch(Bi(p)),this.dispatch(ln(A)),this.dispatch(et(u)),this.dispatch(et(h)),I}}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:d}=this.selectors,l=n.getState(),r=d(e)(l),u=By(e)(l),h=zy(e)(l);this.dispatch(c(e)),this.dispatch(tt(B(u))),this.dispatch(tt(B(h)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(a(r)),this.dispatch(et(u)),this.dispatch(et(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(d)),d}}class wg extends q{constructor(){super(...arguments);y(this,"name","Issue Type Attachment");y(this,"url","/issue-type-attachments");y(this,"actions",{addOne:Cp,addMany:Up,setOne:Lp,setMany:Np,updateOne:Gp,updateMany:Hp,deleteOne:kp,deleteMany:Kp,initialize:$p});y(this,"selectors",{selectById:Yp,selectByIds:Zp})}getId(e){return e.uuid}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Eg extends q{constructor(){super(...arguments);y(this,"name","Issue Type Fields Attachment");y(this,"url","/issue-type-fields-attachments");y(this,"actions",{addOne:xp,addMany:eA,setOne:tA,setMany:sA,updateOne:iA,updateMany:nA,deleteOne:aA,deleteMany:cA,initialize:Qp});y(this,"selectors",{selectById:rA,selectByIds:uA})}getId(e){return e.uuid}getBlockers(e){throw[e.fields_revision]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:l,file_extension:r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class vg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Fields");y(this,"url","/issue-type-fields");y(this,"actions",{addOne:_A,addMany:RA,setOne:wA,setMany:EA,updateOne:vA,updateMany:VA,deleteOne:BA,deleteMany:zA,initialize:MA});y(this,"selectors",{selectById:DA,selectByIds:qA})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.issue_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(d(u.uuid)),A}),[u,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Vg extends q{constructor(){super(...arguments);y(this,"name","Issue Type Field Values Attachment");y(this,"url","/issue-type-field-values-attachments");y(this,"actions",{addOne:LA,addMany:Ji,setOne:NA,setMany:GA,updateOne:HA,updateMany:kA,deleteOne:KA,deleteMany:Xi,initialize:UA});y(this,"selectors",{selectById:YA,selectByIds:ZA})}getId(e){return e.uuid}getBlockers(e){throw[e.field_values]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:l,file_extension:r}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class Bg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Field Values");y(this,"url","/issue-type-field-values");y(this,"actions",{addOne:mA,addMany:yA,setOne:pA,setMany:AA,updateOne:fA,updateMany:SA,deleteOne:TA,deleteMany:IA,initialize:hA});y(this,"selectors",{selectById:PA,selectByIds:FA})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,r=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=new Date().toISOString(),h=P({...e,created_by:r,submitted_at:u}),p=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[e.issue,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(d(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid,r.fields_revision,r.issue],blocks:[r.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected submission with uuid ${e} to exist`);const u=JA(e)(l);this.dispatch(a(e)),this.dispatch(Xi(B(u)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(Ji(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class zg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Identifier");y(this,"url","/issue-type-identifiers");y(this,"actions",{addOne:ef,addMany:tf,setOne:sf,setMany:nf,updateOne:af,updateMany:cf,deleteOne:df,deleteMany:rf,initialize:xA});y(this,"selectors",{selectById:lf,selectByIds:of})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[u.issue_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class jg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Identifier Value");y(this,"url","/issue-type-identifier-values");y(this,"actions",{addOne:pf,addMany:Af,setOne:ff,setMany:Sf,updateOne:Tf,updateMany:If,deleteOne:Of,deleteMany:Pf,initialize:yf});y(this,"selectors",{selectById:gf,selectByIds:bf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.issue,e.issue_type_identifier],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(d)),d}}class Dg extends v{constructor(){super(...arguments);y(this,"name","Issue Type");y(this,"url","/issue-types");y(this,"actions",{addOne:wf,addMany:Ef,setOne:vf,setMany:Vf,updateOne:Bf,updateMany:zf,deleteOne:jf,deleteMany:Df,initialize:Rf});y(this,"selectors",{selectById:$f,selectByIds:Cf})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,r=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,u=new Date().toISOString(),h=P({...e,submitted_at:u,created_by:r});this.dispatch(a(h));const p=this.enqueueRequest({method:m.POST,url:`${this.url}/`,payload:E(h),blockers:[],blocks:[h.uuid]});return p.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(d(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=jp(e)(l);this.dispatch(a(e)),this.dispatch(Ni(B(u)));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(Li(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class qg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Status");y(this,"url","/issue-type-statuses");y(this,"actions",{addOne:Gf,addMany:Hf,setOne:kf,setMany:Kf,updateOne:Wf,updateMany:Yf,deleteOne:Zf,deleteMany:Jf,initialize:Nf});y(this,"selectors",{selectById:dn,selectByIds:Qf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,r=new Date().toISOString(),u=P({...e,created_by:l,submitted_at:r});this.dispatch(a(u));const h=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(u),blockers:[e.issue_type],blocks:[u.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(d(u.uuid))}),[u,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),d=a(e.uuid)(c);if(!d)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const l={...d,...e};this.dispatch(n(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(n(u))}).catch(()=>{this.dispatch(n(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=d(e)(n.getState());if(!l)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class $g extends v{constructor(){super(...arguments);y(this,"name","Issue Update");y(this,"url","/issue-updates");y(this,"actions",{addOne:un,addMany:ln,setOne:sS,setMany:iS,updateOne:nS,updateMany:aS,deleteOne:on,deleteMany:hn,initialize:tS});y(this,"selectors",{selectById:cS,selectByIds:dS})}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(d)),d}}const Cg=1800;function Ug(t){if(!t.access)throw new Error("Missing access token");if(!t.refresh)throw new Error("Missing refresh token");return{accessToken:t.access,refreshToken:t.refresh}}class Lg extends $F{constructor(){super(...arguments);y(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:m.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(c){console.error("Could not renew tokens; clearing auth",c),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(vo(!1)),this.clearTokens(),this.dispatch(O()),this.dispatch(O())}async renewTokens(){const e=this.getRefreshToken();if(!e)throw new Error("No refresh token found");console.debug(this.constructor.name,"renewing tokens");try{const n=await this._getRenewedTokens(e);if(!n)return;console.log("Got renewed tokens"),this.setTokens(n)}catch(n){throw console.error("Could not renew tokens; clearing auth",n),this.clearAuth(),n}}tokenIsExpiringSoon(){const e=this.getAccessToken();if(!e)return!1;const n=Date.now()/1e3;let a;try{a=yO(e).exp??n}catch{a=n}return a-n<Cg}getAuthHeader(){return`Bearer ${this.getAccessToken()}`}async prepareAuth(){if(this.tokenIsExpiringSoon()){console.debug(this.constructor.name,"preparing auth");try{await this.renewTokens()}catch(e){return e instanceof C&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??dt).toString()))}}}async handleUnauthorized(e,n){const a=this.client.store.getState();if(e.url.endsWith("/token/refresh/"))throw a.authReducer.isLoggedIn&&console.warn("No signed-in user to sign out."),this.clearAuth(),new C({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(a.authReducer.isLoggedIn)await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new C({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=Xe.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:m.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(Ug(a))})}}class Ng extends rt{constructor(){super(...arguments);y(this,"name","Organization Access");y(this,"url","/organization-accesses");y(this,"actions",{addOne:FS,addMany:gS,setOne:bS,setMany:MS,updateOne:_S,updateMany:RS,deleteOne:wS,deleteMany:ES,initialize:PS});y(this,"selectors",{selectById:VS,selectByIds:BS})}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState()),l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(d)),u}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l),u=$t(r.user)(l);this.dispatch(a(r.uuid)),this.dispatch(fn(r.user));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${r.uuid}/`,blockers:[r.uuid],blocks:[]})}catch(h){throw this.dispatch(c(r)),this.dispatch(An(u)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Gg extends rt{constructor(){super(...arguments);y(this,"name","Organization");y(this,"url","/organizations");y(this,"actions",{addOne:US,addMany:CS,setOne:$S,setMany:qS,updateOne:NS,updateMany:LS,deleteOne:GS,deleteMany:HS,initialize:DS});y(this,"selectors",{selectById:WS,selectByIds:YS})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:e,blockers:[],blocks:[]});return this.dispatch(n(a)),a}async update(e){const{setOne:n}=this.actions,a=await this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return this.dispatch(n(a)),a}async invite(e,n){return this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/${e}/invite/${n}/`,blockers:[],blocks:[]})}async refreshStore(e){const{initialize:n}=this.actions,a=await this.list({},e);return this.dispatch(n(a)),a}}class Hg extends v{constructor(){super(...arguments);y(this,"name","Project Access");y(this,"url","/project-accesses");y(this,"actions",{addOne:nT,addMany:aT,setOne:cT,setMany:dT,updateOne:rT,updateMany:uT,deleteOne:lT,deleteMany:oT,initialize:iT});y(this,"selectors",{selectById:mT,selectByIds:yT})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=P({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null});this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(l),blockers:[l.organization_access,l.project],blocks:[l.uuid]});return r.then(h=>{this.dispatch(c(h))}).catch(h=>{throw this.dispatch(d(l.uuid)),h}),[l,r]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,deleteMany:c,updateMany:d}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,r=e.map(p=>P({...p,created_by:l}));this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{project_accesses:r.map(p=>E(p))},blockers:r.flatMap(p=>[p.project,p.organization_access]),blocks:r.map(p=>p.uuid)});return u.then(p=>{this.dispatch(d(p))}).catch(p=>{throw this.dispatch(c(r.map(A=>A.uuid))),p}),[r,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState()),l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return r.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(d)),u}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:d}=this.selectors,l=d(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(c(l)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class kg extends q{constructor(){super(...arguments);y(this,"name","Project Attachment");y(this,"url","/project-attachments");y(this,"actions",{addOne:fT,addMany:ST,setOne:TT,setMany:IT,updateOne:OT,updateMany:PT,deleteOne:FT,deleteMany:gT,initialize:AT});y(this,"selectors",{selectById:MT,selectByIds:_T})}getId(e){return e.uuid}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class Kg extends q{constructor(){super(...arguments);y(this,"name","Project File");y(this,"url","/project-files");y(this,"actions",{addOne:BT,addMany:zT,setOne:vT,setMany:VT,updateOne:jT,updateMany:DT,deleteOne:qT,deleteMany:$T,initialize:ET});y(this,"selectors",{selectById:LT,selectByIds:NT})}getId(e){return e.uuid}getBlockers(e){return[e.project]}buildModel(e){var d;const{store:n}=this.client,a=((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null,c=new Date().toISOString();return P({...e,created_by:a,submitted_at:c})}buildPayload(e){return{uuid:e.uuid,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension,project:e.project,z_index:e.z_index,canvas_bounds:e.canvas_bounds,bounds:e.bounds}}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=n.getState(),l=c(e.uuid)(d);if(!l)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const r={...l,...e};this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[r,u]}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(d)),d}}class Wg extends rt{constructor(){super(...arguments);y(this,"name","Project");y(this,"url","/projects");y(this,"actions",{addOne:ZT,addMany:YT,setOne:WT,setMany:KT,updateOne:XT,updateMany:JT,deleteOne:QT,deleteMany:xT,initialize:kT});y(this,"selectors",{selectById:sI,selectByIds:iI})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:m.POST,url:`${this.url}/`,payload:E(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:E(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Yg extends v{constructor(){super(...arguments);y(this,"name","Team Membership");y(this,"url","/team-memberships");y(this,"actions",{addOne:dI,addMany:rI,setOne:uI,setMany:lI,updateOne:oI,updateMany:hI,deleteOne:mI,deleteMany:yI,initialize:cI});y(this,"selectors",{selectById:fI,selectByIds:SI})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=P({...e,created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null});this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(l),blockers:[e.team],blocks:[l.uuid]});return r.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(d(l.uuid))}),[l,r]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:d}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,r=e.map(p=>P({...p,created_by:l}));this.dispatch(a(r));const u=this.enqueueRequest({description:T(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{team_memberships:r.map(p=>E(p))},blockers:r.map(p=>p.team),blocks:r.map(p=>p.uuid)});return u.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(d(r.map(p=>p.uuid)))}),[r,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(c)),c}}class Zg extends v{constructor(){super(...arguments);y(this,"name","Team");y(this,"url","/teams");y(this,"actions",{addOne:OI,addMany:PI,setOne:FI,setMany:gI,updateOne:bI,updateMany:MI,deleteOne:_I,deleteMany:RI,initialize:II});y(this,"selectors",{selectById:EI,selectByIds:vI})}add(e){var u;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:d}=this.actions,l=P({...e,submitted_at:new Date().toISOString(),created_by:((u=n.getState().userReducer.currentUser)==null?void 0:u.id)??null});this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:E(l),blockers:[],blocks:[l.uuid]});return r.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(d(l.uuid))}),[l,r]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,d=c(e.uuid)(n.getState());if(!d)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const l={...d,...e};this.dispatch(a(l));const r=this.enqueueRequest({description:T(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:E(e),blockers:[e.uuid],blocks:[e.uuid]});return r.then(u=>{this.dispatch(a(u))}).catch(()=>{this.dispatch(a(d))}),[l,r]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:d}=this.selectors,l=n.getState(),r=d(e)(l);if(!r)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:T(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(c(r)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Jg extends rt{constructor(){super(...arguments);y(this,"name","User");y(this,"url","/user");y(this,"actions",{addOne:An,addMany:yS,setOne:mS,setMany:hS,updateOne:AS,updateMany:pS,deleteOne:fn,deleteMany:fS,initialize:oS});y(this,"selectors",{selectById:$t,selectByIds:IS})}async list(e,n){const{organizationUuid:a,...c}=e,d=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:m.GET,url:d,...c},n)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({organizationUuid:e},n);return this.dispatch(a(c)),c}}async function jn(t,s,e,n,a){const c=n instanceof it;c&&s.checkAuth!==!1&&await n.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:l,payload:r,headers:u,method:h,queryParams:p,attachmentHash:A,isExternalUrl:I,isAuthNeeded:b,isResponseBlob:w}={...d,...s};let M=s.url;const R=A?await e.files.fetchCache(A):void 0;if(A&&!R)throw new Error(`Cannot upload file ${A} because it's not cached.`);!I&&!M.startsWith("http")&&(!M.startsWith("/")&&!M.startsWith("blob:")&&(M="/"+M),M=t+M);const _=V=>{if(A){if(!l)throw new Error(`No S3 URL for file ${A}`);if("warning"in l)throw new Error(`S3 URL warning for file ${A}`);if(!R)throw new Error(`No file for file ${A}`);const N=l.fields["x-amz-checksum-sha1"];if(!N)throw new Error(`No checksum for file ${A}`);return V.set("x-amz-checksum-sha1",N).field({...r,...l.fields}).attach("file",R)}return V.send(r)},U={[m.GET]:()=>w?ct.get(M.toString()).responseType("blob"):ct.get(M.toString()),[m.POST]:()=>{const V=ct.post(M.toString());return _(V)},[m.PATCH]:()=>{const V=ct.patch(M.toString());return _(V)},[m.PUT]:()=>{const V=ct.put(M.toString());return _(V)},[m.DELETE]:()=>{const V=ct.delete(M.toString());return _(V)}}[h];let D=U();const xe=()=>{console.debug("aborting request:",s.url),D.abort()};if(a==null||a.addEventListener("abort",xe),b&&c){const V=n.auth.getAuthHeader();D=D.set("Authorization",V)}u&&(D=D.set(u));try{return await D.query(p)}catch(V){const N=ZI(V),Je=N==null?void 0:N.status;if(c&&Je===401)return await n.auth.handleUnauthorized(D,N),D.query(p);throw new C({response:N,innerError:V,discard:Bn.includes(Je)})}finally{a==null||a.removeEventListener("abort",xe)}}class Xg{constructor(s){y(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new Gt,d={...e,uuid:e.uuid??Xe.v4()};return jn(s,d,this,n,a).then(l=>{c.resolve(l.body)}).catch(l=>{l instanceof Error?c.reject(l):c.reject(new Error((l??dt).toString()))}),c}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(c=>{if(c instanceof C)throw c;return c})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof C)throw a;return a})}_enqueueRequest(s,e,n){const a=new Gt,c={...s,BASE_URL:e,serviceName:n},d=this.store.dispatch(QS(c)),l=u=>{if(u)a.resolve(u.body);else{const h=new C({message:"Could not get a response from the server.",response:u,discard:!0});a.reject(h)}},r=u=>{u instanceof C?u.options.discard=!0:(console.error("Received an unexpected error while processing a request:",u,`
15
+ Converting error to APIError and discarding.`),u=new C({message:"An error occurred while processing the request.",innerError:u,discard:!0})),a.reject(u)};return d.then(l,r),a}async performPagination(s,e,n,a,c){const d={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:l}=d,r=[];let u=await this.performRequest(s,d,a,c);for(r.push(u.results);u.next;)u=await this.performRequest(s,{url:u.next,method:l},a,c),r.push(u.results);return r}}class ut{constructor(){y(this,"graph");y(this,"requestAttemptCounter");this.graph=new pO.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new ut;for(let n=0;n<s.length;n++){const a=s[n];if(!a){console.error("Outbox item was undefined");continue}e.sneakRequest(a);for(let c=0;c<n;c++){const d=s[c];if(!d){console.error("Previous outbox item was undefined");continue}d.payload.uuid!==a.payload.uuid&&d.payload.blocks.some(l=>a.payload.blockers.includes(l))&&ut._addDependency(a.payload.uuid,d.payload.uuid,e.graph)}}return e}_addDependency(s,e){ut._addDependency(s,e,this.graph)}static _addDependency(s,e,n){if(s===e)throw new Error(`Tried to add dependency from node to itself: ${s}`);if(!n.hasNode(s))throw new Error(`Tried to add dependency from non-existent node: ${s} (to node: ${e})`);if(!n.hasNode(e))throw new Error(`Tried to add dependency to non-existent node: ${e} (from node: ${s})`);n.addDependency(s,e)}addRequest(s){if(this.graph.addNode(s.payload.uuid,s),!(s.payload.blockers.length===0||this.graph.size()===1))for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),a=new Set(n.payload.blocks);s.payload.blockers.some(c=>a.has(c))&&this._addDependency(s.payload.uuid,e)}}insertRequest(s){this.graph.addNode(s.payload.uuid,s);for(const e of this.graph.overallOrder()){if(e===s.payload.uuid)continue;const n=this.graph.getNodeData(e),a=new Set(s.payload.blocks);n.payload.blockers.some(c=>a.has(c))&&this._addDependency(e,s.payload.uuid)}}sneakRequest(s){this.graph.addNode(s.payload.uuid,s)}_getNextNode(){const s=this.graph.overallOrder(!0);let e=1/0,n;for(const a of s){const c=this.requestAttemptCounter[a]||0;c<e&&(e=c,n=a)}return n}peek(){const s=this._getNextNode();if(s)return this.graph.getNodeData(s)}remove(s){this.graph.removeNode(s),delete this.requestAttemptCounter[s]}pop(){const s=this.peek();return s&&this.graph.removeNode(s.payload.uuid),s}getQueue(){const s=this.graph.overallOrder().map(n=>this.graph.getNodeData(n)),e=this._getNextNode();if(e){const n=this.graph.getNodeData(e),a=s.findIndex(c=>c.payload.uuid===n.payload.uuid);a!==-1&&(s.splice(a,1),s.unshift(n))}return s}getReady(){let s=this.graph.overallOrder(!0).map(e=>this.graph.getNodeData(e));return s=s.sort((e,n)=>e.meta.offline.effect.timestamp.localeCompare(n.meta.offline.effect.timestamp)),s=s.sort((e,n)=>{const a=this.requestAttemptCounter[e.payload.uuid]||0,c=this.requestAttemptCounter[n.payload.uuid]||0;return a-c}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let JI;function XI(t){JI=t}function lt(){return JI}let QI;function xI(t){QI=t}function eO(){return QI}let Dn=null;function at(){const t=lt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Dn)return Dn;const s=t.getState().offline.outbox,e=ut._fromOutbox(s);return Dn=e,e}const Qg=(t,s)=>{const e=new s(t);return xI(e),XI(t),e};class xg{constructor(s){y(this,"_all");y(this,"_previous");this._all=[s],this._previous=s,this.then=this.then.bind(this),this.compile=this.compile.bind(this)}then(s){return this._previous&&(this._previous.next=s),this._all.push(s),this._previous=s,{then:this.then,compile:this.compile}}compile(){return this._all}}class qn{constructor(){y(this,"next");this.next=null}then(s){return new xg(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!lt())throw new Error("Client store not set");const n=eO();if(!n)throw new Error("Client SDK not set");return KI(s,n)}}}class tO extends qn{async run(s){return super.run(s)}}class sO extends qn{async run(s){return super.run(s)}}const iO=new tO().then(new sO).compile();function nO(t){var s;return(s=iO[0])==null?void 0:s.run(t)}var aO=(t=>(t[t.USER_REGISTRATION=0]="USER_REGISTRATION",t[t.APPLICATION_INVITE=2]="APPLICATION_INVITE",t[t.PROJECT_INVITE=4]="PROJECT_INVITE",t[t.ORGANIZATION_INVITE=6]="ORGANIZATION_INVITE",t[t.ADD_EMAIL_DOMAIN=8]="ADD_EMAIL_DOMAIN",t[t.RESET_PASSWORD=10]="RESET_PASSWORD",t))(aO||{});i.ALL_MIDDLEWARE=iO,i.APIError=C,i.AgentService=CF,i.AssetAttachmentService=UF,i.AssetProcedureService=KF,i.AssetProcedureStepFieldValuesAttachmentService=JF,i.AssetProcedureStepFieldValuesService=XF,i.AssetProcedureStepFieldsAttachmentService=YF,i.AssetProcedureStepFieldsService=ZF,i.AssetProcedureStepService=QF,i.AssetProcedureTypeAttachmentService=LF,i.AssetProcedureTypeFieldValuesAttachmentService=HF,i.AssetProcedureTypeFieldValuesService=kF,i.AssetProcedureTypeFieldsAttachmentService=NF,i.AssetProcedureTypeFieldsService=GF,i.AssetProcedureTypeService=WF,i.AssetService=xF,i.AssetStageCompletionService=eg,i.AssetStageService=tg,i.AssetStatusType=Gn,i.AssetTypeAttachmentService=sg,i.AssetTypeFieldValuesAttachmentService=ag,i.AssetTypeFieldValuesService=cg,i.AssetTypeFieldsAttachmentService=ig,i.AssetTypeFieldsService=ng,i.AssetTypeIdentifierService=dg,i.AssetTypeIdentifierValueService=rg,i.AssetTypeService=ug,i.AssetTypeStatusService=lg,i.AttachmentModel=Hn,i.BaseApiService=it,i.BaseModelApiService=rt,i.BaseOfflineFileModelApiService=q,i.BaseOfflineModelApiService=v,i.BaseSDK=Xg,i.COMMON_AUTO_FIELDS=Qn,i.DEFAULT_ISSUE_PRIORITY=AO,i.DEFAULT_PAGE_SIZE=DI,i.DISCARD_HTTP_STATUSES=Bn,i.DeferredPromise=Gt,i.DocumentAttachmentService=og,i.DocumentService=hg,i.EMPTY_ARRAY=Un,i.EMPTY_OBJECT=Ln,i.EmailDomainsService=mg,i.EmailVerificationService=yg,i.FILE_MODEL_DEFAULT_PAGE_SIZE=qI,i.FileService=pg,i.FormIdentifierService=Ag,i.FormIdentifierValueService=fg,i.FormRevisionAttachmentService=Sg,i.FormRevisionService=Tg,i.FormService=Ig,i.FormSubmissionAttachmentService=Og,i.FormSubmissionService=Pg,i.GeoImageService=Fg,i.HttpMethod=m,i.IssueAssociationService=gg,i.IssueAttachmentService=bg,i.IssueCommentAttachmentService=Mg,i.IssueCommentService=_g,i.IssuePriority=Nt,i.IssueService=Rg,i.IssueStatusType=kn,i.IssueTypeAttachmentService=wg,i.IssueTypeFieldValuesAttachmentService=Vg,i.IssueTypeFieldValuesService=Bg,i.IssueTypeFieldsAttachmentService=Eg,i.IssueTypeFieldsService=vg,i.IssueTypeIdentifierService=zg,i.IssueTypeIdentifierValueService=jg,i.IssueTypeService=Dg,i.IssueTypeStatusService=qg,i.IssueUpdateChange=$,i.IssueUpdateService=$g,i.JWTService=Lg,i.MAX_SERVICE_BATCH_SIZE=Qe,i.OUTBOX_RETRY_DELAY=Kn,i.OfflineAnalyticsMiddleware=tO,i.OfflineMiddleware=qn,i.OrganizationAccessLevel=Nn,i.OrganizationAccessService=Ng,i.OrganizationService=Gg,i.OutboxCoordinator=ut,i.ProjectAccessService=Hg,i.ProjectAttachmentService=kg,i.ProjectFileService=Kg,i.ProjectService=Wg,i.RESET_ORGANIZATION_STATE=g,i.RESET_PROJECT_STATE=j,i.RESET_STATE=O,i.RateLimitingMiddleware=sO,i.SelectorBuilder=qO,i.TeamMembershipService=Yg,i.TeamService=Zg,i.UNKNOWN_ERROR_MESSAGE=dt,i.UserService=Jg,i.VERSION_REDUCER_KEY=ot,i.VerificationCodeType=aO,i._setLatestRetryTime=eT,i.addAsset=Rr,i.addAssetAttachment=ma,i.addAssetAttachments=xt,i.addAssetProcedure=Lc,i.addAssetProcedureStep=Ar,i.addAssetProcedureStepFieldValues=er,i.addAssetProcedureStepFieldValuesAttachment=Ld,i.addAssetProcedureStepFieldValuesAttachments=Ps,i.addAssetProcedureStepFieldValuesMany=tr,i.addAssetProcedureStepFields=Rd,i.addAssetProcedureStepFieldsAttachment=yd,i.addAssetProcedureStepFieldsAttachments=pd,i.addAssetProcedureStepFieldsMany=wd,i.addAssetProcedureSteps=fr,i.addAssetProcedureType=ed,i.addAssetProcedureTypeAttachment=Ma,i.addAssetProcedureTypeAttachments=_a,i.addAssetProcedureTypeFieldValues=_c,i.addAssetProcedureTypeFieldValuesAttachment=yc,i.addAssetProcedureTypeFieldValuesAttachments=rs,i.addAssetProcedureTypeFieldValuesMany=Rc,i.addAssetProcedureTypeFields=ec,i.addAssetProcedureTypeFieldsAttachment=Ua,i.addAssetProcedureTypeFieldsAttachments=La,i.addAssetProcedureTypeFieldsMany=tc,i.addAssetProcedureTypes=td,i.addAssetProcedures=ms,i.addAssetStage=nu,i.addAssetStageCompletion=Lr,i.addAssetStageCompletions=Nr,i.addAssetStages=au,i.addAssetType=ao,i.addAssetTypeAttachment=pu,i.addAssetTypeAttachments=Ds,i.addAssetTypeFieldValues=pl,i.addAssetTypeFieldValuesAttachment=sl,i.addAssetTypeFieldValuesAttachments=Gs,i.addAssetTypeFieldValuesMany=Al,i.addAssetTypeFields=Nu,i.addAssetTypeFieldsAttachment=Ru,i.addAssetTypeFieldsAttachments=wu,i.addAssetTypeFieldsMany=Gu,i.addAssetTypeIdentifier=wl,i.addAssetTypeIdentifierValue=Gl,i.addAssetTypeIdentifierValues=Hl,i.addAssetTypeIdentifiers=El,i.addAssetTypeStatus=So,i.addAssetTypeStatuses=To,i.addAssetTypes=co,i.addAssets=ws,i.addConversation=da,i.addConversations=$O,i.addDocument=Zo,i.addDocumentAttachment=jo,i.addDocumentAttachments=Do,i.addDocuments=Jo,i.addEmailDomain=uh,i.addEmailDomains=lh,i.addForm=gm,i.addFormIdentifier=Mh,i.addFormIdentifierValue=Uh,i.addFormIdentifierValues=Lh,i.addFormIdentifiers=_h,i.addFormRevision=hi,i.addFormRevisionAttachment=em,i.addFormRevisionAttachments=tm,i.addFormRevisions=mi,i.addFormSubmission=Qm,i.addFormSubmissionAttachment=$m,i.addFormSubmissionAttachments=Ii,i.addFormSubmissions=Mi,i.addForms=bm,i.addGeoImage=oy,i.addGeoImages=hy,i.addIssue=Mp,i.addIssueAssociation=_y,i.addIssueAssociations=et,i.addIssueAttachment=Uy,i.addIssueAttachments=Bi,i.addIssueComment=mp,i.addIssueCommentAttachment=xy,i.addIssueCommentAttachments=ep,i.addIssueComments=yp,i.addIssueType=wf,i.addIssueTypeAttachment=Cp,i.addIssueTypeAttachments=Up,i.addIssueTypeFieldValues=mA,i.addIssueTypeFieldValuesAttachment=LA,i.addIssueTypeFieldValuesAttachments=Ji,i.addIssueTypeFieldValuesMany=yA,i.addIssueTypeFields=_A,i.addIssueTypeFieldsAttachment=xp,i.addIssueTypeFieldsAttachments=eA,i.addIssueTypeFieldsMany=RA,i.addIssueTypeIdentifier=ef,i.addIssueTypeIdentifierValue=pf,i.addIssueTypeIdentifierValues=Af,i.addIssueTypeIdentifiers=tf,i.addIssueTypeStatus=Gf,i.addIssueTypeStatuses=Hf,i.addIssueTypes=Ef,i.addIssueUpdate=un,i.addIssueUpdates=ln,i.addIssues=Li,i.addOrganization=US,i.addOrganizationAccess=FS,i.addOrganizationAccesses=gS,i.addOrganizations=CS,i.addProject=ZT,i.addProjectAccess=nT,i.addProjectAccesses=aT,i.addProjectAttachment=fT,i.addProjectAttachments=ST,i.addProjectFile=BT,i.addProjectFiles=zT,i.addProjects=YT,i.addTeam=OI,i.addTeamMembership=dI,i.addTeamMemberships=rI,i.addTeams=PI,i.addUser=An,i.addUsers=yS,i.agentsReducer=la,i.agentsSlice=Jt,i.areArraysEqual=IO,i.assetAttachmentReducer=Fa,i.assetAttachmentSlice=Qt,i.assetProcedureReducer=Wc,i.assetProcedureSlice=hs,i.assetProcedureStepFieldValuesAttachmentReducer=Xd,i.assetProcedureStepFieldValuesAttachmentSlice=Os,i.assetProcedureStepFieldValuesReducer=or,i.assetProcedureStepFieldValuesSlice=bs,i.assetProcedureStepFieldsAttachmentReducer=bd,i.assetProcedureStepFieldsAttachmentSlice=fs,i.assetProcedureStepFieldsReducer=$d,i.assetProcedureStepFieldsSlice=Ts,i.assetProcedureStepReducer=Pr,i.assetProcedureStepSlice=Ms,i.assetProcedureTypeAttachmentReducer=za,i.assetProcedureTypeAttachmentSlice=ss,i.assetProcedureTypeFieldValuesAttachmentReducer=Ic,i.assetProcedureTypeFieldValuesAttachmentSlice=ds,i.assetProcedureTypeFieldValuesReducer=jc,i.assetProcedureTypeFieldValuesSlice=os,i.assetProcedureTypeFieldsAttachmentReducer=Ya,i.assetProcedureTypeFieldsAttachmentSlice=ns,i.assetProcedureTypeFieldsReducer=rc,i.assetProcedureTypeFieldsSlice=cs,i.assetProcedureTypeReducer=rd,i.assetProcedureTypeSlice=ps,i.assetReducer=$r,i.assetSlice=Rs,i.assetStageCompletionReducer=Zr,i.assetStageCompletionSlice=vs,i.assetStageReducer=lu,i.assetStageSlice=Vs,i.assetTypeAttachmentReducer=bu,i.assetTypeAttachmentSlice=js,i.assetTypeFieldValuesAttachmentReducer=hl,i.assetTypeFieldValuesAttachmentSlice=Ns,i.assetTypeFieldValuesReducer=Ml,i.assetTypeFieldValuesSlice=Ks,i.assetTypeFieldsAttachmentReducer=Cu,i.assetTypeFieldsAttachmentSlice=Cs,i.assetTypeFieldsReducer=xu,i.assetTypeFieldsSlice=Ls,i.assetTypeIdentifierReducer=Ul,i.assetTypeIdentifierSlice=Ws,i.assetTypeIdentifierValueReducer=eo,i.assetTypeIdentifierValueSlice=Zs,i.assetTypeReducer=po,i.assetTypeSlice=Js,i.assetTypeStatusReducer=wo,i.assetTypeStatusSlice=Qs,i.assetTypeStatusSortFn=ta,i.authReducer=Vo,i.authSlice=wt,i.baseReducer=gF,i.baseReducers=Vn,i.clearTokens=PP,i.createModelAdapter=F,i.createOfflineAction=JS,i.createPayload=E,i.createSelectionAdapter=fO,i.deleteAsset=vr,i.deleteAssetAttachment=Sa,i.deleteAssetAttachments=es,i.deleteAssetProcedure=Hc,i.deleteAssetProcedureStep=Ir,i.deleteAssetProcedureStepFieldValues=cr,i.deleteAssetProcedureStepFieldValuesAttachment=Kd,i.deleteAssetProcedureStepFieldValuesAttachments=Fs,i.deleteAssetProcedureStepFieldValuesMany=dr,i.deleteAssetProcedureStepFields=zd,i.deleteAssetProcedureStepFieldsAttachment=Id,i.deleteAssetProcedureStepFieldsAttachments=Od,i.deleteAssetProcedureStepFieldsMany=jd,i.deleteAssetProcedureSteps=Or,i.deleteAssetProcedureType=nd,i.deleteAssetProcedureTypeAttachment=Va,i.deleteAssetProcedureTypeAttachments=Ba,i.deleteAssetProcedureTypeFieldValues=Bc,i.deleteAssetProcedureTypeFieldValuesAttachment=Tc,i.deleteAssetProcedureTypeFieldValuesAttachments=us,i.deleteAssetProcedureTypeFieldValuesMany=zc,i.deleteAssetProcedureTypeFields=cc,i.deleteAssetProcedureTypeFieldsAttachment=Ka,i.deleteAssetProcedureTypeFieldsAttachments=Wa,i.deleteAssetProcedureTypeFieldsMany=dc,i.deleteAssetProcedureTypes=ad,i.deleteAssetProcedures=ys,i.deleteAssetStage=ru,i.deleteAssetStageCompletion=Wr,i.deleteAssetStageCompletions=Yr,i.deleteAssetStages=uu,i.deleteAssetType=lo,i.deleteAssetTypeAttachment=Iu,i.deleteAssetTypeAttachments=qs,i.deleteAssetTypeFieldValues=Ol,i.deleteAssetTypeFieldValuesAttachment=dl,i.deleteAssetTypeFieldValuesAttachments=Hs,i.deleteAssetTypeFieldValuesMany=Pl,i.deleteAssetTypeFields=Yu,i.deleteAssetTypeFieldsAttachment=zu,i.deleteAssetTypeFieldsAttachments=ju,i.deleteAssetTypeFieldsMany=Zu,i.deleteAssetTypeIdentifier=jl,i.deleteAssetTypeIdentifierValue=Zl,i.deleteAssetTypeIdentifierValues=Jl,i.deleteAssetTypeIdentifiers=Dl,i.deleteAssetTypeStatus=go,i.deleteAssetTypeStatuses=bo,i.deleteAssetTypes=oo,i.deleteAssets=Es,i.deleteConversation=LO,i.deleteConversations=NO,i.deleteDocument=th,i.deleteDocumentAttachment=Lo,i.deleteDocumentAttachments=No,i.deleteDocuments=sh,i.deleteEmailDomain=ph,i.deleteEmailDomains=Ah,i.deleteForm=Em,i.deleteFormIdentifier=Vh,i.deleteFormIdentifierValue=Kh,i.deleteFormIdentifierValues=Wh,i.deleteFormIdentifiers=Bh,i.deleteFormRevision=yi,i.deleteFormRevisionAttachment=cm,i.deleteFormRevisionAttachments=dm,i.deleteFormRevisions=pi,i.deleteFormSubmission=ty,i.deleteFormSubmissionAttachment=Gm,i.deleteFormSubmissionAttachments=Oi,i.deleteFormSubmissions=_i,i.deleteForms=vm,i.deleteGeoImage=py,i.deleteGeoImages=Ay,i.deleteIssue=vp,i.deleteIssueAssociation=Ry,i.deleteIssueAssociations=tt,i.deleteIssueAttachment=ky,i.deleteIssueAttachments=zi,i.deleteIssueComment=Tp,i.deleteIssueCommentAttachment=ap,i.deleteIssueCommentAttachments=cp,i.deleteIssueComments=Ip,i.deleteIssueType=jf,i.deleteIssueTypeAttachment=kp,i.deleteIssueTypeAttachments=Kp,i.deleteIssueTypeFieldValues=TA,i.deleteIssueTypeFieldValuesAttachment=KA,i.deleteIssueTypeFieldValuesAttachments=Xi,i.deleteIssueTypeFieldValuesMany=IA,i.deleteIssueTypeFields=BA,i.deleteIssueTypeFieldsAttachment=aA,i.deleteIssueTypeFieldsAttachments=cA,i.deleteIssueTypeFieldsMany=zA,i.deleteIssueTypeIdentifier=df,i.deleteIssueTypeIdentifierValue=Of,i.deleteIssueTypeIdentifierValues=Pf,i.deleteIssueTypeIdentifiers=rf,i.deleteIssueTypeStatus=Zf,i.deleteIssueTypeStatuses=Jf,i.deleteIssueTypes=Df,i.deleteIssueUpdate=on,i.deleteIssueUpdates=hn,i.deleteIssues=Ni,i.deleteOrganization=GS,i.deleteOrganizationAccess=wS,i.deleteOrganizationAccesses=ES,i.deleteOrganizations=HS,i.deleteProject=QT,i.deleteProjectAccess=lT,i.deleteProjectAccesses=oT,i.deleteProjectAttachment=FT,i.deleteProjectAttachments=gT,i.deleteProjectFile=qT,i.deleteProjectFiles=$T,i.deleteProjects=xT,i.deleteTeam=_I,i.deleteTeamMembership=mI,i.deleteTeamMemberships=yI,i.deleteTeams=RI,i.deleteUser=fn,i.deleteUsers=fS,i.dequeue=kI,i.discard=WI,i.documentAttachmentReducer=Ko,i.documentAttachmentSlice=ei,i.documentSlice=si,i.documentsReducer=ih,i.downloadFile=_O,i.emailDomainsReducer=Ih,i.emailDomainsSlice=ni,i.emailRegex=zO,i.enqueue=HI,i.enqueueRequest=QS,i.extractResponseFromError=ZI,i.fallbackToEmptyArray=S,i.fallbackToEmptyObject=St,i.fetchBlobFromObjectUrl=Yn,i.fetchFileFromObjectUrl=Zn,i.fileReducer=Fh,i.fileSlice=ci,i.formIdentifierReducer=qh,i.formIdentifierSlice=di,i.formIdentifierValueReducer=Xh,i.formIdentifierValueSlice=ui,i.formReducer=Vm,i.formRevisionAttachmentReducer=om,i.formRevisionAttachmentSlice=li,i.formRevisionReducer=Om,i.formRevisionsSlice=oi,i.formSlice=fi,i.formSubmissionAttachmentReducer=Wm,i.formSubmissionAttachmentSlice=Ti,i.formSubmissionReducer=cy,i.formSubmissionSlice=bi,i.geoImageReducer=Iy,i.geoImageSlice=wi,i.getAssetProcedureStepSubTree=ea,i.getAssetProcedureStepTrees=jO,i.getClientSDK=eO,i.getClientStore=lt,i.getDocumentSubTree=na,i.getDocumentTrees=DO,i.getFileExtension=Yt,i.getLocalDateString=Wn,i.getLocalRelativeDateString=gO,i.getOutboxCoordinator=at,i.getRenamedFile=MO,i.getRequestDescription=T,i.getS3FileKey=Wt,i.hashFile=Tt,i.initSDK=Qg,i.initializeAssetAttachments=ha,i.initializeAssetProcedureStepFieldValues=xd,i.initializeAssetProcedureStepFieldValuesAttachments=Ud,i.initializeAssetProcedureStepFields=_d,i.initializeAssetProcedureStepFieldsAttachments=md,i.initializeAssetProcedureSteps=mr,i.initializeAssetProcedureTypeAttachments=ba,i.initializeAssetProcedureTypeFieldValues=Mc,i.initializeAssetProcedureTypeFieldValuesAttachments=mc,i.initializeAssetProcedureTypeFields=xa,i.initializeAssetProcedureTypeFieldsAttachments=Ca,i.initializeAssetProcedureTypes=xc,i.initializeAssetProcedures=Uc,i.initializeAssetStageCompletions=Ur,i.initializeAssetStages=tu,i.initializeAssetTypeAttachments=yu,i.initializeAssetTypeFieldValues=yl,i.initializeAssetTypeFieldValuesAttachments=tl,i.initializeAssetTypeFields=Lu,i.initializeAssetTypeFieldsAttachments=_u,i.initializeAssetTypeIdentifierValues=Nl,i.initializeAssetTypeIdentifiers=Rl,i.initializeAssetTypeStatuses=fo,i.initializeAssetTypes=so,i.initializeAssets=_r,i.initializeConversations=ca,i.initializeDocumentAttachments=zo,i.initializeDocuments=Yo,i.initializeEmailDomains=rh,i.initializeFormIdentifierValues=Ch,i.initializeFormIdentifiers=bh,i.initializeFormRevisionAttachments=xh,i.initializeFormRevisions=mm,i.initializeFormSubmissionAttachments=qm,i.initializeFormSubmissions=Zm,i.initializeForms=Fm,i.initializeGeoImages=ry,i.initializeIssueAssociations=Py,i.initializeIssueAttachments=Cy,i.initializeIssueCommentAttachments=Qy,i.initializeIssueComments=hp,i.initializeIssueTypeAttachments=$p,i.initializeIssueTypeFieldValues=hA,i.initializeIssueTypeFieldValuesAttachments=UA,i.initializeIssueTypeFields=MA,i.initializeIssueTypeFieldsAttachments=Qp,i.initializeIssueTypeIdentifierValues=yf,i.initializeIssueTypeIdentifiers=xA,i.initializeIssueTypeStatuses=Nf,i.initializeIssueTypes=Rf,i.initializeIssueUpdates=tS,i.initializeIssues=bp,i.initializeOrganizationAccesses=PS,i.initializeOrganizations=DS,i.initializeProjectAccesses=iT,i.initializeProjectAttachments=AT,i.initializeProjectFiles=ET,i.initializeProjects=kT,i.initializeTeamMemberships=cI,i.initializeTeams=II,i.initializeUsers=oS,i.isObjectUrl=Jn,i.isToday=FO,i.issueAssociationReducer=qy,i.issueAssociationSlice=vi,i.issueAttachmentReducer=Jy,i.issueAttachmentSlice=Vi,i.issueCommentAttachmentReducer=lp,i.issueCommentAttachmentSlice=Di,i.issueCommentReducer=Fp,i.issueCommentSlice=$i,i.issueReducer=Dp,i.issueSlice=Ui,i.issueTypeAttachmentReducer=Jp,i.issueTypeAttachmentSlice=Gi,i.issueTypeFieldValuesAttachmentReducer=XA,i.issueTypeFieldValuesAttachmentSlice=Zi,i.issueTypeFieldValuesReducer=gA,i.issueTypeFieldValuesSlice=Wi,i.issueTypeFieldsAttachmentReducer=lA,i.issueTypeFieldsAttachmentSlice=ki,i.issueTypeFieldsReducer=$A,i.issueTypeFieldsSlice=Yi,i.issueTypeIdentifierReducer=hf,i.issueTypeIdentifierSlice=xi,i.issueTypeIdentifierValueReducer=Mf,i.issueTypeIdentifierValueSlice=tn,i.issueTypeReducer=Uf,i.issueTypeSlice=sn,i.issueTypeStatusReducer=xf,i.issueTypeStatusSlice=an,i.issueTypeStatusSortFn=sa,i.issueUpdateReducer=uS,i.issueUpdateSlice=rn,i.logOnlyOnce=RO,i.markAsDeleted=xS,i.markForDeletion=aF,i.memoize=kt,i.organizationAccessReducer=vS,i.organizationAccessSlice=Tn,i.organizationReducer=ZS,i.organizationSlice=In,i.outboxReducer=tT,i.outboxSlice=On,i.overmapEnhancer=BF,i.overmapReducer=bF,i.overmapReducers=jI,i.performRequest=jn,i.performRequestFromAction=KI,i.projectAccessReducer=hT,i.projectAccessSlice=Pn,i.projectAttachmentReducer=RT,i.projectAttachmentSlice=gn,i.projectFileReducer=GT,i.projectFileSlice=Mn,i.projectReducer=eI,i.projectSlice=_n,i.rehydratedReducer=nI,i.rehydratedSlice=Rn,i.restructureSelectorWithArgs=f,i.runMiddleware=nO,i.saveActiveProjectFileBounds=hF,i.selectAccessToken=FP,i.selectAccessesByUserOfProject=dF,i.selectAccessibleProjects=pF,i.selectActiveOrganizationAccess=tF,i.selectActiveProjectFileId=mF,i.selectAllDocumentAttachments=ti,i.selectAssetAttachmentById=Ia,i.selectAssetAttachmentMapping=Ta,i.selectAssetAttachments=ts,i.selectAssetAttachmentsByIds=Oa,i.selectAssetById=Dr,i.selectAssetProcedureById=Jc,i.selectAssetProcedureStepById=Fr,i.selectAssetProcedureStepFieldValues=ht,i.selectAssetProcedureStepFieldValuesAttachmentById=Yd,i.selectAssetProcedureStepFieldValuesAttachments=gs,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Zd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=Wd,i.selectAssetProcedureStepFieldValuesById=ur,i.selectAssetProcedureStepFieldValuesByIds=lr,i.selectAssetProcedureStepFieldValuesMapping=rr,i.selectAssetProcedureStepFieldValuesOfAsset=iP,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=nP,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=aP,i.selectAssetProcedureStepFields=gt,i.selectAssetProcedureStepFieldsAttachmentById=Fd,i.selectAssetProcedureStepFieldsAttachments=Ss,i.selectAssetProcedureStepFieldsAttachmentsByIds=gd,i.selectAssetProcedureStepFieldsAttachmentsMapping=Pd,i.selectAssetProcedureStepFieldsById=Dd,i.selectAssetProcedureStepFieldsByIds=qd,i.selectAssetProcedureStepFieldsMapping=Is,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=eP,i.selectAssetProcedureStepMapping=bt,i.selectAssetProcedureSteps=_s,i.selectAssetProcedureStepsByIds=gr,i.selectAssetProcedureStepsMappingOfAssetProcedureType=cP,i.selectAssetProcedureStepsOfAssetProcedureType=dP,i.selectAssetProcedureTypeAttachmentById=Da,i.selectAssetProcedureTypeAttachmentMapping=ja,i.selectAssetProcedureTypeAttachments=is,i.selectAssetProcedureTypeAttachmentsByIds=qa,i.selectAssetProcedureTypeById=ld,i.selectAssetProcedureTypeFieldValues=Pt,i.selectAssetProcedureTypeFieldValuesAttachmentById=Pc,i.selectAssetProcedureTypeFieldValuesAttachments=ls,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=Fc,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=Oc,i.selectAssetProcedureTypeFieldValuesById=qc,i.selectAssetProcedureTypeFieldValuesByIds=$c,i.selectAssetProcedureTypeFieldValuesMapping=Dc,i.selectAssetProcedureTypeFieldValuesOfAsset=ZO,i.selectAssetProcedureTypeFields=Ot,i.selectAssetProcedureTypeFieldsAttachmentById=Ja,i.selectAssetProcedureTypeFieldsAttachments=as,i.selectAssetProcedureTypeFieldsAttachmentsByIds=Xa,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Za,i.selectAssetProcedureTypeFieldsById=lc,i.selectAssetProcedureTypeFieldsByIds=oc,i.selectAssetProcedureTypeFieldsMapping=uc,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=WO,i.selectAssetProcedureTypes=As,i.selectAssetProcedureTypesByIds=od,i.selectAssetProcedureTypesMapping=ud,i.selectAssetProcedureTypesOfOrganization=QO,i.selectAssetProcedures=Ft,i.selectAssetProceduresByIds=Xc,i.selectAssetProceduresMapping=Yc,i.selectAssetProceduresOfAssetProcedureType=Zc,i.selectAssetProceduresOfAssetType=XO,i.selectAssetStageById=ou,i.selectAssetStageCompletionById=Qr,i.selectAssetStageCompletionMapping=Jr,i.selectAssetStageCompletions=Xr,i.selectAssetStageCompletionsByIds=xr,i.selectAssetStages=zs,i.selectAssetStagesByIds=hu,i.selectAssetStagesMappingOfAssetProcedureType=uP,i.selectAssetStagesOfAssetProcedureType=lP,i.selectAssetTypeAttachmentById=Pu,i.selectAssetTypeAttachmentMapping=Ou,i.selectAssetTypeAttachments=$s,i.selectAssetTypeAttachmentsByIds=Fu,i.selectAssetTypeById=mo,i.selectAssetTypeFieldValues=_t,i.selectAssetTypeFieldValuesAttachmentById=ul,i.selectAssetTypeFieldValuesAttachments=ks,i.selectAssetTypeFieldValuesAttachmentsByIds=ll,i.selectAssetTypeFieldValuesAttachmentsMapping=rl,i.selectAssetTypeFieldValuesById=gl,i.selectAssetTypeFieldValuesByIds=bl,i.selectAssetTypeFieldValuesMapping=Fl,i.selectAssetTypeFieldValuesOfAsset=yP,i.selectAssetTypeFields=mt,i.selectAssetTypeFieldsAttachmentById=qu,i.selectAssetTypeFieldsAttachments=Us,i.selectAssetTypeFieldsAttachmentsByIds=$u,i.selectAssetTypeFieldsAttachmentsMapping=Du,i.selectAssetTypeFieldsById=Xu,i.selectAssetTypeFieldsByIds=Qu,i.selectAssetTypeFieldsMapping=Ju,i.selectAssetTypeFieldsOfAssetType=hP,i.selectAssetTypeIdentifierById=$l,i.selectAssetTypeIdentifierMapping=ql,i.selectAssetTypeIdentifierValueById=Ql,i.selectAssetTypeIdentifierValueMapping=Xl,i.selectAssetTypeIdentifierValues=Rt,i.selectAssetTypeIdentifierValuesByIds=xl,i.selectAssetTypeIdentifierValuesOfAsset=fP,i.selectAssetTypeIdentifierValuesOfIdentifier=SP,i.selectAssetTypeIdentifiers=Ys,i.selectAssetTypeIdentifiersByIds=Cl,i.selectAssetTypeIdentifiersOfAssetType=AP,i.selectAssetTypeStatusById=_o,i.selectAssetTypeStatusMapping=Mo,i.selectAssetTypeStatuses=xs,i.selectAssetTypeStatusesByIds=Ro,i.selectAssetTypeStatusesOfAssetType=IP,i.selectAssetTypeValuesOfAssetType=pP,i.selectAssetTypes=Xs,i.selectAssetTypesByIds=yo,i.selectAssetTypesMapping=ho,i.selectAssetTypesOfOrganization=TP,i.selectAssets=Mt,i.selectAssetsByIds=qr,i.selectAssetsMapping=zr,i.selectAssetsOfAssetType=jr,i.selectAssetsOfProject=rP,i.selectAttachmentsOfAsset=Pa,i.selectAttachmentsOfAssetProcedureStepFieldValues=Jd,i.selectAttachmentsOfAssetProcedureStepFields=xO,i.selectAttachmentsOfAssetProcedureType=kO,i.selectAttachmentsOfAssetProcedureTypeFieldValues=gc,i.selectAttachmentsOfAssetProcedureTypeFields=KO,i.selectAttachmentsOfAssetType=gu,i.selectAttachmentsOfAssetTypeFieldValues=ol,i.selectAttachmentsOfAssetTypeFields=oP,i.selectAttachmentsOfDocument=bP,i.selectAttachmentsOfFormRevision=jP,i.selectAttachmentsOfFormSubmission=Km,i.selectAttachmentsOfIssue=Wy,i.selectAttachmentsOfIssueComment=CP,i.selectAttachmentsOfIssueType=NP,i.selectAttachmentsOfIssueTypeFieldValues=JA,i.selectAttachmentsOfIssueTypeFields=GP,i.selectAttachmentsOfProject=uF,i.selectCommentsOfIssue=UP,i.selectConversation=HO,i.selectConversationMapping=Xt,i.selectConversations=GO,i.selectCurrentUser=TS,i.selectDeletedRequests=iF,i.selectDescendantsOfAssetProcedureStep=br,i.selectDescendantsOfDocument=ch,i.selectDocumentAttachmentById=Ho,i.selectDocumentAttachmentMapping=Go,i.selectDocumentAttachmentsByIds=ko,i.selectDocumentById=nh,i.selectDocuments=Et,i.selectDocumentsByIds=ah,i.selectDocumentsMapping=ii,i.selectEmailDomainById=Sh,i.selectEmailDomains=ai,i.selectEmailDomainsAsMapping=fh,i.selectEmailDomainsByIds=Th,i.selectEmailDomainsOfOrganization=RP,i.selectFieldValuesOfAssetProcedure=JO,i.selectFormById=zm,i.selectFormIdentifierById=jh,i.selectFormIdentifierMapping=zh,i.selectFormIdentifierValueById=Zh,i.selectFormIdentifierValueMapping=Yh,i.selectFormIdentifierValues=vt,i.selectFormIdentifierValuesByIds=Jh,i.selectFormIdentifierValuesOfFormSubmission=BP,i.selectFormIdentifierValuesOfIdentifier=zP,i.selectFormIdentifiers=ri,i.selectFormIdentifiersByIds=Dh,i.selectFormIdentifiersOfForm=VP,i.selectFormMapping=Bm,i.selectFormRevisionAttachmentById=um,i.selectFormRevisionAttachments=rm,i.selectFormRevisionAttachmentsByIds=lm,i.selectFormRevisionAttachmentsMapping=Vt,i.selectFormRevisionById=Sm,i.selectFormRevisionMapping=Ai,i.selectFormRevisions=Bt,i.selectFormRevisionsByIds=Tm,i.selectFormRevisionsOfForm=Im,i.selectFormSubmissionAttachemntsByIds=gi,i.selectFormSubmissionAttachmentById=Hm,i.selectFormSubmissionAttachments=Fi,i.selectFormSubmissionAttachmentsByIds=km,i.selectFormSubmissionAttachmentsMapping=Pi,i.selectFormSubmissionById=iy,i.selectFormSubmissions=sy,i.selectFormSubmissionsByIds=ny,i.selectFormSubmissionsMapping=Ri,i.selectFormSubmissionsOfForm=ay,i.selectForms=Si,i.selectFormsByIds=jm,i.selectFormsOfOrganization=qP,i.selectGeoImageById=Sy,i.selectGeoImageMapping=fy,i.selectGeoImages=Ei,i.selectGeoImagesByIds=Ty,i.selectGeoImagesOfProject=$P,i.selectIsImportingProjectFile=yF,i.selectIsLoggedIn=gP,i.selectIssueAssociationById=Ey,i.selectIssueAssociationMapping=wy,i.selectIssueAssociations=st,i.selectIssueAssociationsByIds=vy,i.selectIssueAssociationsOfAsset=Dy,i.selectIssueAssociationsOfIssue=jy,i.selectIssueAssociationsOfIssues=zy,i.selectIssueAssociationsToIssue=Vy,i.selectIssueAssociationsToIssues=By,i.selectIssueAttachmentById=Yy,i.selectIssueAttachmentMapping=Ky,i.selectIssueAttachments=ji,i.selectIssueAttachmentsByIds=Zy,i.selectIssueById=Bp,i.selectIssueCommentAttachmentById=rp,i.selectIssueCommentAttachmentMapping=dp,i.selectIssueCommentAttachments=qi,i.selectIssueCommentAttachmentsByIds=up,i.selectIssueCommentById=Op,i.selectIssueCommentMapping=Ci,i.selectIssueCommentsByIds=Pp,i.selectIssueMapping=Vp,i.selectIssueTypeAttachmentById=Yp,i.selectIssueTypeAttachmentMapping=Wp,i.selectIssueTypeAttachments=Hi,i.selectIssueTypeAttachmentsByIds=Zp,i.selectIssueTypeById=$f,i.selectIssueTypeFieldValues=jt,i.selectIssueTypeFieldValuesAttachmentById=YA,i.selectIssueTypeFieldValuesAttachments=Qi,i.selectIssueTypeFieldValuesAttachmentsByIds=ZA,i.selectIssueTypeFieldValuesAttachmentsMapping=WA,i.selectIssueTypeFieldValuesById=PA,i.selectIssueTypeFieldValuesByIds=FA,i.selectIssueTypeFieldValuesMapping=OA,i.selectIssueTypeFieldValuesOfIssue=HP,i.selectIssueTypeFields=yt,i.selectIssueTypeFieldsAttachmentById=rA,i.selectIssueTypeFieldsAttachments=Ki,i.selectIssueTypeFieldsAttachmentsByIds=uA,i.selectIssueTypeFieldsAttachmentsMapping=dA,i.selectIssueTypeFieldsById=DA,i.selectIssueTypeFieldsByIds=qA,i.selectIssueTypeFieldsMapping=jA,i.selectIssueTypeFieldsOfIssueType=kP,i.selectIssueTypeIdentifierById=lf,i.selectIssueTypeIdentifierMapping=uf,i.selectIssueTypeIdentifierValueById=gf,i.selectIssueTypeIdentifierValueMapping=Ff,i.selectIssueTypeIdentifierValues=Dt,i.selectIssueTypeIdentifierValuesByIds=bf,i.selectIssueTypeIdentifierValuesOfIdentifier=JP,i.selectIssueTypeIdentifierValuesOfIssue=ZP,i.selectIssueTypeIdentifiers=en,i.selectIssueTypeIdentifiersByIds=of,i.selectIssueTypeIdentifiersOfIssueType=YP,i.selectIssueTypeMapping=qf,i.selectIssueTypeStatusById=dn,i.selectIssueTypeStatusMapping=Xf,i.selectIssueTypeStatuses=cn,i.selectIssueTypeStatusesByIds=Qf,i.selectIssueTypeStatusesOfIssueType=QP,i.selectIssueTypeValuesOfIssueType=WP,i.selectIssueTypes=nn,i.selectIssueTypesByIds=Cf,i.selectIssueTypesOfOrganization=XP,i.selectIssueUpdateById=cS,i.selectIssueUpdateMapping=mn,i.selectIssueUpdates=yn,i.selectIssueUpdatesByIds=dS,i.selectIssueUpdatesOfIssue=rS,i.selectIssues=zt,i.selectIssuesByIds=zp,i.selectIssuesOfIssueType=jp,i.selectIssuesOfProject=LP,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=tP,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=YO,i.selectLatestAssetTypeFieldsOfAssetType=mP,i.selectLatestFieldsByAssetProcedureStep=sP,i.selectLatestFormRevisionOfForm=DP,i.selectLatestIssueTypeFieldsOfIssueType=KP,i.selectLatestRetryTime=nF,i.selectMembershipsByUserOfTeam=IF,i.selectOrganizationAccessById=VS,i.selectOrganizationAccessMapping=Ct,i.selectOrganizationAccessUserMapping=zS,i.selectOrganizationAccessesByIds=BS,i.selectOrganizationById=WS,i.selectOrganizationDocuments=_P,i.selectOrganizations=KS,i.selectOrganizationsByIds=YS,i.selectOrganizationsMapping=kS,i.selectProjectAccessById=mT,i.selectProjectAccessMapping=Fn,i.selectProjectAccesses=pt,i.selectProjectAccessesByIds=yT,i.selectProjectAccessesOfProject=cF,i.selectProjectAttachmentById=MT,i.selectProjectAttachmentMapping=bT,i.selectProjectAttachments=bn,i.selectProjectAttachmentsByIds=_T,i.selectProjectById=sI,i.selectProjectDocuments=MP,i.selectProjectFileById=LT,i.selectProjectFileMapping=CT,i.selectProjectFiles=UT,i.selectProjectFilesByIds=NT,i.selectProjectMapping=tI,i.selectProjects=Ut,i.selectProjectsByIds=iI,i.selectProjectsOfOrganization=AF,i.selectRehydrated=TF,i.selectStageMapping=Bs,i.selectTeamById=EI,i.selectTeamMembershipById=fI,i.selectTeamMemberships=Lt,i.selectTeamMembershipsByIds=SI,i.selectTeamMembershipsMapping=AI,i.selectTeams=vn,i.selectTeamsByIds=vI,i.selectTeamsMapping=wI,i.selectTeamsOfOrganization=PF,i.selectUploadUrl=vP,i.selectUserById=$t,i.selectUsers=qt,i.selectUsersByIds=IS,i.selectUsersMapping=Sn,i.selectUsersOfOrganization=sF,i.selectUsersOfProject=rF,i.selectUsersOfTeam=OF,i.setActiveProjectFileId=oF,i.setAsset=Vr,i.setAssetAttachment=ya,i.setAssetAttachments=pa,i.setAssetProcedure=kc,i.setAssetProcedureStep=yr,i.setAssetProcedureStepFieldValues=sr,i.setAssetProcedureStepFieldValuesAttachment=Nd,i.setAssetProcedureStepFieldValuesAttachments=Gd,i.setAssetProcedureStepFieldValuesMany=ir,i.setAssetProcedureStepFields=Ed,i.setAssetProcedureStepFieldsAttachment=Ad,i.setAssetProcedureStepFieldsAttachments=fd,i.setAssetProcedureStepFieldsMany=vd,i.setAssetProcedureSteps=pr,i.setAssetProcedureType=cd,i.setAssetProcedureTypeAttachment=Ra,i.setAssetProcedureTypeAttachments=wa,i.setAssetProcedureTypeFieldValues=wc,i.setAssetProcedureTypeFieldValuesAttachment=pc,i.setAssetProcedureTypeFieldValuesAttachments=Ac,i.setAssetProcedureTypeFieldValuesMany=Ec,i.setAssetProcedureTypeFields=sc,i.setAssetProcedureTypeFieldsAttachment=Na,i.setAssetProcedureTypeFieldsAttachments=Ga,i.setAssetProcedureTypeFieldsMany=ic,i.setAssetProcedureTypes=dd,i.setAssetProcedures=Kc,i.setAssetStage=su,i.setAssetStageCompletion=Gr,i.setAssetStageCompletions=Hr,i.setAssetStages=iu,i.setAssetType=io,i.setAssetTypeAttachment=Au,i.setAssetTypeAttachments=fu,i.setAssetTypeFieldValues=fl,i.setAssetTypeFieldValuesAttachment=il,i.setAssetTypeFieldValuesAttachments=nl,i.setAssetTypeFieldValuesMany=Sl,i.setAssetTypeFields=Hu,i.setAssetTypeFieldsAttachment=Eu,i.setAssetTypeFieldsAttachments=vu,i.setAssetTypeFieldsMany=ku,i.setAssetTypeIdentifier=vl,i.setAssetTypeIdentifierValue=kl,i.setAssetTypeIdentifierValues=Kl,i.setAssetTypeIdentifiers=Vl,i.setAssetTypeStatus=Io,i.setAssetTypeStatuses=Oo,i.setAssetTypes=no,i.setAssets=Br,i.setClientSDK=xI,i.setClientStore=XI,i.setConversation=ra,i.setConversations=CO,i.setCurrentUser=xP,i.setDocument=Xo,i.setDocumentAttachment=qo,i.setDocumentAttachments=$o,i.setDocuments=Qo,i.setEmailDomain=oh,i.setEmailDomains=hh,i.setForm=Mm,i.setFormIdentifier=Rh,i.setFormIdentifierValue=Nh,i.setFormIdentifierValues=Gh,i.setFormIdentifiers=wh,i.setFormRevision=ym,i.setFormRevisionAttachment=sm,i.setFormRevisionAttachments=im,i.setFormRevisions=pm,i.setFormSubmission=Jm,i.setFormSubmissionAttachment=Cm,i.setFormSubmissionAttachments=Um,i.setFormSubmissions=Xm,i.setForms=_m,i.setGeoImage=uy,i.setGeoImages=ly,i.setIsImportingProjectFile=lF,i.setIssue=_p,i.setIssueAssociation=gy,i.setIssueAssociations=Fy,i.setIssueAttachment=Ly,i.setIssueAttachments=Ny,i.setIssueComment=pp,i.setIssueCommentAttachment=tp,i.setIssueCommentAttachments=sp,i.setIssueComments=Ap,i.setIssueType=vf,i.setIssueTypeAttachment=Lp,i.setIssueTypeAttachments=Np,i.setIssueTypeFieldValues=pA,i.setIssueTypeFieldValuesAttachment=NA,i.setIssueTypeFieldValuesAttachments=GA,i.setIssueTypeFieldValuesMany=AA,i.setIssueTypeFields=wA,i.setIssueTypeFieldsAttachment=tA,i.setIssueTypeFieldsAttachments=sA,i.setIssueTypeFieldsMany=EA,i.setIssueTypeIdentifier=sf,i.setIssueTypeIdentifierValue=ff,i.setIssueTypeIdentifierValues=Sf,i.setIssueTypeIdentifiers=nf,i.setIssueTypeStatus=kf,i.setIssueTypeStatuses=Kf,i.setIssueTypes=Vf,i.setIssueUpdate=sS,i.setIssueUpdates=iS,i.setIssues=Rp,i.setLoggedIn=vo,i.setOrganization=$S,i.setOrganizationAccess=bS,i.setOrganizationAccesses=MS,i.setOrganizations=qS,i.setProfilePicture=eF,i.setProject=WT,i.setProjectAccess=cT,i.setProjectAccesses=dT,i.setProjectAttachment=TT,i.setProjectAttachments=IT,i.setProjectFile=vT,i.setProjectFiles=VT,i.setProjects=KT,i.setRehydrated=SF,i.setTeam=FI,i.setTeamMembership=uI,i.setTeamMemberships=lI,i.setTeams=gI,i.setTokens=OP,i.setUploadUrl=EP,i.setUser=mS,i.setUsers=hS,i.shallowEqual=TO,i.slugify=VO,i.spacesToDashesLower=vO,i.teamMembershipReducer=pI,i.teamMembershipSlice=wn,i.teamReducer=VI,i.teamSlice=En,i.toFileNameSafeString=EO,i.toUuidArray=B,i.toUuidIdRecord=wO,i.truncate=BO,i.updateAsset=wr,i.updateAssetAttachment=Aa,i.updateAssetAttachments=fa,i.updateAssetProcedure=Nc,i.updateAssetProcedureStep=Sr,i.updateAssetProcedureStepFieldValues=nr,i.updateAssetProcedureStepFieldValuesAttachment=Hd,i.updateAssetProcedureStepFieldValuesAttachments=kd,i.updateAssetProcedureStepFieldValuesMany=ar,i.updateAssetProcedureStepFields=Vd,i.updateAssetProcedureStepFieldsAttachment=Sd,i.updateAssetProcedureStepFieldsAttachments=Td,i.updateAssetProcedureStepFieldsMany=Bd,i.updateAssetProcedureSteps=Tr,i.updateAssetProcedureType=sd,i.updateAssetProcedureTypeAttachment=Ea,i.updateAssetProcedureTypeAttachments=va,i.updateAssetProcedureTypeFieldValues=vc,i.updateAssetProcedureTypeFieldValuesAttachment=fc,i.updateAssetProcedureTypeFieldValuesAttachments=Sc,i.updateAssetProcedureTypeFieldValuesMany=Vc,i.updateAssetProcedureTypeFields=nc,i.updateAssetProcedureTypeFieldsAttachment=Ha,i.updateAssetProcedureTypeFieldsAttachments=ka,i.updateAssetProcedureTypeFieldsMany=ac,i.updateAssetProcedureTypes=id,i.updateAssetProcedures=Gc,i.updateAssetStage=cu,i.updateAssetStageCompletion=kr,i.updateAssetStageCompletions=Kr,i.updateAssetStages=du,i.updateAssetType=ro,i.updateAssetTypeAttachment=Su,i.updateAssetTypeAttachments=Tu,i.updateAssetTypeFieldValues=Tl,i.updateAssetTypeFieldValuesAttachment=al,i.updateAssetTypeFieldValuesAttachments=cl,i.updateAssetTypeFieldValuesMany=Il,i.updateAssetTypeFields=Ku,i.updateAssetTypeFieldsAttachment=Vu,i.updateAssetTypeFieldsAttachments=Bu,i.updateAssetTypeFieldsMany=Wu,i.updateAssetTypeIdentifier=Bl,i.updateAssetTypeIdentifierValue=Wl,i.updateAssetTypeIdentifierValues=Yl,i.updateAssetTypeIdentifiers=zl,i.updateAssetTypeStatus=Po,i.updateAssetTypeStatuses=Fo,i.updateAssetTypes=uo,i.updateAssets=Er,i.updateConversation=ua,i.updateConversations=UO,i.updateDocument=xo,i.updateDocumentAttachment=Co,i.updateDocumentAttachments=Uo,i.updateDocuments=eh,i.updateEmailDomain=mh,i.updateEmailDomains=yh,i.updateForm=Rm,i.updateFormIdentifier=Eh,i.updateFormIdentifierValue=Hh,i.updateFormIdentifierValues=kh,i.updateFormIdentifiers=vh,i.updateFormRevision=Am,i.updateFormRevisionAttachment=nm,i.updateFormRevisionAttachments=am,i.updateFormRevisions=fm,i.updateFormSubmission=xm,i.updateFormSubmissionAttachment=Lm,i.updateFormSubmissionAttachments=Nm,i.updateFormSubmissions=ey,i.updateForms=wm,i.updateGeoImage=my,i.updateGeoImages=yy,i.updateIssue=wp,i.updateIssueAssociation=by,i.updateIssueAssociations=My,i.updateIssueAttachment=Gy,i.updateIssueAttachments=Hy,i.updateIssueComment=fp,i.updateIssueCommentAttachment=ip,i.updateIssueCommentAttachments=np,i.updateIssueComments=Sp,i.updateIssueType=Bf,i.updateIssueTypeAttachment=Gp,i.updateIssueTypeAttachments=Hp,i.updateIssueTypeFieldValues=fA,i.updateIssueTypeFieldValuesAttachment=HA,i.updateIssueTypeFieldValuesAttachments=kA,i.updateIssueTypeFieldValuesMany=SA,i.updateIssueTypeFields=vA,i.updateIssueTypeFieldsAttachment=iA,i.updateIssueTypeFieldsAttachments=nA,i.updateIssueTypeFieldsMany=VA,i.updateIssueTypeIdentifier=af,i.updateIssueTypeIdentifierValue=Tf,i.updateIssueTypeIdentifierValues=If,i.updateIssueTypeIdentifiers=cf,i.updateIssueTypeStatus=Wf,i.updateIssueTypeStatuses=Yf,i.updateIssueTypes=zf,i.updateIssueUpdate=nS,i.updateIssueUpdates=aS,i.updateIssues=Ep,i.updateOrganization=NS,i.updateOrganizationAccess=_S,i.updateOrganizationAccesses=RS,i.updateOrganizations=LS,i.updateProject=XT,i.updateProjectAccess=rT,i.updateProjectAccesses=uT,i.updateProjectAttachment=OT,i.updateProjectAttachments=PT,i.updateProjectFile=jT,i.updateProjectFiles=DT,i.updateProjects=JT,i.updateTeam=bI,i.updateTeamMembership=oI,i.updateTeamMemberships=hI,i.updateTeams=MI,i.updateUser=AS,i.updateUsers=pS,i.useSelectorBuilder=SO,i.userReducer=SS,i.userSlice=pn,i.uuidObj=P,i.uuidObjSortFn=Zt,i.uuidSortFn=It,i.versioningReducer=zI,i.versioningSlice=BI,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});