@overmap-ai/core 1.0.78-gcs.3 → 1.0.78-gcs.5

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 (52) hide show
  1. package/dist/overmap-core.js +6990 -6842
  2. package/dist/overmap-core.umd.cjs +7 -8
  3. package/dist/sdk/constants.d.ts +1 -1
  4. package/dist/sdk/services/AssetAttachmentService.d.ts +8 -17
  5. package/dist/sdk/services/AssetProcedureStepFieldValuesAttachmentService.d.ts +9 -11
  6. package/dist/sdk/services/AssetProcedureStepFieldsAttachmentService.d.ts +18 -18
  7. package/dist/sdk/services/AssetProcedureTypeAttachmentService.d.ts +8 -17
  8. package/dist/sdk/services/AssetProcedureTypeFieldValuesAttachmentService.d.ts +9 -11
  9. package/dist/sdk/services/AssetProcedureTypeFieldsAttachmentService.d.ts +18 -18
  10. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +8 -17
  11. package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +9 -8
  12. package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +9 -9
  13. package/dist/sdk/services/AssetTypeIdentifierValueService.d.ts +2 -1
  14. package/dist/sdk/services/BaseOfflineFileModelApiService.d.ts +17 -0
  15. package/dist/sdk/services/BaseService.d.ts +2 -1
  16. package/dist/sdk/services/DocumentAttachmentService.d.ts +10 -17
  17. package/dist/sdk/services/FileService.d.ts +6 -28
  18. package/dist/sdk/services/FormRevisionAttachmentService.d.ts +18 -18
  19. package/dist/sdk/services/FormService.d.ts +4 -2
  20. package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +18 -18
  21. package/dist/sdk/services/GeoImageService.d.ts +10 -7
  22. package/dist/sdk/services/IssueAssociationService.d.ts +2 -1
  23. package/dist/sdk/services/IssueAttachmentService.d.ts +8 -17
  24. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +8 -17
  25. package/dist/sdk/services/IssueService.d.ts +1 -0
  26. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +8 -17
  27. package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +18 -18
  28. package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +18 -18
  29. package/dist/sdk/services/ProjectAttachmentService.d.ts +8 -17
  30. package/dist/sdk/services/ProjectFileService.d.ts +20 -16
  31. package/dist/sdk/services/index.d.ts +1 -1
  32. package/dist/sdk/typings.d.ts +12 -4
  33. package/dist/store/adapters/selectionAdapter.d.ts +9 -10
  34. package/dist/store/adapters/typings.d.ts +1 -3
  35. package/dist/store/slices/fileSlice.d.ts +0 -3
  36. package/dist/store/slices/formSubmissionSlice.d.ts +9 -1
  37. package/dist/store/slices/issueAssociationSlice.d.ts +2 -1
  38. package/dist/store/slices/projectFileSlice.d.ts +2 -16
  39. package/dist/typings/files.d.ts +27 -14
  40. package/dist/typings/models/assets.d.ts +4 -4
  41. package/dist/typings/models/documents.d.ts +2 -2
  42. package/dist/typings/models/fields.d.ts +3 -3
  43. package/dist/typings/models/forms.d.ts +10 -2
  44. package/dist/typings/models/geoImages.d.ts +3 -3
  45. package/dist/typings/models/issues.d.ts +11 -11
  46. package/dist/typings/models/projects.d.ts +3 -3
  47. package/dist/typings/models/users.d.ts +0 -4
  48. package/dist/utils/file.d.ts +7 -11
  49. package/dist/utils/models/base.d.ts +2 -0
  50. package/dist/utils/models/index.d.ts +1 -0
  51. package/package.json +5 -8
  52. package/dist/sdk/services/BaseOfflineAttachmentModelService.d.ts +0 -23
@@ -1,15 +1,14 @@
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,tt,Xe,YI,ZI,qn,mt,JI,Dn,XI,QI,$g,Ug,xI,eO,tO){"use strict";var qg=Object.defineProperty;var Dg=(i,L,o)=>L in i?qg(i,L,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[L]=o;var y=(i,L,o)=>Dg(i,typeof L!="symbol"?L+"":L,o);var WI;const $n=Object.freeze([]),Un=Object.freeze({});var Cn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Cn||{}),m=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(m||{}),Ln=(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))(Ln||{}),kn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(kn||{}),Lt=(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))(Lt||{}),U=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(U||{}),Nn=(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))(Nn||{});const sO=Lt.MEDIUM,Gn=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 iO(){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 ct="versioning",_=o.createAction("RESET"),D=o.createAction("RESET_PROJECT_STATE"),w=o.createAction("RESET_ORGANIZATION_STATE");function nO(t,s){return YI.useMemo(t,s)}WI=Symbol.toStringTag;class kt{constructor(){y(this,WI,"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 Nt=!1;["true","1"].includes("".toLowerCase())&&(Nt=!0);function aO(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 Gt(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Nt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Nt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function cO(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?$n:t,yt=t=>Object.keys(t).length===0?Un:t,Hn=Gt(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Ht.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),dO=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),rO=1e3*86400,Ht=new Date,uO=t=>new Date(t).toDateString()===Ht.toDateString(),lO=Gt((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Ht.getTime())/rO);return n<s||n>e?Hn(t):dO.format(n,"days")});function oO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}const Wt=async(t,s)=>{s||(s=await st(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 st(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=oO(c);s(r)})},n.readAsArrayBuffer(t)})}function hO(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 Wn(t,s){return new File([t],s,{type:t.type})}function mO(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 yO=async t=>{const s={};for(const e of t){const n=await st(e);s[n]={sha1:n,extension:e.name.split(".").pop()||"",file_type:e.type,size:e.size}}return Object.values(s)},Kn=async t=>(await fetch(t)).blob(),pO=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 AO(t){const s=new Blob([t]);ZI.saveAs(s,t.name)}const Yn={};function fO(t,s,e,...n){const a=Yn[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(Yn[t]={[s]:!0},c=!0),c&&console[e](...n)}const Zn=["created_at","updated_at","index","revision"];function M(t){return{...t,uuid:Xe.v4()}}function SO(t){const s={};for(const e of t)s[e.uuid]=e;return s}function q(t){return t.map(({uuid:s})=>s)}function pt(t,s){return t.localeCompare(s)}function Kt(t,s){return pt(t.uuid,s.uuid)}function TO(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 IO(t){return t.toLowerCase().replace(" ","-")}function OO(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function PO(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const FO=/^.+@.+\..+$/;function z(t){const s={...t};for(const e of[...Zn,"created_by"])e in s&&delete s[e];return s}const Jn=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return qn(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},gO=t=>{const{roots:s}=Jn(t);return s.map(e=>new mt.Tree(e))},Xn=(t,s)=>{const{nodes:e}=Jn(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new mt.Tree(n)},Qn=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,xn=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,ea=t=>qn(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),bO=t=>{const{roots:s}=ea(t);return s.map(e=>new mt.Tree(e))},ta=(t,s)=>{const{nodes:e}=ea(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new mt.Tree(n)};class _O{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),N=R(t=>t.uuid),sa={instances:{}},Yt=o.createSlice({name:"agents",initialState:sa,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,sa)),reducers:{initializeConversations:N.initialize,addConversation:N.addOne,addConversations:N.addMany,setConversation:N.setOne,setConversations:N.setMany,updateConversation:N.updateOne,updateConversations:N.updateMany,deleteConversation:N.deleteOne,deleteConversations:N.deleteMany}}),{initializeConversations:ia,addConversation:na,addConversations:MO,setConversation:aa,setConversations:RO,updateConversation:ca,updateConversations:wO,deleteConversation:vO,deleteConversations:EO}=Yt.actions,Zt=t=>t.agentsReducer.instances,VO=o.createSelector([Zt],t=>Object.values(t)),zO=S(o.createSelector([Zt,(t,s)=>s],(t,s)=>t[s])),da=Yt.reducer,G=R(t=>t.uuid),ra={instances:{}},Jt=o.createSlice({name:"assetAttachments",initialState:ra,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ra)),reducers:{initializeAssetAttachments:G.initialize,addAssetAttachment:G.addOne,addAssetAttachments:G.addMany,setAssetAttachment:G.setOne,setAssetAttachments:G.setMany,updateAssetAttachment:G.updateOne,updateAssetAttachments:G.updateMany,deleteAssetAttachment:G.deleteOne,deleteAssetAttachments:G.deleteMany}}),{initializeAssetAttachments:ua,addAssetAttachment:la,addAssetAttachments:Xt,setAssetAttachment:oa,setAssetAttachments:ha,updateAssetAttachment:ma,updateAssetAttachments:ya,deleteAssetAttachment:pa,deleteAssetAttachments:Qt}=Jt.actions,Aa=t=>t.assetAttachmentReducer.instances,xt=o.createSelector([Aa],t=>Object.values(t)),fa=t=>s=>s.assetAttachmentReducer.instances[t],Sa=S(o.createSelector([xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ta=S(o.createSelector([xt,(t,s)=>s],(t,s)=>T(t.filter(({asset:e})=>s===e)))),Ia=Jt.reducer,H=R(({uuid:t})=>t),Oa={instances:{}},es=o.createSlice({name:"assetProcedureTypeAttachments",initialState:Oa,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Oa)),reducers:{initializeAssetProcedureTypeAttachments:H.initialize,addAssetProcedureTypeAttachment:H.addOne,addAssetProcedureTypeAttachments:H.addMany,setAssetProcedureTypeAttachment:H.setOne,setAssetProcedureTypeAttachments:H.setMany,updateAssetProcedureTypeAttachment:H.updateOne,updateAssetProcedureTypeAttachments:H.updateMany,deleteAssetProcedureTypeAttachment:H.deleteOne,deleteAssetProcedureTypeAttachments:H.deleteMany}}),{initializeAssetProcedureTypeAttachments:Pa,addAssetProcedureTypeAttachment:Fa,addAssetProcedureTypeAttachments:ga,setAssetProcedureTypeAttachment:ba,setAssetProcedureTypeAttachments:_a,updateAssetProcedureTypeAttachment:Ma,updateAssetProcedureTypeAttachments:Ra,deleteAssetProcedureTypeAttachment:wa,deleteAssetProcedureTypeAttachments:va}=es.actions,Ea=es.reducer,Va=t=>t.assetProcedureTypeAttachmentReducer.instances,ts=o.createSelector([Va],t=>Object.values(t)),za=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],Ba=S(o.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),BO=S(o.createSelector([ts,(t,s)=>s],(t,s)=>T(t.filter(({asset_procedure_type:e})=>s===e)))),W=R(({uuid:t})=>t),ja={instances:{}},ss=o.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:ja,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ja)),reducers:{initializeAssetProcedureTypeFieldsAttachments:W.initialize,addAssetProcedureTypeFieldsAttachment:W.addOne,addAssetProcedureTypeFieldsAttachments:W.addMany,setAssetProcedureTypeFieldsAttachment:W.setOne,setAssetProcedureTypeFieldsAttachments:W.setMany,updateAssetProcedureTypeFieldsAttachment:W.updateOne,updateAssetProcedureTypeFieldsAttachments:W.updateMany,deleteAssetProcedureTypeFieldsAttachment:W.deleteOne,deleteAssetProcedureTypeFieldsAttachments:W.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:qa,addAssetProcedureTypeFieldsAttachment:Da,addAssetProcedureTypeFieldsAttachments:$a,setAssetProcedureTypeFieldsAttachment:Ua,setAssetProcedureTypeFieldsAttachments:Ca,updateAssetProcedureTypeFieldsAttachment:La,updateAssetProcedureTypeFieldsAttachments:ka,deleteAssetProcedureTypeFieldsAttachment:Na,deleteAssetProcedureTypeFieldsAttachments:Ga}=ss.actions,Ha=ss.reducer,Wa=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,is=o.createSelector([Wa],t=>Object.values(t)),jO=S(o.createSelector([is,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),Ka=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],Ya=S(o.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),K=R(({uuid:t})=>t),Za={instances:{}},ns=o.createSlice({name:"assetProcedureTypeFields",initialState:Za,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Za)),reducers:{initializeAssetProcedureTypeFields:K.initialize,addAssetProcedureTypeFields:K.addOne,addAssetProcedureTypeFieldsMany:K.addMany,setAssetProcedureTypeFields:K.setOne,setAssetProcedureTypeFieldsMany:K.setMany,updateAssetProcedureTypeFields:K.updateOne,updateAssetProcedureTypeFieldsMany:K.updateMany,deleteAssetProcedureTypeFields:K.deleteOne,deleteAssetProcedureTypeFieldsMany:K.deleteMany}}),{initializeAssetProcedureTypeFields:Ja,addAssetProcedureTypeFields:Xa,addAssetProcedureTypeFieldsMany:Qa,setAssetProcedureTypeFields:xa,setAssetProcedureTypeFieldsMany:ec,updateAssetProcedureTypeFields:tc,updateAssetProcedureTypeFieldsMany:sc,deleteAssetProcedureTypeFields:ic,deleteAssetProcedureTypeFieldsMany:nc}=ns.actions,ac=ns.reducer,cc=t=>t.assetProcedureTypeFieldsReducer.instances,At=o.createSelector([cc],t=>Object.values(t)),qO=S(o.createSelector([At,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),DO=S(o.createSelector([At,(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])),dc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],rc=S(o.createSelector([At,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Y=R(({uuid:t})=>t),uc={instances:{}},as=o.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:uc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,uc)),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:lc,addAssetProcedureTypeFieldValuesAttachment:oc,addAssetProcedureTypeFieldValuesAttachments:cs,setAssetProcedureTypeFieldValuesAttachment:hc,setAssetProcedureTypeFieldValuesAttachments:mc,updateAssetProcedureTypeFieldValuesAttachment:yc,updateAssetProcedureTypeFieldValuesAttachments:pc,deleteAssetProcedureTypeFieldValuesAttachment:Ac,deleteAssetProcedureTypeFieldValuesAttachments:ds}=as.actions,fc=as.reducer,Sc=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,rs=o.createSelector([Sc],t=>Object.values(t)),Tc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],Ic=S(o.createSelector([rs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Oc=S(o.createSelector([rs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),Z=R(({uuid:t})=>t),Pc={instances:{}},us=o.createSlice({name:"assetProcedureTypeFieldValues",initialState:Pc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Pc)),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:Fc,addAssetProcedureTypeFieldValues:gc,addAssetProcedureTypeFieldValuesMany:bc,setAssetProcedureTypeFieldValues:_c,setAssetProcedureTypeFieldValuesMany:Mc,updateAssetProcedureTypeFieldValues:Rc,updateAssetProcedureTypeFieldValuesMany:wc,deleteAssetProcedureTypeFieldValues:vc,deleteAssetProcedureTypeFieldValuesMany:Ec}=us.actions,Vc=us.reducer,zc=t=>t.assetProcedureTypeFieldValuesReducer.instances,ft=o.createSelector([zc],t=>Object.values(t)),$O=S(o.createSelector([ft,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),UO=S(o.createSelector([ft,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),Bc=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],jc=S(o.createSelector([ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),J=R(({uuid:t})=>t),qc={instances:{}},ls=o.createSlice({name:"assetProcedures",initialState:qc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,qc)),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:Dc,addAssetProcedure:$c,addAssetProcedures:os,updateAssetProcedure:Uc,updateAssetProcedures:Cc,deleteAssetProcedure:Lc,deleteAssetProcedures:hs,setAssetProcedure:kc,setAssetProcedures:Nc}=ls.actions,Gc=ls.reducer,Hc=t=>t.assetProcedureReducer.instances,St=o.createSelector([Hc],t=>Object.values(t)),Wc=S(o.createSelector([St,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),CO=S(o.createSelector([St,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Kc=t=>s=>s.assetProcedureReducer.instances[t],Yc=S(o.createSelector([St,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),X=R(t=>t.uuid),Zc={instances:{}},ms=o.createSlice({name:"assetProcedureTypes",initialState:Zc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Zc)),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:Jc,addAssetProcedureType:Xc,addAssetProcedureTypes:Qc,updateAssetProcedureType:xc,updateAssetProcedureTypes:ed,deleteAssetProcedureType:td,deleteAssetProcedureTypes:sd,setAssetProcedureType:id,setAssetProcedureTypes:nd}=ms.actions,ad=ms.reducer,cd=t=>t.assetProcedureTypeReducer.instances,ys=o.createSelector([cd],t=>Object.values(t)),dd=t=>s=>s.assetProcedureTypeReducer.instances[t],rd=S(o.createSelector([ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),LO=S(o.createSelector([ys,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Q=R(t=>t.uuid),ud={instances:{}},ps=o.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:ud,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ud)),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:ld,addAssetProcedureStepFieldsAttachment:od,addAssetProcedureStepFieldsAttachments:hd,setAssetProcedureStepFieldsAttachment:md,setAssetProcedureStepFieldsAttachments:yd,updateAssetProcedureStepFieldsAttachment:pd,updateAssetProcedureStepFieldsAttachments:Ad,deleteAssetProcedureStepFieldsAttachment:fd,deleteAssetProcedureStepFieldsAttachments:Sd}=ps.actions,Td=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,As=o.createSelector([Td],t=>Object.values(t)),kO=S(o.createSelector([As,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),Id=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],Od=S(o.createSelector([As,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Pd=ps.reducer,x=R(t=>t.uuid),Fd={instances:{}},fs=o.createSlice({name:"assetProcedureStepFields",initialState:Fd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Fd)),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:gd,addAssetProcedureStepFields:bd,addAssetProcedureStepFieldsMany:_d,setAssetProcedureStepFields:Md,setAssetProcedureStepFieldsMany:Rd,updateAssetProcedureStepFields:wd,updateAssetProcedureStepFieldsMany:vd,deleteAssetProcedureStepFields:Ed,deleteAssetProcedureStepFieldsMany:Vd}=fs.actions,Ss=t=>t.assetProcedureStepFieldsReducer.instances,Tt=o.createSelector([Ss],t=>Object.values(t)),NO=S(o.createSelector([Tt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),GO=S(o.createSelector([Tt,(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])),HO=o.createSelector([Ss],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}),zd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],Bd=S(o.createSelector([Tt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),jd=fs.reducer,ee=R(t=>t.uuid),qd={instances:{}},Ts=o.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:qd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,qd)),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:Dd,addAssetProcedureStepFieldValuesAttachment:$d,addAssetProcedureStepFieldValuesAttachments:Is,setAssetProcedureStepFieldValuesAttachment:Ud,setAssetProcedureStepFieldValuesAttachments:Cd,updateAssetProcedureStepFieldValuesAttachment:Ld,updateAssetProcedureStepFieldValuesAttachments:kd,deleteAssetProcedureStepFieldValuesAttachment:Nd,deleteAssetProcedureStepFieldValuesAttachments:Os}=Ts.actions,Gd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,Ps=o.createSelector([Gd],t=>Object.values(t)),Hd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Wd=S(o.createSelector([Ps,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Kd=S(o.createSelector([Ps,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),Yd=Ts.reducer,te=R(t=>t.uuid),Zd={instances:{}},Fs=o.createSlice({name:"assetProcedureStepFieldValues",initialState:Zd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Zd)),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:Jd,addAssetProcedureStepFieldValues:Xd,addAssetProcedureStepFieldValuesMany:Qd,setAssetProcedureStepFieldValues:xd,setAssetProcedureStepFieldValuesMany:er,updateAssetProcedureStepFieldValues:tr,updateAssetProcedureStepFieldValuesMany:sr,deleteAssetProcedureStepFieldValues:ir,deleteAssetProcedureStepFieldValuesMany:nr}=Fs.actions,ar=t=>t.assetProcedureStepFieldValuesReducer.instances,dt=o.createSelector([ar],t=>Object.values(t)),WO=S(o.createSelector([dt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),KO=S(o.createSelector([dt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),YO=S(o.createSelector([dt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),cr=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],dr=S(o.createSelector([dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),rr=Fs.reducer,se=R(t=>t.uuid),ur={instances:{}},gs=o.createSlice({name:"assetProcedureSteps",initialState:ur,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ur)),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:lr,setAssetProcedureStep:or,setAssetProcedureSteps:hr,addAssetProcedureStep:mr,addAssetProcedureSteps:yr,updateAssetProcedureStep:pr,updateAssetProcedureSteps:Ar,deleteAssetProcedureStep:fr,deleteAssetProcedureSteps:Sr}=gs.actions,Tr=gs.reducer,It=t=>t.assetProcedureStepReducer.instances,Ir=t=>s=>s.assetProcedureStepReducer.instances[t],bs=o.createSelector([It],t=>Object.values(t)),ZO=S(o.createSelector([It,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return yt(e)})),JO=S(o.createSelector([bs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),Or=S(o.createSelector([bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Pr=S(o.createSelector([It,(t,s)=>s],(t,s)=>{if(!t[s])return T([]);const a=Xn(s,Object.values(t)).all().map(({model:c})=>c);return T(a)})),ie=R(t=>t.uuid),Fr={instances:{}},_s=o.createSlice({name:"assets",initialState:Fr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Fr)),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:gr,addAsset:br,addAssets:Ms,updateAsset:_r,updateAssets:Mr,deleteAsset:Rr,deleteAssets:Rs,setAsset:wr,setAssets:vr}=_s.actions,Er=t=>t.assetReducer.instances,Ot=o.createSelector([Er],t=>T(Object.values(t))),XO=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>e===s)))),Vr=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),zr=t=>s=>s.assetReducer.instances[t],Br=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),jr=_s.reducer,ne=R(t=>t.uuid),qr={instances:{}},ws=o.createSlice({name:"assetStageCompletions",initialState:qr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,qr)),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:Dr,addAssetStageCompletion:$r,addAssetStageCompletions:Ur,setAssetStageCompletion:Cr,setAssetStageCompletions:Lr,updateAssetStageCompletion:kr,updateAssetStageCompletions:Nr,deleteAssetStageCompletion:Gr,deleteAssetStageCompletions:Hr}=ws.actions,Wr=ws.reducer,Kr=t=>t.assetStageCompletionReducer.instances,Yr=o.createSelector([Kr],t=>Object.values(t)),Zr=t=>s=>s.assetStageCompletionReducer.instances[t],Jr=S(o.createSelector([Yr,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ae=R(t=>t.uuid),Xr={instances:{}},vs=o.createSlice({name:"assetStages",initialState:Xr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Xr)),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:Qr,setAssetStage:xr,setAssetStages:eu,addAssetStage:tu,addAssetStages:su,updateAssetStage:iu,updateAssetStages:nu,deleteAssetStage:au,deleteAssetStages:cu}=vs.actions,du=vs.reducer,Es=t=>t.assetStageReducer.instances,ru=t=>s=>s.assetStageReducer.instances[t],Vs=o.createSelector([Es],t=>Object.values(t)),QO=S(o.createSelector([Es,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return yt(e)})),xO=S(o.createSelector([Vs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),uu=S(o.createSelector([Vs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ce=R(t=>t.uuid),lu={instances:{}},zs=o.createSlice({name:"assetTypeAttachments",initialState:lu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,lu)),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:ou,addAssetTypeAttachment:hu,addAssetTypeAttachments:Bs,setAssetTypeAttachment:mu,setAssetTypeAttachments:yu,updateAssetTypeAttachment:pu,updateAssetTypeAttachments:Au,deleteAssetTypeAttachment:fu,deleteAssetTypeAttachments:js}=zs.actions,Su=t=>t.assetTypeAttachmentReducer.instances,qs=o.createSelector([Su],t=>Object.values(t)),Tu=t=>s=>s.assetTypeAttachmentReducer.instances[t],Iu=S(o.createSelector([qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ou=S(o.createSelector([qs,(t,s)=>s],(t,s)=>T(t.filter(({asset_type:e})=>s===e)))),Pu=zs.reducer,de=R(t=>t.uuid),Fu={instances:{}},Ds=o.createSlice({name:"assetTypeFieldsAttachments",initialState:Fu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Fu)),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:gu,addAssetTypeFieldsAttachment:bu,addAssetTypeFieldsAttachments:_u,setAssetTypeFieldsAttachment:Mu,setAssetTypeFieldsAttachments:Ru,updateAssetTypeFieldsAttachment:wu,updateAssetTypeFieldsAttachments:vu,deleteAssetTypeFieldsAttachment:Eu,deleteAssetTypeFieldsAttachments:Vu}=Ds.actions,zu=t=>t.assetTypeFieldsAttachmentReducer.instances,$s=o.createSelector([zu],t=>Object.values(t)),eP=S(o.createSelector([$s,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),Bu=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],ju=S(o.createSelector([$s,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),qu=Ds.reducer,re=R(t=>t.uuid),Du={instances:{}},Us=o.createSlice({name:"assetTypeFields",initialState:Du,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Du)),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:$u,addAssetTypeFields:Uu,addAssetTypeFieldsMany:Cu,setAssetTypeFields:Lu,setAssetTypeFieldsMany:ku,updateAssetTypeFields:Nu,updateAssetTypeFieldsMany:Gu,deleteAssetTypeFields:Hu,deleteAssetTypeFieldsMany:Wu}=Us.actions,Ku=t=>t.assetTypeFieldsReducer.instances,rt=o.createSelector([Ku],t=>Object.values(t)),tP=S(o.createSelector([rt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),sP=S(o.createSelector([rt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Yu=t=>s=>s.assetTypeFieldsReducer.instances[t],Zu=S(o.createSelector([rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ju=Us.reducer,ue=R(t=>t.uuid),Xu={instances:{}},Cs=o.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Xu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Xu)),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:Qu,addAssetTypeFieldValuesAttachment:xu,addAssetTypeFieldValuesAttachments:Ls,setAssetTypeFieldValuesAttachment:el,setAssetTypeFieldValuesAttachments:tl,updateAssetTypeFieldValuesAttachment:sl,updateAssetTypeFieldValuesAttachments:il,deleteAssetTypeFieldValuesAttachment:nl,deleteAssetTypeFieldValuesAttachments:ks}=Cs.actions,al=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Ns=o.createSelector([al],t=>Object.values(t)),cl=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],dl=S(o.createSelector([Ns,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),rl=S(o.createSelector([Ns,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),ul=Cs.reducer,le=R(t=>t.uuid),ll={instances:{}},Gs=o.createSlice({name:"assetTypeFieldValues",initialState:ll,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ll)),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:ol,addAssetTypeFieldValues:hl,addAssetTypeFieldValuesMany:ml,setAssetTypeFieldValues:yl,setAssetTypeFieldValuesMany:pl,updateAssetTypeFieldValues:Al,updateAssetTypeFieldValuesMany:fl,deleteAssetTypeFieldValues:Sl,deleteAssetTypeFieldValuesMany:Tl}=Gs.actions,Il=t=>t.assetTypeFieldValuesReducer.instances,Pt=o.createSelector([Il],t=>Object.values(t)),iP=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),nP=S(o.createSelector([rt,Pt,(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)))})),Ol=t=>s=>s.assetTypeFieldValuesReducer.instances[t],Pl=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Fl=Gs.reducer,oe=R(t=>t.uuid),gl={instances:{}},Hs=o.createSlice({name:"assetTypeIdentifiers",initialState:gl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,gl)),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:bl,addAssetTypeIdentifier:_l,addAssetTypeIdentifiers:Ml,setAssetTypeIdentifier:Rl,setAssetTypeIdentifiers:wl,updateAssetTypeIdentifier:vl,updateAssetTypeIdentifiers:El,deleteAssetTypeIdentifier:Vl,deleteAssetTypeIdentifiers:zl}=Hs.actions,Bl=t=>t.assetTypeIdentifierReducer.instances,Ws=o.createSelector([Bl],t=>Object.values(t)),jl=t=>s=>s.assetTypeIdentifierReducer.instances[t],ql=S(o.createSelector([Ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),aP=S(o.createSelector([Ws,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Dl=Hs.reducer,he=R(t=>t.uuid),$l={instances:{}},Ks=o.createSlice({name:"assetTypeIdentifierValues",initialState:$l,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,$l)),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:Ul,addAssetTypeIdentifierValue:Cl,addAssetTypeIdentifierValues:Ll,setAssetTypeIdentifierValue:kl,setAssetTypeIdentifierValues:Nl,updateAssetTypeIdentifierValue:Gl,updateAssetTypeIdentifierValues:Hl,deleteAssetTypeIdentifierValue:Wl,deleteAssetTypeIdentifierValues:Kl}=Ks.actions,Yl=t=>t.assetTypeIdentifierValueReducer.instances,Ft=o.createSelector([Yl],t=>Object.values(t)),Zl=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],Jl=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),cP=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),dP=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type_identifier===s)))),Xl=Ks.reducer,me=R(t=>t.uuid),Ql={instances:{}},Ys=o.createSlice({name:"assetTypes",initialState:Ql,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Ql)),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:xl,setAssetType:eo,setAssetTypes:to,addAssetType:so,addAssetTypes:io,updateAssetType:no,updateAssetTypes:ao,deleteAssetType:co,deleteAssetTypes:ro}=Ys.actions,uo=t=>t.assetTypeReducer.instances,Zs=o.createSelector([uo],t=>Object.values(t)),lo=t=>s=>s.assetTypeReducer.instances[t],oo=S(o.createSelector([Zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),rP=S(o.createSelector([Zs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),ho=Ys.reducer,ye=R(t=>t.uuid),mo={instances:{}},Js=o.createSlice({name:"assetTypeStatuses",initialState:mo,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,mo)),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:yo,addAssetTypeStatus:po,addAssetTypeStatuses:Ao,setAssetTypeStatus:fo,setAssetTypeStatuses:So,updateAssetTypeStatus:To,updateAssetTypeStatuses:Io,deleteAssetTypeStatus:Oo,deleteAssetTypeStatuses:Po}=Js.actions,Fo=t=>t.assetTypeStatusReducer.instances,Xs=o.createSelector([Fo],t=>T(Object.values(t).toSorted(Qn))),go=t=>s=>s.assetTypeStatusReducer.instances[t],bo=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),uP=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),_o=Js.reducer,Mo={accessToken:"",refreshToken:"",isLoggedIn:!1},gt=o.createSlice({name:"auth",initialState:Mo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,Mo)),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||gt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:lP,clearTokens:oP,setLoggedIn:Ro}=gt.actions,hP=t=>t.authReducer.accessToken,mP=t=>t.authReducer.isLoggedIn,wo=gt.reducer,pe=R(t=>t.uuid),vo={instances:{}},Qs=o.createSlice({name:"documentAttachments",initialState:vo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,vo)),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:Eo,addDocumentAttachment:Vo,addDocumentAttachments:zo,setDocumentAttachment:Bo,setDocumentAttachments:jo,updateDocumentAttachment:qo,updateDocumentAttachments:Do,deleteDocumentAttachment:$o,deleteDocumentAttachments:Uo}=Qs.actions,Co=t=>t.documentAttachmentReducer.instances,xs=o.createSelector([Co],t=>Object.values(t)),Lo=t=>s=>s.documentAttachmentReducer.instances[t],ko=S(o.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),yP=S(o.createSelector([xs,(t,s)=>s],(t,s)=>T(t.filter(({document:e})=>s===e)))),No=Qs.reducer,Ae=R(({uuid:t})=>t),Go={instances:{}},ei=o.createSlice({name:"documents",initialState:Go,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>{Object.assign(s,Go)}),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:Ho,addDocument:Wo,addDocuments:Ko,setDocument:Yo,setDocuments:Zo,updateDocument:Jo,updateDocuments:Xo,deleteDocument:Qo,deleteDocuments:xo}=ei.actions,eh=ei.reducer,ti=t=>t.documentsReducer.instances,bt=o.createSelector([ti],t=>Object.values(t)),th=t=>s=>s.documentsReducer.instances[t],sh=S(o.createSelector([bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),pP=S(o.createSelector([bt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),AP=S(o.createSelector([bt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),ih=S(o.createSelector([ti,(t,s)=>s],(t,s)=>{if(!t[s])return T([]);const a=ta(s,Object.values(t)).all().map(({model:c})=>c);return T(a)})),nh={s3Urls:{}},ah=1e3*60*60,fP=ah*24*7,si=o.createSlice({name:"file",initialState:nh,extraReducers:t=>t.addCase(_,s=>Object.assign(s,nh)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+fP);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:ch}=si.actions,dh=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<ah))return e},rh=si.reducer,fe=R(t=>t.uuid),uh={instances:{}},ii=o.createSlice({name:"formIdentifiers",initialState:uh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,uh)),reducers:{initializeFormIdentifiers:fe.initialize,addFormIdentifier:fe.addOne,addFormIdentifiers:fe.addMany,setFormIdentifier:fe.setOne,setFormIdentifiers:fe.setMany,updateFormIdentifier:fe.updateOne,updateFormIdentifiers:fe.updateMany,deleteFormIdentifier:fe.deleteOne,deleteFormIdentifiers:fe.deleteMany}}),{initializeFormIdentifiers:lh,addFormIdentifier:oh,addFormIdentifiers:hh,setFormIdentifier:mh,setFormIdentifiers:yh,updateFormIdentifier:ph,updateFormIdentifiers:Ah,deleteFormIdentifier:fh,deleteFormIdentifiers:Sh}=ii.actions,Th=t=>t.formIdentifierReducer.instances,ni=o.createSelector([Th],t=>Object.values(t)),Ih=t=>s=>s.formIdentifierReducer.instances[t],Oh=S(o.createSelector([ni,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),SP=S(o.createSelector([ni,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),Ph=ii.reducer,Se=R(t=>t.uuid),Fh={instances:{}},ai=o.createSlice({name:"formIdentifierValues",initialState:Fh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Fh)),reducers:{initializeFormIdentifierValues:Se.initialize,addFormIdentifierValue:Se.addOne,addFormIdentifierValues:Se.addMany,setFormIdentifierValue:Se.setOne,setFormIdentifierValues:Se.setMany,updateFormIdentifierValue:Se.updateOne,updateFormIdentifierValues:Se.updateMany,deleteFormIdentifierValue:Se.deleteOne,deleteFormIdentifierValues:Se.deleteMany}}),{initializeFormIdentifierValues:gh,addFormIdentifierValue:bh,addFormIdentifierValues:_h,setFormIdentifierValue:Mh,setFormIdentifierValues:Rh,updateFormIdentifierValue:wh,updateFormIdentifierValues:vh,deleteFormIdentifierValue:Eh,deleteFormIdentifierValues:Vh}=ai.actions,zh=t=>t.formIdentifierValueReducer.instances,_t=o.createSelector([zh],t=>Object.values(t)),Bh=t=>s=>s.formIdentifierValueReducer.instances[t],jh=S(o.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),TP=S(o.createSelector([_t,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),IP=S(o.createSelector([_t,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_identifier===s)))),qh=ai.reducer,Te=R(t=>t.uuid),Dh={instances:{}},ci=o.createSlice({name:"formRevisionAttachments",initialState:Dh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Dh)),reducers:{initializeFormRevisionAttachments:Te.initialize,addFormRevisionAttachment:Te.addOne,addFormRevisionAttachments:Te.addMany,setFormRevisionAttachment:Te.setOne,setFormRevisionAttachments:Te.setMany,updateFormRevisionAttachment:Te.updateOne,updateFormRevisionAttachments:Te.updateMany,deleteFormRevisionAttachment:Te.deleteOne,deleteFormRevisionAttachments:Te.deleteMany}}),{initializeFormRevisionAttachments:$h,addFormRevisionAttachment:Uh,addFormRevisionAttachments:Ch,setFormRevisionAttachment:Lh,setFormRevisionAttachments:kh,updateFormRevisionAttachment:Nh,updateFormRevisionAttachments:Gh,deleteFormRevisionAttachment:Hh,deleteFormRevisionAttachments:Wh}=ci.actions,Mt=t=>t.formRevisionAttachmentReducer.instances,Kh=o.createSelector([Mt],t=>Object.values(t)),Yh=S(o.createSelector([Mt,(t,s)=>s],(t,s)=>t[s])),Zh=S(o.createSelector([Kh,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),OP=S(o.createSelector([Mt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.form_revision===s)))),Jh=ci.reducer,Ie=R(t=>t.uuid),Xh={instances:{}},di=o.createSlice({name:"formRevisions",initialState:Xh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Xh)),reducers:{initializeFormRevisions:Ie.initialize,addFormRevision:Ie.addOne,addFormRevisions:Ie.addMany,setFormRevision:Ie.setOne,setFormRevisions:Ie.setMany,updateFormRevision:Ie.updateOne,updateFormRevisions:Ie.updateMany,deleteFormRevision:Ie.deleteOne,deleteFormRevisions:Ie.deleteMany}}),{initializeFormRevisions:Qh,addFormRevision:ri,addFormRevisions:ui,setFormRevision:xh,setFormRevisions:em,updateFormRevision:tm,updateFormRevisions:sm,deleteFormRevision:li,deleteFormRevisions:oi}=di.actions,hi=t=>t.formRevisionReducer.instances,Rt=o.createSelector([hi],t=>Object.values(t)),im=t=>s=>s.formRevisionReducer.instances[t],nm=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),PP=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),am=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),cm=di.reducer,Oe=R(t=>t.uuid),dm={instances:{}},mi=o.createSlice({name:"forms",initialState:dm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,dm)),reducers:{initializeForms:Oe.initialize,addForm:Oe.addOne,addForms:Oe.addMany,setForm:Oe.setOne,setForms:Oe.setMany,updateForm:Oe.updateOne,updateForms:Oe.updateMany,deleteForm:Oe.deleteOne,deleteForms:Oe.deleteMany}}),{initializeForms:rm,addForm:um,addForms:lm,setForm:om,setForms:hm,updateForm:mm,updateForms:ym,deleteForm:pm,deleteForms:Am}=mi.actions,fm=mi.reducer,Sm=t=>t.formReducer.instances,yi=o.createSelector([Sm],t=>Object.values(t)),Tm=t=>s=>s.formReducer.instances[t],Im=S(o.createSelector([yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),FP=S(o.createSelector([yi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Pe=R(t=>t.uuid),Om={instances:{}},pi=o.createSlice({name:"formSubmissionAttachments",initialState:Om,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Om)),reducers:{initializeFormSubmissionAttachments:Pe.initialize,addFormSubmissionAttachment:Pe.addOne,addFormSubmissionAttachments:Pe.addMany,setFormSubmissionAttachment:Pe.setOne,setFormSubmissionAttachments:Pe.setMany,updateFormSubmissionAttachment:Pe.updateOne,updateFormSubmissionAttachments:Pe.updateMany,deleteFormSubmissionAttachment:Pe.deleteOne,deleteFormSubmissionAttachments:Pe.deleteMany}}),{initializeFormSubmissionAttachments:Pm,addFormSubmissionAttachment:Fm,addFormSubmissionAttachments:Ai,setFormSubmissionAttachment:gm,setFormSubmissionAttachments:bm,updateFormSubmissionAttachment:_m,updateFormSubmissionAttachments:Mm,deleteFormSubmissionAttachment:Rm,deleteFormSubmissionAttachments:fi}=pi.actions,Si=t=>t.formSubmissionAttachmentReducer.instances,Ti=o.createSelector([Si],t=>Object.values(t)),wm=S(o.createSelector([Si,(t,s)=>s],(t,s)=>t[s])),Ii=S(o.createSelector([Ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(n=>e.has(n.uuid)))})),vm=Ii,Em=S(o.createSelector([Ti,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),Vm=pi.reducer,Fe=R(t=>t.uuid),zm={instances:{}},Oi=o.createSlice({name:"formSubmissions",initialState:zm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,zm)),reducers:{initializeFormSubmissions:Fe.initialize,setFormSubmission:Fe.setOne,setFormSubmissions:Fe.setMany,addFormSubmission:Fe.addOne,addFormSubmissions:Fe.addMany,updateFormSubmission:Fe.updateOne,updateFormSubmissions:Fe.updateMany,deleteFormSubmission:Fe.deleteOne,deleteFormSubmissions:Fe.deleteMany}}),{initializeFormSubmissions:Bm,setFormSubmission:jm,setFormSubmissions:qm,addFormSubmission:Dm,addFormSubmissions:Pi,updateFormSubmission:$m,updateFormSubmissions:Um,deleteFormSubmission:Cm,deleteFormSubmissions:Fi}=Oi.actions,gi=t=>t.formSubmissionReducer.instances,Lm=o.createSelector([gi],t=>Object.values(t)),km=t=>s=>s.formSubmissionReducer.instances[t],Nm=S(o.createSelector([Lm,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Gm=S(o.createSelector([gi,hi,(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))})),Hm=Oi.reducer,ge=R(t=>t.uuid),Wm={instances:{}},bi=o.createSlice({name:"geoImages",initialState:Wm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Wm)),reducers:{initializeGeoImages:ge.initialize,setGeoImage:ge.setOne,setGeoImages:ge.setMany,addGeoImage:ge.addOne,addGeoImages:ge.addMany,updateGeoImage:ge.updateOne,updateGeoImages:ge.updateMany,deleteGeoImage:ge.deleteOne,deleteGeoImages:ge.deleteMany}}),{initializeGeoImages:Km,setGeoImage:Ym,setGeoImages:Zm,addGeoImage:Jm,addGeoImages:Xm,updateGeoImage:Qm,updateGeoImages:xm,deleteGeoImage:ey,deleteGeoImages:ty}=bi.actions,sy=t=>t.geoImageReducer.instances,_i=o.createSelector([sy],t=>Object.values(t)),iy=t=>s=>s.geoImageReducer.instances[t],ny=S(o.createSelector([_i,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),gP=S(o.createSelector([_i,(t,s)=>s],(t,s)=>T(t.filter(e=>e.project===s)))),ay=bi.reducer,be=R(t=>t.uuid),cy={instances:{}},Mi=o.createSlice({name:"issueAssociations",initialState:cy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,cy)),reducers:{initializeIssueAssociations:be.initialize,addIssueAssociation:be.addOne,addIssueAssociations:be.addMany,setIssueAssociation:be.setOne,setIssueAssociations:be.setMany,updateIssueAssociation:be.updateOne,updateIssueAssociations:be.updateMany,deleteIssueAssociation:be.deleteOne,deleteIssueAssociations:be.deleteMany}}),{initializeIssueAssociations:dy,setIssueAssociations:ry,setIssueAssociation:uy,updateIssueAssociation:ly,updateIssueAssociations:oy,addIssueAssociation:hy,addIssueAssociations:wt,deleteIssueAssociation:my,deleteIssueAssociations:vt}=Mi.actions,ut=t=>t.issueAssociationReducer.instances,yy=o.createSelector([ut],t=>Object.values(t)),py=t=>s=>s.issueAssociationReducer.instances[t],Ay=S(o.createSelector([yy,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),fy=S(o.createSelector([ut,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.associated_issue===s)))),Sy=S(o.createSelector([ut,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.issue===s)))),Ty=S(o.createSelector([ut,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.asset===s)))),Iy=Mi.reducer,_e=R(t=>t.uuid),Oy={instances:{}},Ri=o.createSlice({name:"issueAttachments",initialState:Oy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Oy)),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:Py,addIssueAttachment:Fy,addIssueAttachments:wi,setIssueAttachment:gy,setIssueAttachments:by,updateIssueAttachment:_y,updateIssueAttachments:My,deleteIssueAttachment:Ry,deleteIssueAttachments:vi}=Ri.actions,wy=t=>t.issueAttachmentReducer.instances,Ei=o.createSelector([wy],t=>Object.values(t)),vy=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>T(t.filter(({issue:e})=>s===e)))),Ey=t=>s=>s.issueAttachmentReducer.instances[t],Vy=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),zy=Ri.reducer,Me=R(t=>t.uuid),By={instances:{}},Vi=o.createSlice({name:"issueCommentAttachments",initialState:By,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,By)),reducers:{initializeIssueCommentAttachments:Me.initialize,addIssueCommentAttachment:Me.addOne,addIssueCommentAttachments:Me.addMany,setIssueCommentAttachment:Me.setOne,setIssueCommentAttachments:Me.setMany,updateIssueCommentAttachment:Me.updateOne,updateIssueCommentAttachments:Me.updateMany,deleteIssueCommentAttachment:Me.deleteOne,deleteIssueCommentAttachments:Me.deleteMany}}),{initializeIssueCommentAttachments:jy,addIssueCommentAttachment:qy,addIssueCommentAttachments:Dy,setIssueCommentAttachment:$y,setIssueCommentAttachments:Uy,updateIssueCommentAttachment:Cy,updateIssueCommentAttachments:Ly,deleteIssueCommentAttachment:ky,deleteIssueCommentAttachments:Ny}=Vi.actions,Gy=t=>t.issueCommentAttachmentReducer.instances,zi=o.createSelector([Gy],t=>Object.values(t)),Hy=t=>s=>s.issueCommentAttachmentReducer.instances[t],Wy=S(o.createSelector([zi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),bP=S(o.createSelector([zi,(t,s)=>s],(t,s)=>T(t.filter(({issue_comment:e})=>s===e)))),Ky=Vi.reducer,Re=R(t=>t.uuid),Yy={instances:{}},Bi=o.createSlice({name:"issueComments",initialState:Yy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Yy)),reducers:{initializeIssueComments:Re.initialize,addIssueComment:Re.addOne,addIssueComments:Re.addMany,setIssueComment:Re.setOne,setIssueComments:Re.setMany,updateIssueComment:Re.updateOne,updateIssueComments:Re.updateMany,deleteIssueComment:Re.deleteOne,deleteIssueComments:Re.deleteMany}}),{initializeIssueComments:Zy,addIssueComment:Jy,addIssueComments:Xy,setIssueComment:Qy,setIssueComments:xy,updateIssueComment:ep,updateIssueComments:tp,deleteIssueComment:sp,deleteIssueComments:ip}=Bi.actions,ji=t=>t.issueCommentReducer.instances,np=t=>s=>s.issueCommentReducer.instances[t],ap=S(o.createSelector([ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),_P=S(o.createSelector([ji,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.issue===s)))),cp=Bi.reducer,we=R(t=>t.uuid),dp={instances:{}},qi=o.createSlice({name:"issues",initialState:dp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,dp)),reducers:{initializeIssues:we.initialize,addIssue:we.addOne,addIssues:we.addMany,setIssue:we.setOne,setIssues:we.setMany,updateIssue:we.updateOne,updateIssues:we.updateMany,deleteIssue:we.deleteOne,deleteIssues:we.deleteMany}}),{initializeIssues:rp,addIssue:up,addIssues:Di,setIssue:lp,setIssues:op,updateIssue:hp,updateIssues:mp,deleteIssue:yp,deleteIssues:$i}=qi.actions,pp=t=>t.issueReducer.instances,Et=o.createSelector([pp],t=>Object.values(t)),Ap=t=>s=>s.issueReducer.instances[t],fp=S(o.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),MP=S(o.createSelector([Et,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Sp=S(o.createSelector([Et,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Tp=qi.reducer,ve=R(t=>t.uuid),Ip={instances:{}},Ui=o.createSlice({name:"issueTypeAttachments",initialState:Ip,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Ip)),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:Op,addIssueTypeAttachment:Pp,addIssueTypeAttachments:Fp,setIssueTypeAttachment:gp,setIssueTypeAttachments:bp,updateIssueTypeAttachment:_p,updateIssueTypeAttachments:Mp,deleteIssueTypeAttachment:Rp,deleteIssueTypeAttachments:wp}=Ui.actions,vp=t=>t.issueTypeAttachmentReducer.instances,Ci=o.createSelector([vp],t=>Object.values(t)),Ep=t=>s=>s.issueTypeAttachmentReducer.instances[t],Vp=S(o.createSelector([Ci,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),RP=S(o.createSelector([Ci,(t,s)=>s],(t,s)=>T(t.filter(({issue_type:e})=>s===e)))),zp=Ui.reducer,Ee=R(t=>t.uuid),Bp={instances:{}},Li=o.createSlice({name:"issueTypeFieldsAttachments",initialState:Bp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Bp)),reducers:{initializeIssueTypeFieldsAttachments:Ee.initialize,addIssueTypeFieldsAttachment:Ee.addOne,addIssueTypeFieldsAttachments:Ee.addMany,setIssueTypeFieldsAttachment:Ee.setOne,setIssueTypeFieldsAttachments:Ee.setMany,updateIssueTypeFieldsAttachment:Ee.updateOne,updateIssueTypeFieldsAttachments:Ee.updateMany,deleteIssueTypeFieldsAttachment:Ee.deleteOne,deleteIssueTypeFieldsAttachments:Ee.deleteMany}}),{initializeIssueTypeFieldsAttachments:jp,addIssueTypeFieldsAttachment:qp,addIssueTypeFieldsAttachments:Dp,setIssueTypeFieldsAttachment:$p,setIssueTypeFieldsAttachments:Up,updateIssueTypeFieldsAttachment:Cp,updateIssueTypeFieldsAttachments:Lp,deleteIssueTypeFieldsAttachment:kp,deleteIssueTypeFieldsAttachments:Np}=Li.actions,Gp=t=>t.issueTypeFieldsAttachmentReducer.instances,ki=o.createSelector([Gp],t=>Object.values(t)),wP=S(o.createSelector([ki,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),Hp=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],Wp=S(o.createSelector([ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Kp=Li.reducer,Ve=R(t=>t.uuid),Yp={instances:{}},Ni=o.createSlice({name:"issueTypeFieldValues",initialState:Yp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Yp)),reducers:{initializeIssueTypeFieldValues:Ve.initialize,addIssueTypeFieldValues:Ve.addOne,addIssueTypeFieldValuesMany:Ve.addMany,setIssueTypeFieldValues:Ve.setOne,setIssueTypeFieldValuesMany:Ve.setMany,updateIssueTypeFieldValues:Ve.updateOne,updateIssueTypeFieldValuesMany:Ve.updateMany,deleteIssueTypeFieldValues:Ve.deleteOne,deleteIssueTypeFieldValuesMany:Ve.deleteMany}}),{initializeIssueTypeFieldValues:Zp,addIssueTypeFieldValues:Jp,addIssueTypeFieldValuesMany:Xp,setIssueTypeFieldValues:Qp,setIssueTypeFieldValuesMany:xp,updateIssueTypeFieldValues:eA,updateIssueTypeFieldValuesMany:tA,deleteIssueTypeFieldValues:sA,deleteIssueTypeFieldValuesMany:iA}=Ni.actions,nA=t=>t.issueTypeFieldValuesReducer.instances,Vt=o.createSelector([nA],t=>Object.values(t)),vP=S(o.createSelector([Vt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),aA=t=>s=>s.issueTypeFieldValuesReducer.instances[t],cA=S(o.createSelector([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),dA=Ni.reducer,ze=R(t=>t.uuid),rA={instances:{}},Gi=o.createSlice({name:"issueTypeFields",initialState:rA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,rA)),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:uA,addIssueTypeFields:lA,addIssueTypeFieldsMany:oA,setIssueTypeFields:hA,setIssueTypeFieldsMany:mA,updateIssueTypeFields:yA,updateIssueTypeFieldsMany:pA,deleteIssueTypeFields:AA,deleteIssueTypeFieldsMany:fA}=Gi.actions,SA=t=>t.issueTypeFieldsReducer.instances,lt=o.createSelector([SA],t=>Object.values(t)),EP=S(o.createSelector([lt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),VP=S(o.createSelector([lt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),zP=S(o.createSelector([lt,Vt,(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)))})),TA=t=>s=>s.issueTypeFieldsReducer.instances[t],IA=S(o.createSelector([lt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),OA=Gi.reducer,Be=R(t=>t.uuid),PA={instances:{}},Hi=o.createSlice({name:"issueTypeFieldValuesAttachments",initialState:PA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,PA)),reducers:{initializeIssueTypeFieldValuesAttachments:Be.initialize,addIssueTypeFieldValuesAttachment:Be.addOne,addIssueTypeFieldValuesAttachments:Be.addMany,setIssueTypeFieldValuesAttachment:Be.setOne,setIssueTypeFieldValuesAttachments:Be.setMany,updateIssueTypeFieldValuesAttachment:Be.updateOne,updateIssueTypeFieldValuesAttachments:Be.updateMany,deleteIssueTypeFieldValuesAttachment:Be.deleteOne,deleteIssueTypeFieldValuesAttachments:Be.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:FA,addIssueTypeFieldValuesAttachment:gA,addIssueTypeFieldValuesAttachments:Wi,setIssueTypeFieldValuesAttachment:bA,setIssueTypeFieldValuesAttachments:_A,updateIssueTypeFieldValuesAttachment:MA,updateIssueTypeFieldValuesAttachments:RA,deleteIssueTypeFieldValuesAttachment:wA,deleteIssueTypeFieldValuesAttachments:Ki}=Hi.actions,vA=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Yi=o.createSelector([vA],t=>Object.values(t)),EA=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],VA=S(o.createSelector([Yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),zA=S(o.createSelector([Yi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),BA=Hi.reducer,je=R(t=>t.uuid),jA={instances:{}},Zi=o.createSlice({name:"issueTypeIdentifiers",initialState:jA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,jA)),reducers:{initializeIssueTypeIdentifiers:je.initialize,addIssueTypeIdentifier:je.addOne,addIssueTypeIdentifiers:je.addMany,setIssueTypeIdentifier:je.setOne,setIssueTypeIdentifiers:je.setMany,updateIssueTypeIdentifier:je.updateOne,updateIssueTypeIdentifiers:je.updateMany,deleteIssueTypeIdentifier:je.deleteOne,deleteIssueTypeIdentifiers:je.deleteMany}}),{initializeIssueTypeIdentifiers:qA,addIssueTypeIdentifier:DA,addIssueTypeIdentifiers:$A,setIssueTypeIdentifier:UA,setIssueTypeIdentifiers:CA,updateIssueTypeIdentifier:LA,updateIssueTypeIdentifiers:kA,deleteIssueTypeIdentifier:NA,deleteIssueTypeIdentifiers:GA}=Zi.actions,HA=t=>t.issueTypeIdentifierReducer.instances,Ji=o.createSelector([HA],t=>Object.values(t)),WA=t=>s=>s.issueTypeIdentifierReducer.instances[t],KA=S(o.createSelector([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),BP=S(o.createSelector([Ji,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),YA=Zi.reducer,qe=R(t=>t.uuid),ZA={instances:{}},Xi=o.createSlice({name:"issueTypeIdentifierValues",initialState:ZA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ZA)),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:JA,addIssueTypeIdentifierValue:XA,addIssueTypeIdentifierValues:QA,setIssueTypeIdentifierValue:xA,setIssueTypeIdentifierValues:ef,updateIssueTypeIdentifierValue:tf,updateIssueTypeIdentifierValues:sf,deleteIssueTypeIdentifierValue:nf,deleteIssueTypeIdentifierValues:af}=Xi.actions,cf=t=>t.issueTypeIdentifierValueReducer.instances,zt=o.createSelector([cf],t=>Object.values(t)),df=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],rf=S(o.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),jP=S(o.createSelector([zt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),qP=S(o.createSelector([zt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type_identifier===s)))),uf=Xi.reducer,De=R(t=>t.uuid),lf={instances:{}},Qi=o.createSlice({name:"issueTypes",initialState:lf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,lf)),reducers:{initializeIssueTypes:De.initialize,addIssueType:De.addOne,addIssueTypes:De.addMany,setIssueType:De.setOne,setIssueTypes:De.setMany,updateIssueType:De.updateOne,updateIssueTypes:De.updateMany,deleteIssueType:De.deleteOne,deleteIssueTypes:De.deleteMany}}),{initializeIssueTypes:of,addIssueType:hf,addIssueTypes:mf,setIssueType:yf,setIssueTypes:pf,updateIssueType:Af,updateIssueTypes:ff,deleteIssueType:Sf,deleteIssueTypes:Tf}=Qi.actions,If=t=>t.issueTypeReducer.instances,xi=o.createSelector(If,t=>Object.values(t)),Of=t=>s=>s.issueTypeReducer.instances[t],Pf=S(o.createSelector([xi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),DP=S(o.createSelector([xi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Ff=Qi.reducer,$e=R(t=>t.uuid),gf={instances:{}},en=o.createSlice({name:"issueTypeStatuses",initialState:gf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,gf)),reducers:{initializeIssueTypeStatuses:$e.initialize,addIssueTypeStatus:$e.addOne,addIssueTypeStatuses:$e.addMany,setIssueTypeStatus:$e.setOne,setIssueTypeStatuses:$e.setMany,updateIssueTypeStatus:$e.updateOne,updateIssueTypeStatuses:$e.updateMany,deleteIssueTypeStatus:$e.deleteOne,deleteIssueTypeStatuses:$e.deleteMany}}),{initializeIssueTypeStatuses:bf,addIssueTypeStatus:_f,addIssueTypeStatuses:Mf,setIssueTypeStatus:Rf,setIssueTypeStatuses:wf,updateIssueTypeStatus:vf,updateIssueTypeStatuses:Ef,deleteIssueTypeStatus:Vf,deleteIssueTypeStatuses:zf}=en.actions,Bf=t=>t.issueTypeStatusReducer.instances,tn=o.createSelector([Bf],t=>T(Object.values(t).toSorted(xn))),sn=t=>s=>s.issueTypeStatusReducer.instances[t],jf=S(o.createSelector([tn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),$P=S(o.createSelector([tn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),qf=en.reducer,Ue=R(t=>t.uuid),Df={instances:{}},nn=o.createSlice({name:"issueUpdates",initialState:Df,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Df)),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:$f,addIssueUpdate:an,addIssueUpdates:cn,setIssueUpdate:Uf,setIssueUpdates:Cf,updateIssueUpdate:Lf,updateIssueUpdates:kf,deleteIssueUpdate:dn,deleteIssueUpdates:rn}=nn.actions,un=t=>t.issueUpdateReducer.instances,ln=o.createSelector([un],t=>Object.values(t)),Nf=S(o.createSelector([un,(t,s)=>s],(t,s)=>t[s])),Gf=S(o.createSelector([ln,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Hf=S(o.createSelector([ln,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),Wf=nn.reducer,Ce=R(t=>t.uuid),Kf={instances:{},currentUser:null},on=o.createSlice({name:"users",initialState:Kf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Kf)),reducers:{initializeUsers:Ce.initialize,setUsers:Ce.setMany,setUser:Ce.setOne,addUsers:Ce.addMany,addUser:Ce.addOne,updateUsers:Ce.updateMany,updateUser:Ce.updateOne,deleteUser:Ce.deleteOne,deleteUsers:Ce.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload}}}),{initializeUsers:Yf,setUsers:Zf,setUser:Jf,addUsers:Xf,addUser:hn,updateUsers:Qf,updateUser:xf,deleteUser:mn,deleteUsers:eS,setCurrentUser:UP}=on.actions,tS=on.reducer,sS=t=>t.userReducer.currentUser,yn=t=>t.userReducer.instances,Bt=o.createSelector([yn],t=>Object.values(t)),jt=t=>s=>s.userReducer.instances[t],iS=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Le=R(t=>t.uuid),nS={instances:{}},pn=o.createSlice({name:"organizationAccess",initialState:nS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,nS)),reducers:{initializeOrganizationAccesses:Le.initialize,addOrganizationAccess:Le.addOne,addOrganizationAccesses:Le.addMany,setOrganizationAccess:Le.setOne,setOrganizationAccesses:Le.setMany,updateOrganizationAccess:Le.updateOne,updateOrganizationAccesses:Le.updateMany,deleteOrganizationAccess:Le.deleteOne,deleteOrganizationAccesses:Le.deleteMany}}),{initializeOrganizationAccesses:aS,addOrganizationAccess:cS,addOrganizationAccesses:dS,setOrganizationAccess:rS,setOrganizationAccesses:uS,updateOrganizationAccess:lS,updateOrganizationAccesses:oS,deleteOrganizationAccess:hS,deleteOrganizationAccesses:mS}=pn.actions,yS=pn.reducer,qt=t=>t.organizationAccessReducer.instances,pS=t=>s=>s.organizationAccessReducer.instances[t],AS=S(o.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),CP=o.createSelector([sS,qt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.uuid))??null),fS=o.createSelector([qt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return yt(s)}),LP=S(o.createSelector([yn,fS,(t,s)=>s],(t,s,e)=>T(Object.values(t).filter(n=>{const a=s[n.uuid];return!!a&&a.organization===e})))),ke=R(t=>t.uuid),SS={instances:{}},An=o.createSlice({name:"organizations",initialState:SS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,SS)),reducers:{initializeOrganizations:ke.initialize,setOrganizations:ke.setMany,setOrganization:ke.setOne,addOrganizations:ke.addMany,addOrganization:ke.addOne,updateOrganizations:ke.updateMany,updateOrganization:ke.updateOne,deleteOrganization:ke.deleteOne,deleteOrganizations:ke.deleteMany}}),{initializeOrganizations:TS,setOrganizations:IS,setOrganization:OS,addOrganizations:PS,addOrganization:FS,updateOrganizations:gS,updateOrganization:bS,deleteOrganization:_S,deleteOrganizations:MS}=An.actions,RS=t=>t.organizationReducer.instances,wS=o.createSelector([RS],t=>Object.values(t)),vS=t=>s=>s.organizationReducer.instances[t],ES=S(o.createSelector([wS,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),VS=An.reducer,zS=(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}}}}},BS={deletedRequests:[],latestRetryTime:0},fn=o.createSlice({name:"outbox",initialState:BS,extraReducers:t=>t.addCase(_,s=>Object.assign(s,BS)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t);const{BASE_URL:s,serviceName:e,...n}=t;return zS(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}}}),kP=t=>t.outboxReducer.deletedRequests,NP=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:jS,markForDeletion:GP,markAsDeleted:qS,_setLatestRetryTime:DS}=fn.actions,$S=fn.reducer,Ne=R(t=>t.uuid),US={instances:{}},Sn=o.createSlice({name:"projectAccess",initialState:US,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,US)),reducers:{initializeProjectAccesses:Ne.initialize,addProjectAccess:Ne.addOne,addProjectAccesses:Ne.addMany,setProjectAccess:Ne.setOne,setProjectAccesses:Ne.setMany,updateProjectAccess:Ne.updateOne,updateProjectAccesses:Ne.updateMany,deleteProjectAccess:Ne.deleteOne,deleteProjectAccesses:Ne.deleteMany}}),{initializeProjectAccesses:CS,addProjectAccess:LS,addProjectAccesses:kS,setProjectAccess:NS,setProjectAccesses:GS,updateProjectAccess:HS,updateProjectAccesses:WS,deleteProjectAccess:KS,deleteProjectAccesses:YS}=Sn.actions,ZS=Sn.reducer,Tn=t=>t.projectAccessReducer.instances,ot=o.createSelector(Tn,t=>Object.values(t)),JS=t=>s=>s.projectAccessReducer.instances[t],XS=S(o.createSelector([ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),HP=S(o.createSelector([Tn,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.project===s)))),WP=S(o.createSelector([ot,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),KP=S(o.createSelector([Bt,ot,(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.uuid)))})),Ge=R(t=>t.uuid),QS={instances:{}},In=o.createSlice({name:"projectAttachments",initialState:QS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,QS)),reducers:{initializeProjectAttachments:Ge.initialize,addProjectAttachment:Ge.addOne,addProjectAttachments:Ge.addMany,setProjectAttachment:Ge.setOne,setProjectAttachments:Ge.setMany,updateProjectAttachment:Ge.updateOne,updateProjectAttachments:Ge.updateMany,deleteProjectAttachment:Ge.deleteOne,deleteProjectAttachments:Ge.deleteMany}}),{initializeProjectAttachments:xS,addProjectAttachment:eT,addProjectAttachments:tT,setProjectAttachment:sT,setProjectAttachments:iT,updateProjectAttachment:nT,updateProjectAttachments:aT,deleteProjectAttachment:cT,deleteProjectAttachments:dT}=In.actions,rT=t=>t.projectAttachmentReducer.instances,On=o.createSelector([rT],t=>Object.values(t)),uT=t=>s=>s.projectAttachmentReducer.instances[t],lT=S(o.createSelector([On,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),YP=S(o.createSelector([On,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>s===e)))),oT=In.reducer,He=R(t=>t.uuid),hT={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},Pn=o.createSlice({name:"projectFiles",initialState:hT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,hT)),reducers:{initializeProjectFiles:He.initialize,setProjectFile:He.setOne,setProjectFiles:He.setMany,addProjectFile:He.addOne,addProjectFiles:He.addMany,updateProjectFile:He.updateOne,updateProjectFiles:He.updateMany,deleteProjectFile:He.deleteOne,deleteProjectFiles:He.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:mT,setProjectFile:yT,setProjectFiles:pT,addProjectFile:AT,addProjectFiles:fT,updateProjectFile:ST,updateProjectFiles:TT,deleteProjectFile:IT,deleteProjectFiles:OT,setIsImportingProjectFile:PT,setActiveProjectFileId:FT,saveActiveProjectFileBounds:gT}=Pn.actions,bT=t=>t.projectFileReducer.instances,_T=o.createSelector([bT],t=>T(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),MT=t=>s=>s.projectFileReducer.instances[t],RT=S(o.createSelector([_T,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ZP=t=>t.projectFileReducer.activeProjectFileId,JP=t=>t.projectFileReducer.isImportingProjectFile,wT=Pn.reducer,We=R(t=>t.uuid),vT={instances:{}},Fn=o.createSlice({name:"projects",initialState:vT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,vT)),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:ET,setProjects:VT,setProject:zT,addProjects:BT,addProject:jT,updateProjects:qT,updateProject:DT,deleteProject:$T,deleteProjects:UT}=Fn.actions,CT=Fn.reducer,LT=t=>t.projectReducer.instances,Dt=o.createSelector([LT],t=>Object.values(t)),kT=t=>s=>s.projectReducer.instances[t],NT=S(o.createSelector([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),XP=S(o.createSelector([Dt,ot,(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)))})),QP=S(o.createSelector([Dt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),xP={isRehydrated:!1},gn=o.createSlice({name:"rehydrated",initialState:xP,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:eF}=gn.actions,tF=t=>t.rehydratedReducer.isRehydrated,GT=gn.reducer,Ke=R(t=>t.uuid),HT={instances:{}},bn=o.createSlice({name:"teamMemberships",initialState:HT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,HT)),reducers:{initializeTeamMemberships:Ke.initialize,addTeamMembership:Ke.addOne,addTeamMemberships:Ke.addMany,setTeamMembership:Ke.setOne,setTeamMemberships:Ke.setMany,updateTeamMembership:Ke.updateOne,updateTeamMemberships:Ke.updateMany,deleteTeamMembership:Ke.deleteOne,deleteTeamMemberships:Ke.deleteMany}}),{initializeTeamMemberships:WT,addTeamMembership:KT,addTeamMemberships:YT,setTeamMembership:ZT,setTeamMemberships:JT,updateTeamMembership:XT,updateTeamMemberships:QT,deleteTeamMembership:xT,deleteTeamMemberships:eI}=bn.actions,tI=bn.reducer,sI=t=>t.teamMembershipReducer.instances,$t=o.createSelector([sI],t=>Object.values(t)),iI=t=>s=>s.teamMembershipReducer.instances[t],nI=S(o.createSelector([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),sF=S(o.createSelector([$t,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),iF=S(o.createSelector([Bt,$t,(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.uuid)))})),Ye=R(t=>t.uuid),aI={instances:{}},_n=o.createSlice({name:"teams",initialState:aI,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,aI)),reducers:{initializeTeams:Ye.initialize,addTeam:Ye.addOne,addTeams:Ye.addMany,setTeam:Ye.setOne,setTeams:Ye.setMany,updateTeam:Ye.updateOne,updateTeams:Ye.updateMany,deleteTeam:Ye.deleteOne,deleteTeams:Ye.deleteMany}}),{initializeTeams:cI,addTeam:dI,addTeams:rI,setTeam:uI,setTeams:lI,updateTeam:oI,updateTeams:hI,deleteTeam:mI,deleteTeams:yI}=_n.actions,pI=t=>t.teamReducer.instances,Mn=o.createSelector([pI],t=>Object.values(t)),AI=t=>s=>s.teamReducer.instances[t],fI=S(o.createSelector([Mn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),nF=S(o.createSelector([Mn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),SI=_n.reducer,aF={version:0},TI=o.createSlice({name:"versioning",initialState:aF,reducers:{}}),II=TI.reducer,Rn={outboxReducer:$S,fileReducer:rh,authReducer:wo},cF=o.combineReducers(Rn),OI={...Rn,[ct]:II,assetReducer:jr,assetAttachmentReducer:Ia,assetStageCompletionReducer:Wr,assetStageReducer:du,assetTypeReducer:ho,assetTypeAttachmentReducer:Pu,issueReducer:Tp,issueAttachmentReducer:zy,issueTypeReducer:Ff,issueTypeAttachmentReducer:zp,organizationReducer:VS,projectReducer:CT,projectAttachmentReducer:oT,projectAccessReducer:ZS,organizationAccessReducer:yS,projectFileReducer:wT,rehydratedReducer:GT,formReducer:fm,formRevisionReducer:cm,formRevisionAttachmentReducer:Jh,formSubmissionAttachmentReducer:Vm,formSubmissionReducer:Hm,formIdentifierReducer:Ph,formIdentifierValueReducer:qh,userReducer:tS,documentsReducer:eh,documentAttachmentReducer:No,teamReducer:SI,agentsReducer:da,issueCommentReducer:cp,issueCommentAttachmentReducer:Ky,issueUpdateReducer:Wf,geoImageReducer:ay,issueAssociationReducer:Iy,issueTypeFieldsReducer:OA,issueTypeFieldValuesReducer:dA,issueTypeFieldsAttachmentReducer:Kp,issueTypeFieldValuesAttachmentReducer:BA,issueTypeIdentifierReducer:YA,issueTypeIdentifierValueReducer:uf,issueTypeStatusReducer:qf,assetTypeFieldsReducer:Ju,assetTypeFieldValuesReducer:Fl,assetTypeFieldsAttachmentReducer:qu,assetTypeFieldValuesAttachmentReducer:ul,assetTypeIdentifierReducer:Dl,assetTypeIdentifierValueReducer:Xl,assetTypeStatusReducer:_o,assetProcedureTypeReducer:ad,assetProcedureReducer:Gc,assetProcedureTypeFieldsReducer:ac,assetProcedureTypeFieldValuesReducer:Vc,assetProcedureTypeFieldsAttachmentReducer:Ha,assetProcedureTypeFieldValuesAttachmentReducer:fc,assetProcedureTypeAttachmentReducer:Ea,assetProcedureStepFieldsAttachmentReducer:Pd,assetProcedureStepFieldsReducer:jd,assetProcedureStepFieldValuesAttachmentReducer:Yd,assetProcedureStepFieldValuesReducer:rr,assetProcedureStepReducer:Tr,teamMembershipReducer:tI},dF=o.combineReducers(OI),PI=1e4,FI=200,wn=[400,409,403,404,405,500],k=1e4,gI={};class bI{constructor(s){y(this,"client");y(this,"pageSize",PI);gI[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 _I=()=>wI.length-1,MI=t=>(t[ct]={version:_I()},t),RI=()=>MI({}),rF=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),uF=t=>s=>{var e;return s===void 0&&(s={}),((e=s[ct])==null?void 0:e.version)===_I()?s:t(s)},wI=[MI,RI,RI,rF],lF=Object.fromEntries(wI.map((t,s)=>[s,uF(t)])),oF=t=>{if(t)throw t;const s=at();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},vI=(t,s,e)=>{const n=et();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},EI=(t,s,e)=>{const n=et();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 hF(t,s){if(!s.payload)throw new Error("Received empty payload");return GI(s)}const mF={...Dn,effect:hF,discard:zI,returnPromises:!0,persistCallback:oF,retry:fF,persistOptions:{storage:XI},queue:{...Dn.queue,enqueue:vI,dequeue:EI,peek:(...t)=>AF(...t)}},yF=QI(lF,ct),pF=o.compose(JI.offline(mF),yF);async function VI(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=gI[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return zn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function zI(t,s,e=0){var d;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
1
+ (function(i,k){typeof exports=="object"&&typeof module<"u"?k(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"],k):(i=typeof globalThis<"u"?globalThis:i||self,k(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,k,l,nt,xe,JI,XI,vn,Tt,QI,zn,xI,eO,Gb,Hb,tO,sO,iO){"use strict";var kb=Object.defineProperty;var Nb=(i,k,l)=>k in i?kb(i,k,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[k]=l;var m=(i,k,l)=>Nb(i,typeof k!="symbol"?k+"":k,l);var YI;const jn=Object.freeze([]),qn=Object.freeze({});var Dn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Dn||{}),h=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(h||{}),$n=(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))($n||{}),Cn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Cn||{}),Ht=(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))(Ht||{}),U=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))(U||{}),Un=(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))(Un||{});const nO=Ht.MEDIUM,Ln=6e4;function F(t){return{addOne:(o,p)=>{const T=t(p.payload);o.instances[T]=p.payload},addMany:(o,p)=>{for(const T of p.payload){const E=t(T);o.instances[E]=T}},setOne:(o,p)=>{const T=t(p.payload);o.instances[T]=p.payload},setMany:(o,p)=>{for(const T of p.payload){const E=t(T);o.instances[E]=T}},updateOne:(o,p)=>{const T=t(p.payload);o.instances[T]=p.payload},updateMany:(o,p)=>{for(const T of p.payload){const E=t(T);o.instances[E]=T}},deleteOne:(o,p)=>{delete o.instances[p.payload]},deleteMany:(o,p)=>{for(const T of p.payload)delete o.instances[T]},initialize:(o,p)=>{o.instances={};const T=new Set;for(const E of p.payload){const M=t(E);T.add(M),o.instances[M]=E}T.size!==p.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function aO(t){return{initializeSelection:(r,y)=>{r[t]=Array.from(new Set(y.payload))},selectOne:(r,y)=>{console.debug(r,r[t]),!new Set(r[t]).has(y.payload)&&r[t].push(y.payload)},selectMany:(r,y)=>{const o=new Set(r[t]);for(const p of y.payload)o.has(p)||o.add(p);r[t]=Array.from(o)},unselectOne:(r,y)=>{const o=new Set(r[t]);o.has(y.payload)&&(o.delete(y.payload),r[t]=Array.from(o))},unselectMany:(r,y)=>{const o=new Set(r[t]);for(const p of y.payload)o.has(p)&&o.delete(p);r[t]=Array.from(o)},toggleOne:(r,y)=>{const o=new Set(r[t]);o.has(y.payload)?o.delete(y.payload):o.add(y.payload),r[t]=Array.from(o)},toggleMany:(r,y)=>{const o=new Set(r[t]);for(const p of y.payload)o.has(p)?o.delete(p):o.add(p);r[t]=Array.from(o)}}}const ht="versioning",O=l.createAction("RESET"),z=l.createAction("RESET_PROJECT_STATE"),_=l.createAction("RESET_ORGANIZATION_STATE");function cO(t,s){return JI.useMemo(t,s)}YI=Symbol.toStringTag;class Wt{constructor(){m(this,YI,"Promise");m(this,"_promise");m(this,"_resolve");m(this,"_reject");m(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 Kt=!1;["true","1"].includes("".toLowerCase())&&(Kt=!0);function dO(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 Yt(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Kt&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Kt&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function rO(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 f=t=>t.length===0?jn:t,It=t=>Object.keys(t).length===0?qn:t,kn=Yt(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Zt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),uO=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),lO=1e3*86400,Zt=new Date,oO=t=>new Date(t).toDateString()===Zt.toDateString(),hO=Yt((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Zt.getTime())/lO);return n<s||n>e?kn(t):uO.format(n,"days")});function mO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Ot(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=mO(c);s(d)})},n.readAsArrayBuffer(t)})}const yO=(t,s)=>`${t}${s?`.${s}`:""}`;function pO(t,s){return new File([t],s,{type:t.type})}function Nn(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const Gn=async t=>(await fetch(t)).blob(),Hn=async(t,s)=>{const e=await Gn(t);return new File([e],s,{type:e.type})};function AO(t){const s=new Blob([t]);XI.saveAs(s,t.name)}function Wn(t){return typeof t=="string"&&t.startsWith("blob:")}function fO(t){return t.type.startsWith("image/")}const Kn={};function SO(t,s,e,...n){const a=Kn[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(Kn[t]={[s]:!0},c=!0),c&&console[e](...n)}const Yn=["created_at","updated_at","index","revision"];function P(t){return{...t,uuid:xe.v4()}}function TO(t){const s={};for(const e of t)s[e.uuid]=e;return s}function B(t){return t.map(({uuid:s})=>s)}function Pt(t,s){return t.localeCompare(s)}function Jt(t,s){return Pt(t.uuid,s.uuid)}function IO(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 OO(t){return t.toLowerCase().replace(" ","-")}function PO(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function FO(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const bO=/^.+@.+\..+$/;function R(t){const s={...t};for(const e of[...Yn,"created_by"])e in s&&delete s[e];return s}const Zn=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return vn(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},_O=t=>{const{roots:s}=Zn(t);return s.map(e=>new Tt.Tree(e))},Jn=(t,s)=>{const{nodes:e}=Zn(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in asset procedure step tree.`);return new Tt.Tree(n)},Xn=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Qn=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,xn=t=>vn(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),gO=t=>{const{roots:s}=xn(t);return s.map(e=>new Tt.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 document tree.`);return new Tt.Tree(n)},Xt=(t,s)=>t.submitted_at===s.submitted_at?0:t.submitted_at<s.submitted_at?-1:1;class MO{constructor(s){m(this,"operations",[]);m(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.toSorted((n,a)=>n[s]<=a[s]?1:-1)),this}reverse(){return this.operations.push(s=>s.toReversed()),this}all(){return this.operations.push(s=>s),this}get(s,e){return l.createSelector([this.getData],n=>this.performOperations(n).find(a=>a[s]===e))}count(){return l.createSelector([this.getData],s=>this.performOperations(s).length)}first(){return l.createSelector([this.getData],s=>this.performOperations(s)[0])}last(){return l.createSelector([this.getData],s=>{const e=this.performOperations(s);return e[e.length-1]})}exists(){return l.createSelector([this.getData],s=>this.performOperations(s).length>0)}toSelector(){return l.createSelector([this.getData],s=>f(this.performOperations(s)))}}const A=t=>(...s)=>e=>t(e,...s),H=F(t=>t.uuid),ta={instances:{}},Qt=l.createSlice({name:"agents",initialState:ta,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,ta)),reducers:{initializeConversations:H.initialize,addConversation:H.addOne,addConversations:H.addMany,setConversation:H.setOne,setConversations:H.setMany,updateConversation:H.updateOne,updateConversations:H.updateMany,deleteConversation:H.deleteOne,deleteConversations:H.deleteMany}}),{initializeConversations:sa,addConversation:ia,addConversations:RO,setConversation:na,setConversations:wO,updateConversation:aa,updateConversations:EO,deleteConversation:BO,deleteConversations:VO}=Qt.actions,xt=t=>t.agentsReducer.instances,vO=l.createSelector([xt],t=>Object.values(t)),zO=A(l.createSelector([xt,(t,s)=>s],(t,s)=>t[s])),ca=Qt.reducer,W=F(t=>t.uuid),da={instances:{}},es=l.createSlice({name:"assetAttachments",initialState:da,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,da)),reducers:{initializeAssetAttachments:W.initialize,addAssetAttachment:W.addOne,addAssetAttachments:W.addMany,setAssetAttachment:W.setOne,setAssetAttachments:W.setMany,updateAssetAttachment:W.updateOne,updateAssetAttachments:W.updateMany,deleteAssetAttachment:W.deleteOne,deleteAssetAttachments:W.deleteMany}}),{initializeAssetAttachments:ra,addAssetAttachment:ua,addAssetAttachments:ts,setAssetAttachment:la,setAssetAttachments:oa,updateAssetAttachment:ha,updateAssetAttachments:ma,deleteAssetAttachment:ya,deleteAssetAttachments:ss}=es.actions,pa=t=>t.assetAttachmentReducer.instances,is=l.createSelector([pa],t=>Object.values(t)),Aa=t=>s=>s.assetAttachmentReducer.instances[t],fa=A(l.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Sa=A(l.createSelector([is,(t,s)=>s],(t,s)=>f(t.filter(({asset:e})=>s===e)))),Ta=es.reducer,K=F(({uuid:t})=>t),Ia={instances:{}},ns=l.createSlice({name:"assetProcedureTypeAttachments",initialState:Ia,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Ia)),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:Oa,addAssetProcedureTypeAttachment:Pa,addAssetProcedureTypeAttachments:Fa,setAssetProcedureTypeAttachment:ba,setAssetProcedureTypeAttachments:_a,updateAssetProcedureTypeAttachment:ga,updateAssetProcedureTypeAttachments:Ma,deleteAssetProcedureTypeAttachment:Ra,deleteAssetProcedureTypeAttachments:wa}=ns.actions,Ea=ns.reducer,Ba=t=>t.assetProcedureTypeAttachmentReducer.instances,as=l.createSelector([Ba],t=>Object.values(t)),Va=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],va=A(l.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),jO=A(l.createSelector([as,(t,s)=>s],(t,s)=>f(t.filter(({asset_procedure_type:e})=>s===e)))),Y=F(({uuid:t})=>t),za={instances:{}},cs=l.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:za,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,za)),reducers:{initializeAssetProcedureTypeFieldsAttachments:Y.initialize,addAssetProcedureTypeFieldsAttachment:Y.addOne,addAssetProcedureTypeFieldsAttachments:Y.addMany,setAssetProcedureTypeFieldsAttachment:Y.setOne,setAssetProcedureTypeFieldsAttachments:Y.setMany,updateAssetProcedureTypeFieldsAttachment:Y.updateOne,updateAssetProcedureTypeFieldsAttachments:Y.updateMany,deleteAssetProcedureTypeFieldsAttachment:Y.deleteOne,deleteAssetProcedureTypeFieldsAttachments:Y.deleteMany}}),{initializeAssetProcedureTypeFieldsAttachments:ja,addAssetProcedureTypeFieldsAttachment:qa,addAssetProcedureTypeFieldsAttachments:Da,setAssetProcedureTypeFieldsAttachment:$a,setAssetProcedureTypeFieldsAttachments:Ca,updateAssetProcedureTypeFieldsAttachment:Ua,updateAssetProcedureTypeFieldsAttachments:La,deleteAssetProcedureTypeFieldsAttachment:ka,deleteAssetProcedureTypeFieldsAttachments:Na}=cs.actions,Ga=cs.reducer,Ha=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,ds=l.createSelector([Ha],t=>Object.values(t)),qO=A(l.createSelector([ds,(t,s)=>s],(t,s)=>f(t.filter(e=>e.fields_revision===s)))),Wa=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],Ka=A(l.createSelector([ds,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Z=F(({uuid:t})=>t),Ya={instances:{}},rs=l.createSlice({name:"assetProcedureTypeFields",initialState:Ya,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Ya)),reducers:{initializeAssetProcedureTypeFields:Z.initialize,addAssetProcedureTypeFields:Z.addOne,addAssetProcedureTypeFieldsMany:Z.addMany,setAssetProcedureTypeFields:Z.setOne,setAssetProcedureTypeFieldsMany:Z.setMany,updateAssetProcedureTypeFields:Z.updateOne,updateAssetProcedureTypeFieldsMany:Z.updateMany,deleteAssetProcedureTypeFields:Z.deleteOne,deleteAssetProcedureTypeFieldsMany:Z.deleteMany}}),{initializeAssetProcedureTypeFields:Za,addAssetProcedureTypeFields:Ja,addAssetProcedureTypeFieldsMany:Xa,setAssetProcedureTypeFields:Qa,setAssetProcedureTypeFieldsMany:xa,updateAssetProcedureTypeFields:ec,updateAssetProcedureTypeFieldsMany:tc,deleteAssetProcedureTypeFields:sc,deleteAssetProcedureTypeFieldsMany:ic}=rs.actions,nc=rs.reducer,ac=t=>t.assetProcedureTypeFieldsReducer.instances,Ft=l.createSelector([ac],t=>Object.values(t)),DO=A(l.createSelector([Ft,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure_type===s)))),$O=A(l.createSelector([Ft,(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])),cc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],dc=A(l.createSelector([Ft,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),J=F(({uuid:t})=>t),rc={instances:{}},us=l.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:rc,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,rc)),reducers:{initializeAssetProcedureTypeFieldValuesAttachments:J.initialize,addAssetProcedureTypeFieldValuesAttachment:J.addOne,addAssetProcedureTypeFieldValuesAttachments:J.addMany,setAssetProcedureTypeFieldValuesAttachment:J.setOne,setAssetProcedureTypeFieldValuesAttachments:J.setMany,updateAssetProcedureTypeFieldValuesAttachment:J.updateOne,updateAssetProcedureTypeFieldValuesAttachments:J.updateMany,deleteAssetProcedureTypeFieldValuesAttachment:J.deleteOne,deleteAssetProcedureTypeFieldValuesAttachments:J.deleteMany}}),{initializeAssetProcedureTypeFieldValuesAttachments:uc,addAssetProcedureTypeFieldValuesAttachment:lc,addAssetProcedureTypeFieldValuesAttachments:ls,setAssetProcedureTypeFieldValuesAttachment:oc,setAssetProcedureTypeFieldValuesAttachments:hc,updateAssetProcedureTypeFieldValuesAttachment:mc,updateAssetProcedureTypeFieldValuesAttachments:yc,deleteAssetProcedureTypeFieldValuesAttachment:pc,deleteAssetProcedureTypeFieldValuesAttachments:os}=us.actions,Ac=us.reducer,fc=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,hs=l.createSelector([fc],t=>Object.values(t)),Sc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],Tc=A(l.createSelector([hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Ic=A(l.createSelector([hs,(t,s)=>s],(t,s)=>f(t.filter(e=>e.field_values===s)))),X=F(({uuid:t})=>t),Oc={instances:{}},ms=l.createSlice({name:"assetProcedureTypeFieldValues",initialState:Oc,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,Oc)),reducers:{initializeAssetProcedureTypeFieldValues:X.initialize,addAssetProcedureTypeFieldValues:X.addOne,addAssetProcedureTypeFieldValuesMany:X.addMany,setAssetProcedureTypeFieldValues:X.setOne,setAssetProcedureTypeFieldValuesMany:X.setMany,updateAssetProcedureTypeFieldValues:X.updateOne,updateAssetProcedureTypeFieldValuesMany:X.updateMany,deleteAssetProcedureTypeFieldValues:X.deleteOne,deleteAssetProcedureTypeFieldValuesMany:X.deleteMany}}),{initializeAssetProcedureTypeFieldValues:Pc,addAssetProcedureTypeFieldValues:Fc,addAssetProcedureTypeFieldValuesMany:bc,setAssetProcedureTypeFieldValues:_c,setAssetProcedureTypeFieldValuesMany:gc,updateAssetProcedureTypeFieldValues:Mc,updateAssetProcedureTypeFieldValuesMany:Rc,deleteAssetProcedureTypeFieldValues:wc,deleteAssetProcedureTypeFieldValuesMany:Ec}=ms.actions,Bc=ms.reducer,Vc=t=>t.assetProcedureTypeFieldValuesReducer.instances,bt=l.createSelector([Vc],t=>Object.values(t)),CO=A(l.createSelector([bt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset===s)))),UO=A(l.createSelector([bt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure===s)))),vc=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],zc=A(l.createSelector([bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Q=F(({uuid:t})=>t),jc={instances:{}},ys=l.createSlice({name:"assetProcedures",initialState:jc,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,jc)),reducers:{initializeAssetProcedures:Q.initialize,addAssetProcedure:Q.addOne,addAssetProcedures:Q.addMany,setAssetProcedure:Q.setOne,setAssetProcedures:Q.setMany,updateAssetProcedure:Q.updateOne,updateAssetProcedures:Q.updateMany,deleteAssetProcedure:Q.deleteOne,deleteAssetProcedures:Q.deleteMany}}),{initializeAssetProcedures:qc,addAssetProcedure:Dc,addAssetProcedures:ps,updateAssetProcedure:$c,updateAssetProcedures:Cc,deleteAssetProcedure:Uc,deleteAssetProcedures:As,setAssetProcedure:Lc,setAssetProcedures:kc}=ys.actions,Nc=ys.reducer,Gc=t=>t.assetProcedureReducer.instances,_t=l.createSelector([Gc],t=>Object.values(t)),Hc=A(l.createSelector([_t,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure_type===s)))),LO=A(l.createSelector([_t,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_type===s)))),Wc=t=>s=>s.assetProcedureReducer.instances[t],Kc=A(l.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),x=F(t=>t.uuid),Yc={instances:{}},fs=l.createSlice({name:"assetProcedureTypes",initialState:Yc,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Yc)),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:Zc,addAssetProcedureType:Jc,addAssetProcedureTypes:Xc,updateAssetProcedureType:Qc,updateAssetProcedureTypes:xc,deleteAssetProcedureType:ed,deleteAssetProcedureTypes:td,setAssetProcedureType:sd,setAssetProcedureTypes:id}=fs.actions,nd=fs.reducer,ad=t=>t.assetProcedureTypeReducer.instances,Ss=l.createSelector([ad],t=>Object.values(t)),cd=t=>s=>s.assetProcedureTypeReducer.instances[t],dd=A(l.createSelector([Ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),kO=A(l.createSelector([Ss,(t,s)=>s],(t,s)=>f(t.filter(e=>e.organization===s)))),ee=F(t=>t.uuid),rd={instances:{}},Ts=l.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:rd,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,rd)),reducers:{initializeAssetProcedureStepFieldsAttachments:ee.initialize,addAssetProcedureStepFieldsAttachment:ee.addOne,addAssetProcedureStepFieldsAttachments:ee.addMany,setAssetProcedureStepFieldsAttachment:ee.setOne,setAssetProcedureStepFieldsAttachments:ee.setMany,updateAssetProcedureStepFieldsAttachment:ee.updateOne,updateAssetProcedureStepFieldsAttachments:ee.updateMany,deleteAssetProcedureStepFieldsAttachment:ee.deleteOne,deleteAssetProcedureStepFieldsAttachments:ee.deleteMany}}),{initializeAssetProcedureStepFieldsAttachments:ud,addAssetProcedureStepFieldsAttachment:ld,addAssetProcedureStepFieldsAttachments:od,setAssetProcedureStepFieldsAttachment:hd,setAssetProcedureStepFieldsAttachments:md,updateAssetProcedureStepFieldsAttachment:yd,updateAssetProcedureStepFieldsAttachments:pd,deleteAssetProcedureStepFieldsAttachment:Ad,deleteAssetProcedureStepFieldsAttachments:fd}=Ts.actions,Sd=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,Is=l.createSelector([Sd],t=>Object.values(t)),NO=A(l.createSelector([Is,(t,s)=>s],(t,s)=>f(t.filter(e=>e.fields_revision===s)))),Td=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],Id=A(l.createSelector([Is,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Od=Ts.reducer,te=F(t=>t.uuid),Pd={instances:{}},Os=l.createSlice({name:"assetProcedureStepFields",initialState:Pd,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Pd)),reducers:{initializeAssetProcedureStepFields:te.initialize,addAssetProcedureStepFields:te.addOne,addAssetProcedureStepFieldsMany:te.addMany,setAssetProcedureStepFields:te.setOne,setAssetProcedureStepFieldsMany:te.setMany,updateAssetProcedureStepFields:te.updateOne,updateAssetProcedureStepFieldsMany:te.updateMany,deleteAssetProcedureStepFields:te.deleteOne,deleteAssetProcedureStepFieldsMany:te.deleteMany}}),{initializeAssetProcedureStepFields:Fd,addAssetProcedureStepFields:bd,addAssetProcedureStepFieldsMany:_d,setAssetProcedureStepFields:gd,setAssetProcedureStepFieldsMany:Md,updateAssetProcedureStepFields:Rd,updateAssetProcedureStepFieldsMany:wd,deleteAssetProcedureStepFields:Ed,deleteAssetProcedureStepFieldsMany:Bd}=Os.actions,Ps=t=>t.assetProcedureStepFieldsReducer.instances,gt=l.createSelector([Ps],t=>Object.values(t)),GO=A(l.createSelector([gt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure_step===s)))),HO=A(l.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])),WO=l.createSelector([Ps],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}),Vd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],vd=A(l.createSelector([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),zd=Os.reducer,se=F(t=>t.uuid),jd={instances:{}},Fs=l.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:jd,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,jd)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:se.initialize,addAssetProcedureStepFieldValuesAttachment:se.addOne,addAssetProcedureStepFieldValuesAttachments:se.addMany,setAssetProcedureStepFieldValuesAttachment:se.setOne,setAssetProcedureStepFieldValuesAttachments:se.setMany,updateAssetProcedureStepFieldValuesAttachment:se.updateOne,updateAssetProcedureStepFieldValuesAttachments:se.updateMany,deleteAssetProcedureStepFieldValuesAttachment:se.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:se.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:qd,addAssetProcedureStepFieldValuesAttachment:Dd,addAssetProcedureStepFieldValuesAttachments:bs,setAssetProcedureStepFieldValuesAttachment:$d,setAssetProcedureStepFieldValuesAttachments:Cd,updateAssetProcedureStepFieldValuesAttachment:Ud,updateAssetProcedureStepFieldValuesAttachments:Ld,deleteAssetProcedureStepFieldValuesAttachment:kd,deleteAssetProcedureStepFieldValuesAttachments:_s}=Fs.actions,Nd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,gs=l.createSelector([Nd],t=>Object.values(t)),Gd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Hd=A(l.createSelector([gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Wd=A(l.createSelector([gs,(t,s)=>s],(t,s)=>f(t.filter(e=>e.field_values===s)))),Kd=Fs.reducer,ie=F(t=>t.uuid),Yd={instances:{}},Ms=l.createSlice({name:"assetProcedureStepFieldValues",initialState:Yd,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,Yd)),reducers:{initializeAssetProcedureStepFieldValues:ie.initialize,addAssetProcedureStepFieldValues:ie.addOne,addAssetProcedureStepFieldValuesMany:ie.addMany,setAssetProcedureStepFieldValues:ie.setOne,setAssetProcedureStepFieldValuesMany:ie.setMany,updateAssetProcedureStepFieldValues:ie.updateOne,updateAssetProcedureStepFieldValuesMany:ie.updateMany,deleteAssetProcedureStepFieldValues:ie.deleteOne,deleteAssetProcedureStepFieldValuesMany:ie.deleteMany}}),{initializeAssetProcedureStepFieldValues:Zd,addAssetProcedureStepFieldValues:Jd,addAssetProcedureStepFieldValuesMany:Xd,setAssetProcedureStepFieldValues:Qd,setAssetProcedureStepFieldValuesMany:xd,updateAssetProcedureStepFieldValues:er,updateAssetProcedureStepFieldValuesMany:tr,deleteAssetProcedureStepFieldValues:sr,deleteAssetProcedureStepFieldValuesMany:ir}=Ms.actions,nr=t=>t.assetProcedureStepFieldValuesReducer.instances,mt=l.createSelector([nr],t=>Object.values(t)),KO=A(l.createSelector([mt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset===s)))),YO=A(l.createSelector([mt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure===s)))),ZO=A(l.createSelector([mt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure_step===s)))),ar=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],cr=A(l.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),dr=Ms.reducer,ne=F(t=>t.uuid),rr={instances:{}},Rs=l.createSlice({name:"assetProcedureSteps",initialState:rr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,rr)),reducers:{initializeAssetProcedureSteps:ne.initialize,setAssetProcedureStep:ne.setOne,setAssetProcedureSteps:ne.setMany,addAssetProcedureStep:ne.addOne,addAssetProcedureSteps:ne.addMany,updateAssetProcedureStep:ne.updateOne,updateAssetProcedureSteps:ne.updateMany,deleteAssetProcedureStep:ne.deleteOne,deleteAssetProcedureSteps:ne.deleteMany}}),{initializeAssetProcedureSteps:ur,setAssetProcedureStep:lr,setAssetProcedureSteps:or,addAssetProcedureStep:hr,addAssetProcedureSteps:mr,updateAssetProcedureStep:yr,updateAssetProcedureSteps:pr,deleteAssetProcedureStep:Ar,deleteAssetProcedureSteps:fr}=Rs.actions,Sr=Rs.reducer,Mt=t=>t.assetProcedureStepReducer.instances,Tr=t=>s=>s.assetProcedureStepReducer.instances[t],ws=l.createSelector([Mt],t=>Object.values(t)),JO=A(l.createSelector([Mt,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return It(e)})),XO=A(l.createSelector([ws,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure_type===s)))),Ir=A(l.createSelector([ws,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Or=A(l.createSelector([Mt,(t,s)=>s],(t,s)=>{if(!t[s])return f([]);const a=Jn(s,Object.values(t)).all().map(({model:c})=>c);return f(a)})),ae=F(t=>t.uuid),Pr={instances:{}},Es=l.createSlice({name:"assets",initialState:Pr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,Pr)),reducers:{initializeAssets:ae.initialize,addAsset:ae.addOne,addAssets:ae.addMany,setAsset:ae.setOne,setAssets:ae.setMany,updateAsset:ae.updateOne,updateAssets:ae.updateMany,deleteAsset:ae.deleteOne,deleteAssets:ae.deleteMany}}),{initializeAssets:Fr,addAsset:br,addAssets:Bs,updateAsset:_r,updateAssets:gr,deleteAsset:Mr,deleteAssets:Vs,setAsset:Rr,setAssets:wr}=Es.actions,Er=t=>t.assetReducer.instances,Rt=l.createSelector([Er],t=>f(Object.values(t))),QO=A(l.createSelector([Rt,(t,s)=>s],(t,s)=>f(t.filter(({project:e})=>e===s)))),Br=A(l.createSelector([Rt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_type===s)))),Vr=t=>s=>s.assetReducer.instances[t],vr=A(l.createSelector([Rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),zr=Es.reducer,ce=F(t=>t.uuid),jr={instances:{}},vs=l.createSlice({name:"assetStageCompletions",initialState:jr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,jr)),reducers:{initializeAssetStageCompletions:ce.initialize,addAssetStageCompletion:ce.addOne,addAssetStageCompletions:ce.addMany,setAssetStageCompletion:ce.setOne,setAssetStageCompletions:ce.setMany,updateAssetStageCompletion:ce.updateOne,updateAssetStageCompletions:ce.updateMany,deleteAssetStageCompletion:ce.deleteOne,deleteAssetStageCompletions:ce.deleteMany}}),{initializeAssetStageCompletions:qr,addAssetStageCompletion:Dr,addAssetStageCompletions:$r,setAssetStageCompletion:Cr,setAssetStageCompletions:Ur,updateAssetStageCompletion:Lr,updateAssetStageCompletions:kr,deleteAssetStageCompletion:Nr,deleteAssetStageCompletions:Gr}=vs.actions,Hr=vs.reducer,Wr=t=>t.assetStageCompletionReducer.instances,Kr=l.createSelector([Wr],t=>Object.values(t)),Yr=t=>s=>s.assetStageCompletionReducer.instances[t],Zr=A(l.createSelector([Kr,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),de=F(t=>t.uuid),Jr={instances:{}},zs=l.createSlice({name:"assetStages",initialState:Jr,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Jr)),reducers:{initializeAssetStages:de.initialize,setAssetStage:de.setOne,setAssetStages:de.setMany,addAssetStage:de.addOne,addAssetStages:de.addMany,updateAssetStage:de.updateOne,updateAssetStages:de.updateMany,deleteAssetStage:de.deleteOne,deleteAssetStages:de.deleteMany}}),{initializeAssetStages:Xr,setAssetStage:Qr,setAssetStages:xr,addAssetStage:eu,addAssetStages:tu,updateAssetStage:su,updateAssetStages:iu,deleteAssetStage:nu,deleteAssetStages:au}=zs.actions,cu=zs.reducer,js=t=>t.assetStageReducer.instances,du=t=>s=>s.assetStageReducer.instances[t],qs=l.createSelector([js],t=>Object.values(t)),xO=A(l.createSelector([js,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return It(e)})),eP=A(l.createSelector([qs,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_procedure_type===s)))),ru=A(l.createSelector([qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),re=F(t=>t.uuid),uu={instances:{}},Ds=l.createSlice({name:"assetTypeAttachments",initialState:uu,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,uu)),reducers:{initializeAssetTypeAttachments:re.initialize,addAssetTypeAttachment:re.addOne,addAssetTypeAttachments:re.addMany,setAssetTypeAttachment:re.setOne,setAssetTypeAttachments:re.setMany,updateAssetTypeAttachment:re.updateOne,updateAssetTypeAttachments:re.updateMany,deleteAssetTypeAttachment:re.deleteOne,deleteAssetTypeAttachments:re.deleteMany}}),{initializeAssetTypeAttachments:lu,addAssetTypeAttachment:ou,addAssetTypeAttachments:$s,setAssetTypeAttachment:hu,setAssetTypeAttachments:mu,updateAssetTypeAttachment:yu,updateAssetTypeAttachments:pu,deleteAssetTypeAttachment:Au,deleteAssetTypeAttachments:Cs}=Ds.actions,fu=t=>t.assetTypeAttachmentReducer.instances,Us=l.createSelector([fu],t=>Object.values(t)),Su=t=>s=>s.assetTypeAttachmentReducer.instances[t],Tu=A(l.createSelector([Us,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Iu=A(l.createSelector([Us,(t,s)=>s],(t,s)=>f(t.filter(({asset_type:e})=>s===e)))),Ou=Ds.reducer,ue=F(t=>t.uuid),Pu={instances:{}},Ls=l.createSlice({name:"assetTypeFieldsAttachments",initialState:Pu,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Pu)),reducers:{initializeAssetTypeFieldsAttachments:ue.initialize,addAssetTypeFieldsAttachment:ue.addOne,addAssetTypeFieldsAttachments:ue.addMany,setAssetTypeFieldsAttachment:ue.setOne,setAssetTypeFieldsAttachments:ue.setMany,updateAssetTypeFieldsAttachment:ue.updateOne,updateAssetTypeFieldsAttachments:ue.updateMany,deleteAssetTypeFieldsAttachment:ue.deleteOne,deleteAssetTypeFieldsAttachments:ue.deleteMany}}),{initializeAssetTypeFieldsAttachments:Fu,addAssetTypeFieldsAttachment:bu,addAssetTypeFieldsAttachments:_u,setAssetTypeFieldsAttachment:gu,setAssetTypeFieldsAttachments:Mu,updateAssetTypeFieldsAttachment:Ru,updateAssetTypeFieldsAttachments:wu,deleteAssetTypeFieldsAttachment:Eu,deleteAssetTypeFieldsAttachments:Bu}=Ls.actions,Vu=t=>t.assetTypeFieldsAttachmentReducer.instances,ks=l.createSelector([Vu],t=>Object.values(t)),tP=A(l.createSelector([ks,(t,s)=>s],(t,s)=>f(t.filter(e=>e.fields_revision===s)))),vu=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],zu=A(l.createSelector([ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),ju=Ls.reducer,le=F(t=>t.uuid),qu={instances:{}},Ns=l.createSlice({name:"assetTypeFields",initialState:qu,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,qu)),reducers:{initializeAssetTypeFields:le.initialize,addAssetTypeFields:le.addOne,addAssetTypeFieldsMany:le.addMany,setAssetTypeFields:le.setOne,setAssetTypeFieldsMany:le.setMany,updateAssetTypeFields:le.updateOne,updateAssetTypeFieldsMany:le.updateMany,deleteAssetTypeFields:le.deleteOne,deleteAssetTypeFieldsMany:le.deleteMany}}),{initializeAssetTypeFields:Du,addAssetTypeFields:$u,addAssetTypeFieldsMany:Cu,setAssetTypeFields:Uu,setAssetTypeFieldsMany:Lu,updateAssetTypeFields:ku,updateAssetTypeFieldsMany:Nu,deleteAssetTypeFields:Gu,deleteAssetTypeFieldsMany:Hu}=Ns.actions,Wu=t=>t.assetTypeFieldsReducer.instances,yt=l.createSelector([Wu],t=>Object.values(t)),sP=A(l.createSelector([yt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_type===s)))),iP=A(l.createSelector([yt,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).toSorted(Xt).pop())),Ku=t=>s=>s.assetTypeFieldsReducer.instances[t],Yu=A(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Zu=Ns.reducer,oe=F(t=>t.uuid),Ju={instances:{}},Gs=l.createSlice({name:"assetTypeFieldValuesAttachments",initialState:Ju,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,Ju)),reducers:{initializeAssetTypeFieldValuesAttachments:oe.initialize,addAssetTypeFieldValuesAttachment:oe.addOne,addAssetTypeFieldValuesAttachments:oe.addMany,setAssetTypeFieldValuesAttachment:oe.setOne,setAssetTypeFieldValuesAttachments:oe.setMany,updateAssetTypeFieldValuesAttachment:oe.updateOne,updateAssetTypeFieldValuesAttachments:oe.updateMany,deleteAssetTypeFieldValuesAttachment:oe.deleteOne,deleteAssetTypeFieldValuesAttachments:oe.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:Xu,addAssetTypeFieldValuesAttachment:Qu,addAssetTypeFieldValuesAttachments:Hs,setAssetTypeFieldValuesAttachment:xu,setAssetTypeFieldValuesAttachments:el,updateAssetTypeFieldValuesAttachment:tl,updateAssetTypeFieldValuesAttachments:sl,deleteAssetTypeFieldValuesAttachment:il,deleteAssetTypeFieldValuesAttachments:Ws}=Gs.actions,nl=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Ks=l.createSelector([nl],t=>Object.values(t)),al=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],cl=A(l.createSelector([Ks,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),dl=A(l.createSelector([Ks,(t,s)=>s],(t,s)=>f(t.filter(e=>e.field_values===s)))),rl=Gs.reducer,he=F(t=>t.uuid),ul={instances:{}},Ys=l.createSlice({name:"assetTypeFieldValues",initialState:ul,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,ul)),reducers:{initializeAssetTypeFieldValues:he.initialize,addAssetTypeFieldValues:he.addOne,addAssetTypeFieldValuesMany:he.addMany,setAssetTypeFieldValues:he.setOne,setAssetTypeFieldValuesMany:he.setMany,updateAssetTypeFieldValues:he.updateOne,updateAssetTypeFieldValuesMany:he.updateMany,deleteAssetTypeFieldValues:he.deleteOne,deleteAssetTypeFieldValuesMany:he.deleteMany}}),{initializeAssetTypeFieldValues:ll,addAssetTypeFieldValues:ol,addAssetTypeFieldValuesMany:hl,setAssetTypeFieldValues:ml,setAssetTypeFieldValuesMany:yl,updateAssetTypeFieldValues:pl,updateAssetTypeFieldValuesMany:Al,deleteAssetTypeFieldValues:fl,deleteAssetTypeFieldValuesMany:Sl}=Ys.actions,Tl=t=>t.assetTypeFieldValuesReducer.instances,wt=l.createSelector([Tl],t=>Object.values(t)),nP=A(l.createSelector([wt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset===s)))),aP=A(l.createSelector([yt,wt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return f(s.filter(a=>n.has(a.fields_revision)))})),Il=t=>s=>s.assetTypeFieldValuesReducer.instances[t],Ol=A(l.createSelector([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Pl=Ys.reducer,me=F(t=>t.uuid),Fl={instances:{}},Zs=l.createSlice({name:"assetTypeIdentifiers",initialState:Fl,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Fl)),reducers:{initializeAssetTypeIdentifiers:me.initialize,addAssetTypeIdentifier:me.addOne,addAssetTypeIdentifiers:me.addMany,setAssetTypeIdentifier:me.setOne,setAssetTypeIdentifiers:me.setMany,updateAssetTypeIdentifier:me.updateOne,updateAssetTypeIdentifiers:me.updateMany,deleteAssetTypeIdentifier:me.deleteOne,deleteAssetTypeIdentifiers:me.deleteMany}}),{initializeAssetTypeIdentifiers:bl,addAssetTypeIdentifier:_l,addAssetTypeIdentifiers:gl,setAssetTypeIdentifier:Ml,setAssetTypeIdentifiers:Rl,updateAssetTypeIdentifier:wl,updateAssetTypeIdentifiers:El,deleteAssetTypeIdentifier:Bl,deleteAssetTypeIdentifiers:Vl}=Zs.actions,vl=t=>t.assetTypeIdentifierReducer.instances,Js=l.createSelector([vl],t=>Object.values(t)),zl=t=>s=>s.assetTypeIdentifierReducer.instances[t],jl=A(l.createSelector([Js,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),cP=A(l.createSelector([Js,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_type===s)))),ql=Zs.reducer,ye=F(t=>t.uuid),Dl={instances:{}},Xs=l.createSlice({name:"assetTypeIdentifierValues",initialState:Dl,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,Dl)),reducers:{initializeAssetTypeIdentifierValues:ye.initialize,addAssetTypeIdentifierValue:ye.addOne,addAssetTypeIdentifierValues:ye.addMany,setAssetTypeIdentifierValue:ye.setOne,setAssetTypeIdentifierValues:ye.setMany,updateAssetTypeIdentifierValue:ye.updateOne,updateAssetTypeIdentifierValues:ye.updateMany,deleteAssetTypeIdentifierValue:ye.deleteOne,deleteAssetTypeIdentifierValues:ye.deleteMany}}),{initializeAssetTypeIdentifierValues:$l,addAssetTypeIdentifierValue:Cl,addAssetTypeIdentifierValues:Ul,setAssetTypeIdentifierValue:Ll,setAssetTypeIdentifierValues:kl,updateAssetTypeIdentifierValue:Nl,updateAssetTypeIdentifierValues:Gl,deleteAssetTypeIdentifierValue:Hl,deleteAssetTypeIdentifierValues:Wl}=Xs.actions,Kl=t=>t.assetTypeIdentifierValueReducer.instances,Et=l.createSelector([Kl],t=>Object.values(t)),Yl=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],Zl=A(l.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),dP=A(l.createSelector([Et,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset===s)))),rP=A(l.createSelector([Et,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_type_identifier===s)))),Jl=Xs.reducer,pe=F(t=>t.uuid),Xl={instances:{}},Qs=l.createSlice({name:"assetTypes",initialState:Xl,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Xl)),reducers:{initializeAssetTypes:pe.initialize,setAssetType:pe.setOne,setAssetTypes:pe.setMany,addAssetType:pe.addOne,addAssetTypes:pe.addMany,updateAssetType:pe.updateOne,updateAssetTypes:pe.updateMany,deleteAssetType:pe.deleteOne,deleteAssetTypes:pe.deleteMany}}),{initializeAssetTypes:Ql,setAssetType:xl,setAssetTypes:eo,addAssetType:to,addAssetTypes:so,updateAssetType:io,updateAssetTypes:no,deleteAssetType:ao,deleteAssetTypes:co}=Qs.actions,ro=t=>t.assetTypeReducer.instances,xs=l.createSelector([ro],t=>Object.values(t)),uo=t=>s=>s.assetTypeReducer.instances[t],lo=A(l.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),uP=A(l.createSelector([xs,(t,s)=>s],(t,s)=>f(t.filter(e=>e.organization===s)))),oo=Qs.reducer,Ae=F(t=>t.uuid),ho={instances:{}},ei=l.createSlice({name:"assetTypeStatuses",initialState:ho,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,ho)),reducers:{initializeAssetTypeStatuses:Ae.initialize,addAssetTypeStatus:Ae.addOne,addAssetTypeStatuses:Ae.addMany,setAssetTypeStatus:Ae.setOne,setAssetTypeStatuses:Ae.setMany,updateAssetTypeStatus:Ae.updateOne,updateAssetTypeStatuses:Ae.updateMany,deleteAssetTypeStatus:Ae.deleteOne,deleteAssetTypeStatuses:Ae.deleteMany}}),{initializeAssetTypeStatuses:mo,addAssetTypeStatus:yo,addAssetTypeStatuses:po,setAssetTypeStatus:Ao,setAssetTypeStatuses:fo,updateAssetTypeStatus:So,updateAssetTypeStatuses:To,deleteAssetTypeStatus:Io,deleteAssetTypeStatuses:Oo}=ei.actions,Po=t=>t.assetTypeStatusReducer.instances,ti=l.createSelector([Po],t=>f(Object.values(t).toSorted(Xn))),Fo=t=>s=>s.assetTypeStatusReducer.instances[t],bo=A(l.createSelector([ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),lP=A(l.createSelector([ti,(t,s)=>s],(t,s)=>f(t.filter(e=>e.asset_type===s)))),_o=ei.reducer,go={accessToken:"",refreshToken:"",isLoggedIn:!1},Bt=l.createSlice({name:"auth",initialState:go,extraReducers:t=>t.addCase(O,s=>Object.assign(s,go)),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||Bt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:oP,clearTokens:hP,setLoggedIn:Mo}=Bt.actions,mP=t=>t.authReducer.accessToken,yP=t=>t.authReducer.isLoggedIn,Ro=Bt.reducer,fe=F(t=>t.uuid),wo={instances:{}},si=l.createSlice({name:"documentAttachments",initialState:wo,extraReducers:t=>t.addCase(O,s=>Object.assign(s,wo)),reducers:{initializeDocumentAttachments:fe.initialize,addDocumentAttachment:fe.addOne,addDocumentAttachments:fe.addMany,setDocumentAttachment:fe.setOne,setDocumentAttachments:fe.setMany,updateDocumentAttachment:fe.updateOne,updateDocumentAttachments:fe.updateMany,deleteDocumentAttachment:fe.deleteOne,deleteDocumentAttachments:fe.deleteMany}}),{initializeDocumentAttachments:Eo,addDocumentAttachment:Bo,addDocumentAttachments:Vo,setDocumentAttachment:vo,setDocumentAttachments:zo,updateDocumentAttachment:jo,updateDocumentAttachments:qo,deleteDocumentAttachment:Do,deleteDocumentAttachments:$o}=si.actions,Co=t=>t.documentAttachmentReducer.instances,ii=l.createSelector([Co],t=>Object.values(t)),Uo=t=>s=>s.documentAttachmentReducer.instances[t],Lo=A(l.createSelector([ii,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),pP=A(l.createSelector([ii,(t,s)=>s],(t,s)=>f(t.filter(({document:e})=>s===e)))),ko=si.reducer,Se=F(({uuid:t})=>t),No={instances:{}},ni=l.createSlice({name:"documents",initialState:No,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>{Object.assign(s,No)}),reducers:{initializeDocuments:Se.initialize,addDocument:Se.addOne,addDocuments:Se.addMany,setDocument:Se.setOne,setDocuments:Se.setMany,updateDocument:Se.updateOne,updateDocuments:Se.updateMany,deleteDocument:Se.deleteOne,deleteDocuments:Se.deleteMany}}),{initializeDocuments:Go,addDocument:Ho,addDocuments:Wo,setDocument:Ko,setDocuments:Yo,updateDocument:Zo,updateDocuments:Jo,deleteDocument:Xo,deleteDocuments:Qo}=ni.actions,xo=ni.reducer,ai=t=>t.documentsReducer.instances,Vt=l.createSelector([ai],t=>Object.values(t)),eh=t=>s=>s.documentsReducer.instances[t],th=A(l.createSelector([Vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),AP=A(l.createSelector([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),fP=A(l.createSelector([Vt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),sh=A(l.createSelector([ai,(t,s)=>s],(t,s)=>{if(!t[s])return f([]);const a=ea(s,Object.values(t)).all().map(({model:c})=>c);return f(a)})),ih={s3Urls:{}},nh=1e3*60*60,SP=nh*24*7,ci=l.createSlice({name:"file",initialState:ih,extraReducers:t=>t.addCase(O,s=>Object.assign(s,ih)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,d=new Date(c.getTime()+SP);t.s3Urls[a]={url:e,fields:n,exp:d.getTime()}}}}),{setUploadUrl:TP}=ci.actions,IP=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<nh))return e},ah=ci.reducer,Te=F(t=>t.uuid),ch={instances:{}},di=l.createSlice({name:"formIdentifiers",initialState:ch,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,ch)),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:dh,addFormIdentifier:rh,addFormIdentifiers:uh,setFormIdentifier:lh,setFormIdentifiers:oh,updateFormIdentifier:hh,updateFormIdentifiers:mh,deleteFormIdentifier:yh,deleteFormIdentifiers:ph}=di.actions,Ah=t=>t.formIdentifierReducer.instances,ri=l.createSelector([Ah],t=>Object.values(t)),fh=t=>s=>s.formIdentifierReducer.instances[t],Sh=A(l.createSelector([ri,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),OP=A(l.createSelector([ri,(t,s)=>s],(t,s)=>f(t.filter(e=>e.form===s)))),Th=di.reducer,Ie=F(t=>t.uuid),Ih={instances:{}},ui=l.createSlice({name:"formIdentifierValues",initialState:Ih,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Ih)),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:Oh,addFormIdentifierValue:Ph,addFormIdentifierValues:Fh,setFormIdentifierValue:bh,setFormIdentifierValues:_h,updateFormIdentifierValue:gh,updateFormIdentifierValues:Mh,deleteFormIdentifierValue:Rh,deleteFormIdentifierValues:wh}=ui.actions,Eh=t=>t.formIdentifierValueReducer.instances,vt=l.createSelector([Eh],t=>Object.values(t)),Bh=t=>s=>s.formIdentifierValueReducer.instances[t],Vh=A(l.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),PP=A(l.createSelector([vt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.form_submission===s)))),FP=A(l.createSelector([vt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.form_identifier===s)))),vh=ui.reducer,Oe=F(t=>t.uuid),zh={instances:{}},li=l.createSlice({name:"formRevisionAttachments",initialState:zh,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,zh)),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:jh,addFormRevisionAttachment:qh,addFormRevisionAttachments:Dh,setFormRevisionAttachment:$h,setFormRevisionAttachments:Ch,updateFormRevisionAttachment:Uh,updateFormRevisionAttachments:Lh,deleteFormRevisionAttachment:kh,deleteFormRevisionAttachments:Nh}=li.actions,zt=t=>t.formRevisionAttachmentReducer.instances,Gh=l.createSelector([zt],t=>Object.values(t)),Hh=A(l.createSelector([zt,(t,s)=>s],(t,s)=>t[s])),Wh=A(l.createSelector([Gh,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),bP=A(l.createSelector([zt,(t,s)=>s],(t,s)=>f(Object.values(t).filter(e=>e.form_revision===s)))),Kh=li.reducer,Pe=F(t=>t.uuid),Yh={instances:{}},oi=l.createSlice({name:"formRevisions",initialState:Yh,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Yh)),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:Zh,addFormRevision:Jh,addFormRevisions:hi,setFormRevision:Xh,setFormRevisions:Qh,updateFormRevision:xh,updateFormRevisions:em,deleteFormRevision:tm,deleteFormRevisions:mi}=oi.actions,sm=t=>t.formRevisionReducer.instances,jt=l.createSelector([sm],t=>Object.values(t)),im=t=>s=>s.formRevisionReducer.instances[t],nm=A(l.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),_P=A(l.createSelector([jt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).toSorted(Xt).pop())),am=A(l.createSelector([jt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.form===s)))),cm=oi.reducer,Fe=F(t=>t.uuid),dm={instances:{}},yi=l.createSlice({name:"forms",initialState:dm,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,dm)),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:rm,addForm:um,addForms:lm,setForm:om,setForms:hm,updateForm:mm,updateForms:ym,deleteForm:pm,deleteForms:Am}=yi.actions,fm=yi.reducer,Sm=t=>t.formReducer.instances,pi=l.createSelector([Sm],t=>Object.values(t)),Tm=t=>s=>s.formReducer.instances[t],Im=A(l.createSelector([pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),gP=A(l.createSelector([pi,(t,s)=>s],(t,s)=>f(t.filter(e=>e.organization===s)))),be=F(t=>t.uuid),Om={instances:{}},Ai=l.createSlice({name:"formSubmissionAttachments",initialState:Om,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Om)),reducers:{initializeFormSubmissionAttachments:be.initialize,addFormSubmissionAttachment:be.addOne,addFormSubmissionAttachments:be.addMany,setFormSubmissionAttachment:be.setOne,setFormSubmissionAttachments:be.setMany,updateFormSubmissionAttachment:be.updateOne,updateFormSubmissionAttachments:be.updateMany,deleteFormSubmissionAttachment:be.deleteOne,deleteFormSubmissionAttachments:be.deleteMany}}),{initializeFormSubmissionAttachments:Pm,addFormSubmissionAttachment:Fm,addFormSubmissionAttachments:fi,setFormSubmissionAttachment:bm,setFormSubmissionAttachments:_m,updateFormSubmissionAttachment:gm,updateFormSubmissionAttachments:Mm,deleteFormSubmissionAttachment:Rm,deleteFormSubmissionAttachments:Si}=Ai.actions,Ti=t=>t.formSubmissionAttachmentReducer.instances,Ii=l.createSelector([Ti],t=>Object.values(t)),wm=A(l.createSelector([Ti,(t,s)=>s],(t,s)=>t[s])),Oi=A(l.createSelector([Ii,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(n=>e.has(n.uuid)))})),Em=Oi,Bm=A(l.createSelector([Ii,(t,s)=>s],(t,s)=>f(t.filter(e=>e.form_submission===s)))),Vm=Ai.reducer,_e=F(t=>t.uuid),vm={instances:{}},Pi=l.createSlice({name:"formSubmissions",initialState:vm,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,vm)),reducers:{initializeFormSubmissions:_e.initialize,setFormSubmission:_e.setOne,setFormSubmissions:_e.setMany,addFormSubmission:_e.addOne,addFormSubmissions:_e.addMany,updateFormSubmission:_e.updateOne,updateFormSubmissions:_e.updateMany,deleteFormSubmission:_e.deleteOne,deleteFormSubmissions:_e.deleteMany}}),{initializeFormSubmissions:zm,setFormSubmission:jm,setFormSubmissions:qm,addFormSubmission:Dm,addFormSubmissions:et,updateFormSubmission:$m,updateFormSubmissions:Cm,deleteFormSubmission:Um,deleteFormSubmissions:tt}=Pi.actions,Lm=t=>t.formSubmissionReducer.instances,N=l.createSelector([Lm],t=>Object.values(t)),km=t=>s=>s.formSubmissionReducer.instances[t],Nm=A(l.createSelector([N,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Gm=A(l.createSelector([N,(t,s)=>s],(t,s)=>f(t.filter(e=>e.form===s)))),MP=A(l.createSelector([N,(t,s)=>s],(t,s)=>f(t.filter(({organization:e})=>e===s)))),RP=A(l.createSelector([N,(t,s)=>s],(t,s)=>f(t.filter(({project:e})=>e===s)))),wP=A(l.createSelector([N,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>f(t.filter(({project:n,form:a})=>n===s&&a===e)))),EP=A(l.createSelector([N,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>f(t.filter(({organization:n,form:a})=>n===s&&a===e)))),Hm=A(l.createSelector([N,(t,s)=>s],(t,s)=>f(t.filter(({issue:e})=>e===s)))),Wm=A(l.createSelector([N,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({issue:n})=>n&&e.has(n)))})),Km=A(l.createSelector([N,(t,s)=>s],(t,s)=>f(t.filter(({asset:e})=>e===s)))),Ym=A(l.createSelector([N,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({asset:n})=>n&&e.has(n)))})),Zm=Pi.reducer,ge=F(t=>t.uuid),Jm={instances:{}},Fi=l.createSlice({name:"geoImages",initialState:Jm,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,Jm)),reducers:{initializeGeoImages:ge.initialize,setGeoImage:ge.setOne,setGeoImages:ge.setMany,addGeoImage:ge.addOne,addGeoImages:ge.addMany,updateGeoImage:ge.updateOne,updateGeoImages:ge.updateMany,deleteGeoImage:ge.deleteOne,deleteGeoImages:ge.deleteMany}}),{initializeGeoImages:Xm,setGeoImage:Qm,setGeoImages:xm,addGeoImage:ey,addGeoImages:ty,updateGeoImage:sy,updateGeoImages:iy,deleteGeoImage:ny,deleteGeoImages:ay}=Fi.actions,cy=t=>t.geoImageReducer.instances,bi=l.createSelector([cy],t=>Object.values(t)),dy=t=>s=>s.geoImageReducer.instances[t],ry=A(l.createSelector([bi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),BP=A(l.createSelector([bi,(t,s)=>s],(t,s)=>f(t.filter(e=>e.project===s)))),uy=Fi.reducer,Me=F(t=>t.uuid),ly={instances:{}},_i=l.createSlice({name:"issueAssociations",initialState:ly,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,ly)),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:oy,setIssueAssociations:hy,setIssueAssociation:my,updateIssueAssociation:yy,updateIssueAssociations:py,addIssueAssociation:Ay,addIssueAssociations:at,deleteIssueAssociation:fy,deleteIssueAssociations:ct}=_i.actions,Sy=t=>t.issueAssociationReducer.instances,dt=l.createSelector([Sy],t=>Object.values(t)),Ty=t=>s=>s.issueAssociationReducer.instances[t],Iy=A(l.createSelector([dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Oy=A(l.createSelector([dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({issue:n})=>e.has(n)))})),Py=A(l.createSelector([dt,(t,s)=>s],(t,s)=>f(t.filter(({issue:e})=>e===s)))),Fy=A(l.createSelector([dt,(t,s)=>s],(t,s)=>f(t.filter(({asset:e})=>e===s)))),by=A(l.createSelector([dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({asset:n})=>e.has(n)))})),_y=_i.reducer,Re=F(t=>t.uuid),gy={instances:{}},gi=l.createSlice({name:"issueAttachments",initialState:gy,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,gy)),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:My,addIssueAttachment:Ry,addIssueAttachments:Mi,setIssueAttachment:wy,setIssueAttachments:Ey,updateIssueAttachment:By,updateIssueAttachments:Vy,deleteIssueAttachment:vy,deleteIssueAttachments:Ri}=gi.actions,zy=t=>t.issueAttachmentReducer.instances,wi=l.createSelector([zy],t=>Object.values(t)),jy=A(l.createSelector([wi,(t,s)=>s],(t,s)=>f(t.filter(({issue:e})=>s===e)))),qy=t=>s=>s.issueAttachmentReducer.instances[t],Dy=A(l.createSelector([wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),$y=gi.reducer,we=F(t=>t.uuid),Cy={instances:{}},Ei=l.createSlice({name:"issueCommentAttachments",initialState:Cy,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,Cy)),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:Uy,addIssueCommentAttachment:Ly,addIssueCommentAttachments:ky,setIssueCommentAttachment:Ny,setIssueCommentAttachments:Gy,updateIssueCommentAttachment:Hy,updateIssueCommentAttachments:Wy,deleteIssueCommentAttachment:Ky,deleteIssueCommentAttachments:Yy}=Ei.actions,Zy=t=>t.issueCommentAttachmentReducer.instances,Bi=l.createSelector([Zy],t=>Object.values(t)),Jy=t=>s=>s.issueCommentAttachmentReducer.instances[t],Xy=A(l.createSelector([Bi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),VP=A(l.createSelector([Bi,(t,s)=>s],(t,s)=>f(t.filter(({issue_comment:e})=>s===e)))),Qy=Ei.reducer,Ee=F(t=>t.uuid),xy={instances:{}},Vi=l.createSlice({name:"issueComments",initialState:xy,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,xy)),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:ep,addIssueComment:tp,addIssueComments:sp,setIssueComment:ip,setIssueComments:np,updateIssueComment:ap,updateIssueComments:cp,deleteIssueComment:dp,deleteIssueComments:rp}=Vi.actions,vi=t=>t.issueCommentReducer.instances,up=t=>s=>s.issueCommentReducer.instances[t],lp=A(l.createSelector([vi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(Object.values(t).filter(({uuid:n})=>e.has(n)))})),vP=A(l.createSelector([vi,(t,s)=>s],(t,s)=>f(Object.values(t).filter(e=>e.issue===s)))),op=Vi.reducer,Be=F(t=>t.uuid),hp={instances:{}},zi=l.createSlice({name:"issues",initialState:hp,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,hp)),reducers:{initializeIssues:Be.initialize,addIssue:Be.addOne,addIssues:Be.addMany,setIssue:Be.setOne,setIssues:Be.setMany,updateIssue:Be.updateOne,updateIssues:Be.updateMany,deleteIssue:Be.deleteOne,deleteIssues:Be.deleteMany}}),{initializeIssues:mp,addIssue:yp,addIssues:ji,setIssue:pp,setIssues:Ap,updateIssue:fp,updateIssues:Sp,deleteIssue:Tp,deleteIssues:qi}=zi.actions,Ip=t=>t.issueReducer.instances,qt=l.createSelector([Ip],t=>Object.values(t)),Op=t=>s=>s.issueReducer.instances[t],Pp=A(l.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),zP=A(l.createSelector([qt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Fp=A(l.createSelector([qt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),bp=zi.reducer,Ve=F(t=>t.uuid),_p={instances:{}},Di=l.createSlice({name:"issueTypeAttachments",initialState:_p,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,_p)),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:gp,addIssueTypeAttachment:Mp,addIssueTypeAttachments:Rp,setIssueTypeAttachment:wp,setIssueTypeAttachments:Ep,updateIssueTypeAttachment:Bp,updateIssueTypeAttachments:Vp,deleteIssueTypeAttachment:vp,deleteIssueTypeAttachments:zp}=Di.actions,jp=t=>t.issueTypeAttachmentReducer.instances,$i=l.createSelector([jp],t=>Object.values(t)),qp=t=>s=>s.issueTypeAttachmentReducer.instances[t],Dp=A(l.createSelector([$i,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),jP=A(l.createSelector([$i,(t,s)=>s],(t,s)=>f(t.filter(({issue_type:e})=>s===e)))),$p=Di.reducer,ve=F(t=>t.uuid),Cp={instances:{}},Ci=l.createSlice({name:"issueTypeFieldsAttachments",initialState:Cp,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,Cp)),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:Up,addIssueTypeFieldsAttachment:Lp,addIssueTypeFieldsAttachments:kp,setIssueTypeFieldsAttachment:Np,setIssueTypeFieldsAttachments:Gp,updateIssueTypeFieldsAttachment:Hp,updateIssueTypeFieldsAttachments:Wp,deleteIssueTypeFieldsAttachment:Kp,deleteIssueTypeFieldsAttachments:Yp}=Ci.actions,Zp=t=>t.issueTypeFieldsAttachmentReducer.instances,Ui=l.createSelector([Zp],t=>Object.values(t)),qP=A(l.createSelector([Ui,(t,s)=>s],(t,s)=>f(t.filter(e=>e.fields_revision===s)))),Jp=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],Xp=A(l.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Qp=Ci.reducer,ze=F(t=>t.uuid),xp={instances:{}},Li=l.createSlice({name:"issueTypeFieldValues",initialState:xp,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,xp)),reducers:{initializeIssueTypeFieldValues:ze.initialize,addIssueTypeFieldValues:ze.addOne,addIssueTypeFieldValuesMany:ze.addMany,setIssueTypeFieldValues:ze.setOne,setIssueTypeFieldValuesMany:ze.setMany,updateIssueTypeFieldValues:ze.updateOne,updateIssueTypeFieldValuesMany:ze.updateMany,deleteIssueTypeFieldValues:ze.deleteOne,deleteIssueTypeFieldValuesMany:ze.deleteMany}}),{initializeIssueTypeFieldValues:eA,addIssueTypeFieldValues:tA,addIssueTypeFieldValuesMany:sA,setIssueTypeFieldValues:iA,setIssueTypeFieldValuesMany:nA,updateIssueTypeFieldValues:aA,updateIssueTypeFieldValuesMany:cA,deleteIssueTypeFieldValues:dA,deleteIssueTypeFieldValuesMany:rA}=Li.actions,uA=t=>t.issueTypeFieldValuesReducer.instances,Dt=l.createSelector([uA],t=>Object.values(t)),DP=A(l.createSelector([Dt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.issue===s)))),lA=t=>s=>s.issueTypeFieldValuesReducer.instances[t],oA=A(l.createSelector([Dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),hA=Li.reducer,je=F(t=>t.uuid),mA={instances:{}},ki=l.createSlice({name:"issueTypeFields",initialState:mA,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,mA)),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:yA,addIssueTypeFields:pA,addIssueTypeFieldsMany:AA,setIssueTypeFields:fA,setIssueTypeFieldsMany:SA,updateIssueTypeFields:TA,updateIssueTypeFieldsMany:IA,deleteIssueTypeFields:OA,deleteIssueTypeFieldsMany:PA}=ki.actions,FA=t=>t.issueTypeFieldsReducer.instances,pt=l.createSelector([FA],t=>Object.values(t)),$P=A(l.createSelector([pt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.issue_type===s)))),CP=A(l.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])),UP=A(l.createSelector([pt,Dt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return f(s.filter(a=>n.has(a.fields_revision)))})),bA=t=>s=>s.issueTypeFieldsReducer.instances[t],_A=A(l.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),gA=ki.reducer,qe=F(t=>t.uuid),MA={instances:{}},Ni=l.createSlice({name:"issueTypeFieldValuesAttachments",initialState:MA,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,MA)),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:RA,addIssueTypeFieldValuesAttachment:wA,addIssueTypeFieldValuesAttachments:Gi,setIssueTypeFieldValuesAttachment:EA,setIssueTypeFieldValuesAttachments:BA,updateIssueTypeFieldValuesAttachment:VA,updateIssueTypeFieldValuesAttachments:vA,deleteIssueTypeFieldValuesAttachment:zA,deleteIssueTypeFieldValuesAttachments:Hi}=Ni.actions,jA=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Wi=l.createSelector([jA],t=>Object.values(t)),qA=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],DA=A(l.createSelector([Wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),$A=A(l.createSelector([Wi,(t,s)=>s],(t,s)=>f(t.filter(e=>e.field_values===s)))),CA=Ni.reducer,De=F(t=>t.uuid),UA={instances:{}},Ki=l.createSlice({name:"issueTypeIdentifiers",initialState:UA,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,UA)),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:LA,addIssueTypeIdentifier:kA,addIssueTypeIdentifiers:NA,setIssueTypeIdentifier:GA,setIssueTypeIdentifiers:HA,updateIssueTypeIdentifier:WA,updateIssueTypeIdentifiers:KA,deleteIssueTypeIdentifier:YA,deleteIssueTypeIdentifiers:ZA}=Ki.actions,JA=t=>t.issueTypeIdentifierReducer.instances,Yi=l.createSelector([JA],t=>Object.values(t)),XA=t=>s=>s.issueTypeIdentifierReducer.instances[t],QA=A(l.createSelector([Yi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),LP=A(l.createSelector([Yi,(t,s)=>s],(t,s)=>f(t.filter(e=>e.issue_type===s)))),xA=Ki.reducer,$e=F(t=>t.uuid),ef={instances:{}},Zi=l.createSlice({name:"issueTypeIdentifierValues",initialState:ef,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,ef)),reducers:{initializeIssueTypeIdentifierValues:$e.initialize,addIssueTypeIdentifierValue:$e.addOne,addIssueTypeIdentifierValues:$e.addMany,setIssueTypeIdentifierValue:$e.setOne,setIssueTypeIdentifierValues:$e.setMany,updateIssueTypeIdentifierValue:$e.updateOne,updateIssueTypeIdentifierValues:$e.updateMany,deleteIssueTypeIdentifierValue:$e.deleteOne,deleteIssueTypeIdentifierValues:$e.deleteMany}}),{initializeIssueTypeIdentifierValues:tf,addIssueTypeIdentifierValue:sf,addIssueTypeIdentifierValues:nf,setIssueTypeIdentifierValue:af,setIssueTypeIdentifierValues:cf,updateIssueTypeIdentifierValue:df,updateIssueTypeIdentifierValues:rf,deleteIssueTypeIdentifierValue:uf,deleteIssueTypeIdentifierValues:lf}=Zi.actions,of=t=>t.issueTypeIdentifierValueReducer.instances,$t=l.createSelector([of],t=>Object.values(t)),hf=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],mf=A(l.createSelector([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),kP=A(l.createSelector([$t,(t,s)=>s],(t,s)=>f(t.filter(e=>e.issue===s)))),NP=A(l.createSelector([$t,(t,s)=>s],(t,s)=>f(t.filter(e=>e.issue_type_identifier===s)))),yf=Zi.reducer,Ce=F(t=>t.uuid),pf={instances:{}},Ji=l.createSlice({name:"issueTypes",initialState:pf,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,pf)),reducers:{initializeIssueTypes:Ce.initialize,addIssueType:Ce.addOne,addIssueTypes:Ce.addMany,setIssueType:Ce.setOne,setIssueTypes:Ce.setMany,updateIssueType:Ce.updateOne,updateIssueTypes:Ce.updateMany,deleteIssueType:Ce.deleteOne,deleteIssueTypes:Ce.deleteMany}}),{initializeIssueTypes:Af,addIssueType:ff,addIssueTypes:Sf,setIssueType:Tf,setIssueTypes:If,updateIssueType:Of,updateIssueTypes:Pf,deleteIssueType:Ff,deleteIssueTypes:bf}=Ji.actions,_f=t=>t.issueTypeReducer.instances,Xi=l.createSelector(_f,t=>Object.values(t)),gf=t=>s=>s.issueTypeReducer.instances[t],Mf=A(l.createSelector([Xi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),GP=A(l.createSelector([Xi,(t,s)=>s],(t,s)=>f(t.filter(e=>e.organization===s)))),Rf=Ji.reducer,Ue=F(t=>t.uuid),wf={instances:{}},Qi=l.createSlice({name:"issueTypeStatuses",initialState:wf,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,wf)),reducers:{initializeIssueTypeStatuses:Ue.initialize,addIssueTypeStatus:Ue.addOne,addIssueTypeStatuses:Ue.addMany,setIssueTypeStatus:Ue.setOne,setIssueTypeStatuses:Ue.setMany,updateIssueTypeStatus:Ue.updateOne,updateIssueTypeStatuses:Ue.updateMany,deleteIssueTypeStatus:Ue.deleteOne,deleteIssueTypeStatuses:Ue.deleteMany}}),{initializeIssueTypeStatuses:Ef,addIssueTypeStatus:Bf,addIssueTypeStatuses:Vf,setIssueTypeStatus:vf,setIssueTypeStatuses:zf,updateIssueTypeStatus:jf,updateIssueTypeStatuses:qf,deleteIssueTypeStatus:Df,deleteIssueTypeStatuses:$f}=Qi.actions,Cf=t=>t.issueTypeStatusReducer.instances,xi=l.createSelector([Cf],t=>f(Object.values(t).toSorted(Qn))),en=t=>s=>s.issueTypeStatusReducer.instances[t],Uf=A(l.createSelector([xi,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),HP=A(l.createSelector([xi,(t,s)=>s],(t,s)=>f(t.filter(e=>e.issue_type===s)))),Lf=Qi.reducer,Le=F(t=>t.uuid),kf={instances:{}},tn=l.createSlice({name:"issueUpdates",initialState:kf,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,kf)),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:Nf,addIssueUpdate:sn,addIssueUpdates:nn,setIssueUpdate:Gf,setIssueUpdates:Hf,updateIssueUpdate:Wf,updateIssueUpdates:Kf,deleteIssueUpdate:an,deleteIssueUpdates:cn}=tn.actions,dn=t=>t.issueUpdateReducer.instances,rn=l.createSelector([dn],t=>Object.values(t)),Yf=A(l.createSelector([dn,(t,s)=>s],(t,s)=>t[s])),Zf=A(l.createSelector([rn,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Jf=A(l.createSelector([rn,(t,s)=>s],(t,s)=>f(t.filter(e=>e.issue===s)))),Xf=tn.reducer,ke=F(t=>t.uuid),Qf={instances:{},currentUser:null},un=l.createSlice({name:"users",initialState:Qf,extraReducers:t=>t.addCase(O,s=>Object.assign(s,Qf)).addCase(_,s=>Object.assign(s,{...s,instances:[]})),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}}}),{initializeUsers:xf,setUsers:eS,setUser:tS,addUsers:sS,addUser:ln,updateUsers:iS,updateUser:nS,deleteUser:on,deleteUsers:aS,setCurrentUser:WP}=un.actions,cS=un.reducer,dS=t=>t.userReducer.currentUser,hn=t=>t.userReducer.instances,Ct=l.createSelector([hn],t=>Object.values(t)),Ut=t=>s=>s.userReducer.instances[t],rS=A(l.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),Ne=F(t=>t.uuid),uS={instances:{}},mn=l.createSlice({name:"organizationAccess",initialState:uS,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,uS)),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:lS,addOrganizationAccess:oS,addOrganizationAccesses:hS,setOrganizationAccess:mS,setOrganizationAccesses:yS,updateOrganizationAccess:pS,updateOrganizationAccesses:AS,deleteOrganizationAccess:fS,deleteOrganizationAccesses:SS}=mn.actions,TS=mn.reducer,Lt=t=>t.organizationAccessReducer.instances,IS=t=>s=>s.organizationAccessReducer.instances[t],OS=A(l.createSelector([Lt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(Object.values(t).filter(({uuid:n})=>e.has(n)))})),KP=l.createSelector([dS,Lt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.uuid))??null),PS=l.createSelector([Lt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return It(s)}),YP=A(l.createSelector([hn,PS,(t,s)=>s],(t,s,e)=>f(Object.values(t).filter(n=>{const a=s[n.uuid];return!!a&&a.organization===e})))),Ge=F(t=>t.uuid),FS={instances:{}},yn=l.createSlice({name:"organizations",initialState:FS,extraReducers:t=>t.addMatcher(l.isAnyOf(O),s=>Object.assign(s,FS)),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:bS,setOrganizations:_S,setOrganization:gS,addOrganizations:MS,addOrganization:RS,updateOrganizations:wS,updateOrganization:ES,deleteOrganization:BS,deleteOrganizations:VS}=yn.actions,vS=t=>t.organizationReducer.instances,zS=l.createSelector([vS],t=>Object.values(t)),jS=t=>s=>s.organizationReducer.instances[t],qS=A(l.createSelector([zS,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),DS=yn.reducer,$S=(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}}}}},CS={deletedRequests:[],latestRetryTime:0},pn=l.createSlice({name:"outbox",initialState:CS,extraReducers:t=>t.addCase(O,s=>Object.assign(s,CS)),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 $S(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}}}),ZP=t=>t.outboxReducer.deletedRequests,JP=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:US,markForDeletion:XP,markAsDeleted:LS,_setLatestRetryTime:kS}=pn.actions,NS=pn.reducer,He=F(t=>t.uuid),GS={instances:{}},An=l.createSlice({name:"projectAccess",initialState:GS,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,GS)),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:HS,addProjectAccess:WS,addProjectAccesses:KS,setProjectAccess:YS,setProjectAccesses:ZS,updateProjectAccess:JS,updateProjectAccesses:XS,deleteProjectAccess:QS,deleteProjectAccesses:xS}=An.actions,eT=An.reducer,fn=t=>t.projectAccessReducer.instances,At=l.createSelector(fn,t=>Object.values(t)),tT=t=>s=>s.projectAccessReducer.instances[t],sT=A(l.createSelector([At,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),QP=A(l.createSelector([fn,(t,s)=>s],(t,s)=>f(Object.values(t).filter(e=>e.project===s)))),xP=A(l.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})),eF=A(l.createSelector([Ct,At,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return f(t.filter(a=>n.has(a.uuid)))})),We=F(t=>t.uuid),iT={instances:{}},Sn=l.createSlice({name:"projectAttachments",initialState:iT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,iT)),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:nT,addProjectAttachment:aT,addProjectAttachments:cT,setProjectAttachment:dT,setProjectAttachments:rT,updateProjectAttachment:uT,updateProjectAttachments:lT,deleteProjectAttachment:oT,deleteProjectAttachments:hT}=Sn.actions,mT=t=>t.projectAttachmentReducer.instances,Tn=l.createSelector([mT],t=>Object.values(t)),yT=t=>s=>s.projectAttachmentReducer.instances[t],pT=A(l.createSelector([Tn,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),tF=A(l.createSelector([Tn,(t,s)=>s],(t,s)=>f(t.filter(({project:e})=>s===e)))),AT=Sn.reducer,Ke=F(t=>t.uuid),fT={instances:{}},In=l.createSlice({name:"projectFiles",initialState:fT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,z,_),s=>Object.assign(s,fT)),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}}),{initializeProjectFiles:ST,setProjectFile:TT,setProjectFiles:IT,addProjectFile:OT,addProjectFiles:PT,updateProjectFile:FT,updateProjectFiles:bT,deleteProjectFile:_T,deleteProjectFiles:gT}=In.actions,MT=t=>t.projectFileReducer.instances,RT=l.createSelector([MT],t=>f(Object.values(t).toSorted((s,e)=>s.z_index-e.z_index))),wT=t=>s=>s.projectFileReducer.instances[t],ET=A(l.createSelector([RT,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),BT=In.reducer,Ye=F(t=>t.uuid),VT={instances:{}},On=l.createSlice({name:"projects",initialState:VT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,VT)),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:vT,setProjects:zT,setProject:jT,addProjects:qT,addProject:DT,updateProjects:$T,updateProject:CT,deleteProject:UT,deleteProjects:LT}=On.actions,kT=On.reducer,NT=t=>t.projectReducer.instances,kt=l.createSelector([NT],t=>Object.values(t)),GT=t=>s=>s.projectReducer.instances[t],HT=A(l.createSelector([kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),sF=A(l.createSelector([kt,At,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return f(t.filter(a=>n.has(a.uuid)))})),iF=A(l.createSelector([kt,(t,s)=>s],(t,s)=>f(t.filter(e=>e.organization===s)))),nF={isRehydrated:!1},Pn=l.createSlice({name:"rehydrated",initialState:nF,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:aF}=Pn.actions,cF=t=>t.rehydratedReducer.isRehydrated,WT=Pn.reducer,Ze=F(t=>t.uuid),KT={instances:{}},Fn=l.createSlice({name:"teamMemberships",initialState:KT,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,KT)),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:YT,addTeamMembership:ZT,addTeamMemberships:JT,setTeamMembership:XT,setTeamMemberships:QT,updateTeamMembership:xT,updateTeamMemberships:eI,deleteTeamMembership:tI,deleteTeamMemberships:sI}=Fn.actions,iI=Fn.reducer,nI=t=>t.teamMembershipReducer.instances,Nt=l.createSelector([nI],t=>Object.values(t)),aI=t=>s=>s.teamMembershipReducer.instances[t],cI=A(l.createSelector([Nt,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),dF=A(l.createSelector([Nt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),rF=A(l.createSelector([Ct,Nt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return f(t.filter(a=>n.has(a.uuid)))})),Je=F(t=>t.uuid),dI={instances:{}},bn=l.createSlice({name:"teams",initialState:dI,extraReducers:t=>t.addMatcher(l.isAnyOf(O,_),s=>Object.assign(s,dI)),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:rI,addTeam:uI,addTeams:lI,setTeam:oI,setTeams:hI,updateTeam:mI,updateTeams:yI,deleteTeam:pI,deleteTeams:AI}=bn.actions,fI=t=>t.teamReducer.instances,_n=l.createSelector([fI],t=>Object.values(t)),SI=t=>s=>s.teamReducer.instances[t],TI=A(l.createSelector([_n,(t,s)=>s],(t,s)=>{const e=new Set(s);return f(t.filter(({uuid:n})=>e.has(n)))})),uF=A(l.createSelector([_n,(t,s)=>s],(t,s)=>f(t.filter(e=>e.organization===s)))),II=bn.reducer,lF={version:0},OI=l.createSlice({name:"versioning",initialState:lF,reducers:{}}),PI=OI.reducer,gn={outboxReducer:NS,fileReducer:ah,authReducer:Ro},oF=l.combineReducers(gn),FI={...gn,[ht]:PI,assetReducer:zr,assetAttachmentReducer:Ta,assetStageCompletionReducer:Hr,assetStageReducer:cu,assetTypeReducer:oo,assetTypeAttachmentReducer:Ou,issueReducer:bp,issueAttachmentReducer:$y,issueTypeReducer:Rf,issueTypeAttachmentReducer:$p,organizationReducer:DS,projectReducer:kT,projectAttachmentReducer:AT,projectAccessReducer:eT,organizationAccessReducer:TS,projectFileReducer:BT,rehydratedReducer:WT,formReducer:fm,formRevisionReducer:cm,formRevisionAttachmentReducer:Kh,formSubmissionAttachmentReducer:Vm,formSubmissionReducer:Zm,formIdentifierReducer:Th,formIdentifierValueReducer:vh,userReducer:cS,documentsReducer:xo,documentAttachmentReducer:ko,teamReducer:II,agentsReducer:ca,issueCommentReducer:op,issueCommentAttachmentReducer:Qy,issueUpdateReducer:Xf,geoImageReducer:uy,issueAssociationReducer:_y,issueTypeFieldsReducer:gA,issueTypeFieldValuesReducer:hA,issueTypeFieldsAttachmentReducer:Qp,issueTypeFieldValuesAttachmentReducer:CA,issueTypeIdentifierReducer:xA,issueTypeIdentifierValueReducer:yf,issueTypeStatusReducer:Lf,assetTypeFieldsReducer:Zu,assetTypeFieldValuesReducer:Pl,assetTypeFieldsAttachmentReducer:ju,assetTypeFieldValuesAttachmentReducer:rl,assetTypeIdentifierReducer:ql,assetTypeIdentifierValueReducer:Jl,assetTypeStatusReducer:_o,assetProcedureTypeReducer:nd,assetProcedureReducer:Nc,assetProcedureTypeFieldsReducer:nc,assetProcedureTypeFieldValuesReducer:Bc,assetProcedureTypeFieldsAttachmentReducer:Ga,assetProcedureTypeFieldValuesAttachmentReducer:Ac,assetProcedureTypeAttachmentReducer:Ea,assetProcedureStepFieldsAttachmentReducer:Od,assetProcedureStepFieldsReducer:zd,assetProcedureStepFieldValuesAttachmentReducer:Kd,assetProcedureStepFieldValuesReducer:dr,assetProcedureStepReducer:Sr,teamMembershipReducer:iI},hF=l.combineReducers(FI),bI=1e4,_I=200,Mn=[400,409,403,404,405,500],Xe=1e4,gI={};class MI{constructor(s){m(this,"client");m(this,"pageSize",bI);gI[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)}select(s){return s(this.client.store.getState())}}const RI=()=>BI.length-1,wI=t=>(t[ht]={version:RI()},t),EI=()=>wI({}),mF=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),yF=t=>s=>{var e;return s===void 0&&(s={}),((e=s[ht])==null?void 0:e.version)===RI()?s:t(s)},BI=[wI,EI,EI,mF],pF=Object.fromEntries(BI.map((t,s)=>[s,yF(t)])),AF=t=>{if(t)throw t;const s=lt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},VI=(t,s,e)=>{const n=it();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},vI=(t,s,e)=>{const n=it();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 fF(t,s){if(!s.payload)throw new Error("Received empty payload");return WI(s)}const SF={...zn,effect:fF,discard:jI,returnPromises:!0,persistCallback:AF,retry:PF,persistOptions:{storage:xI},queue:{...zn.queue,enqueue:VI,dequeue:vI,peek:(...t)=>OF(...t)}},TF=eO(pF,ht),IF=l.compose(QI.offline(SF),TF);async function zI(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=gI[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return wn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function jI(t,s,e=0){var y;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
3
2
  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=at(),c=n.getState().outboxReducer.deletedRequests,r=s.payload.uuid;function l(){n.dispatch(qS(r));const h=et();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&&wn.includes(h)){console.warn("Discarding request due to error:",t,`
5
- Action:`,s);const p=et();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=et();if(!u)throw new Error("Outbox coordinator not set");return u.registerRetry(s.payload.uuid),!1}function AF(t,s,e){var n;return(n=et())==null?void 0:n.peek()}function fF(t,s){return at().dispatch(DS(new Date().getTime())),Gn}const it="An unknown error occurred",SF=500,BI=["non_field_errors","detail"];function TF(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"?BI.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?BI.includes(a)?c.join(`
6
- `):c.map(r=>`${a}: ${r}`).join(`
3
+ 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 u(){n.dispatch(LS(d));const o=it();if(!o)throw new Error("Outbox coordinator not set");o.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 L&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),u()),c.includes(d)&&(console.debug("Discarding request due to deletion:",s.payload.url),u()),t instanceof L){const o=t.status||((y=t.response)==null?void 0:y.status);if(o||console.warn("Error has no status code:",t),o!==void 0&&Mn.includes(o)){console.warn("Discarding request due to error:",t,`
4
+ Action:`,s);const p=it();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid),t.options.discard=!0,u()}}console.debug("Registering a retry for request:",s.payload.uuid);const r=it();if(!r)throw new Error("Outbox coordinator not set");return r.registerRetry(s.payload.uuid),!1}function OF(t,s,e){var n;return(n=it())==null?void 0:n.peek()}function PF(t,s){return lt().dispatch(kS(new Date().getTime())),Ln}const rt="An unknown error occurred",FF=500,qI=["non_field_errors","detail"];function bF(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"?qI.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?qI.includes(a)?c.join(`
5
+ `):c.map(d=>`${a}: ${d}`).join(`
7
6
  `):`${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>SF?it:e}class C extends Error{constructor(e){super(it);y(this,"status");y(this,"response");y(this,"message");y(this,"options");const{response:n,innerError:a}=e;this.message=e.message??TF(n,a)??it,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function jI(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 IF extends bI{constructor(s){super(s)}}class xe extends bI{constructor(e,n){super(e);y(this,"auth");this.auth=n}}class OF extends xe{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(na(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(ca(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(aa(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(ia(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 v extends xe{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 Ze extends v{constructor(){super(...arguments);y(this,"pageSize",FI)}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.uuid)??null,u=new Date().toISOString(),d=[],h=[],p={};for(const I of e){const{modelUuid:F,file:P}=I,g=await this.client.files.getFilePayload(P);g.sha1 in p||(p[g.sha1]=g);const b=this.buildModel({file:P,file_sha1:g.sha1,submitted_at:u,created_by:l,modelUuid:F});d.push(b),h.push(this.buildPayload(b,g))}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:F})=>{this.dispatch(c(I)),this.client.files.processPresignedUrls(F)}).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 PF extends Ze{constructor(){super(...arguments);y(this,"name","Asset attachment");y(this,"url","/asset-attachments");y(this,"actions",{addOne:la,addMany:Xt,setOne:oa,setMany:ha,updateOne:ma,updateMany:ya,deleteOne:pa,deleteMany:Qt,initialize:ua});y(this,"selectors",{selectById:fa,selectByIds:Sa})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,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 FF extends Ze{constructor(){super(...arguments);y(this,"name","Asset Procedure Attachment");y(this,"url","/asset-procedure-type-attachments");y(this,"actions",{addOne:Fa,addMany:ga,setOne:ba,setMany:_a,updateOne:Ma,updateMany:Ra,deleteOne:wa,deleteMany:va,initialize:Pa});y(this,"selectors",{selectById:za,selectByIds:Ba})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,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 gF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields Attachment");y(this,"url","/asset-procedure-type-fields-attachments");y(this,"actions",{addOne:Da,addMany:$a,setOne:Ua,setMany:Ca,updateOne:La,updateMany:ka,deleteOne:Na,deleteMany:Ga,initialize:qa});y(this,"selectors",{selectById:Ka,selectByIds:Ya})}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.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const E={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(E)}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 bF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields");y(this,"url","/asset-procedure-type-fields");y(this,"actions",{addOne:Xa,addMany:Qa,setOne:xa,setMany:ec,updateOne:tc,updateMany:sc,deleteOne:ic,deleteMany:nc,initialize:Ja});y(this,"selectors",{selectById:dc,selectByIds:rc})}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.uuid)??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 Je(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}class _F extends v{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:oc,addMany:cs,setOne:hc,setMany:mc,updateOne:yc,updateMany:pc,deleteOne:Ac,deleteMany:ds,initialize:lc});y(this,"selectors",{selectById:Tc,selectByIds:Ic})}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.uuid)??null,d=Je(e,Math.min(n??e.length,k)),h=[],p=[];for(const I of d){const F={},P=[];for(const g of I){const{fieldValuesUuid:b,fieldIdentifier:E,file:B}=g,V=await this.client.files.getFilePayload(B);V.sha1 in F||(F[V.sha1]=V);const $=M({file:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,created_by:u,field_values:b,submitted_at:l,field_identifier:E});h.push($);const j={uuid:$.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:E,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}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(F=>F.field_values),blocks:I.attachments.map(F=>F.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const F=I.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(I=>{throw this.dispatch(r(h.map(F=>F.uuid))),I}),[h,A.map(I=>I.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__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class MF 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:gc,addMany:bc,setOne:_c,setMany:Mc,updateOne:Rc,updateMany:wc,deleteOne:vc,deleteMany:Ec,initialize:Fc});y(this,"selectors",{selectById:Bc,selectByIds:jc})}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.uuid)??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 F;const{values:a,payloads:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=((F=this.client.store.getState().userReducer.currentUser)==null?void 0:F.uuid)??null,p=[],A=Je(c,Math.min(n??c.length,k)),f=[];for(const P of A){const g=[];for(const b of P){const E=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(E),g.push({uuid:E.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,published_at:b.published_at,values:E.values})}f.push({submitted_at:d,values:a,field_values:g})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:g}=P,b=g.map(({asset:j})=>j),E=g.map(({fields_revision:j})=>j),B=g.map(({asset_procedure:j})=>j),V=g.map(({uuid:j})=>j),$=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(E).concat(B),blocks:V});I.push($)}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=Oc(e)(l);this.dispatch(a(e)),this.dispatch(ds(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(cs(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 RF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure");y(this,"url","/asset-procedures");y(this,"actions",{addOne:$c,addMany:os,setOne:kc,setMany:Nc,updateOne:Uc,updateMany:Cc,deleteOne:Lc,deleteMany:hs,initialize:Dc});y(this,"selectors",{selectById:Kc,selectByIds:Yc})}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.uuid)??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 wF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Type");y(this,"url","/asset-procedure-types");y(this,"actions",{addOne:Xc,addMany:Qc,setOne:id,setMany:nd,updateOne:xc,updateMany:ed,deleteOne:td,deleteMany:sd,initialize:Jc});y(this,"selectors",{selectById:dd,selectByIds:rd})}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.uuid)??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=Wc(e)(l);this.dispatch(a(e)),this.dispatch(hs(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(os(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 vF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields Attachment");y(this,"url","/asset-procedure-step-fields-attachments");y(this,"actions",{addOne:od,addMany:hd,setOne:md,setMany:yd,updateOne:pd,updateMany:Ad,deleteOne:fd,deleteMany:Sd,initialize:ld});y(this,"selectors",{selectById:Id,selectByIds:Od})}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.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const E={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(E)}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 EF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields");y(this,"url","/asset-procedure-step-fields");y(this,"actions",{addOne:bd,addMany:_d,setOne:Md,setMany:Rd,updateOne:wd,updateMany:vd,deleteOne:Ed,deleteMany:Vd,initialize:gd});y(this,"selectors",{selectById:zd,selectByIds:Bd})}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.uuid)??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 VF extends v{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:$d,addMany:Is,setOne:Ud,setMany:Cd,updateOne:Ld,updateMany:kd,deleteOne:Nd,deleteMany:Os,initialize:Dd});y(this,"selectors",{selectById:Hd,selectByIds:Wd})}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.uuid)??null,d=Je(e,Math.min(n??e.length,k)),h=[],p=[];for(const I of d){const F={},P=[];for(const g of I){const{fieldValuesUuid:b,fieldIdentifier:E,file:B}=g,V=await this.client.files.getFilePayload(B);V.sha1 in F||(F[V.sha1]=V);const $=M({file:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,created_by:u,field_values:b,submitted_at:l,field_identifier:E});h.push($);const j={uuid:$.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:E,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}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(F=>F.field_values),blocks:I.attachments.map(F=>F.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const F=I.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(I=>{throw this.dispatch(r(h.map(F=>F.uuid))),I}),[h,A.map(I=>I.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__asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class zF 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:Xd,addMany:Qd,setOne:xd,setMany:er,updateOne:tr,updateMany:sr,deleteOne:ir,deleteMany:nr,initialize:Jd});y(this,"selectors",{selectById:cr,selectByIds:dr})}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.uuid)??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 F;const{payloads:a,values:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=((F=this.client.store.getState().userReducer.currentUser)==null?void 0:F.uuid)??null,p=[],A=Je(a,Math.min(n??a.length,k)),f=[];for(const P of A){const g=[];for(const b of P){const E=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(E),g.push({uuid:E.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:E.values})}f.push({submitted_at:d,values:c,field_values:g})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:g}=P,b=g.map(({asset:j})=>j),E=g.map(({fields_revision:j})=>j),B=g.map(({asset_procedure:j})=>j),V=g.map(({uuid:j})=>j),$=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:P,blockers:b.concat(E).concat(B),blocks:V});I.push($)}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=Kd(e)(l);this.dispatch(a(e)),this.dispatch(Os(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(Is(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 BF extends v{constructor(){super(...arguments);y(this,"name","Asset Procedure Step");y(this,"url","/asset-procedure-steps");y(this,"actions",{addOne:mr,addMany:yr,setOne:or,setMany:hr,updateOne:pr,updateMany:Ar,deleteOne:fr,deleteMany:Sr,initialize:lr});y(this,"selectors",{selectById:Ir,selectByIds:Or})}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.uuid)??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=Pr(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 jF extends v{constructor(){super(...arguments);y(this,"url","/assets");y(this,"name","Asset");y(this,"actions",{addOne:br,addMany:Ms,setOne:wr,setMany:vr,updateOne:_r,updateMany:Mr,deleteOne:Rr,deleteMany:Rs,initialize:gr});y(this,"selectors",{selectById:zr,selectByIds:Br})}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.uuid)??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=Ta(e)(l),h=Ty(e)(l);this.dispatch(c(e)),this.dispatch(Qt(q(d))),this.dispatch(vt(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(wt(h)),p}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),r=Xe.v4(),l=Je(e,Math.min(n??e.length,k)).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),F=A.assets.map(({project:b})=>b),P=A.assets.map(({status:b})=>b),g=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:A,blockers:(d?[d]:[]).concat(I).concat(F).concat(P),blocks:[p].concat(f)});d=h.batchId,u.push(g)}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(pt);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=r(l)(a.getState()).toSorted(Kt);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=Je(e,Math.min(n??e.length,k)),p=[];let A=null;for(const f of h){const I=Xe.v4(),F=q(f),P=f.map(({status:b})=>b).filter(Boolean),g=this.enqueueRequest({description:O(m.PATCH,this.name,!0),method:m.PATCH,url:`${this.url}/bulk/`,payload:{payloads:f},blockers:(A?[A]:[]).concat(F).concat(P),blocks:[I].concat(F)});p.push(g),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 qF extends v{constructor(){super(...arguments);y(this,"name","Asset Stage Completion");y(this,"url","/asset-stage-completions");y(this,"actions",{addOne:$r,addMany:Ur,setOne:Cr,setMany:Lr,updateOne:kr,updateMany:Nr,deleteOne:Gr,deleteMany:Hr,initialize:Dr});y(this,"selectors",{selectById:Zr,selectByIds:Jr})}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.uuid)??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.uuid)??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 DF extends v{constructor(){super(...arguments);y(this,"name","Asset Stage");y(this,"url","/asset-stages");y(this,"actions",{addOne:tu,addMany:su,setOne:xr,setMany:eu,updateOne:iu,updateMany:nu,deleteOne:au,deleteMany:cu,initialize:Qr});y(this,"selectors",{selectById:ru,selectByIds:uu})}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.uuid)??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 $F extends Ze{constructor(){super(...arguments);y(this,"name","Asset Type Attachment");y(this,"url","/asset-type-attachments");y(this,"actions",{addOne:hu,addMany:Bs,setOne:mu,setMany:yu,updateOne:pu,updateMany:Au,deleteOne:fu,deleteMany:js,initialize:ou});y(this,"selectors",{selectById:Tu,selectByIds:Iu})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,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 UF extends v{constructor(){super(...arguments);y(this,"name","Asset Type Fields Attachment");y(this,"url","/asset-type-fields-attachments");y(this,"actions",{addOne:bu,addMany:_u,setOne:Mu,setMany:Ru,updateOne:wu,updateMany:vu,deleteOne:Eu,deleteMany:Vu,initialize:gu});y(this,"selectors",{selectById:Bu,selectByIds:ju})}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.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const E={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(E)}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 CF extends v{constructor(){super(...arguments);y(this,"name","Asset Type Fields");y(this,"url","/asset-type-fields");y(this,"actions",{addOne:Uu,addMany:Cu,setOne:Lu,setMany:ku,updateOne:Nu,updateMany:Gu,deleteOne:Hu,deleteMany:Wu,initialize:$u});y(this,"selectors",{selectById:Yu,selectByIds:Zu})}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.uuid)??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 LF extends v{constructor(){super(...arguments);y(this,"name","Asset Type Field Values Attachment");y(this,"url","/asset-type-field-values-attachments");y(this,"actions",{addOne:xu,addMany:Ls,setOne:el,setMany:tl,updateOne:sl,updateMany:il,deleteOne:nl,deleteMany:ks,initialize:Qu});y(this,"selectors",{selectById:cl,selectByIds:dl})}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.uuid)??null,d=Je(e,Math.min(n??e.length,k)),h=[],p=[];for(const I of d){const F={},P=[];for(const g of I){const{fieldValuesUuid:b,fieldIdentifier:E,file:B}=g,V=await this.client.files.getFilePayload(B);V.sha1 in F||(F[V.sha1]=V);const $=M({file:URL.createObjectURL(B),file_type:B.type,file_name:B.name,file_sha1:V.sha1,created_by:u,field_values:b,submitted_at:l,field_identifier:E});h.push($);const j={uuid:$.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:E,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(F)})}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(F=>F.field_values),blocks:I.attachments.map(F=>F.uuid)}));return Promise.all(A).then(I=>{for(const P of I)this.client.files.processPresignedUrls(P.presigned_urls);const F=I.flatMap(P=>P.attachments);this.dispatch(c(F))}).catch(I=>{throw this.dispatch(r(h.map(F=>F.uuid))),I}),[h,A.map(I=>I.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__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class kF extends v{constructor(){super(...arguments);y(this,"name","Asset Type Field Values");y(this,"url","/asset-type-field-values");y(this,"actions",{addOne:hl,addMany:ml,setOne:yl,setMany:pl,updateOne:Al,updateMany:fl,deleteOne:Sl,deleteMany:Tl,initialize:ol});y(this,"selectors",{selectById:Ol,selectByIds:Pl})}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.uuid)??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=Je(a,Math.min(n??a.length,k)),A=[];for(const F of p){const P=[];for(const g of F){const b=M({...g,values:g.values,created_by:((I=this.client.store.getState().userReducer.currentUser)==null?void 0:I.uuid)??null,submitted_at:d});h.push(b),P.push({uuid:b.uuid,asset:g.asset,fields_revision:g.fields_revision,published_at:g.published_at,values:b.values})}A.push({submitted_at:d,values:c,field_values:P})}this.dispatch(r(h));const f=[];for(const F of A){const{field_values:P}=F,g=P.map(({asset:V})=>V),b=P.map(({fields_revision:V})=>V),E=P.map(({uuid:V})=>V),B=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:F,blockers:g.concat(b),blocks:E});f.push(B)}return Promise.all(f).then(F=>{this.dispatch(l(F.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=rl(e)(l);this.dispatch(a(e)),this.dispatch(ks(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(Ls(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 NF extends v{constructor(){super(...arguments);y(this,"name","Asset Type Identifier");y(this,"url","/asset-type-identifiers");y(this,"actions",{addOne:_l,addMany:Ml,setOne:Rl,setMany:wl,updateOne:vl,updateMany:El,deleteOne:Vl,deleteMany:zl,initialize:bl});y(this,"selectors",{selectById:jl,selectByIds:ql})}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.uuid)??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 GF extends v{constructor(){super(...arguments);y(this,"name","Asset Type Identifier Value");y(this,"url","/asset-type-identifier-values");y(this,"actions",{addOne:Cl,addMany:Ll,setOne:kl,setMany:Nl,updateOne:Gl,updateMany:Hl,deleteOne:Wl,deleteMany:Kl,initialize:Ul});y(this,"selectors",{selectById:Zl,selectByIds:Jl})}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.uuid)??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 HF extends v{constructor(){super(...arguments);y(this,"name","Asset Type");y(this,"url","/asset-types");y(this,"actions",{addOne:so,addMany:io,setOne:eo,setMany:to,updateOne:no,updateMany:ao,deleteOne:co,deleteMany:ro,initialize:xl});y(this,"selectors",{selectById:lo,selectByIds:oo})}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.uuid)??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=Vr(e)(l),h=Ou(e)(l);this.dispatch(a(e)),this.dispatch(Rs(q(d))),this.dispatch(js(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(Ms(d)),this.dispatch(Bs(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 WF extends v{constructor(){super(...arguments);y(this,"name","Asset Type Status");y(this,"url","/asset-type-statuses");y(this,"actions",{addOne:po,addMany:Ao,setOne:fo,setMany:So,updateOne:To,updateMany:Io,deleteOne:Oo,deleteMany:Po,initialize:yo});y(this,"selectors",{selectById:go,selectByIds:bo})}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.uuid)??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 KF extends Ze{constructor(){super(...arguments);y(this,"name","Document Attachment");y(this,"url","/document-attachments");y(this,"actions",{addOne:Vo,addMany:zo,setOne:Bo,setMany:jo,updateOne:qo,updateMany:Do,deleteOne:$o,deleteMany:Uo,initialize:Eo});y(this,"selectors",{selectById:Lo,selectByIds:ko})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,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.uuid)??null,u=new Date().toISOString(),d=[],h=[],p={},A={};for(const F of e){const{documentUuid:P,file:g}=F,b=await this.client.files.getFilePayload(g);b.sha1 in p||(p[b.sha1]=b,A[b.sha1]=[]);const E=this.buildModel({file:g,file_sha1:b.sha1,submitted_at:u,created_by:l,modelUuid:P});d.push(E),h.push(this.buildPayload(E,b)),A[b.sha1].push(E.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(F=>F.uuid),blockers:d.map(F=>F.file_sha1)});return f.then(({attachments:F,presigned_urls:P})=>{this.dispatch(c(F));const g=this.client.files.processPresignedUrls(P);for(const[b,E]of Object.entries(g))E.then(()=>{const B=A[b];for(const V of B)this.makeReadable(V)})}).catch(()=>{this.dispatch(r(d.map(F=>F.uuid)))}),[d,f.then(({attachments:F})=>F)]}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 YF extends v{constructor(){super(...arguments);y(this,"name","Document");y(this,"url","/documents");y(this,"actions",{addOne:Wo,addMany:Ko,setOne:Yo,setMany:Zo,updateOne:Jo,updateMany:Xo,deleteOne:Qo,deleteMany:xo,initialize:Ho});y(this,"selectors",{selectById:th,selectByIds:sh})}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.uuid)??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=ih(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 ZF extends xe{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 Ut={},vn=new Set;let Ct=0,En=0,Vn=0;const JF=20;class XF extends xe{constructor(){super(...arguments);y(this,"host");y(this,"_dbPromise",xI.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 Wt(n,e),c=await this.enqueueRequest({description:"Get S3 URL",method:m.GET,url:"/authentication/files/presigned-upload-url/",queryParams:{sha1:await st(n),file_type:n.type,extension:n.name.split(".").pop(),size:n.size.toString()},blockers:[],blocks:[`s3-${a}`]});return"url"in c&&this.dispatch(ch({sha1:e,...c})),c}async addCache(e,n){if(vn.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),Ct++):(await a.put("files",e,n),En++),vn.add(n),Vn++,Vn%JF===0&&console.debug(`File cache summary: ${Ct} hits and ${En} misses, ${Ct/(Ct+En)*100}% hit rate over ${Vn} calls to addCache.`)}async removeCache(e){await(await this._dbPromise).delete("files",e),vn.delete(e)}async fetchCache(e){return(await this._dbPromise).get("files",e)}async getOrRenewUploadUrl(e){const n=this.client.store.getState();return dh(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 Wt(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(e.startsWith("blob:")){const h=await Kn(e),p=new File([h],a??n,{type:h.type});return await this.addCache(p,n),p}let l=Ut[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)})}),Ut[c]=l);let d;try{d=await l}catch(h){throw u&&h instanceof C&&delete Ut[c],h}if(u){const h=await st(d);if(h!==n){const f=`The hash of the file returned from the server (${h}) does not match the
7
+ `)}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>FF?rt:e}class L extends Error{constructor(e){super(rt);m(this,"status");m(this,"response");m(this,"message");m(this,"options");const{response:n,innerError:a}=e;this.message=e.message??bF(n,a)??rt,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function DI(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 MI{constructor(s){super(s)}}class st extends MI{constructor(e,n){super(e);m(this,"auth");this.auth=n}}class gF extends st{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:h.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(ia(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:h.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(aa(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:h.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(na(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:h.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:h.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(sa(n)),n}}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}function S(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case h.GET:return`Get ${n}`;case h.POST:return`Create ${n}`;case h.PATCH:return`Update ${n}`;case h.PUT:return`Update ${n}`;case h.DELETE:return`Delete ${n}`}}class w extends st{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:h.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:h.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:h.GET,...s},e)}}class q extends w{constructor(){super(...arguments);m(this,"pageSize",_I)}async add(e){const{addOne:n,updateOne:a,deleteOne:c}=this.actions;let d,u=null,r=null;if("file"in e){const{file:M,...b}=e;u=await this.client.files.getFilePayload(M),r=URL.createObjectURL(M),d={...b,file_sha1:u.sha1,file_type:u.file_type,file_name:M.name,file_extension:u.extension,file_url:r}}else d=e;const y=this.buildModel(d),o=this.buildPayload(y);this.dispatch(n(y));const p=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:{...o,...u?{file:u}:{}},blockers:this.getBlockers(y),blocks:this.getBlocks(y)});p.then(({instance:M})=>{this.dispatch(a(M))}).catch(M=>{throw this.dispatch(c(this.getId(y))),M}).finally(()=>{r&&URL.revokeObjectURL(r)});const T=p.then(({instance:M})=>M),E=p.then(async({instance:M,presigned_url:b})=>{try{return b&&await this.client.files.processPresignedUrl(M.file_sha1,b),M.file_sha1}catch(I){throw console.error("Upload to s3 using presigned url failed.",I),I}});return[y,T,E]}async bulkAdd(e,n){const{addMany:a,updateMany:c,deleteMany:d}=this.actions,u=new Date().toISOString(),r=[],y=new Set,o=Qe(e,Math.min(n??e.length,Xe)),p=[];for(const b of o){const I=[],g={},V=[],C=[];for(const D of b){let j;if("file"in D){const{file:Vn,...Lb}=D,ot=await this.client.files.getFilePayload(Vn);ot.sha1 in g||(g[ot.sha1]=ot);const ZI=URL.createObjectURL(Vn);y.add(ZI),j={...Lb,file_sha1:ot.sha1,file_type:ot.file_type,file_name:Vn.name,file_extension:ot.extension,file_url:ZI}}else j=D;const $=this.buildModel(j);r.push($);const G=this.buildBulkPayload($);I.push(G);const Gt=this.getBlockers($);V.push(...Gt);const Ub=this.getBlocks($);C.push(...Ub)}const v={payloads:I,submittedAt:u,files:Object.values(g),blockers:V,blocks:C};p.push(v)}this.dispatch(a(r));const T=p.map(b=>{const{submittedAt:I,files:g,payloads:V,blocks:C,blockers:v}=b;return this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:I,files:g,payloads:V},blockers:v,blocks:C})});Promise.all(T).then(b=>{const I=b.flatMap(g=>g.instances);this.dispatch(c(I))}).catch(b=>{throw this.dispatch(d(r.map(I=>this.getId(I)))),console.error(b),b}).finally(()=>{for(const b of y)URL.revokeObjectURL(b)});const E=Promise.all(T).then(b=>b.flatMap(({instances:I})=>I)),M=Promise.all(T).then(async b=>{const I=[];for(const{presigned_urls:g}of b){const V=this.client.files.processPresignedUrls(g);for(const[C,v]of Object.entries(V))try{await v,I.push(C)}catch(D){throw console.error("Upload to s3 using presigned url failed.",D),D}}return I});return[r,E,M]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(a(this.getId(d)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(d)),u}}}class MF extends q{constructor(){super(...arguments);m(this,"name","Asset attachment");m(this,"url","/asset-attachments");m(this,"actions",{addOne:ua,addMany:ts,setOne:la,setMany:oa,updateOne:ha,updateMany:ma,deleteOne:ya,deleteMany:ss,initialize:ra});m(this,"selectors",{selectById:Aa,selectByIds:fa})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset:e.asset}}buildBulkPayload(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 RF extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Attachment");m(this,"url","/asset-procedure-type-attachments");m(this,"actions",{addOne:Pa,addMany:Fa,setOne:ba,setMany:_a,updateOne:ga,updateMany:Ma,deleteOne:Ra,deleteMany:wa,initialize:Oa});m(this,"selectors",{selectById:Va,selectByIds:va})}getId(e){return e.uuid}getBlockers(e){return[e.asset_procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const{asset_procedure_type:n,file_sha1:a,file_extension:c,file_name:d,file_type:u,file_url:r}=e,y=this.select(p=>{var T;return((T=p.userReducer.currentUser)==null?void 0:T.uuid)??null}),o=new Date().toISOString();return P({file_url:r,file_sha1:a,file_extension:c,file_name:d,file_type:u,created_by:y,submitted_at:o,asset_procedure_type:n})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_procedure_type:e.asset_procedure_type}}buildBulkPayload(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 wF extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Fields Attachment");m(this,"url","/asset-procedure-type-fields-attachments");m(this,"actions",{addOne:qa,addMany:Da,setOne:$a,setMany:Ca,updateOne:Ua,updateMany:La,deleteOne:ka,deleteMany:Na,initialize:ja});m(this,"selectors",{selectById:Wa,selectByIds:Ka})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,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 EF extends w{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Fields");m(this,"url","/asset-procedure-type-fields");m(this,"actions",{addOne:Ja,addMany:Xa,setOne:Qa,setMany:xa,updateOne:ec,updateMany:tc,deleteOne:sc,deleteMany:ic,initialize:Za});m(this,"selectors",{selectById:cc,selectByIds:dc})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.asset_procedure_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(o=>{throw this.dispatch(c(r.uuid)),o}),[r,y]}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 BF extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Field Values Attachment");m(this,"url","/asset-procedure-type-field-values-attachments");m(this,"actions",{addOne:lc,addMany:ls,setOne:oc,setMany:hc,updateOne:mc,updateMany:yc,deleteOne:pc,deleteMany:os,initialize:uc});m(this,"selectors",{selectById:Sc,selectByIds:Tc})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:c}=this.selectors,d=this.select(c(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(d)),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 VF extends w{constructor(){super(...arguments);m(this,"name","Asset Procedure Type Field Values");m(this,"url","/asset-procedure-type-field-values");m(this,"actions",{addOne:Fc,addMany:bc,setOne:_c,setMany:gc,updateOne:Mc,updateMany:Rc,deleteOne:wc,deleteMany:Ec,initialize:Pc});m(this,"selectors",{selectById:vc,selectByIds:zc})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u}),y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[r.uuid]});return this.dispatch(n(r)),y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}bulkAdd(e,n){const{values:a,payloads:c}=e,{addMany:d,setMany:u,deleteMany:r}=this.actions,y=new Date().toISOString(),o=this.select(b=>{var I;return((I=b.userReducer.currentUser)==null?void 0:I.uuid)??null}),p=[],T=Qe(c,Math.min(n??c.length,Xe)),E=[];for(const b of T){const I=[];for(const g of b){const V=P({...g,values:g.values,created_by:o,submitted_at:y});p.push(V),I.push({uuid:V.uuid,asset:g.asset,fields_revision:g.fields_revision,asset_procedure:g.asset_procedure,published_at:g.published_at,values:V.values})}E.push({submitted_at:y,values:a,field_values:I})}this.dispatch(d(p));const M=[];for(const b of E){const{field_values:I}=b,g=I.map(({asset:j})=>j),V=I.map(({fields_revision:j})=>j),C=I.map(({asset_procedure:j})=>j),v=I.map(({uuid:j})=>j),D=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:b,blockers:g.concat(V).concat(C),blocks:v});M.push(D)}return Promise.all(M).then(b=>{this.dispatch(u(b.flat()))}).catch(()=>{this.dispatch(r(B(p)))}),[p,M]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected AssetProcedureTypeFieldValues with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[d.fields_revision,d.asset,d.asset_procedure],blocks:[d.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Ic(e));this.dispatch(n(e)),this.dispatch(os(B(u)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(ls(u)),r}}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 vF extends w{constructor(){super(...arguments);m(this,"name","Asset Procedure");m(this,"url","/asset-procedures");m(this,"actions",{addOne:Dc,addMany:ps,setOne:Lc,setMany:kc,updateOne:$c,updateMany:Cc,deleteOne:Uc,deleteMany:As,initialize:qc});m(this,"selectors",{selectById:Wc,selectByIds:Kc})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.asset_procedure_type,e.asset_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected asset procedure with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 zF extends w{constructor(){super(...arguments);m(this,"name","Asset Procedure Type");m(this,"url","/asset-procedure-types");m(this,"actions",{addOne:Jc,addMany:Xc,setOne:sd,setMany:id,updateOne:Qc,updateMany:xc,deleteOne:ed,deleteMany:td,initialize:Zc});m(this,"selectors",{selectById:cd,selectByIds:dd})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected asset procedure type with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected asset procedure type with uuid ${e} to exist`);const u=this.select(Hc(e));this.dispatch(n(e)),this.dispatch(As(B(u)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(ps(u)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class jF extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Fields Attachment");m(this,"url","/asset-procedure-step-fields-attachments");m(this,"actions",{addOne:ld,addMany:od,setOne:hd,setMany:md,updateOne:yd,updateMany:pd,deleteOne:Ad,deleteMany:fd,initialize:ud});m(this,"selectors",{selectById:Td,selectByIds:Id})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,field_identifier:e.field_identifier,fields_revision:e.fields_revision,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension}}buildBulkPayload(e){return{uuid:e.uuid,field_identifier:e.field_identifier,fields_revision:e.fields_revision,file_sha1:e.file_sha1,file_name:e.file_name,file_extension:e.file_extension}}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 qF extends w{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Fields");m(this,"url","/asset-procedure-step-fields");m(this,"actions",{addOne:bd,addMany:_d,setOne:gd,setMany:Md,updateOne:Rd,updateMany:wd,deleteOne:Ed,deleteMany:Bd,initialize:Fd});m(this,"selectors",{selectById:Vd,selectByIds:vd})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.asset_procedure_step],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(o=>{throw this.dispatch(c(r.uuid)),o}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(r=>{throw this.dispatch(n(c)),r}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(a(d)),u}}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 DF extends q{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Field Values Attachment");m(this,"url","/asset-procedure-step-field-values-attachments");m(this,"actions",{addOne:Dd,addMany:bs,setOne:$d,setMany:Cd,updateOne:Ud,updateMany:Ld,deleteOne:kd,deleteMany:_s,initialize:qd});m(this,"selectors",{selectById:Gd,selectByIds:Hd})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:c}=this.selectors,d=this.select(c(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(d)),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 $F extends w{constructor(){super(...arguments);m(this,"name","Asset Procedure Step Field Values");m(this,"url","/asset-procedure-step-field-values");m(this,"actions",{addOne:Jd,addMany:Xd,setOne:Qd,setMany:xd,updateOne:er,updateMany:tr,deleteOne:sr,deleteMany:ir,initialize:Zd});m(this,"selectors",{selectById:ar,selectByIds:cr})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u}),y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[r.uuid]});return this.dispatch(n(r)),y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}bulkAdd(e,n){const{payloads:a,values:c}=e,{addMany:d,setMany:u,deleteMany:r}=this.actions,y=new Date().toISOString(),o=this.select(b=>{var I;return((I=b.userReducer.currentUser)==null?void 0:I.uuid)??null}),p=[],T=Qe(a,Math.min(n??a.length,Xe)),E=[];for(const b of T){const I=[];for(const g of b){const V=P({...g,values:g.values,created_by:o,submitted_at:y});p.push(V),I.push({uuid:V.uuid,asset:g.asset,fields_revision:g.fields_revision,asset_procedure:g.asset_procedure,asset_procedure_step:g.asset_procedure_step,published_at:g.published_at,values:V.values})}E.push({submitted_at:y,values:c,field_values:I})}this.dispatch(d(p));const M=[];for(const b of E){const{field_values:I}=b,g=I.map(({asset:j})=>j),V=I.map(({fields_revision:j})=>j),C=I.map(({asset_procedure:j})=>j),v=I.map(({uuid:j})=>j),D=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:b,blockers:g.concat(V).concat(C),blocks:v});M.push(D)}return Promise.all(M).then(b=>{this.dispatch(u(b.flat()))}).catch(()=>{this.dispatch(r(B(p)))}),[p,M]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected AssetProcedureStepFieldValues with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[d.fields_revision,d.asset,d.asset_procedure],blocks:[d.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Wd(e));this.dispatch(n(e)),this.dispatch(_s(B(u)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(bs(u)),r}}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 CF extends w{constructor(){super(...arguments);m(this,"name","Asset Procedure Step");m(this,"url","/asset-procedure-steps");m(this,"actions",{addOne:hr,addMany:mr,setOne:lr,setMany:or,updateOne:yr,updateMany:pr,deleteOne:Ar,deleteMany:fr,initialize:ur});m(this,"selectors",{selectById:Tr,selectByIds:Ir})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.asset_procedure_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${c.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[c.uuid],blocks:[c.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteMany:n,addMany:a,addOne:c,deleteOne:d}=this.actions,{selectById:u}=this.selectors,r=this.select(u(e));if(!r)throw new Error(`No asset procedure step with uuid ${e} found in the store`);const y=this.select(Or(e));this.dispatch(d(e)),this.dispatch(n(B(y)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(c(r)),this.dispatch(a(y)),o}}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 UF extends w{constructor(){super(...arguments);m(this,"url","/assets");m(this,"name","Asset");m(this,"actions",{addOne:br,addMany:Bs,setOne:Rr,setMany:wr,updateOne:_r,updateMany:gr,deleteOne:Mr,deleteMany:Vs,initialize:Fr});m(this,"selectors",{selectById:Vr,selectByIds:vr})}add(e){const{addOne:n,updateOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.asset_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`No asset with uuid ${e} found in the store`);const u=this.select(Sa(e)),r=this.select(Fy(e)),y=this.select(Km(e));this.dispatch(a(e)),this.dispatch(ss(B(u))),this.dispatch(ct(B(r))),this.dispatch(tt(B(y)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(n(d)),this.dispatch(ts(u)),this.dispatch(at(r)),this.dispatch(et(y)),o}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),d=Qe(e,Math.min(n??e.length,Xe)).map(y=>{const o=y.map(p=>P(p));return{batchId:xe.v4(),payload:{submitted_at:c,assets:o}}}),u=[];let r=null;for(const y of d){const{batchId:o,payload:p}=y,T=p.assets.map(({uuid:g})=>g),E=p.assets.map(({asset_type:g})=>g),M=p.assets.map(({project:g})=>g),b=p.assets.map(({status:g})=>g),I=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:p,blockers:(r?[r]:[]).concat(E).concat(M).concat(b),blocks:[o].concat(T)});r=y.batchId,u.push(I)}return Promise.all(u).then(y=>{const o=y.flat();this.dispatch(a(o))}),u}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:c}=this.selectors,d=B(e).toSorted(Pt);if(d.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(c(d)).toSorted(Jt);if(d.length!=u.length)throw new Error(`Attempting to bulk update ${d.length-u.length} assets that dont exist in the store`);const r=[];for(let T=0;T<d.length;T++)r.push({...u[T],...e[T]});this.dispatch(a(r));const y=Qe(e,Math.min(n??e.length,Xe)),o=[];let p=null;for(const T of y){const E=xe.v4(),M=B(T),b=T.map(({status:g})=>g).filter(Boolean),I=this.enqueueRequest({description:S(h.PATCH,this.name,!0),method:h.PATCH,url:`${this.url}/bulk/`,payload:{payloads:T},blockers:(p?[p]:[]).concat(M).concat(b),blocks:[E].concat(M)});o.push(I),p=E}return Promise.all(o).then(T=>{this.dispatch(a(T.flat()))}).catch(()=>{this.dispatch(a(u))}),[r,o]}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:c}=this.selectors,d=this.select(c(e)),u=this.select(by(e)),r=this.select(Ym(e));this.dispatch(a(e)),this.dispatch(ct(B(u))),this.dispatch(tt(B(r)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(y){throw this.dispatch(n(d)),this.dispatch(at(u)),this.dispatch(et(r)),y}}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 LF extends w{constructor(){super(...arguments);m(this,"name","Asset Stage Completion");m(this,"url","/asset-stage-completions");m(this,"actions",{addOne:Dr,addMany:$r,setOne:Cr,setMany:Ur,updateOne:Lr,updateMany:kr,deleteOne:Nr,deleteMany:Gr,initialize:qr});m(this,"selectors",{selectById:Yr,selectByIds:Zr})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.asset,e.asset_stage],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),u}}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:c}=this.actions,d=new Date().toISOString(),u=this.select(T=>{var E;return((E=T.userReducer.currentUser)==null?void 0:E.uuid)??null}),r=e.map(T=>P(T)),y=r.map(T=>({...T,created_by:u,submitted_at:d})),o=y.map(({uuid:T})=>T);this.dispatch(n(y));const p=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:d,completions:r},blockers:[...e.map(T=>T.asset_procedure),...e.map(T=>T.asset_stage),...e.map(T=>T.asset)],blocks:o});return p.then(T=>{this.dispatch(a(T))}).catch(()=>{this.dispatch(c(o))}),[y,p]}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:c}=this.selectors,d=this.select(c(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(d)),u}}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 kF extends w{constructor(){super(...arguments);m(this,"name","Asset Stage");m(this,"url","/asset-stages");m(this,"actions",{addOne:eu,addMany:tu,setOne:Qr,setMany:xr,updateOne:su,updateMany:iu,deleteOne:nu,deleteMany:au,initialize:Xr});m(this,"selectors",{selectById:du,selectByIds:ru})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.asset_procedure_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`No asset stage with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 NF extends q{constructor(){super(...arguments);m(this,"name","Asset Type Attachment");m(this,"url","/asset-type-attachments");m(this,"actions",{addOne:ou,addMany:$s,setOne:hu,setMany:mu,updateOne:yu,updateMany:pu,deleteOne:Au,deleteMany:Cs,initialize:lu});m(this,"selectors",{selectById:Su,selectByIds:Tu})}getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,asset_type:e.asset_type}}buildBulkPayload(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 GF extends q{constructor(){super(...arguments);m(this,"name","Asset Type Fields Attachment");m(this,"url","/asset-type-fields-attachments");m(this,"actions",{addOne:bu,addMany:_u,setOne:gu,setMany:Mu,updateOne:Ru,updateMany:wu,deleteOne:Eu,deleteMany:Bu,initialize:Fu});m(this,"selectors",{selectById:vu,selectByIds:zu})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,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 HF extends w{constructor(){super(...arguments);m(this,"name","Asset Type Fields");m(this,"url","/asset-type-fields");m(this,"actions",{addOne:$u,addMany:Cu,setOne:Uu,setMany:Lu,updateOne:ku,updateMany:Nu,deleteOne:Gu,deleteMany:Hu,initialize:Du});m(this,"selectors",{selectById:Ku,selectByIds:Yu})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.asset_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(o=>{throw this.dispatch(c(r.uuid)),o}),[r,y]}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 WF extends q{constructor(){super(...arguments);m(this,"name","Asset Type Field Values Attachment");m(this,"url","/asset-type-field-values-attachments");m(this,"actions",{addOne:Qu,addMany:Hs,setOne:xu,setMany:el,updateOne:tl,updateMany:sl,deleteOne:il,deleteMany:Ws,initialize:Xu});m(this,"selectors",{selectById:al,selectByIds:cl})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:c}=this.selectors,d=this.select(c(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(d)),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 KF extends w{constructor(){super(...arguments);m(this,"name","Asset Type Field Values");m(this,"url","/asset-type-field-values");m(this,"actions",{addOne:ol,addMany:hl,setOne:ml,setMany:yl,updateOne:pl,updateMany:Al,deleteOne:fl,deleteMany:Sl,initialize:ll});m(this,"selectors",{selectById:Il,selectByIds:Ol})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u}),y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.asset,e.fields_revision],blocks:[r.uuid]});return this.dispatch(n(r)),y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}bulkAdd(e,n){const{payloads:a,values:c}=e,{addMany:d,setMany:u,deleteMany:r}=this.actions,y=new Date().toISOString(),o=[],p=Qe(a,Math.min(n??a.length,Xe)),T=[];for(const M of p){const b=[];for(const I of M){const g=P({...I,values:I.values,created_by:this.select(V=>{var C;return((C=V.userReducer.currentUser)==null?void 0:C.uuid)??null}),submitted_at:y});o.push(g),b.push({uuid:g.uuid,asset:I.asset,fields_revision:I.fields_revision,published_at:I.published_at,values:g.values})}T.push({submitted_at:y,values:c,field_values:b})}this.dispatch(d(o));const E=[];for(const M of T){const{field_values:b}=M,I=b.map(({asset:v})=>v),g=b.map(({fields_revision:v})=>v),V=b.map(({uuid:v})=>v),C=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:M,blockers:I.concat(g),blocks:V});E.push(C)}return Promise.all(E).then(M=>{this.dispatch(u(M.flat()))}).catch(()=>{this.dispatch(r(B(o)))}),[o,E]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[d.uuid,d.fields_revision,d.asset],blocks:[d.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(dl(e));this.dispatch(n(e)),this.dispatch(Ws(B(u)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(Hs(u)),r}}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 YF extends w{constructor(){super(...arguments);m(this,"name","Asset Type Identifier");m(this,"url","/asset-type-identifiers");m(this,"actions",{addOne:_l,addMany:gl,setOne:Ml,setMany:Rl,updateOne:wl,updateMany:El,deleteOne:Bl,deleteMany:Vl,initialize:bl});m(this,"selectors",{selectById:zl,selectByIds:jl})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.asset_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 ZF extends w{constructor(){super(...arguments);m(this,"name","Asset Type Identifier Value");m(this,"url","/asset-type-identifier-values");m(this,"actions",{addOne:Cl,addMany:Ul,setOne:Ll,setMany:kl,updateOne:Nl,updateMany:Gl,deleteOne:Hl,deleteMany:Wl,initialize:$l});m(this,"selectors",{selectById:Yl,selectByIds:Zl})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.asset,e.asset_type_identifier],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}bulkAdd(e,n){const{addMany:a,updateMany:c,deleteMany:d}=this.actions,u=new Date().toISOString(),r=this.select(M=>{var b;return((b=M.userReducer.currentUser)==null?void 0:b.uuid)??null}),y=Qe(e,Math.min(n??e.length,Xe)),o=[],p=[];for(const M of y){const b=[],I=[],g=[];for(const C of M){const v=P({...C,submitted_at:u,created_by:r});p.push(v);const D={uuid:v.uuid,asset:v.asset,asset_type_identifier:v.asset_type_identifier,value:v.value};b.push(D),I.push(v.asset),I.push(v.asset_type_identifier),g.push(v.uuid)}const V={payloads:b,submitted_at:u,blockers:I,blocks:g};o.push(V)}this.dispatch(a(p));const T=o.map(M=>{const{payloads:b,submitted_at:I,blockers:g,blocks:V}=M;return this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{submitted_at:I,payloads:b},blockers:g,blocks:V})});Promise.all(T).then(M=>{this.dispatch(c(M.flat()))}).catch(M=>{throw this.dispatch(d(B(p))),M});const E=Promise.all(T).then(M=>M.flat());return[p,E]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 JF extends w{constructor(){super(...arguments);m(this,"name","Asset Type");m(this,"url","/asset-types");m(this,"actions",{addOne:to,addMany:so,setOne:xl,setMany:eo,updateOne:io,updateMany:no,deleteOne:ao,deleteMany:co,initialize:Ql});m(this,"selectors",{selectById:uo,selectByIds:lo})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=this.select(Br(e)),r=this.select(Iu(e));this.dispatch(n(e)),this.dispatch(Vs(B(u))),this.dispatch(Cs(B(r)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(y){throw this.dispatch(a(d)),this.dispatch(Bs(u)),this.dispatch($s(r)),y}}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 w{constructor(){super(...arguments);m(this,"name","Asset Type Status");m(this,"url","/asset-type-statuses");m(this,"actions",{addOne:yo,addMany:po,setOne:Ao,setMany:fo,updateOne:So,updateMany:To,deleteOne:Io,deleteMany:Oo,initialize:mo});m(this,"selectors",{selectById:Fo,selectByIds:bo})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.asset_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 QF extends q{constructor(){super(...arguments);m(this,"name","Document Attachment");m(this,"url","/document-attachments");m(this,"actions",{addOne:Bo,addMany:Vo,setOne:vo,setMany:zo,updateOne:jo,updateMany:qo,deleteOne:Do,deleteMany:$o,initialize:Eo});m(this,"selectors",{selectById:Uo,selectByIds:Lo})}getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,document:e.document}}buildBulkPayload(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),u={};for(const{file_sha1:r,uuid:y}of a)r in u||(u[r]=[]),u[r].push(y);return d.then(r=>{const y=r.flatMap(o=>u[o]??[]);for(const o of y)this.makeReadable(o)}),[a,c,d]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:h.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 xF extends w{constructor(){super(...arguments);m(this,"name","Document");m(this,"url","/documents");m(this,"actions",{addOne:Ho,addMany:Wo,setOne:Ko,setMany:Yo,updateOne:Zo,updateMany:Jo,deleteOne:Xo,deleteMany:Qo,initialize:Go});m(this,"selectors",{selectById:eh,selectByIds:th})}add(e){const{addOne:n,deleteOne:a,updateOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:r.parent_document?[r.parent_document]:[],blocks:[r.uuid]});return y.then(o=>{this.dispatch(c(o))}).catch(()=>{this.dispatch(a(r.uuid))}),[r,y]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a,addMany:c,deleteMany:d}=this.actions,{selectById:u}=this.selectors,r=this.select(u(e));if(!r)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const y=this.select(sh(e));this.dispatch(n(e)),this.dispatch(d(B(y)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(o){throw this.dispatch(a(r)),this.dispatch(c(y)),o}}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 eb extends st{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:h.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:h.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const ft={},Rn=new Set;class tb extends st{constructor(){super(...arguments);m(this,"host");m(this,"dbPromise",tO.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 Ot(e);if(Rn.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),Rn.add(n)}async removeCache(e){await(await this.getDB()).delete("files",e),Rn.delete(e)}async fetchCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,n,a=n){const c=e.split("?")[0]??e,d=await this.fetchCache(n);if(d)return d;let u;c in ft?u=ft[c]:Wn(e)?(u=Hn(e,a),ft[c]=u):(u=new Promise(o=>{this.performRequest({method:h.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1}).then(p=>{const T=new File([p],a,{type:p.type});o(T)})}),ft[c]=u);let r;try{r=await u}catch(o){throw o instanceof L&&delete ft[c],o}const y=await Ot(r);if(y!==n){const o=`The hash of the file returned from the server (${y}) does not match the
9
8
  expected hash (${n}). This can happen if you're using a local development server and the
10
9
  isExternalUrl flag in the request details is set to true, because instead of requesting the local
11
10
  REST API, you will be requesting localhost:80 (where this app runs), resulting in a transformed blob
12
11
  (with an uuid attached) being returned. Alternatively, you may be running with
13
12
  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=Wn(d,A),!d.name)throw new Error("Failed to set file's name");await this.addCache(d,h),Ut[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 st(e),a={sha1:n,file_type:e.type,extension:e.name.split(".").pop(),size:e.size};return await this.client.files.addCache(e,n),a}}class QF extends v{constructor(){super(...arguments);y(this,"name","Form Identifier");y(this,"url","/form-identifiers");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})}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.uuid)??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 xF extends v{constructor(){super(...arguments);y(this,"name","Form Identifier Value");y(this,"url","/form-identifier-values");y(this,"actions",{addOne:bh,addMany:_h,setOne:Mh,setMany:Rh,updateOne:wh,updateMany:vh,deleteOne:Eh,deleteMany:Vh,initialize:gh});y(this,"selectors",{selectById:Bh,selectByIds:jh})}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.uuid)??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 eg extends v{constructor(){super(...arguments);y(this,"name","Form Revision Attachment");y(this,"url","/form-revision-attachments");y(this,"actions",{addOne:Uh,addMany:Ch,setOne:Lh,setMany:kh,updateOne:Nh,updateMany:Gh,deleteOne:Hh,deleteMany:Wh,initialize:$h});y(this,"selectors",{selectById:Yh,selectByIds:Zh})}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.uuid)??null,u={},d=[],h=[];for(const f of e){const{revisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,form_revision:I,submitted_at:r,field_identifier:F});d.push(b);const E={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,form_revision:I};h.push(E)}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 tg extends v{constructor(){super(...arguments);y(this,"name","Form Revision");y(this,"url","/form-revisions");y(this,"actions",{addOne:ri,addMany:ui,setOne:xh,setMany:em,updateOne:tm,updateMany:sm,deleteOne:li,deleteMany:oi,initialize:Qh});y(this,"selectors",{selectById:im,selectByIds:nm})}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.uuid)??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 sg extends v{constructor(){super(...arguments);y(this,"name","Form");y(this,"url","/forms");y(this,"actions",{addOne:um,addMany:lm,setOne:om,setMany:hm,updateOne:mm,updateMany:ym,deleteOne:pm,deleteMany:Am,initialize:rm});y(this,"selectors",{selectById:Tm,selectByIds:Im})}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.uuid)??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(ri(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(li(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=Gm(e)(l),h=am(e)(l);this.dispatch(a(e)),this.dispatch(Fi(q(d))),this.dispatch(oi(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(ui(h)),this.dispatch(Pi(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 ig extends v{constructor(){super(...arguments);y(this,"name","Form Submission Attachment");y(this,"url","/form-submission-attachments");y(this,"actions",{addOne:Fm,addMany:Ai,setOne:gm,setMany:bm,updateOne:_m,updateMany:Mm,deleteOne:Rm,deleteMany:fi,initialize:Pm});y(this,"selectors",{selectById:wm,selectByIds:vm})}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.uuid)??null,u={},d=[],h=[];for(const f of e){const{submissionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,form_submission:I,submitted_at:r,field_identifier:F});d.push(b);const E={uuid:b.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,form_submission:I};h.push(E)}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=Ii(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 ng extends v{constructor(){super(...arguments);y(this,"name","Form Submission");y(this,"url","/form-submissions");y(this,"actions",{addOne:Dm,addMany:Pi,setOne:jm,setMany:qm,updateOne:$m,updateMany:Um,deleteOne:Cm,deleteMany:Fi,initialize:Bm});y(this,"selectors",{selectById:km,selectByIds:Nm})}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.uuid)??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=Em(e)(l);this.dispatch(a(e)),this.dispatch(fi(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(Ai(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 ag extends v{constructor(){super(...arguments);y(this,"name","Geo Image");y(this,"url","/geo-images");y(this,"actions",{addOne:Jm,addMany:Xm,setOne:Ym,setMany:Zm,updateOne:Qm,updateMany:xm,deleteOne:ey,deleteMany:ty,initialize:Km});y(this,"selectors",{selectById:iy,selectByIds:ny})}async add(e){var F;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,{file:l,...u}=e,d=new Date().toISOString(),h=((F=n.getState().userReducer.currentUser)==null?void 0:F.uuid)??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.createObjectURL(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 F;const{store:a}=this.client,{addMany:c,setMany:r,deleteMany:l}=this.actions,u=new Date().toISOString(),d=((F=a.getState().userReducer.currentUser)==null?void 0:F.uuid)??null,h=[],p=[],A=[],f={};for(const P of e){const{file:g,...b}=P,E=await this.client.files.getFilePayload(g);E.sha1 in f||(f[E.sha1]=E);const B=M({...b,file_name:g.name,file_sha1:E.sha1,file_type:g.type,file:URL.createObjectURL(g),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 cg extends v{constructor(){super(...arguments);y(this,"name","Issue Association");y(this,"url","/issue-associations");y(this,"actions",{addOne:hy,addMany:wt,setOne:uy,setMany:ry,updateOne:ly,updateMany:oy,deleteOne:my,deleteMany:vt,initialize:dy});y(this,"selectors",{selectById:py,selectByIds:Ay})}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.uuid)??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 dg extends Ze{constructor(){super(...arguments);y(this,"name","Issue Attachment");y(this,"url","/issue-attachments");y(this,"actions",{addOne:Fy,addMany:wi,setOne:gy,setMany:by,updateOne:_y,updateMany:My,deleteOne:Ry,deleteMany:vi,initialize:Py});y(this,"selectors",{selectById:Ey,selectByIds:Vy})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,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 rg extends Ze{constructor(){super(...arguments);y(this,"name","Issue Comment Attachment");y(this,"url","/issue-comment-attachments");y(this,"actions",{addOne:qy,addMany:Dy,setOne:$y,setMany:Uy,updateOne:Cy,updateMany:Ly,deleteOne:ky,deleteMany:Ny,initialize:jy});y(this,"selectors",{selectById:Hy,selectByIds:Wy})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,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 ug extends v{constructor(){super(...arguments);y(this,"name","Issue Comment");y(this,"url","/issue-comments");y(this,"actions",{addOne:Jy,addMany:Xy,setOne:Qy,setMany:xy,updateOne:ep,updateMany:tp,deleteOne:sp,deleteMany:ip,initialize:Zy});y(this,"selectors",{selectById:np,selectByIds:ap})}add(e){const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=M({...e,author:n.getState().userReducer.currentUser.uuid,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 lg extends v{constructor(){super(...arguments);y(this,"name","Issue");y(this,"url","/issues");y(this,"actions",{addOne:up,addMany:Di,setOne:lp,setMany:op,updateOne:hp,updateMany:mp,deleteOne:yp,deleteMany:$i,initialize:rp});y(this,"selectors",{selectById:Ap,selectByIds:fp})}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.uuid)??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[U.TITLE,U.DESCRIPTION,U.STATUS,U.PRIORITY,U.ASSIGNED_TO,U.DUE_DATE])if(A in e&&e[A]!==r[A])switch(A){case U.PRIORITY:u[A]=e[A];break;case U.DUE_DATE:u[A]=e[A];break;case U.DESCRIPTION:u[A]=e[A];break;case U.TITLE:u[A]=e[A];break;case U.STATUS:{const f=e[A],I=sn(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 U.ASSIGNED_TO:{const f=e[A];if(f===null)u[A]=null;else{const I=jt(f)(c);if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[A]={email:I.email,uuid:I.uuid}}break}}const d=M({created_by:((p=c.userReducer.currentUser)==null?void 0:p.uuid)??null,submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(an(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(dn(d.uuid))}),[l,h]}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,l=q(e).toSorted(pt);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=r(l)(a.getState()).toSorted(Kt);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=Je(e,Math.min(n??e.length,k)),p=[];let A=null;for(const f of h){const I=Xe.v4(),F=q(f),P=f.map(({status:b})=>b).filter(Boolean),g=this.enqueueRequest({description:O(m.PATCH,this.name,!0),method:m.PATCH,url:`${this.url}/bulk/`,payload:{payloads:f},blockers:(A?[A]:[]).concat(F).concat(P),blocks:[I].concat(F)});p.push(g),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=vy(e)(l),h=Hf(e)(l),p={};for(const f of fy(e)(l))p[f.uuid]=f;for(const f of Sy(e)(l))p[f.uuid]=f;const A=Object.values(p);this.dispatch(a(e)),this.dispatch(vi(q(d))),this.dispatch(rn(q(h))),this.dispatch(vt(q(A)));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(wi(d)),this.dispatch(cn(h)),this.dispatch(wt(A)),f}}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 og extends Ze{constructor(){super(...arguments);y(this,"name","Issue Type Attachment");y(this,"url","/issue-type-attachments");y(this,"actions",{addOne:Pp,addMany:Fp,setOne:gp,setMany:bp,updateOne:_p,updateMany:Mp,deleteOne:Rp,deleteMany:wp,initialize:Op});y(this,"selectors",{selectById:Ep,selectByIds:Vp})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,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 hg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Fields Attachment");y(this,"url","/issue-type-fields-attachments");y(this,"actions",{addOne:qp,addMany:Dp,setOne:$p,setMany:Up,updateOne:Cp,updateMany:Lp,deleteOne:kp,deleteMany:Np,initialize:jp});y(this,"selectors",{selectById:Hp,selectByIds:Wp})}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.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,fields_revision:I,submitted_at:r,field_identifier:F});d.push(b);const E={uuid:b.uuid,file_name:P.name,file_extension:g.extension,field_identifier:F,file_sha1:g.sha1,fields_revision:I};h.push(E)}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 mg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Fields");y(this,"url","/issue-type-fields");y(this,"actions",{addOne:lA,addMany:oA,setOne:hA,setMany:mA,updateOne:yA,updateMany:pA,deleteOne:AA,deleteMany:fA,initialize:uA});y(this,"selectors",{selectById:TA,selectByIds:IA})}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.uuid)??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 yg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Field Values Attachment");y(this,"url","/issue-type-field-values-attachments");y(this,"actions",{addOne:gA,addMany:Wi,setOne:bA,setMany:_A,updateOne:MA,updateMany:RA,deleteOne:wA,deleteMany:Ki,initialize:FA});y(this,"selectors",{selectById:EA,selectByIds:VA})}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.uuid)??null,u={},d=[],h=[];for(const f of e){const{fieldValuesUuid:I,fieldIdentifier:F,file:P}=f,g=await this.client.files.getFilePayload(P);g.sha1 in u||(u[g.sha1]=g);const b=M({file:URL.createObjectURL(P),file_type:P.type,file_name:P.name,file_sha1:g.sha1,created_by:l,field_values:I,submitted_at:r,field_identifier:F});d.push(b);const E={uuid:b.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,field_values:I};h.push(E)}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 pg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Field Values");y(this,"url","/issue-type-field-values");y(this,"actions",{addOne:Jp,addMany:Xp,setOne:Qp,setMany:xp,updateOne:eA,updateMany:tA,deleteOne:sA,deleteMany:iA,initialize:Zp});y(this,"selectors",{selectById:aA,selectByIds:cA})}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.uuid)??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=zA(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(Wi(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 Ag extends v{constructor(){super(...arguments);y(this,"name","Issue Type Identifier");y(this,"url","/issue-type-identifiers");y(this,"actions",{addOne:DA,addMany:$A,setOne:UA,setMany:CA,updateOne:LA,updateMany:kA,deleteOne:NA,deleteMany:GA,initialize:qA});y(this,"selectors",{selectById:WA,selectByIds:KA})}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.uuid)??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 fg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Identifier Value");y(this,"url","/issue-type-identifier-values");y(this,"actions",{addOne:XA,addMany:QA,setOne:xA,setMany:ef,updateOne:tf,updateMany:sf,deleteOne:nf,deleteMany:af,initialize:JA});y(this,"selectors",{selectById:df,selectByIds:rf})}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.uuid)??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 Sg extends v{constructor(){super(...arguments);y(this,"name","Issue Type");y(this,"url","/issue-types");y(this,"actions",{addOne:hf,addMany:mf,setOne:yf,setMany:pf,updateOne:Af,updateMany:ff,deleteOne:Sf,deleteMany:Tf,initialize:of});y(this,"selectors",{selectById:Of,selectByIds:Pf})}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.uuid)??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=Sp(e)(l);this.dispatch(a(e)),this.dispatch($i(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(Di(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 Tg extends v{constructor(){super(...arguments);y(this,"name","Issue Type Status");y(this,"url","/issue-type-statuses");y(this,"actions",{addOne:_f,addMany:Mf,setOne:Rf,setMany:wf,updateOne:vf,updateMany:Ef,deleteOne:Vf,deleteMany:zf,initialize:bf});y(this,"selectors",{selectById:sn,selectByIds:jf})}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.uuid)??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 Ig extends v{constructor(){super(...arguments);y(this,"name","Issue Update");y(this,"url","/issue-updates");y(this,"actions",{addOne:an,addMany:cn,setOne:Uf,setMany:Cf,updateOne:Lf,updateMany:kf,deleteOne:dn,deleteMany:rn,initialize:$f});y(this,"selectors",{selectById:Nf,selectByIds:Gf})}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 Og=1800;function Pg(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 Fg extends IF{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(Ro(!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=eO(e).exp??n}catch{a=n}return a-n<Og}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??it).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(Pg(a))})}}class ht extends xe{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 gg extends ht{constructor(){super(...arguments);y(this,"name","Organization Access");y(this,"url","/organization-accesses");y(this,"actions",{addOne:cS,addMany:dS,setOne:rS,setMany:uS,updateOne:lS,updateMany:oS,deleteOne:hS,deleteMany:mS,initialize:aS});y(this,"selectors",{selectById:pS,selectByIds:AS})}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=jt(u.user)(l);this.dispatch(a(u.uuid)),this.dispatch(mn(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(hn(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 bg extends ht{constructor(){super(...arguments);y(this,"name","Organization");y(this,"url","/organizations");y(this,"actions",{addOne:FS,addMany:PS,setOne:OS,setMany:IS,updateOne:bS,updateMany:gS,deleteOne:_S,deleteMany:MS,initialize:TS});y(this,"selectors",{selectById:vS,selectByIds:ES})}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 _g extends v{constructor(){super(...arguments);y(this,"name","Project Access");y(this,"url","/project-accesses");y(this,"actions",{addOne:LS,addMany:kS,setOne:NS,setMany:GS,updateOne:HS,updateMany:WS,deleteOne:KS,deleteMany:YS,initialize:CS});y(this,"selectors",{selectById:JS,selectByIds:XS})}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.uuid)??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.uuid)??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 Mg extends Ze{constructor(){super(...arguments);y(this,"name","Project Attachment");y(this,"url","/project-attachments");y(this,"actions",{addOne:eT,addMany:tT,setOne:sT,setMany:iT,updateOne:nT,updateMany:aT,deleteOne:cT,deleteMany:dT,initialize:xS});y(this,"selectors",{selectById:uT,selectByIds:lT})}getId(e){return e.uuid}buildModel(e){return M({file:URL.createObjectURL(e.file),file_sha1:e.file_sha1,created_by:e.created_by,file_name:e.file.name,file_type:e.file.type,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 Rg extends v{constructor(){super(...arguments);y(this,"name","Project File");y(this,"url","/project-files");y(this,"actions",{addOne:AT,addMany:fT,setOne:yT,setMany:pT,updateOne:ST,updateMany:TT,deleteOne:IT,deleteMany:OT,initialize:mT});y(this,"selectors",{selectById:MT,selectByIds:RT})}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;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=="string"&&!r.file.startsWith("blob:")){const h={...r};delete h.file,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(gT),this.dispatch(FT(null)),this.dispatch(PT(!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 wg extends ht{constructor(){super(...arguments);y(this,"name","Project");y(this,"url","/projects");y(this,"actions",{addOne:jT,addMany:BT,setOne:zT,setMany:VT,updateOne:DT,updateMany:qT,deleteOne:$T,deleteMany:UT,initialize:ET});y(this,"selectors",{selectById:kT,selectByIds:NT})}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 vg extends v{constructor(){super(...arguments);y(this,"name","Team Membership");y(this,"url","/team-memberships");y(this,"actions",{addOne:KT,addMany:YT,setOne:ZT,setMany:JT,updateOne:XT,updateMany:QT,deleteOne:xT,deleteMany:eI,initialize:WT});y(this,"selectors",{selectById:iI,selectByIds:nI})}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.uuid)??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.uuid)??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 Eg extends v{constructor(){super(...arguments);y(this,"name","Team");y(this,"url","/teams");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:AI,selectByIds:fI})}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.uuid)??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 Vg extends ht{constructor(){super(...arguments);y(this,"name","User");y(this,"url","/user");y(this,"actions",{addOne:hn,addMany:Xf,setOne:Jf,setMany:Zf,updateOne:xf,updateMany:Qf,deleteOne:mn,deleteMany:eS,initialize:Yf});y(this,"selectors",{selectById:jt,selectByIds:iS})}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 zn(t,s,e,n,a){const c=n instanceof xe;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:F}={...r,...s};let P=s.url;const g=A?await e.files.fetchCache(A):void 0;if(A&&!g)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(!g)throw new Error(`No file for file ${A}`);const Qe=l.fields["x-amz-checksum-sha1"];if(!Qe)throw new Error(`No checksum for file ${A}`);return j.set("x-amz-checksum-sha1",Qe).field({...u,...l.fields}).attach("file",g)}return j.send(u)},B={[m.GET]:()=>F?tt.get(P.toString()).responseType("blob"):tt.get(P.toString()),[m.POST]:()=>{const j=tt.post(P.toString());return b(j)},[m.PATCH]:()=>{const j=tt.patch(P.toString());return b(j)},[m.PUT]:()=>{const j=tt.put(P.toString());return b(j)},[m.DELETE]:()=>{const j=tt.delete(P.toString());return b(j)}}[h];let V=B();const $=()=>{console.debug("aborting request:",s.url),V.abort()};if(a==null||a.addEventListener("abort",$),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 Qe=jI(j),KI=Qe==null?void 0:Qe.status;if(c&&KI===401)return await n.auth.handleUnauthorized(V,Qe),V.query(p);throw new C({response:Qe,innerError:j,discard:wn.includes(KI)})}finally{a==null||a.removeEventListener("abort",$)}}class zg{constructor(s){y(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new kt,r={...e,uuid:e.uuid??Xe.v4()};return zn(s,r,this,n,a).then(l=>{c.resolve(l.body)}).catch(l=>{l instanceof Error?c.reject(l):c.reject(new Error((l??it).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 kt,c={...s,BASE_URL:e,serviceName:n},r=this.store.dispatch(jS(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 nt{constructor(){y(this,"graph");y(this,"requestAttemptCounter");this.graph=new tO.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new nt;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))&&nt._addDependency(a.payload.uuid,r.payload.uuid,e.graph)}}return e}_addDependency(s,e){nt._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 qI;function DI(t){qI=t}function at(){return qI}let $I;function UI(t){$I=t}function CI(){return $I}let Bn=null;function et(){const t=at();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(Bn)return Bn;const s=t.getState().offline.outbox,e=nt._fromOutbox(s);return Bn=e,e}const Bg=(t,s)=>{const e=new s(t);return UI(e),DI(t),e};class jg{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 jn{constructor(){y(this,"next");this.next=null}then(s){return new jg(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!at())throw new Error("Client store not set");const n=CI();if(!n)throw new Error("Client SDK not set");return VI(s,n)}}}class LI extends jn{async run(s){return super.run(s)}}class kI extends jn{async run(s){return super.run(s)}}const NI=new LI().then(new kI).compile();function GI(t){var s;return(s=NI[0])==null?void 0:s.run(t)}var HI=(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))(HI||{});i.ALL_MIDDLEWARE=NI,i.APIError=C,i.ATTACHMENT_MODEL_DEFAULT_PAGE_SIZE=FI,i.AgentService=OF,i.AssetAttachmentService=PF,i.AssetProcedureService=RF,i.AssetProcedureStepFieldValuesAttachmentService=VF,i.AssetProcedureStepFieldValuesService=zF,i.AssetProcedureStepFieldsAttachmentService=vF,i.AssetProcedureStepFieldsService=EF,i.AssetProcedureStepService=BF,i.AssetProcedureTypeAttachmentService=FF,i.AssetProcedureTypeFieldValuesAttachmentService=_F,i.AssetProcedureTypeFieldValuesService=MF,i.AssetProcedureTypeFieldsAttachmentService=gF,i.AssetProcedureTypeFieldsService=bF,i.AssetProcedureTypeService=wF,i.AssetService=jF,i.AssetStageCompletionService=qF,i.AssetStageService=DF,i.AssetStatusType=Ln,i.AssetTypeAttachmentService=$F,i.AssetTypeFieldValuesAttachmentService=LF,i.AssetTypeFieldValuesService=kF,i.AssetTypeFieldsAttachmentService=UF,i.AssetTypeFieldsService=CF,i.AssetTypeIdentifierService=NF,i.AssetTypeIdentifierValueService=GF,i.AssetTypeService=HF,i.AssetTypeStatusService=WF,i.AttachmentModel=kn,i.BaseApiService=xe,i.BaseModelApiService=ht,i.BaseOfflineAttachmentModelService=Ze,i.BaseOfflineModelApiService=v,i.BaseSDK=zg,i.COMMON_AUTO_FIELDS=Zn,i.DEFAULT_ISSUE_PRIORITY=sO,i.DEFAULT_PAGE_SIZE=PI,i.DISCARD_HTTP_STATUSES=wn,i.DeferredPromise=kt,i.DocumentAttachmentService=KF,i.DocumentService=YF,i.EMPTY_ARRAY=$n,i.EMPTY_OBJECT=Un,i.EmailVerificationService=ZF,i.FileService=XF,i.FormIdentifierService=QF,i.FormIdentifierValueService=xF,i.FormRevisionAttachmentService=eg,i.FormRevisionService=tg,i.FormService=sg,i.FormSubmissionAttachmentService=ig,i.FormSubmissionService=ng,i.GeoImageService=ag,i.HttpMethod=m,i.IssueAssociationService=cg,i.IssueAttachmentService=dg,i.IssueCommentAttachmentService=rg,i.IssueCommentService=ug,i.IssuePriority=Lt,i.IssueService=lg,i.IssueStatusType=Nn,i.IssueTypeAttachmentService=og,i.IssueTypeFieldValuesAttachmentService=yg,i.IssueTypeFieldValuesService=pg,i.IssueTypeFieldsAttachmentService=hg,i.IssueTypeFieldsService=mg,i.IssueTypeIdentifierService=Ag,i.IssueTypeIdentifierValueService=fg,i.IssueTypeService=Sg,i.IssueTypeStatusService=Tg,i.IssueUpdateChange=U,i.IssueUpdateService=Ig,i.JWTService=Fg,i.MAX_SERVICE_BATCH_SIZE=k,i.OUTBOX_RETRY_DELAY=Gn,i.OfflineAnalyticsMiddleware=LI,i.OfflineMiddleware=jn,i.OrganizationAccessLevel=Cn,i.OrganizationAccessService=gg,i.OrganizationService=bg,i.OutboxCoordinator=nt,i.ProjectAccessService=_g,i.ProjectAttachmentService=Mg,i.ProjectFileService=Rg,i.ProjectService=wg,i.RESET_ORGANIZATION_STATE=w,i.RESET_PROJECT_STATE=D,i.RESET_STATE=_,i.RateLimitingMiddleware=kI,i.SelectorBuilder=_O,i.TeamMembershipService=vg,i.TeamService=Eg,i.UNKNOWN_ERROR_MESSAGE=it,i.UserService=Vg,i.VERSION_REDUCER_KEY=ct,i.VerificationCodeType=HI,i._setLatestRetryTime=DS,i.addAsset=br,i.addAssetAttachment=la,i.addAssetAttachments=Xt,i.addAssetProcedure=$c,i.addAssetProcedureStep=mr,i.addAssetProcedureStepFieldValues=Xd,i.addAssetProcedureStepFieldValuesAttachment=$d,i.addAssetProcedureStepFieldValuesAttachments=Is,i.addAssetProcedureStepFieldValuesMany=Qd,i.addAssetProcedureStepFields=bd,i.addAssetProcedureStepFieldsAttachment=od,i.addAssetProcedureStepFieldsAttachments=hd,i.addAssetProcedureStepFieldsMany=_d,i.addAssetProcedureSteps=yr,i.addAssetProcedureType=Xc,i.addAssetProcedureTypeAttachment=Fa,i.addAssetProcedureTypeAttachments=ga,i.addAssetProcedureTypeFieldValues=gc,i.addAssetProcedureTypeFieldValuesAttachment=oc,i.addAssetProcedureTypeFieldValuesAttachments=cs,i.addAssetProcedureTypeFieldValuesMany=bc,i.addAssetProcedureTypeFields=Xa,i.addAssetProcedureTypeFieldsAttachment=Da,i.addAssetProcedureTypeFieldsAttachments=$a,i.addAssetProcedureTypeFieldsMany=Qa,i.addAssetProcedureTypes=Qc,i.addAssetProcedures=os,i.addAssetStage=tu,i.addAssetStageCompletion=$r,i.addAssetStageCompletions=Ur,i.addAssetStages=su,i.addAssetType=so,i.addAssetTypeAttachment=hu,i.addAssetTypeAttachments=Bs,i.addAssetTypeFieldValues=hl,i.addAssetTypeFieldValuesAttachment=xu,i.addAssetTypeFieldValuesAttachments=Ls,i.addAssetTypeFieldValuesMany=ml,i.addAssetTypeFields=Uu,i.addAssetTypeFieldsAttachment=bu,i.addAssetTypeFieldsAttachments=_u,i.addAssetTypeFieldsMany=Cu,i.addAssetTypeIdentifier=_l,i.addAssetTypeIdentifierValue=Cl,i.addAssetTypeIdentifierValues=Ll,i.addAssetTypeIdentifiers=Ml,i.addAssetTypeStatus=po,i.addAssetTypeStatuses=Ao,i.addAssetTypes=io,i.addAssets=Ms,i.addConversation=na,i.addConversations=MO,i.addDocument=Wo,i.addDocumentAttachment=Vo,i.addDocumentAttachments=zo,i.addDocuments=Ko,i.addForm=um,i.addFormIdentifier=oh,i.addFormIdentifierValue=bh,i.addFormIdentifierValues=_h,i.addFormIdentifiers=hh,i.addFormRevision=ri,i.addFormRevisionAttachment=Uh,i.addFormRevisionAttachments=Ch,i.addFormRevisions=ui,i.addFormSubmission=Dm,i.addFormSubmissionAttachment=Fm,i.addFormSubmissionAttachments=Ai,i.addFormSubmissions=Pi,i.addForms=lm,i.addGeoImage=Jm,i.addGeoImages=Xm,i.addIssue=up,i.addIssueAssociation=hy,i.addIssueAssociations=wt,i.addIssueAttachment=Fy,i.addIssueAttachments=wi,i.addIssueComment=Jy,i.addIssueCommentAttachment=qy,i.addIssueCommentAttachments=Dy,i.addIssueComments=Xy,i.addIssueType=hf,i.addIssueTypeAttachment=Pp,i.addIssueTypeAttachments=Fp,i.addIssueTypeFieldValues=Jp,i.addIssueTypeFieldValuesAttachment=gA,i.addIssueTypeFieldValuesAttachments=Wi,i.addIssueTypeFieldValuesMany=Xp,i.addIssueTypeFields=lA,i.addIssueTypeFieldsAttachment=qp,i.addIssueTypeFieldsAttachments=Dp,i.addIssueTypeFieldsMany=oA,i.addIssueTypeIdentifier=DA,i.addIssueTypeIdentifierValue=XA,i.addIssueTypeIdentifierValues=QA,i.addIssueTypeIdentifiers=$A,i.addIssueTypeStatus=_f,i.addIssueTypeStatuses=Mf,i.addIssueTypes=mf,i.addIssueUpdate=an,i.addIssueUpdates=cn,i.addIssues=Di,i.addOrganization=FS,i.addOrganizationAccess=cS,i.addOrganizationAccesses=dS,i.addOrganizations=PS,i.addProject=jT,i.addProjectAccess=LS,i.addProjectAccesses=kS,i.addProjectAttachment=eT,i.addProjectAttachments=tT,i.addProjectFile=AT,i.addProjectFiles=fT,i.addProjects=BT,i.addTeam=dI,i.addTeamMembership=KT,i.addTeamMemberships=YT,i.addTeams=rI,i.addUser=hn,i.addUsers=Xf,i.agentsReducer=da,i.agentsSlice=Yt,i.areArraysEqual=cO,i.assetAttachmentReducer=Ia,i.assetAttachmentSlice=Jt,i.assetProcedureReducer=Gc,i.assetProcedureSlice=ls,i.assetProcedureStepFieldValuesAttachmentReducer=Yd,i.assetProcedureStepFieldValuesAttachmentSlice=Ts,i.assetProcedureStepFieldValuesReducer=rr,i.assetProcedureStepFieldValuesSlice=Fs,i.assetProcedureStepFieldsAttachmentReducer=Pd,i.assetProcedureStepFieldsAttachmentSlice=ps,i.assetProcedureStepFieldsReducer=jd,i.assetProcedureStepFieldsSlice=fs,i.assetProcedureStepReducer=Tr,i.assetProcedureStepSlice=gs,i.assetProcedureTypeAttachmentReducer=Ea,i.assetProcedureTypeAttachmentSlice=es,i.assetProcedureTypeFieldValuesAttachmentReducer=fc,i.assetProcedureTypeFieldValuesAttachmentSlice=as,i.assetProcedureTypeFieldValuesReducer=Vc,i.assetProcedureTypeFieldValuesSlice=us,i.assetProcedureTypeFieldsAttachmentReducer=Ha,i.assetProcedureTypeFieldsAttachmentSlice=ss,i.assetProcedureTypeFieldsReducer=ac,i.assetProcedureTypeFieldsSlice=ns,i.assetProcedureTypeReducer=ad,i.assetProcedureTypeSlice=ms,i.assetReducer=jr,i.assetSlice=_s,i.assetStageCompletionReducer=Wr,i.assetStageCompletionSlice=ws,i.assetStageReducer=du,i.assetStageSlice=vs,i.assetTypeAttachmentReducer=Pu,i.assetTypeAttachmentSlice=zs,i.assetTypeFieldValuesAttachmentReducer=ul,i.assetTypeFieldValuesAttachmentSlice=Cs,i.assetTypeFieldValuesReducer=Fl,i.assetTypeFieldValuesSlice=Gs,i.assetTypeFieldsAttachmentReducer=qu,i.assetTypeFieldsAttachmentSlice=Ds,i.assetTypeFieldsReducer=Ju,i.assetTypeFieldsSlice=Us,i.assetTypeIdentifierReducer=Dl,i.assetTypeIdentifierSlice=Hs,i.assetTypeIdentifierValueReducer=Xl,i.assetTypeIdentifierValueSlice=Ks,i.assetTypeReducer=ho,i.assetTypeSlice=Ys,i.assetTypeStatusReducer=_o,i.assetTypeStatusSlice=Js,i.assetTypeStatusSortFn=Qn,i.authReducer=wo,i.authSlice=gt,i.baseReducer=cF,i.baseReducers=Rn,i.blobToBase64=pO,i.clearTokens=oP,i.constructUploadedFilePayloads=yO,i.createModelAdapter=R,i.createOfflineAction=zS,i.createPayload=z,i.createSelectionAdapter=iO,i.deleteAsset=Rr,i.deleteAssetAttachment=pa,i.deleteAssetAttachments=Qt,i.deleteAssetProcedure=Lc,i.deleteAssetProcedureStep=fr,i.deleteAssetProcedureStepFieldValues=ir,i.deleteAssetProcedureStepFieldValuesAttachment=Nd,i.deleteAssetProcedureStepFieldValuesAttachments=Os,i.deleteAssetProcedureStepFieldValuesMany=nr,i.deleteAssetProcedureStepFields=Ed,i.deleteAssetProcedureStepFieldsAttachment=fd,i.deleteAssetProcedureStepFieldsAttachments=Sd,i.deleteAssetProcedureStepFieldsMany=Vd,i.deleteAssetProcedureSteps=Sr,i.deleteAssetProcedureType=td,i.deleteAssetProcedureTypeAttachment=wa,i.deleteAssetProcedureTypeAttachments=va,i.deleteAssetProcedureTypeFieldValues=vc,i.deleteAssetProcedureTypeFieldValuesAttachment=Ac,i.deleteAssetProcedureTypeFieldValuesAttachments=ds,i.deleteAssetProcedureTypeFieldValuesMany=Ec,i.deleteAssetProcedureTypeFields=ic,i.deleteAssetProcedureTypeFieldsAttachment=Na,i.deleteAssetProcedureTypeFieldsAttachments=Ga,i.deleteAssetProcedureTypeFieldsMany=nc,i.deleteAssetProcedureTypes=sd,i.deleteAssetProcedures=hs,i.deleteAssetStage=au,i.deleteAssetStageCompletion=Gr,i.deleteAssetStageCompletions=Hr,i.deleteAssetStages=cu,i.deleteAssetType=co,i.deleteAssetTypeAttachment=fu,i.deleteAssetTypeAttachments=js,i.deleteAssetTypeFieldValues=Sl,i.deleteAssetTypeFieldValuesAttachment=nl,i.deleteAssetTypeFieldValuesAttachments=ks,i.deleteAssetTypeFieldValuesMany=Tl,i.deleteAssetTypeFields=Hu,i.deleteAssetTypeFieldsAttachment=Eu,i.deleteAssetTypeFieldsAttachments=Vu,i.deleteAssetTypeFieldsMany=Wu,i.deleteAssetTypeIdentifier=Vl,i.deleteAssetTypeIdentifierValue=Wl,i.deleteAssetTypeIdentifierValues=Kl,i.deleteAssetTypeIdentifiers=zl,i.deleteAssetTypeStatus=Oo,i.deleteAssetTypeStatuses=Po,i.deleteAssetTypes=ro,i.deleteAssets=Rs,i.deleteConversation=vO,i.deleteConversations=EO,i.deleteDocument=Qo,i.deleteDocumentAttachment=$o,i.deleteDocumentAttachments=Uo,i.deleteDocuments=xo,i.deleteForm=pm,i.deleteFormIdentifier=fh,i.deleteFormIdentifierValue=Eh,i.deleteFormIdentifierValues=Vh,i.deleteFormIdentifiers=Sh,i.deleteFormRevision=li,i.deleteFormRevisionAttachment=Hh,i.deleteFormRevisionAttachments=Wh,i.deleteFormRevisions=oi,i.deleteFormSubmission=Cm,i.deleteFormSubmissionAttachment=Rm,i.deleteFormSubmissionAttachments=fi,i.deleteFormSubmissions=Fi,i.deleteForms=Am,i.deleteGeoImage=ey,i.deleteGeoImages=ty,i.deleteIssue=yp,i.deleteIssueAssociation=my,i.deleteIssueAssociations=vt,i.deleteIssueAttachment=Ry,i.deleteIssueAttachments=vi,i.deleteIssueComment=sp,i.deleteIssueCommentAttachment=ky,i.deleteIssueCommentAttachments=Ny,i.deleteIssueComments=ip,i.deleteIssueType=Sf,i.deleteIssueTypeAttachment=Rp,i.deleteIssueTypeAttachments=wp,i.deleteIssueTypeFieldValues=sA,i.deleteIssueTypeFieldValuesAttachment=wA,i.deleteIssueTypeFieldValuesAttachments=Ki,i.deleteIssueTypeFieldValuesMany=iA,i.deleteIssueTypeFields=AA,i.deleteIssueTypeFieldsAttachment=kp,i.deleteIssueTypeFieldsAttachments=Np,i.deleteIssueTypeFieldsMany=fA,i.deleteIssueTypeIdentifier=NA,i.deleteIssueTypeIdentifierValue=nf,i.deleteIssueTypeIdentifierValues=af,i.deleteIssueTypeIdentifiers=GA,i.deleteIssueTypeStatus=Vf,i.deleteIssueTypeStatuses=zf,i.deleteIssueTypes=Tf,i.deleteIssueUpdate=dn,i.deleteIssueUpdates=rn,i.deleteIssues=$i,i.deleteOrganization=_S,i.deleteOrganizationAccess=hS,i.deleteOrganizationAccesses=mS,i.deleteOrganizations=MS,i.deleteProject=$T,i.deleteProjectAccess=KS,i.deleteProjectAccesses=YS,i.deleteProjectAttachment=cT,i.deleteProjectAttachments=dT,i.deleteProjectFile=IT,i.deleteProjectFiles=OT,i.deleteProjects=UT,i.deleteTeam=mI,i.deleteTeamMembership=xT,i.deleteTeamMemberships=eI,i.deleteTeams=yI,i.deleteUser=mn,i.deleteUsers=eS,i.dequeue=EI,i.discard=zI,i.documentAttachmentReducer=No,i.documentAttachmentSlice=Qs,i.documentSlice=ei,i.documentsReducer=eh,i.downloadFile=AO,i.downloadInMemoryFile=mO,i.emailRegex=FO,i.enqueue=vI,i.enqueueRequest=jS,i.extractResponseFromError=jI,i.fallbackToEmptyArray=T,i.fallbackToEmptyObject=yt,i.fileReducer=rh,i.fileSlice=si,i.fileToBlob=Kn,i.formIdentifierReducer=Ph,i.formIdentifierSlice=ii,i.formIdentifierValueReducer=qh,i.formIdentifierValueSlice=ai,i.formReducer=fm,i.formRevisionAttachmentReducer=Jh,i.formRevisionAttachmentSlice=ci,i.formRevisionReducer=cm,i.formRevisionsSlice=di,i.formSlice=mi,i.formSubmissionAttachmentReducer=Vm,i.formSubmissionAttachmentSlice=pi,i.formSubmissionReducer=Hm,i.formSubmissionSlice=Oi,i.geoImageReducer=ay,i.geoImageSlice=bi,i.getAssetProcedureStepSubTree=Xn,i.getAssetProcedureStepTrees=gO,i.getClientSDK=CI,i.getClientStore=at,i.getDocumentSubTree=ta,i.getDocumentTrees=bO,i.getFileIdentifier=hO,i.getFileS3Key=Wt,i.getLocalDateString=Hn,i.getLocalRelativeDateString=lO,i.getOutboxCoordinator=et,i.getRenamedFile=Wn,i.getRequestDescription=O,i.hashFile=st,i.initSDK=Bg,i.initializeAssetAttachments=ua,i.initializeAssetProcedureStepFieldValues=Jd,i.initializeAssetProcedureStepFieldValuesAttachments=Dd,i.initializeAssetProcedureStepFields=gd,i.initializeAssetProcedureStepFieldsAttachments=ld,i.initializeAssetProcedureSteps=lr,i.initializeAssetProcedureTypeAttachments=Pa,i.initializeAssetProcedureTypeFieldValues=Fc,i.initializeAssetProcedureTypeFieldValuesAttachments=lc,i.initializeAssetProcedureTypeFields=Ja,i.initializeAssetProcedureTypeFieldsAttachments=qa,i.initializeAssetProcedureTypes=Jc,i.initializeAssetProcedures=Dc,i.initializeAssetStageCompletions=Dr,i.initializeAssetStages=Qr,i.initializeAssetTypeAttachments=ou,i.initializeAssetTypeFieldValues=ol,i.initializeAssetTypeFieldValuesAttachments=Qu,i.initializeAssetTypeFields=$u,i.initializeAssetTypeFieldsAttachments=gu,i.initializeAssetTypeIdentifierValues=Ul,i.initializeAssetTypeIdentifiers=bl,i.initializeAssetTypeStatuses=yo,i.initializeAssetTypes=xl,i.initializeAssets=gr,i.initializeConversations=ia,i.initializeDocumentAttachments=Eo,i.initializeDocuments=Ho,i.initializeFormIdentifierValues=gh,i.initializeFormIdentifiers=lh,i.initializeFormRevisionAttachments=$h,i.initializeFormRevisions=Qh,i.initializeFormSubmissionAttachments=Pm,i.initializeFormSubmissions=Bm,i.initializeForms=rm,i.initializeGeoImages=Km,i.initializeIssueAssociations=dy,i.initializeIssueAttachments=Py,i.initializeIssueCommentAttachments=jy,i.initializeIssueComments=Zy,i.initializeIssueTypeAttachments=Op,i.initializeIssueTypeFieldValues=Zp,i.initializeIssueTypeFieldValuesAttachments=FA,i.initializeIssueTypeFields=uA,i.initializeIssueTypeFieldsAttachments=jp,i.initializeIssueTypeIdentifierValues=JA,i.initializeIssueTypeIdentifiers=qA,i.initializeIssueTypeStatuses=bf,i.initializeIssueTypes=of,i.initializeIssueUpdates=$f,i.initializeIssues=rp,i.initializeOrganizationAccesses=aS,i.initializeOrganizations=TS,i.initializeProjectAccesses=CS,i.initializeProjectAttachments=xS,i.initializeProjectFiles=mT,i.initializeProjects=ET,i.initializeTeamMemberships=WT,i.initializeTeams=cI,i.initializeUsers=Yf,i.isToday=uO,i.issueAssociationReducer=Iy,i.issueAssociationSlice=Mi,i.issueAttachmentReducer=zy,i.issueAttachmentSlice=Ri,i.issueCommentAttachmentReducer=Ky,i.issueCommentAttachmentSlice=Vi,i.issueCommentReducer=cp,i.issueCommentSlice=Bi,i.issueReducer=Tp,i.issueSlice=qi,i.issueTypeAttachmentReducer=zp,i.issueTypeAttachmentSlice=Ui,i.issueTypeFieldValuesAttachmentReducer=BA,i.issueTypeFieldValuesAttachmentSlice=Hi,i.issueTypeFieldValuesReducer=dA,i.issueTypeFieldValuesSlice=Ni,i.issueTypeFieldsAttachmentReducer=Kp,i.issueTypeFieldsAttachmentSlice=Li,i.issueTypeFieldsReducer=OA,i.issueTypeFieldsSlice=Gi,i.issueTypeIdentifierReducer=YA,i.issueTypeIdentifierSlice=Zi,i.issueTypeIdentifierValueReducer=uf,i.issueTypeIdentifierValueSlice=Xi,i.issueTypeReducer=Ff,i.issueTypeSlice=Qi,i.issueTypeStatusReducer=qf,i.issueTypeStatusSlice=en,i.issueTypeStatusSortFn=xn,i.issueUpdateReducer=Wf,i.issueUpdateSlice=nn,i.logOnlyOnce=fO,i.markAsDeleted=qS,i.markForDeletion=GP,i.memoize=Gt,i.organizationAccessReducer=yS,i.organizationAccessSlice=pn,i.organizationReducer=VS,i.organizationSlice=An,i.outboxReducer=$S,i.outboxSlice=fn,i.overmapEnhancer=pF,i.overmapReducer=dF,i.overmapReducers=OI,i.performRequest=zn,i.performRequestFromAction=VI,i.projectAccessReducer=ZS,i.projectAccessSlice=Sn,i.projectAttachmentReducer=oT,i.projectAttachmentSlice=In,i.projectFileReducer=wT,i.projectFileSlice=Pn,i.projectReducer=CT,i.projectSlice=Fn,i.rehydratedReducer=GT,i.rehydratedSlice=gn,i.restructureSelectorWithArgs=S,i.runMiddleware=GI,i.saveActiveProjectFileBounds=gT,i.selectAccessToken=hP,i.selectAccessesByUserOfProject=WP,i.selectAccessibleProjects=XP,i.selectActiveOrganizationAccess=CP,i.selectActiveProjectFileId=ZP,i.selectAllDocumentAttachments=xs,i.selectAssetAttachmentById=fa,i.selectAssetAttachmentMapping=Aa,i.selectAssetAttachments=xt,i.selectAssetAttachmentsByIds=Sa,i.selectAssetById=zr,i.selectAssetProcedureById=Kc,i.selectAssetProcedureStepById=Ir,i.selectAssetProcedureStepFieldValues=dt,i.selectAssetProcedureStepFieldValuesAttachmentById=Hd,i.selectAssetProcedureStepFieldValuesAttachments=Ps,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Wd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=Gd,i.selectAssetProcedureStepFieldValuesById=cr,i.selectAssetProcedureStepFieldValuesByIds=dr,i.selectAssetProcedureStepFieldValuesMapping=ar,i.selectAssetProcedureStepFieldValuesOfAsset=WO,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=KO,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=YO,i.selectAssetProcedureStepFields=Tt,i.selectAssetProcedureStepFieldsAttachmentById=Id,i.selectAssetProcedureStepFieldsAttachments=As,i.selectAssetProcedureStepFieldsAttachmentsByIds=Od,i.selectAssetProcedureStepFieldsAttachmentsMapping=Td,i.selectAssetProcedureStepFieldsById=zd,i.selectAssetProcedureStepFieldsByIds=Bd,i.selectAssetProcedureStepFieldsMapping=Ss,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=NO,i.selectAssetProcedureStepMapping=It,i.selectAssetProcedureSteps=bs,i.selectAssetProcedureStepsByIds=Or,i.selectAssetProcedureStepsMappingOfAssetProcedureType=ZO,i.selectAssetProcedureStepsOfAssetProcedureType=JO,i.selectAssetProcedureTypeAttachmentById=za,i.selectAssetProcedureTypeAttachmentMapping=Va,i.selectAssetProcedureTypeAttachments=ts,i.selectAssetProcedureTypeAttachmentsByIds=Ba,i.selectAssetProcedureTypeById=dd,i.selectAssetProcedureTypeFieldValues=ft,i.selectAssetProcedureTypeFieldValuesAttachmentById=Tc,i.selectAssetProcedureTypeFieldValuesAttachments=rs,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=Ic,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=Sc,i.selectAssetProcedureTypeFieldValuesById=Bc,i.selectAssetProcedureTypeFieldValuesByIds=jc,i.selectAssetProcedureTypeFieldValuesMapping=zc,i.selectAssetProcedureTypeFieldValuesOfAsset=$O,i.selectAssetProcedureTypeFields=At,i.selectAssetProcedureTypeFieldsAttachmentById=Ka,i.selectAssetProcedureTypeFieldsAttachments=is,i.selectAssetProcedureTypeFieldsAttachmentsByIds=Ya,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Wa,i.selectAssetProcedureTypeFieldsById=dc,i.selectAssetProcedureTypeFieldsByIds=rc,i.selectAssetProcedureTypeFieldsMapping=cc,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=qO,i.selectAssetProcedureTypes=ys,i.selectAssetProcedureTypesByIds=rd,i.selectAssetProcedureTypesMapping=cd,i.selectAssetProcedureTypesOfOrganization=LO,i.selectAssetProcedures=St,i.selectAssetProceduresByIds=Yc,i.selectAssetProceduresMapping=Hc,i.selectAssetProceduresOfAssetProcedureType=Wc,i.selectAssetProceduresOfAssetType=CO,i.selectAssetStageById=ru,i.selectAssetStageCompletionById=Zr,i.selectAssetStageCompletionMapping=Kr,i.selectAssetStageCompletions=Yr,i.selectAssetStageCompletionsByIds=Jr,i.selectAssetStages=Vs,i.selectAssetStagesByIds=uu,i.selectAssetStagesMappingOfAssetProcedureType=QO,i.selectAssetStagesOfAssetProcedureType=xO,i.selectAssetTypeAttachmentById=Tu,i.selectAssetTypeAttachmentMapping=Su,i.selectAssetTypeAttachments=qs,i.selectAssetTypeAttachmentsByIds=Iu,i.selectAssetTypeById=lo,i.selectAssetTypeFieldValues=Pt,i.selectAssetTypeFieldValuesAttachmentById=cl,i.selectAssetTypeFieldValuesAttachments=Ns,i.selectAssetTypeFieldValuesAttachmentsByIds=dl,i.selectAssetTypeFieldValuesAttachmentsMapping=al,i.selectAssetTypeFieldValuesById=Ol,i.selectAssetTypeFieldValuesByIds=Pl,i.selectAssetTypeFieldValuesMapping=Il,i.selectAssetTypeFieldValuesOfAsset=iP,i.selectAssetTypeFields=rt,i.selectAssetTypeFieldsAttachmentById=Bu,i.selectAssetTypeFieldsAttachments=$s,i.selectAssetTypeFieldsAttachmentsByIds=ju,i.selectAssetTypeFieldsAttachmentsMapping=zu,i.selectAssetTypeFieldsById=Yu,i.selectAssetTypeFieldsByIds=Zu,i.selectAssetTypeFieldsMapping=Ku,i.selectAssetTypeFieldsOfAssetType=tP,i.selectAssetTypeIdentifierById=jl,i.selectAssetTypeIdentifierMapping=Bl,i.selectAssetTypeIdentifierValueById=Zl,i.selectAssetTypeIdentifierValueMapping=Yl,i.selectAssetTypeIdentifierValues=Ft,i.selectAssetTypeIdentifierValuesByIds=Jl,i.selectAssetTypeIdentifierValuesOfAsset=cP,i.selectAssetTypeIdentifierValuesOfIdentifier=dP,i.selectAssetTypeIdentifiers=Ws,i.selectAssetTypeIdentifiersByIds=ql,i.selectAssetTypeIdentifiersOfAssetType=aP,i.selectAssetTypeStatusById=go,i.selectAssetTypeStatusMapping=Fo,i.selectAssetTypeStatuses=Xs,i.selectAssetTypeStatusesByIds=bo,i.selectAssetTypeStatusesOfAssetType=uP,i.selectAssetTypeValuesOfAssetType=nP,i.selectAssetTypes=Zs,i.selectAssetTypesByIds=oo,i.selectAssetTypesMapping=uo,i.selectAssetTypesOfOrganization=rP,i.selectAssets=Ot,i.selectAssetsByIds=Br,i.selectAssetsMapping=Er,i.selectAssetsOfAssetType=Vr,i.selectAssetsOfProject=XO,i.selectAttachmentsOfAsset=Ta,i.selectAttachmentsOfAssetProcedureStepFieldValues=Kd,i.selectAttachmentsOfAssetProcedureStepFields=kO,i.selectAttachmentsOfAssetProcedureType=BO,i.selectAttachmentsOfAssetProcedureTypeFieldValues=Oc,i.selectAttachmentsOfAssetProcedureTypeFields=jO,i.selectAttachmentsOfAssetType=Ou,i.selectAttachmentsOfAssetTypeFieldValues=rl,i.selectAttachmentsOfAssetTypeFields=eP,i.selectAttachmentsOfDocument=yP,i.selectAttachmentsOfFormRevision=OP,i.selectAttachmentsOfFormSubmission=Em,i.selectAttachmentsOfIssue=vy,i.selectAttachmentsOfIssueComment=bP,i.selectAttachmentsOfIssueType=RP,i.selectAttachmentsOfIssueTypeFieldValues=zA,i.selectAttachmentsOfIssueTypeFields=wP,i.selectAttachmentsOfProject=YP,i.selectCommentsOfIssue=_P,i.selectConversation=zO,i.selectConversationMapping=Zt,i.selectConversations=VO,i.selectCurrentUser=sS,i.selectDeletedRequests=kP,i.selectDescendantsOfAssetProcedureStep=Pr,i.selectDescendantsOfDocument=ih,i.selectDocumentAttachmentById=Lo,i.selectDocumentAttachmentMapping=Co,i.selectDocumentAttachmentsByIds=ko,i.selectDocumentById=th,i.selectDocuments=bt,i.selectDocumentsByIds=sh,i.selectDocumentsMapping=ti,i.selectFieldValuesOfAssetProcedure=UO,i.selectFormById=Tm,i.selectFormIdentifierById=Ih,i.selectFormIdentifierMapping=Th,i.selectFormIdentifierValueById=Bh,i.selectFormIdentifierValueMapping=zh,i.selectFormIdentifierValues=_t,i.selectFormIdentifierValuesByIds=jh,i.selectFormIdentifierValuesOfFormSubmission=TP,i.selectFormIdentifierValuesOfIdentifier=IP,i.selectFormIdentifiers=ni,i.selectFormIdentifiersByIds=Oh,i.selectFormIdentifiersOfForm=SP,i.selectFormMapping=Sm,i.selectFormRevisionAttachmentById=Yh,i.selectFormRevisionAttachments=Kh,i.selectFormRevisionAttachmentsByIds=Zh,i.selectFormRevisionAttachmentsMapping=Mt,i.selectFormRevisionById=im,i.selectFormRevisionMapping=hi,i.selectFormRevisions=Rt,i.selectFormRevisionsByIds=nm,i.selectFormRevisionsOfForm=am,i.selectFormSubmissionAttachemntsByIds=Ii,i.selectFormSubmissionAttachmentById=wm,i.selectFormSubmissionAttachments=Ti,i.selectFormSubmissionAttachmentsByIds=vm,i.selectFormSubmissionAttachmentsMapping=Si,i.selectFormSubmissionById=km,i.selectFormSubmissions=Lm,i.selectFormSubmissionsByIds=Nm,i.selectFormSubmissionsMapping=gi,i.selectFormSubmissionsOfForm=Gm,i.selectForms=yi,i.selectFormsByIds=Im,i.selectFormsOfOrganization=FP,i.selectGeoImageById=iy,i.selectGeoImageMapping=sy,i.selectGeoImages=_i,i.selectGeoImagesByIds=ny,i.selectGeoImagesOfProject=gP,i.selectIsImportingProjectFile=JP,i.selectIsLoggedIn=mP,i.selectIssueAssociationById=py,i.selectIssueAssociationMapping=ut,i.selectIssueAssociations=yy,i.selectIssueAssociationsByIds=Ay,i.selectIssueAssociationsOfAsset=Ty,i.selectIssueAssociationsOfIssue=Sy,i.selectIssueAssociationsToIssue=fy,i.selectIssueAttachmentById=Ey,i.selectIssueAttachmentMapping=wy,i.selectIssueAttachments=Ei,i.selectIssueAttachmentsByIds=Vy,i.selectIssueById=Ap,i.selectIssueCommentAttachmentById=Hy,i.selectIssueCommentAttachmentMapping=Gy,i.selectIssueCommentAttachments=zi,i.selectIssueCommentAttachmentsByIds=Wy,i.selectIssueCommentById=np,i.selectIssueCommentMapping=ji,i.selectIssueCommentsByIds=ap,i.selectIssueMapping=pp,i.selectIssueTypeAttachmentById=Ep,i.selectIssueTypeAttachmentMapping=vp,i.selectIssueTypeAttachments=Ci,i.selectIssueTypeAttachmentsByIds=Vp,i.selectIssueTypeById=Of,i.selectIssueTypeFieldValues=Vt,i.selectIssueTypeFieldValuesAttachmentById=EA,i.selectIssueTypeFieldValuesAttachments=Yi,i.selectIssueTypeFieldValuesAttachmentsByIds=VA,i.selectIssueTypeFieldValuesAttachmentsMapping=vA,i.selectIssueTypeFieldValuesById=aA,i.selectIssueTypeFieldValuesByIds=cA,i.selectIssueTypeFieldValuesMapping=nA,i.selectIssueTypeFieldValuesOfIssue=vP,i.selectIssueTypeFields=lt,i.selectIssueTypeFieldsAttachmentById=Hp,i.selectIssueTypeFieldsAttachments=ki,i.selectIssueTypeFieldsAttachmentsByIds=Wp,i.selectIssueTypeFieldsAttachmentsMapping=Gp,i.selectIssueTypeFieldsById=TA,i.selectIssueTypeFieldsByIds=IA,i.selectIssueTypeFieldsMapping=SA,i.selectIssueTypeFieldsOfIssueType=EP,i.selectIssueTypeIdentifierById=WA,i.selectIssueTypeIdentifierMapping=HA,i.selectIssueTypeIdentifierValueById=df,i.selectIssueTypeIdentifierValueMapping=cf,i.selectIssueTypeIdentifierValues=zt,i.selectIssueTypeIdentifierValuesByIds=rf,i.selectIssueTypeIdentifierValuesOfIdentifier=qP,i.selectIssueTypeIdentifierValuesOfIssue=jP,i.selectIssueTypeIdentifiers=Ji,i.selectIssueTypeIdentifiersByIds=KA,i.selectIssueTypeIdentifiersOfIssueType=BP,i.selectIssueTypeMapping=If,i.selectIssueTypeStatusById=sn,i.selectIssueTypeStatusMapping=Bf,i.selectIssueTypeStatuses=tn,i.selectIssueTypeStatusesByIds=jf,i.selectIssueTypeStatusesOfIssueType=$P,i.selectIssueTypeValuesOfIssueType=zP,i.selectIssueTypes=xi,i.selectIssueTypesByIds=Pf,i.selectIssueTypesOfOrganization=DP,i.selectIssueUpdateById=Nf,i.selectIssueUpdateMapping=un,i.selectIssueUpdates=ln,i.selectIssueUpdatesByIds=Gf,i.selectIssueUpdatesOfIssue=Hf,i.selectIssues=Et,i.selectIssuesByIds=fp,i.selectIssuesOfIssueType=Sp,i.selectIssuesOfProject=MP,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=GO,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=DO,i.selectLatestAssetTypeFieldsOfAssetType=sP,i.selectLatestFieldsByAssetProcedureStep=HO,i.selectLatestFormRevisionOfForm=PP,i.selectLatestIssueTypeFieldsOfIssueType=VP,i.selectLatestRetryTime=NP,i.selectMembershipsByUserOfTeam=sF,i.selectOrganizationAccessById=pS,i.selectOrganizationAccessMapping=qt,i.selectOrganizationAccessUserMapping=fS,i.selectOrganizationAccessesByIds=AS,i.selectOrganizationById=vS,i.selectOrganizationDocuments=AP,i.selectOrganizations=wS,i.selectOrganizationsByIds=ES,i.selectOrganizationsMapping=RS,i.selectProjectAccessById=JS,i.selectProjectAccessMapping=Tn,i.selectProjectAccesses=ot,i.selectProjectAccessesByIds=XS,i.selectProjectAccessesOfProject=HP,i.selectProjectAttachmentById=uT,i.selectProjectAttachmentMapping=rT,i.selectProjectAttachments=On,i.selectProjectAttachmentsByIds=lT,i.selectProjectById=kT,i.selectProjectDocuments=pP,i.selectProjectFileById=MT,i.selectProjectFileMapping=bT,i.selectProjectFiles=_T,i.selectProjectFilesByIds=RT,i.selectProjectMapping=LT,i.selectProjects=Dt,i.selectProjectsByIds=NT,i.selectProjectsOfOrganization=QP,i.selectRehydrated=tF,i.selectStageMapping=Es,i.selectTeamById=AI,i.selectTeamMembershipById=iI,i.selectTeamMemberships=$t,i.selectTeamMembershipsByIds=nI,i.selectTeamMembershipsMapping=sI,i.selectTeams=Mn,i.selectTeamsByIds=fI,i.selectTeamsMapping=pI,i.selectTeamsOfOrganization=nF,i.selectUploadUrl=dh,i.selectUserById=jt,i.selectUsers=Bt,i.selectUsersByIds=iS,i.selectUsersMapping=yn,i.selectUsersOfOrganization=LP,i.selectUsersOfProject=KP,i.selectUsersOfTeam=iF,i.setActiveProjectFileId=FT,i.setAsset=wr,i.setAssetAttachment=oa,i.setAssetAttachments=ha,i.setAssetProcedure=kc,i.setAssetProcedureStep=or,i.setAssetProcedureStepFieldValues=xd,i.setAssetProcedureStepFieldValuesAttachment=Ud,i.setAssetProcedureStepFieldValuesAttachments=Cd,i.setAssetProcedureStepFieldValuesMany=er,i.setAssetProcedureStepFields=Md,i.setAssetProcedureStepFieldsAttachment=md,i.setAssetProcedureStepFieldsAttachments=yd,i.setAssetProcedureStepFieldsMany=Rd,i.setAssetProcedureSteps=hr,i.setAssetProcedureType=id,i.setAssetProcedureTypeAttachment=ba,i.setAssetProcedureTypeAttachments=_a,i.setAssetProcedureTypeFieldValues=_c,i.setAssetProcedureTypeFieldValuesAttachment=hc,i.setAssetProcedureTypeFieldValuesAttachments=mc,i.setAssetProcedureTypeFieldValuesMany=Mc,i.setAssetProcedureTypeFields=xa,i.setAssetProcedureTypeFieldsAttachment=Ua,i.setAssetProcedureTypeFieldsAttachments=Ca,i.setAssetProcedureTypeFieldsMany=ec,i.setAssetProcedureTypes=nd,i.setAssetProcedures=Nc,i.setAssetStage=xr,i.setAssetStageCompletion=Cr,i.setAssetStageCompletions=Lr,i.setAssetStages=eu,i.setAssetType=eo,i.setAssetTypeAttachment=mu,i.setAssetTypeAttachments=yu,i.setAssetTypeFieldValues=yl,i.setAssetTypeFieldValuesAttachment=el,i.setAssetTypeFieldValuesAttachments=tl,i.setAssetTypeFieldValuesMany=pl,i.setAssetTypeFields=Lu,i.setAssetTypeFieldsAttachment=Mu,i.setAssetTypeFieldsAttachments=Ru,i.setAssetTypeFieldsMany=ku,i.setAssetTypeIdentifier=Rl,i.setAssetTypeIdentifierValue=kl,i.setAssetTypeIdentifierValues=Nl,i.setAssetTypeIdentifiers=wl,i.setAssetTypeStatus=fo,i.setAssetTypeStatuses=So,i.setAssetTypes=to,i.setAssets=vr,i.setClientSDK=UI,i.setClientStore=DI,i.setConversation=aa,i.setConversations=RO,i.setCurrentUser=UP,i.setDocument=Yo,i.setDocumentAttachment=Bo,i.setDocumentAttachments=jo,i.setDocuments=Zo,i.setForm=om,i.setFormIdentifier=mh,i.setFormIdentifierValue=Mh,i.setFormIdentifierValues=Rh,i.setFormIdentifiers=yh,i.setFormRevision=xh,i.setFormRevisionAttachment=Lh,i.setFormRevisionAttachments=kh,i.setFormRevisions=em,i.setFormSubmission=jm,i.setFormSubmissionAttachment=gm,i.setFormSubmissionAttachments=bm,i.setFormSubmissions=qm,i.setForms=hm,i.setGeoImage=Ym,i.setGeoImages=Zm,i.setIsImportingProjectFile=PT,i.setIssue=lp,i.setIssueAssociation=uy,i.setIssueAssociations=ry,i.setIssueAttachment=gy,i.setIssueAttachments=by,i.setIssueComment=Qy,i.setIssueCommentAttachment=$y,i.setIssueCommentAttachments=Uy,i.setIssueComments=xy,i.setIssueType=yf,i.setIssueTypeAttachment=gp,i.setIssueTypeAttachments=bp,i.setIssueTypeFieldValues=Qp,i.setIssueTypeFieldValuesAttachment=bA,i.setIssueTypeFieldValuesAttachments=_A,i.setIssueTypeFieldValuesMany=xp,i.setIssueTypeFields=hA,i.setIssueTypeFieldsAttachment=$p,i.setIssueTypeFieldsAttachments=Up,i.setIssueTypeFieldsMany=mA,i.setIssueTypeIdentifier=UA,i.setIssueTypeIdentifierValue=xA,i.setIssueTypeIdentifierValues=ef,i.setIssueTypeIdentifiers=CA,i.setIssueTypeStatus=Rf,i.setIssueTypeStatuses=wf,i.setIssueTypes=pf,i.setIssueUpdate=Uf,i.setIssueUpdates=Cf,i.setIssues=op,i.setLoggedIn=Ro,i.setOrganization=OS,i.setOrganizationAccess=rS,i.setOrganizationAccesses=uS,i.setOrganizations=IS,i.setProject=zT,i.setProjectAccess=NS,i.setProjectAccesses=GS,i.setProjectAttachment=sT,i.setProjectAttachments=iT,i.setProjectFile=yT,i.setProjectFiles=pT,i.setProjects=VT,i.setRehydrated=eF,i.setTeam=uI,i.setTeamMembership=ZT,i.setTeamMemberships=JT,i.setTeams=lI,i.setTokens=lP,i.setUploadUrl=ch,i.setUser=Jf,i.setUsers=Zf,i.shallowEqual=aO,i.slugify=OO,i.spacesToDashesLower=IO,i.teamMembershipReducer=tI,i.teamMembershipSlice=bn,i.teamReducer=SI,i.teamSlice=_n,i.toFileNameSafeString=TO,i.toUuidArray=q,i.toUuidIdRecord=SO,i.truncate=PO,i.updateAsset=_r,i.updateAssetAttachment=ma,i.updateAssetAttachments=ya,i.updateAssetProcedure=Uc,i.updateAssetProcedureStep=pr,i.updateAssetProcedureStepFieldValues=tr,i.updateAssetProcedureStepFieldValuesAttachment=Ld,i.updateAssetProcedureStepFieldValuesAttachments=kd,i.updateAssetProcedureStepFieldValuesMany=sr,i.updateAssetProcedureStepFields=wd,i.updateAssetProcedureStepFieldsAttachment=pd,i.updateAssetProcedureStepFieldsAttachments=Ad,i.updateAssetProcedureStepFieldsMany=vd,i.updateAssetProcedureSteps=Ar,i.updateAssetProcedureType=xc,i.updateAssetProcedureTypeAttachment=Ma,i.updateAssetProcedureTypeAttachments=Ra,i.updateAssetProcedureTypeFieldValues=Rc,i.updateAssetProcedureTypeFieldValuesAttachment=yc,i.updateAssetProcedureTypeFieldValuesAttachments=pc,i.updateAssetProcedureTypeFieldValuesMany=wc,i.updateAssetProcedureTypeFields=tc,i.updateAssetProcedureTypeFieldsAttachment=La,i.updateAssetProcedureTypeFieldsAttachments=ka,i.updateAssetProcedureTypeFieldsMany=sc,i.updateAssetProcedureTypes=ed,i.updateAssetProcedures=Cc,i.updateAssetStage=iu,i.updateAssetStageCompletion=kr,i.updateAssetStageCompletions=Nr,i.updateAssetStages=nu,i.updateAssetType=no,i.updateAssetTypeAttachment=pu,i.updateAssetTypeAttachments=Au,i.updateAssetTypeFieldValues=Al,i.updateAssetTypeFieldValuesAttachment=sl,i.updateAssetTypeFieldValuesAttachments=il,i.updateAssetTypeFieldValuesMany=fl,i.updateAssetTypeFields=Nu,i.updateAssetTypeFieldsAttachment=wu,i.updateAssetTypeFieldsAttachments=vu,i.updateAssetTypeFieldsMany=Gu,i.updateAssetTypeIdentifier=vl,i.updateAssetTypeIdentifierValue=Gl,i.updateAssetTypeIdentifierValues=Hl,i.updateAssetTypeIdentifiers=El,i.updateAssetTypeStatus=To,i.updateAssetTypeStatuses=Io,i.updateAssetTypes=ao,i.updateAssets=Mr,i.updateConversation=ca,i.updateConversations=wO,i.updateDocument=Jo,i.updateDocumentAttachment=qo,i.updateDocumentAttachments=Do,i.updateDocuments=Xo,i.updateForm=mm,i.updateFormIdentifier=ph,i.updateFormIdentifierValue=wh,i.updateFormIdentifierValues=vh,i.updateFormIdentifiers=Ah,i.updateFormRevision=tm,i.updateFormRevisionAttachment=Nh,i.updateFormRevisionAttachments=Gh,i.updateFormRevisions=sm,i.updateFormSubmission=$m,i.updateFormSubmissionAttachment=_m,i.updateFormSubmissionAttachments=Mm,i.updateFormSubmissions=Um,i.updateForms=ym,i.updateGeoImage=Qm,i.updateGeoImages=xm,i.updateIssue=hp,i.updateIssueAssociation=ly,i.updateIssueAssociations=oy,i.updateIssueAttachment=_y,i.updateIssueAttachments=My,i.updateIssueComment=ep,i.updateIssueCommentAttachment=Cy,i.updateIssueCommentAttachments=Ly,i.updateIssueComments=tp,i.updateIssueType=Af,i.updateIssueTypeAttachment=_p,i.updateIssueTypeAttachments=Mp,i.updateIssueTypeFieldValues=eA,i.updateIssueTypeFieldValuesAttachment=MA,i.updateIssueTypeFieldValuesAttachments=RA,i.updateIssueTypeFieldValuesMany=tA,i.updateIssueTypeFields=yA,i.updateIssueTypeFieldsAttachment=Cp,i.updateIssueTypeFieldsAttachments=Lp,i.updateIssueTypeFieldsMany=pA,i.updateIssueTypeIdentifier=LA,i.updateIssueTypeIdentifierValue=tf,i.updateIssueTypeIdentifierValues=sf,i.updateIssueTypeIdentifiers=kA,i.updateIssueTypeStatus=vf,i.updateIssueTypeStatuses=Ef,i.updateIssueTypes=ff,i.updateIssueUpdate=Lf,i.updateIssueUpdates=kf,i.updateIssues=mp,i.updateOrganization=bS,i.updateOrganizationAccess=lS,i.updateOrganizationAccesses=oS,i.updateOrganizations=gS,i.updateProject=DT,i.updateProjectAccess=HS,i.updateProjectAccesses=WS,i.updateProjectAttachment=nT,i.updateProjectAttachments=aT,i.updateProjectFile=ST,i.updateProjectFiles=TT,i.updateProjects=qT,i.updateTeam=oI,i.updateTeamMembership=XT,i.updateTeamMemberships=QT,i.updateTeams=hI,i.updateUser=xf,i.updateUsers=Qf,i.useSelectorBuilder=nO,i.userReducer=tS,i.userSlice=on,i.uuidObj=M,i.uuidObjSortFn=Kt,i.uuidSortFn=pt,i.versioningReducer=II,i.versioningSlice=TI,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
13
+ external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(o)}return await this.addCache(r),r}processPresignedUrl(e,n){if("warning"in n){if(n.warning==="already_uploaded")return Promise.resolve(void 0);throw console.error(n.warning),new Error(n.warning)}return this.enqueueRequest({url:n.url,description:"Upload file to S3",method:h.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 Ot(e),file_type:e.type,extension:Nn(e),size:e.size};return await this.client.files.addCache(e),a}}class sb extends w{constructor(){super(...arguments);m(this,"name","Form Identifier");m(this,"url","/form-identifiers");m(this,"actions",{addOne:rh,addMany:uh,setOne:lh,setMany:oh,updateOne:hh,updateMany:mh,deleteOne:yh,deleteMany:ph,initialize:dh});m(this,"selectors",{selectById:fh,selectByIds:Sh})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.form],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 ib extends w{constructor(){super(...arguments);m(this,"name","Form Identifier Value");m(this,"url","/form-identifier-values");m(this,"actions",{addOne:Ph,addMany:Fh,setOne:bh,setMany:_h,updateOne:gh,updateMany:Mh,deleteOne:Rh,deleteMany:wh,initialize:Oh});m(this,"selectors",{selectById:Bh,selectByIds:Vh})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.form_submission,e.form_identifier],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_submission__project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(a(d)),d}}class nb extends q{constructor(){super(...arguments);m(this,"name","Form Revision Attachment");m(this,"url","/form-revision-attachments");m(this,"actions",{addOne:qh,addMany:Dh,setOne:$h,setMany:Ch,updateOne:Uh,updateMany:Lh,deleteOne:kh,deleteMany:Nh,initialize:jh});m(this,"selectors",{selectById:Hh,selectByIds:Wh})}getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,form_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_revision:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,form_revision:c,file_sha1:d,file_name:u,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 ab extends w{constructor(){super(...arguments);m(this,"name","Form Revision");m(this,"url","/form-revisions");m(this,"actions",{addOne:Jh,addMany:hi,setOne:Xh,setMany:Qh,updateOne:xh,updateMany:em,deleteOne:tm,deleteMany:mi,initialize:Zh});m(this,"selectors",{selectById:im,selectByIds:nm})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.form],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}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 cb extends w{constructor(){super(...arguments);m(this,"name","Form");m(this,"url","/forms");m(this,"actions",{addOne:um,addMany:lm,setOne:om,setMany:hm,updateOne:mm,updateMany:ym,deleteOne:pm,deleteMany:Am,initialize:rm});m(this,"selectors",{selectById:Tm,selectByIds:Im})}add(e){const{addOne:n,updateOne:a,deleteOne:c}=this.actions,d=new Date().toISOString(),u=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),r=P({...e,submitted_at:d,created_by:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error("Expected form to exist");const u=this.select(Gm(e)),r=this.select(am(e));this.dispatch(n(e)),this.dispatch(tt(B(u))),this.dispatch(mi(B(r)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(y){throw this.dispatch(a(d)),this.dispatch(hi(r)),this.dispatch(et(u)),y}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class db extends q{constructor(){super(...arguments);m(this,"name","Form Submission Attachment");m(this,"url","/form-submission-attachments");m(this,"actions",{addOne:Fm,addMany:fi,setOne:bm,setMany:_m,updateOne:gm,updateMany:Mm,deleteOne:Rm,deleteMany:Si,initialize:Pm});m(this,"selectors",{selectById:wm,selectByIds:Em})}getId(e){return e.uuid}getBlockers(e){return[e.form_submission]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,form_submission:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_submission:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_submission:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,form_submission:c,file_sha1:d,file_name:u,file_extension:r}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,c=this.select(Oi(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(a(c)),d}}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 rb extends w{constructor(){super(...arguments);m(this,"name","Form Submission");m(this,"url","/form-submissions");m(this,"actions",{addOne:Dm,addMany:et,setOne:jm,setMany:qm,updateOne:$m,updateMany:Cm,deleteOne:Um,deleteMany:tt,initialize:zm});m(this,"selectors",{selectById:km,selectByIds:Nm})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u}),y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.form_revision],blocks:[r.uuid]});return this.dispatch(n(r)),y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${d.uuid}/`,payload:e,blockers:[d.uuid],blocks:[d.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Bm(e));this.dispatch(n(e)),this.dispatch(Si(B(u)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(fi(u)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,d=(await Promise.all([this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,organization:e}},n),this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,project__organization:e}},n)])).flatMap(u=>u.flat());return this.dispatch(a(d)),d}}class ub extends q{constructor(){super(...arguments);m(this,"name","Geo Image");m(this,"url","/geo-images");m(this,"actions",{addOne:ey,addMany:ty,setOne:Qm,setMany:xm,updateOne:sy,updateMany:iy,deleteOne:ny,deleteMany:ay,initialize:Xm});m(this,"selectors",{selectById:dy,selectByIds:ry})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,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}}buildBulkPayload(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{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,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 lb extends w{constructor(){super(...arguments);m(this,"name","Issue Association");m(this,"url","/issue-associations");m(this,"actions",{addOne:Ay,addMany:at,setOne:my,setMany:hy,updateOne:yy,updateMany:py,deleteOne:fy,deleteMany:ct,initialize:oy});m(this,"selectors",{selectById:Ty,selectByIds:Iy})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=new Date().toISOString(),u=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),r=P({...e,submitted_at:d,created_by:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.issue,e.asset],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=e.map(o=>P({...o,submitted_at:u,created_by:d}));this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{payloads:r.map(o=>R(o)),submitted_at:u},blockers:r.flatMap(o=>[o.issue,o.asset]),blocks:B(r)});return y.then(o=>{this.dispatch(c(o))}).catch(()=>{this.dispatch(a(B(r)))}),[r,y]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),u}}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 ob extends q{constructor(){super(...arguments);m(this,"name","Issue Attachment");m(this,"url","/issue-attachments");m(this,"actions",{addOne:Ry,addMany:Mi,setOne:wy,setMany:Ey,updateOne:By,updateMany:Vy,deleteOne:vy,deleteMany:Ri,initialize:My});m(this,"selectors",{selectById:qy,selectByIds:Dy})}getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue:e.issue}}buildBulkPayload(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 hb extends q{constructor(){super(...arguments);m(this,"name","Issue Comment Attachment");m(this,"url","/issue-comment-attachments");m(this,"actions",{addOne:Ly,addMany:ky,setOne:Ny,setMany:Gy,updateOne:Hy,updateMany:Wy,deleteOne:Ky,deleteMany:Yy,initialize:Uy});m(this,"selectors",{selectById:Jy,selectByIds:Xy})}getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_comment:e.issue_comment}}buildBulkPayload(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 mb extends w{constructor(){super(...arguments);m(this,"name","Issue Comment");m(this,"url","/issue-comments");m(this,"actions",{addOne:tp,addMany:sp,setOne:ip,setMany:np,updateOne:ap,updateMany:cp,deleteOne:dp,deleteMany:rp,initialize:ep});m(this,"selectors",{selectById:up,selectByIds:lp})}add(e){const{addOne:n,updateOne:a,deleteOne:c}=this.actions,d=P({...e,created_by:this.select(r=>r.userReducer.currentUser.uuid),submitted_at:new Date().toISOString()});this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(d),blockers:[e.issue],blocks:[d.uuid]});return u.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),u}}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 yb extends w{constructor(){super(...arguments);m(this,"name","Issue");m(this,"url","/issues");m(this,"actions",{addOne:yp,addMany:ji,setOne:pp,setMany:Ap,updateOne:fp,updateMany:Sp,deleteOne:Tp,deleteMany:qi,initialize:mp});m(this,"selectors",{selectById:Op,selectByIds:Pp})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=new Date().toISOString(),u=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),r=P({...e,submitted_at:d,created_by:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.project,r.issue_type,r.status],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(o=>{throw this.dispatch(c(r.uuid)),o}),[r,y]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const d={...c,...e};this.dispatch(n(d));const u={};for(const o of[U.TITLE,U.DESCRIPTION,U.STATUS,U.PRIORITY,U.ASSIGNED_TO,U.DUE_DATE])if(o in e&&e[o]!==c[o])switch(o){case U.PRIORITY:u[o]=e.priority;break;case U.DUE_DATE:u[o]=e.due_date;break;case U.DESCRIPTION:u[o]=e.description??"";break;case U.TITLE:u[o]=e.title??"";break;case U.STATUS:{const p=e[o],T=this.select(en(p));if(!T)throw new Error(`Trying to update issue type status with ${p} which does not exist in store`);u[o]={name:T.name,color:T.color,uuid:T.uuid};break}case U.ASSIGNED_TO:{const p=e[o];if(p===null)u[o]=null;else{const T=this.select(Ut(p));if(!T)throw new Error(`Trying to update assigned to with ${p} which does not exist in store.`);u[o]={email:T.email,uuid:T.uuid}}break}}const r=P({created_by:this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),submitted_at:new Date().toISOString(),issue:c.uuid,changes:u});this.dispatch(sn(r));const y=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return y.then(o=>{this.dispatch(n(o))}).catch(()=>{this.dispatch(n(c)),this.dispatch(an(r.uuid))}),[d,y]}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:c}=this.selectors,d=B(e).toSorted(Pt);if(d.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(c(d)).toSorted(Jt);if(d.length!=u.length)throw new Error(`Attempting to bulk update ${d.length-u.length} issues that dont exist in the store`);const r=[];for(let T=0;T<d.length;T++)r.push({...u[T],...e[T]});this.dispatch(a(r));const y=Qe(e,Math.min(n??e.length,Xe)),o=[];let p=null;for(const T of y){const E=xe.v4(),M=B(T),b=T.map(({status:g})=>g).filter(Boolean),I=this.enqueueRequest({description:S(h.PATCH,this.name,!0),method:h.PATCH,url:`${this.url}/bulk/`,payload:{payloads:T},blockers:(p?[p]:[]).concat(M).concat(b),blocks:[E].concat(M)});o.push(I),p=E}return Promise.all(o).then(T=>{this.dispatch(a(T.flat()))}).catch(()=>{this.dispatch(a(u))}),[r,o]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`No issue with uuid ${e} found in the store`);const u=this.select(Py(e)),r=this.select(jy(e)),y=this.select(Jf(e)),o=this.select(Hm(e));this.dispatch(n(e)),this.dispatch(Ri(B(r))),this.dispatch(cn(B(y))),this.dispatch(ct(B(u))),this.dispatch(tt(B(o)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(d)),this.dispatch(Mi(r)),this.dispatch(nn(y)),this.dispatch(at(u)),this.dispatch(et(o)),p}}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:c}=this.selectors,d=this.select(c(e)),u=this.select(Oy(e)),r=this.select(Wm(e));this.dispatch(a(e)),this.dispatch(ct(B(u))),this.dispatch(tt(B(r)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(y){throw this.dispatch(n(d)),this.dispatch(at(u)),this.dispatch(et(r)),y}}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 pb extends q{constructor(){super(...arguments);m(this,"name","Issue Type Attachment");m(this,"url","/issue-type-attachments");m(this,"actions",{addOne:Mp,addMany:Rp,setOne:wp,setMany:Ep,updateOne:Bp,updateMany:Vp,deleteOne:vp,deleteMany:zp,initialize:gp});m(this,"selectors",{selectById:qp,selectByIds:Dp})}getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,issue_type:e.issue_type}}buildBulkPayload(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 Ab extends q{constructor(){super(...arguments);m(this,"name","Issue Type Fields Attachment");m(this,"url","/issue-type-fields-attachments");m(this,"actions",{addOne:Lp,addMany:kp,setOne:Np,setMany:Gp,updateOne:Hp,updateMany:Wp,deleteOne:Kp,deleteMany:Yp,initialize:Up});m(this,"selectors",{selectById:Jp,selectByIds:Xp})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,fields_revision:c,file_sha1:d,file_name:u,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 fb extends w{constructor(){super(...arguments);m(this,"name","Issue Type Fields");m(this,"url","/issue-type-fields");m(this,"actions",{addOne:pA,addMany:AA,setOne:fA,setMany:SA,updateOne:TA,updateMany:IA,deleteOne:OA,deleteMany:PA,initialize:yA});m(this,"selectors",{selectById:bA,selectByIds:_A})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.issue_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(o=>{throw this.dispatch(c(r.uuid)),o}),[r,y]}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 Sb extends q{constructor(){super(...arguments);m(this,"name","Issue Type Field Values Attachment");m(this,"url","/issue-type-field-values-attachments");m(this,"actions",{addOne:wA,addMany:Gi,setOne:EA,setMany:BA,updateOne:VA,updateMany:vA,deleteOne:zA,deleteMany:Hi,initialize:RA});m(this,"selectors",{selectById:qA,selectByIds:DA})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}=e;return{uuid:n,field_identifier:a,field_values:c,file_sha1:d,file_name:u,file_extension:r}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:c}=this.selectors,d=this.select(c(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!0),method:h.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(d)),u}}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 Tb extends w{constructor(){super(...arguments);m(this,"name","Issue Type Field Values");m(this,"url","/issue-type-field-values");m(this,"actions",{addOne:tA,addMany:sA,setOne:iA,setMany:nA,updateOne:aA,updateMany:cA,deleteOne:dA,deleteMany:rA,initialize:eA});m(this,"selectors",{selectById:lA,selectByIds:oA})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u}),y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.issue,e.fields_revision],blocks:[r.uuid]});return this.dispatch(n(r)),y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[d.uuid,d.fields_revision,d.issue],blocks:[d.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select($A(e));this.dispatch(n(e)),this.dispatch(Hi(B(u)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(Gi(u)),r}}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 Ib extends w{constructor(){super(...arguments);m(this,"name","Issue Type Identifier");m(this,"url","/issue-type-identifiers");m(this,"actions",{addOne:kA,addMany:NA,setOne:GA,setMany:HA,updateOne:WA,updateMany:KA,deleteOne:YA,deleteMany:ZA,initialize:LA});m(this,"selectors",{selectById:XA,selectByIds:QA})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[r.issue_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 Ob extends w{constructor(){super(...arguments);m(this,"name","Issue Type Identifier Value");m(this,"url","/issue-type-identifier-values");m(this,"actions",{addOne:sf,addMany:nf,setOne:af,setMany:cf,updateOne:df,updateMany:rf,deleteOne:uf,deleteMany:lf,initialize:tf});m(this,"selectors",{selectById:hf,selectByIds:mf})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.issue,e.issue_type_identifier],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 Pb extends w{constructor(){super(...arguments);m(this,"name","Issue Type");m(this,"url","/issue-types");m(this,"actions",{addOne:ff,addMany:Sf,setOne:Tf,setMany:If,updateOne:Of,updateMany:Pf,deleteOne:Ff,deleteMany:bf,initialize:Af});m(this,"selectors",{selectById:gf,selectByIds:Mf})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,submitted_at:u,created_by:d});this.dispatch(n(r));const y=this.enqueueRequest({method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=this.select(Fp(e));this.dispatch(n(e)),this.dispatch(qi(B(u)));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(ji(u)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Fb extends w{constructor(){super(...arguments);m(this,"name","Issue Type Status");m(this,"url","/issue-type-statuses");m(this,"actions",{addOne:Bf,addMany:Vf,setOne:vf,setMany:zf,updateOne:jf,updateMany:qf,deleteOne:Df,deleteMany:$f,initialize:Ef});m(this,"selectors",{selectById:en,selectByIds:Uf})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=this.select(o=>{var p;return((p=o.userReducer.currentUser)==null?void 0:p.uuid)??null}),u=new Date().toISOString(),r=P({...e,created_by:d,submitted_at:u});this.dispatch(n(r));const y=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(r),blockers:[e.issue_type],blocks:[r.uuid]});return y.then(o=>{this.dispatch(a(o))}).catch(()=>{this.dispatch(c(r.uuid))}),[r,y]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 bb extends w{constructor(){super(...arguments);m(this,"name","Issue Update");m(this,"url","/issue-updates");m(this,"actions",{addOne:sn,addMany:nn,setOne:Gf,setMany:Hf,updateOne:Wf,updateMany:Kf,deleteOne:an,deleteMany:cn,initialize:Nf});m(this,"selectors",{selectById:Yf,selectByIds:Zf})}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 _b=1800;function gb(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 Mb extends _F{constructor(){super(...arguments);m(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:h.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(Mo(!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.debug("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=sO(e).exp??n}catch{a=n}return a-n<_b}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 L&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??rt).toString()))}}}async handleUnauthorized(e,n){if(e.url.endsWith("/token/refresh/"))throw this.select(a=>a.authReducer.isLoggedIn)&&console.warn("No signed-in user to sign out."),this.clearAuth(),new L({message:"You have been signed out due to inactivity.",response:n,discard:!0});if(this.select(a=>a.authReducer.isLoggedIn))await this.renewTokens();else throw console.debug("Forbidden; user is not logged in."),new L({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:h.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(gb(a))})}}class St extends st{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:h.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:h.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:h.GET,...s},e)}}class Rb extends St{constructor(){super(...arguments);m(this,"name","Organization Access");m(this,"url","/organization-accesses");m(this,"actions",{addOne:oS,addMany:hS,setOne:mS,setMany:yS,updateOne:pS,updateMany:AS,deleteOne:fS,deleteMany:SS,initialize:lS});m(this,"selectors",{selectById:IS,selectByIds:OS})}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid)),d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(r=>{throw this.dispatch(n(c)),r}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e)),u=this.select(Ut(d.user));this.dispatch(n(d.uuid)),this.dispatch(on(d.user));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${d.uuid}/`,blockers:[d.uuid],blocks:[]})}catch(r){throw this.dispatch(a(d)),this.dispatch(ln(u)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class wb extends St{constructor(){super(...arguments);m(this,"name","Organization");m(this,"url","/organizations");m(this,"actions",{addOne:RS,addMany:MS,setOne:gS,setMany:_S,updateOne:ES,updateMany:wS,deleteOne:BS,deleteMany:VS,initialize:bS});m(this,"selectors",{selectById:jS,selectByIds:qS})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.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:S(h.PATCH,this.name,!1),method:h.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:S(h.POST,this.name,!1),method:h.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 Eb extends w{constructor(){super(...arguments);m(this,"name","Project Access");m(this,"url","/project-accesses");m(this,"actions",{addOne:WS,addMany:KS,setOne:YS,setMany:ZS,updateOne:JS,updateMany:XS,deleteOne:QS,deleteMany:xS,initialize:HS});m(this,"selectors",{selectById:tT,selectByIds:sT})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=P({...e,created_by:this.select(r=>{var y;return((y=r.userReducer.currentUser)==null?void 0:y.uuid)??null})});this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(d),blockers:[d.organization_access,d.project],blocks:[d.uuid]});return u.then(r=>{this.dispatch(a(r))}).catch(r=>{throw this.dispatch(c(d.uuid)),r}),[d,u]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:c}=this.actions,d=this.select(y=>{var o;return((o=y.userReducer.currentUser)==null?void 0:o.uuid)??null}),u=e.map(y=>P({...y,created_by:d}));this.dispatch(n(u));const r=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(y=>R(y))},blockers:u.flatMap(y=>[y.project,y.organization_access]),blocks:u.map(y=>y.uuid)});return r.then(y=>{this.dispatch(c(y))}).catch(y=>{throw this.dispatch(a(u.map(o=>o.uuid))),y}),[u,r]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid)),d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(r=>{this.dispatch(n(r))}).catch(r=>{throw this.dispatch(n(c)),r}),[d,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(d)),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 Bb extends q{constructor(){super(...arguments);m(this,"name","Project Attachment");m(this,"url","/project-attachments");m(this,"actions",{addOne:aT,addMany:cT,setOne:dT,setMany:rT,updateOne:uT,updateMany:lT,deleteOne:oT,deleteMany:hT,initialize:nT});m(this,"selectors",{selectById:yT,selectByIds:pT})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,project:e.project}}buildBulkPayload(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 Vb extends q{constructor(){super(...arguments);m(this,"name","Project File");m(this,"url","/project-files");m(this,"actions",{addOne:OT,addMany:PT,setOne:TT,setMany:IT,updateOne:FT,updateMany:bT,deleteOne:_T,deleteMany:gT,initialize:ST});m(this,"selectors",{selectById:wT,selectByIds:ET})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(c=>{var d;return((d=c.userReducer.currentUser)==null?void 0:d.uuid)??null}),a=new Date().toISOString();return P({...e,created_by:n,submitted_at:a})}buildPayload(e){return{uuid:e.uuid,submitted_at:e.submitted_at,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}}buildBulkPayload(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{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,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 vb extends St{constructor(){super(...arguments);m(this,"name","Project");m(this,"url","/projects");m(this,"actions",{addOne:DT,addMany:qT,setOne:jT,setMany:zT,updateOne:CT,updateMany:$T,deleteOne:UT,deleteMany:LT,initialize:vT});m(this,"selectors",{selectById:GT,selectByIds:HT})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:h.POST,url:`${this.url}/`,payload:R(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.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 zb extends w{constructor(){super(...arguments);m(this,"name","Team Membership");m(this,"url","/team-memberships");m(this,"actions",{addOne:ZT,addMany:JT,setOne:XT,setMany:QT,updateOne:xT,updateMany:eI,deleteOne:tI,deleteMany:sI,initialize:YT});m(this,"selectors",{selectById:aI,selectByIds:cI})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=P({...e,created_by:this.select(r=>{var y;return((y=r.userReducer.currentUser)==null?void 0:y.uuid)??null})});this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(d),blockers:[e.team],blocks:[d.uuid]});return u.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,u]}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:c}=this.actions,d=this.select(y=>{var o;return((o=y.userReducer.currentUser)==null?void 0:o.uuid)??null}),u=e.map(y=>P({...y,created_by:d}));this.dispatch(n(u));const r=this.enqueueRequest({description:S(h.POST,this.name,!0),method:h.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(y=>R(y))},blockers:u.map(y=>y.team),blocks:u.map(y=>y.uuid)});return r.then(y=>{this.dispatch(a(y))}).catch(()=>{this.dispatch(c(u.map(y=>y.uuid)))}),[u,r]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(a(d)),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 jb extends w{constructor(){super(...arguments);m(this,"name","Team");m(this,"url","/teams");m(this,"actions",{addOne:uI,addMany:lI,setOne:oI,setMany:hI,updateOne:mI,updateMany:yI,deleteOne:pI,deleteMany:AI,initialize:rI});m(this,"selectors",{selectById:SI,selectByIds:TI})}add(e){const{addOne:n,setOne:a,deleteOne:c}=this.actions,d=P({...e,submitted_at:new Date().toISOString(),created_by:this.select(r=>{var y;return((y=r.userReducer.currentUser)==null?void 0:y.uuid)??null})});this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.POST,this.name,!1),method:h.POST,url:`${this.url}/`,payload:R(d),blockers:[],blocks:[d.uuid]});return u.then(r=>{this.dispatch(a(r))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.select(a(e.uuid));if(!c)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const d={...c,...e};this.dispatch(n(d));const u=this.enqueueRequest({description:S(h.PATCH,this.name,!1),method:h.PATCH,url:`${this.url}/${e.uuid}/`,payload:R(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(r=>{this.dispatch(n(r))}).catch(()=>{this.dispatch(n(c))}),[d,u]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:c}=this.selectors,d=this.select(c(e));if(!d)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:S(h.DELETE,this.name,!1),method:h.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(a(d)),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 qb extends St{constructor(){super(...arguments);m(this,"name","User");m(this,"url","/user");m(this,"actions",{addOne:ln,addMany:sS,setOne:tS,setMany:eS,updateOne:nS,updateMany:iS,deleteOne:on,deleteMany:aS,initialize:xf});m(this,"selectors",{selectById:Ut,selectByIds:rS})}async list(e,n){const{organizationUuid:a,...c}=e,d=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:h.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 wn(t,s,e,n,a){const c=n instanceof st;c&&s.checkAuth!==!1&&await n.auth.prepareAuth();const d={queryParams:"",isAuthNeeded:!0},{s3url:u,payload:r,headers:y,method:o,queryParams:p,attachmentHash:T,isExternalUrl:E,isAuthNeeded:M,isResponseBlob:b}={...d,...s};let I=s.url;const g=T?await e.files.fetchCache(T):void 0;if(T&&!g)throw new Error(`Cannot upload file ${T} because it's not cached.`);!E&&!I.startsWith("http")&&(!I.startsWith("/")&&!I.startsWith("blob:")&&(I="/"+I),I=t+I);const V=$=>{if(T){if(!u)throw new Error(`No S3 URL for file ${T}`);if("warning"in u)throw new Error(`S3 URL warning for file ${T}`);if(!g)throw new Error(`No file for file ${T}`);const G=u.fields["x-amz-checksum-sha1"];if(!G)throw new Error(`No checksum for file ${T}`);return $.set("x-amz-checksum-sha1",G).field({...r,...u.fields}).attach("file",g)}return $.send(r)},v={[h.GET]:()=>b?nt.get(I.toString()).responseType("blob"):nt.get(I.toString()),[h.POST]:()=>{const $=nt.post(I.toString());return V($)},[h.PATCH]:()=>{const $=nt.patch(I.toString());return V($)},[h.PUT]:()=>{const $=nt.put(I.toString());return V($)},[h.DELETE]:()=>{const $=nt.delete(I.toString());return V($)}}[o];let D=v();const j=()=>{console.debug("aborting request:",s.url),D.abort()};if(a==null||a.addEventListener("abort",j),M&&c){const $=n.auth.getAuthHeader();D=D.set("Authorization",$)}y&&(D=D.set(y));try{return await D.query(p)}catch($){const G=DI($),Gt=G==null?void 0:G.status;if(c&&Gt===401)return await n.auth.handleUnauthorized(D,G),D.query(p);throw new L({response:G,innerError:$,discard:Mn.includes(Gt)})}finally{a==null||a.removeEventListener("abort",j)}}class Db{constructor(s){m(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new Wt,d={...e,uuid:e.uuid??xe.v4()};return wn(s,d,this,n,a).then(u=>{c.resolve(u.body)}).catch(u=>{u instanceof Error?c.reject(u):c.reject(new Error((u??rt).toString()))}),c}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(c=>{if(c instanceof L)throw c;return c})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof L)throw a;return a})}_enqueueRequest(s,e,n){const a=new Wt,c={...s,BASE_URL:e,serviceName:n},d=this.store.dispatch(US(c)),u=y=>{if(y)a.resolve(y.body);else{const o=new L({message:"Could not get a response from the server.",response:y,discard:!0});a.reject(o)}},r=y=>{y instanceof L?y.options.discard=!0:(console.error("Received an unexpected error while processing a request:",y,`
14
+ Converting error to APIError and discarding.`),y=new L({message:"An error occurred while processing the request.",innerError:y,discard:!0})),a.reject(y)};return d.then(u,r),a}async performPagination(s,e,n,a,c){const d={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:u}=d,r=[];let y=await this.performRequest(s,d,a,c);for(r.push(y.results);y.next;)y=await this.performRequest(s,{url:y.next,method:u},a,c),r.push(y.results);return r}}class ut{constructor(){m(this,"graph");m(this,"requestAttemptCounter");this.graph=new iO.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(u=>a.payload.blockers.includes(u))&&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 $I;function CI(t){$I=t}function lt(){return $I}let UI;function LI(t){UI=t}function kI(){return UI}let En=null;function it(){const t=lt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(En)return En;const s=t.getState().offline.outbox,e=ut._fromOutbox(s);return En=e,e}const $b=(t,s)=>{const e=new s(t);return LI(e),CI(t),e};class Cb{constructor(s){m(this,"_all");m(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 Bn{constructor(){m(this,"next");this.next=null}then(s){return new Cb(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=kI();if(!n)throw new Error("Client SDK not set");return zI(s,n)}}}class NI extends Bn{async run(s){return super.run(s)}}class GI extends Bn{async run(s){return super.run(s)}}const HI=new NI().then(new GI).compile();function WI(t){var s;return(s=HI[0])==null?void 0:s.run(t)}var KI=(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))(KI||{});i.ALL_MIDDLEWARE=HI,i.APIError=L,i.AgentService=gF,i.AssetAttachmentService=MF,i.AssetProcedureService=vF,i.AssetProcedureStepFieldValuesAttachmentService=DF,i.AssetProcedureStepFieldValuesService=$F,i.AssetProcedureStepFieldsAttachmentService=jF,i.AssetProcedureStepFieldsService=qF,i.AssetProcedureStepService=CF,i.AssetProcedureTypeAttachmentService=RF,i.AssetProcedureTypeFieldValuesAttachmentService=BF,i.AssetProcedureTypeFieldValuesService=VF,i.AssetProcedureTypeFieldsAttachmentService=wF,i.AssetProcedureTypeFieldsService=EF,i.AssetProcedureTypeService=zF,i.AssetService=UF,i.AssetStageCompletionService=LF,i.AssetStageService=kF,i.AssetStatusType=$n,i.AssetTypeAttachmentService=NF,i.AssetTypeFieldValuesAttachmentService=WF,i.AssetTypeFieldValuesService=KF,i.AssetTypeFieldsAttachmentService=GF,i.AssetTypeFieldsService=HF,i.AssetTypeIdentifierService=YF,i.AssetTypeIdentifierValueService=ZF,i.AssetTypeService=JF,i.AssetTypeStatusService=XF,i.AttachmentModel=Cn,i.BaseApiService=st,i.BaseModelApiService=St,i.BaseOfflineFileModelApiService=q,i.BaseOfflineModelApiService=w,i.BaseSDK=Db,i.COMMON_AUTO_FIELDS=Yn,i.DEFAULT_ISSUE_PRIORITY=nO,i.DEFAULT_PAGE_SIZE=bI,i.DISCARD_HTTP_STATUSES=Mn,i.DeferredPromise=Wt,i.DocumentAttachmentService=QF,i.DocumentService=xF,i.EMPTY_ARRAY=jn,i.EMPTY_OBJECT=qn,i.EmailVerificationService=eb,i.FILE_MODEL_DEFAULT_PAGE_SIZE=_I,i.FileService=tb,i.FormIdentifierService=sb,i.FormIdentifierValueService=ib,i.FormRevisionAttachmentService=nb,i.FormRevisionService=ab,i.FormService=cb,i.FormSubmissionAttachmentService=db,i.FormSubmissionService=rb,i.GeoImageService=ub,i.HttpMethod=h,i.IssueAssociationService=lb,i.IssueAttachmentService=ob,i.IssueCommentAttachmentService=hb,i.IssueCommentService=mb,i.IssuePriority=Ht,i.IssueService=yb,i.IssueStatusType=Un,i.IssueTypeAttachmentService=pb,i.IssueTypeFieldValuesAttachmentService=Sb,i.IssueTypeFieldValuesService=Tb,i.IssueTypeFieldsAttachmentService=Ab,i.IssueTypeFieldsService=fb,i.IssueTypeIdentifierService=Ib,i.IssueTypeIdentifierValueService=Ob,i.IssueTypeService=Pb,i.IssueTypeStatusService=Fb,i.IssueUpdateChange=U,i.IssueUpdateService=bb,i.JWTService=Mb,i.MAX_SERVICE_BATCH_SIZE=Xe,i.OUTBOX_RETRY_DELAY=Ln,i.OfflineAnalyticsMiddleware=NI,i.OfflineMiddleware=Bn,i.OrganizationAccessLevel=Dn,i.OrganizationAccessService=Rb,i.OrganizationService=wb,i.OutboxCoordinator=ut,i.ProjectAccessService=Eb,i.ProjectAttachmentService=Bb,i.ProjectFileService=Vb,i.ProjectService=vb,i.RESET_ORGANIZATION_STATE=_,i.RESET_PROJECT_STATE=z,i.RESET_STATE=O,i.RateLimitingMiddleware=GI,i.SelectorBuilder=MO,i.TeamMembershipService=zb,i.TeamService=jb,i.UNKNOWN_ERROR_MESSAGE=rt,i.UserService=qb,i.VERSION_REDUCER_KEY=ht,i.VerificationCodeType=KI,i._setLatestRetryTime=kS,i.addAsset=br,i.addAssetAttachment=ua,i.addAssetAttachments=ts,i.addAssetProcedure=Dc,i.addAssetProcedureStep=hr,i.addAssetProcedureStepFieldValues=Jd,i.addAssetProcedureStepFieldValuesAttachment=Dd,i.addAssetProcedureStepFieldValuesAttachments=bs,i.addAssetProcedureStepFieldValuesMany=Xd,i.addAssetProcedureStepFields=bd,i.addAssetProcedureStepFieldsAttachment=ld,i.addAssetProcedureStepFieldsAttachments=od,i.addAssetProcedureStepFieldsMany=_d,i.addAssetProcedureSteps=mr,i.addAssetProcedureType=Jc,i.addAssetProcedureTypeAttachment=Pa,i.addAssetProcedureTypeAttachments=Fa,i.addAssetProcedureTypeFieldValues=Fc,i.addAssetProcedureTypeFieldValuesAttachment=lc,i.addAssetProcedureTypeFieldValuesAttachments=ls,i.addAssetProcedureTypeFieldValuesMany=bc,i.addAssetProcedureTypeFields=Ja,i.addAssetProcedureTypeFieldsAttachment=qa,i.addAssetProcedureTypeFieldsAttachments=Da,i.addAssetProcedureTypeFieldsMany=Xa,i.addAssetProcedureTypes=Xc,i.addAssetProcedures=ps,i.addAssetStage=eu,i.addAssetStageCompletion=Dr,i.addAssetStageCompletions=$r,i.addAssetStages=tu,i.addAssetType=to,i.addAssetTypeAttachment=ou,i.addAssetTypeAttachments=$s,i.addAssetTypeFieldValues=ol,i.addAssetTypeFieldValuesAttachment=Qu,i.addAssetTypeFieldValuesAttachments=Hs,i.addAssetTypeFieldValuesMany=hl,i.addAssetTypeFields=$u,i.addAssetTypeFieldsAttachment=bu,i.addAssetTypeFieldsAttachments=_u,i.addAssetTypeFieldsMany=Cu,i.addAssetTypeIdentifier=_l,i.addAssetTypeIdentifierValue=Cl,i.addAssetTypeIdentifierValues=Ul,i.addAssetTypeIdentifiers=gl,i.addAssetTypeStatus=yo,i.addAssetTypeStatuses=po,i.addAssetTypes=so,i.addAssets=Bs,i.addConversation=ia,i.addConversations=RO,i.addDocument=Ho,i.addDocumentAttachment=Bo,i.addDocumentAttachments=Vo,i.addDocuments=Wo,i.addForm=um,i.addFormIdentifier=rh,i.addFormIdentifierValue=Ph,i.addFormIdentifierValues=Fh,i.addFormIdentifiers=uh,i.addFormRevision=Jh,i.addFormRevisionAttachment=qh,i.addFormRevisionAttachments=Dh,i.addFormRevisions=hi,i.addFormSubmission=Dm,i.addFormSubmissionAttachment=Fm,i.addFormSubmissionAttachments=fi,i.addFormSubmissions=et,i.addForms=lm,i.addGeoImage=ey,i.addGeoImages=ty,i.addIssue=yp,i.addIssueAssociation=Ay,i.addIssueAssociations=at,i.addIssueAttachment=Ry,i.addIssueAttachments=Mi,i.addIssueComment=tp,i.addIssueCommentAttachment=Ly,i.addIssueCommentAttachments=ky,i.addIssueComments=sp,i.addIssueType=ff,i.addIssueTypeAttachment=Mp,i.addIssueTypeAttachments=Rp,i.addIssueTypeFieldValues=tA,i.addIssueTypeFieldValuesAttachment=wA,i.addIssueTypeFieldValuesAttachments=Gi,i.addIssueTypeFieldValuesMany=sA,i.addIssueTypeFields=pA,i.addIssueTypeFieldsAttachment=Lp,i.addIssueTypeFieldsAttachments=kp,i.addIssueTypeFieldsMany=AA,i.addIssueTypeIdentifier=kA,i.addIssueTypeIdentifierValue=sf,i.addIssueTypeIdentifierValues=nf,i.addIssueTypeIdentifiers=NA,i.addIssueTypeStatus=Bf,i.addIssueTypeStatuses=Vf,i.addIssueTypes=Sf,i.addIssueUpdate=sn,i.addIssueUpdates=nn,i.addIssues=ji,i.addOrganization=RS,i.addOrganizationAccess=oS,i.addOrganizationAccesses=hS,i.addOrganizations=MS,i.addProject=DT,i.addProjectAccess=WS,i.addProjectAccesses=KS,i.addProjectAttachment=aT,i.addProjectAttachments=cT,i.addProjectFile=OT,i.addProjectFiles=PT,i.addProjects=qT,i.addTeam=uI,i.addTeamMembership=ZT,i.addTeamMemberships=JT,i.addTeams=lI,i.addUser=ln,i.addUsers=sS,i.agentsReducer=ca,i.agentsSlice=Qt,i.areArraysEqual=rO,i.assetAttachmentReducer=Ta,i.assetAttachmentSlice=es,i.assetProcedureReducer=Nc,i.assetProcedureSlice=ys,i.assetProcedureStepFieldValuesAttachmentReducer=Kd,i.assetProcedureStepFieldValuesAttachmentSlice=Fs,i.assetProcedureStepFieldValuesReducer=dr,i.assetProcedureStepFieldValuesSlice=Ms,i.assetProcedureStepFieldsAttachmentReducer=Od,i.assetProcedureStepFieldsAttachmentSlice=Ts,i.assetProcedureStepFieldsReducer=zd,i.assetProcedureStepFieldsSlice=Os,i.assetProcedureStepReducer=Sr,i.assetProcedureStepSlice=Rs,i.assetProcedureTypeAttachmentReducer=Ea,i.assetProcedureTypeAttachmentSlice=ns,i.assetProcedureTypeFieldValuesAttachmentReducer=Ac,i.assetProcedureTypeFieldValuesAttachmentSlice=us,i.assetProcedureTypeFieldValuesReducer=Bc,i.assetProcedureTypeFieldValuesSlice=ms,i.assetProcedureTypeFieldsAttachmentReducer=Ga,i.assetProcedureTypeFieldsAttachmentSlice=cs,i.assetProcedureTypeFieldsReducer=nc,i.assetProcedureTypeFieldsSlice=rs,i.assetProcedureTypeReducer=nd,i.assetProcedureTypeSlice=fs,i.assetReducer=zr,i.assetSlice=Es,i.assetStageCompletionReducer=Hr,i.assetStageCompletionSlice=vs,i.assetStageReducer=cu,i.assetStageSlice=zs,i.assetTypeAttachmentReducer=Ou,i.assetTypeAttachmentSlice=Ds,i.assetTypeFieldValuesAttachmentReducer=rl,i.assetTypeFieldValuesAttachmentSlice=Gs,i.assetTypeFieldValuesReducer=Pl,i.assetTypeFieldValuesSlice=Ys,i.assetTypeFieldsAttachmentReducer=ju,i.assetTypeFieldsAttachmentSlice=Ls,i.assetTypeFieldsReducer=Zu,i.assetTypeFieldsSlice=Ns,i.assetTypeIdentifierReducer=ql,i.assetTypeIdentifierSlice=Zs,i.assetTypeIdentifierValueReducer=Jl,i.assetTypeIdentifierValueSlice=Xs,i.assetTypeReducer=oo,i.assetTypeSlice=Qs,i.assetTypeStatusReducer=_o,i.assetTypeStatusSlice=ei,i.assetTypeStatusSortFn=Xn,i.authReducer=Ro,i.authSlice=Bt,i.baseReducer=oF,i.baseReducers=gn,i.clearTokens=hP,i.createModelAdapter=F,i.createOfflineAction=$S,i.createPayload=R,i.createSelectionAdapter=aO,i.deleteAsset=Mr,i.deleteAssetAttachment=ya,i.deleteAssetAttachments=ss,i.deleteAssetProcedure=Uc,i.deleteAssetProcedureStep=Ar,i.deleteAssetProcedureStepFieldValues=sr,i.deleteAssetProcedureStepFieldValuesAttachment=kd,i.deleteAssetProcedureStepFieldValuesAttachments=_s,i.deleteAssetProcedureStepFieldValuesMany=ir,i.deleteAssetProcedureStepFields=Ed,i.deleteAssetProcedureStepFieldsAttachment=Ad,i.deleteAssetProcedureStepFieldsAttachments=fd,i.deleteAssetProcedureStepFieldsMany=Bd,i.deleteAssetProcedureSteps=fr,i.deleteAssetProcedureType=ed,i.deleteAssetProcedureTypeAttachment=Ra,i.deleteAssetProcedureTypeAttachments=wa,i.deleteAssetProcedureTypeFieldValues=wc,i.deleteAssetProcedureTypeFieldValuesAttachment=pc,i.deleteAssetProcedureTypeFieldValuesAttachments=os,i.deleteAssetProcedureTypeFieldValuesMany=Ec,i.deleteAssetProcedureTypeFields=sc,i.deleteAssetProcedureTypeFieldsAttachment=ka,i.deleteAssetProcedureTypeFieldsAttachments=Na,i.deleteAssetProcedureTypeFieldsMany=ic,i.deleteAssetProcedureTypes=td,i.deleteAssetProcedures=As,i.deleteAssetStage=nu,i.deleteAssetStageCompletion=Nr,i.deleteAssetStageCompletions=Gr,i.deleteAssetStages=au,i.deleteAssetType=ao,i.deleteAssetTypeAttachment=Au,i.deleteAssetTypeAttachments=Cs,i.deleteAssetTypeFieldValues=fl,i.deleteAssetTypeFieldValuesAttachment=il,i.deleteAssetTypeFieldValuesAttachments=Ws,i.deleteAssetTypeFieldValuesMany=Sl,i.deleteAssetTypeFields=Gu,i.deleteAssetTypeFieldsAttachment=Eu,i.deleteAssetTypeFieldsAttachments=Bu,i.deleteAssetTypeFieldsMany=Hu,i.deleteAssetTypeIdentifier=Bl,i.deleteAssetTypeIdentifierValue=Hl,i.deleteAssetTypeIdentifierValues=Wl,i.deleteAssetTypeIdentifiers=Vl,i.deleteAssetTypeStatus=Io,i.deleteAssetTypeStatuses=Oo,i.deleteAssetTypes=co,i.deleteAssets=Vs,i.deleteConversation=BO,i.deleteConversations=VO,i.deleteDocument=Xo,i.deleteDocumentAttachment=Do,i.deleteDocumentAttachments=$o,i.deleteDocuments=Qo,i.deleteForm=pm,i.deleteFormIdentifier=yh,i.deleteFormIdentifierValue=Rh,i.deleteFormIdentifierValues=wh,i.deleteFormIdentifiers=ph,i.deleteFormRevision=tm,i.deleteFormRevisionAttachment=kh,i.deleteFormRevisionAttachments=Nh,i.deleteFormRevisions=mi,i.deleteFormSubmission=Um,i.deleteFormSubmissionAttachment=Rm,i.deleteFormSubmissionAttachments=Si,i.deleteFormSubmissions=tt,i.deleteForms=Am,i.deleteGeoImage=ny,i.deleteGeoImages=ay,i.deleteIssue=Tp,i.deleteIssueAssociation=fy,i.deleteIssueAssociations=ct,i.deleteIssueAttachment=vy,i.deleteIssueAttachments=Ri,i.deleteIssueComment=dp,i.deleteIssueCommentAttachment=Ky,i.deleteIssueCommentAttachments=Yy,i.deleteIssueComments=rp,i.deleteIssueType=Ff,i.deleteIssueTypeAttachment=vp,i.deleteIssueTypeAttachments=zp,i.deleteIssueTypeFieldValues=dA,i.deleteIssueTypeFieldValuesAttachment=zA,i.deleteIssueTypeFieldValuesAttachments=Hi,i.deleteIssueTypeFieldValuesMany=rA,i.deleteIssueTypeFields=OA,i.deleteIssueTypeFieldsAttachment=Kp,i.deleteIssueTypeFieldsAttachments=Yp,i.deleteIssueTypeFieldsMany=PA,i.deleteIssueTypeIdentifier=YA,i.deleteIssueTypeIdentifierValue=uf,i.deleteIssueTypeIdentifierValues=lf,i.deleteIssueTypeIdentifiers=ZA,i.deleteIssueTypeStatus=Df,i.deleteIssueTypeStatuses=$f,i.deleteIssueTypes=bf,i.deleteIssueUpdate=an,i.deleteIssueUpdates=cn,i.deleteIssues=qi,i.deleteOrganization=BS,i.deleteOrganizationAccess=fS,i.deleteOrganizationAccesses=SS,i.deleteOrganizations=VS,i.deleteProject=UT,i.deleteProjectAccess=QS,i.deleteProjectAccesses=xS,i.deleteProjectAttachment=oT,i.deleteProjectAttachments=hT,i.deleteProjectFile=_T,i.deleteProjectFiles=gT,i.deleteProjects=LT,i.deleteTeam=pI,i.deleteTeamMembership=tI,i.deleteTeamMemberships=sI,i.deleteTeams=AI,i.deleteUser=on,i.deleteUsers=aS,i.dequeue=vI,i.discard=jI,i.documentAttachmentReducer=ko,i.documentAttachmentSlice=si,i.documentSlice=ni,i.documentsReducer=xo,i.downloadFile=AO,i.emailRegex=bO,i.enqueue=VI,i.enqueueRequest=US,i.extractResponseFromError=DI,i.fallbackToEmptyArray=f,i.fallbackToEmptyObject=It,i.fetchBlobFromObjectUrl=Gn,i.fetchFileFromObjectUrl=Hn,i.fileReducer=ah,i.fileSlice=ci,i.formIdentifierReducer=Th,i.formIdentifierSlice=di,i.formIdentifierValueReducer=vh,i.formIdentifierValueSlice=ui,i.formReducer=fm,i.formRevisionAttachmentReducer=Kh,i.formRevisionAttachmentSlice=li,i.formRevisionReducer=cm,i.formRevisionsSlice=oi,i.formSlice=yi,i.formSubmissionAttachmentReducer=Vm,i.formSubmissionAttachmentSlice=Ai,i.formSubmissionReducer=Zm,i.formSubmissionSlice=Pi,i.geoImageReducer=uy,i.geoImageSlice=Fi,i.getAssetProcedureStepSubTree=Jn,i.getAssetProcedureStepTrees=_O,i.getClientSDK=kI,i.getClientStore=lt,i.getDocumentSubTree=ea,i.getDocumentTrees=gO,i.getFileExtension=Nn,i.getLocalDateString=kn,i.getLocalRelativeDateString=hO,i.getOutboxCoordinator=it,i.getRenamedFile=pO,i.getRequestDescription=S,i.getS3FileKey=yO,i.hashFile=Ot,i.initSDK=$b,i.initializeAssetAttachments=ra,i.initializeAssetProcedureStepFieldValues=Zd,i.initializeAssetProcedureStepFieldValuesAttachments=qd,i.initializeAssetProcedureStepFields=Fd,i.initializeAssetProcedureStepFieldsAttachments=ud,i.initializeAssetProcedureSteps=ur,i.initializeAssetProcedureTypeAttachments=Oa,i.initializeAssetProcedureTypeFieldValues=Pc,i.initializeAssetProcedureTypeFieldValuesAttachments=uc,i.initializeAssetProcedureTypeFields=Za,i.initializeAssetProcedureTypeFieldsAttachments=ja,i.initializeAssetProcedureTypes=Zc,i.initializeAssetProcedures=qc,i.initializeAssetStageCompletions=qr,i.initializeAssetStages=Xr,i.initializeAssetTypeAttachments=lu,i.initializeAssetTypeFieldValues=ll,i.initializeAssetTypeFieldValuesAttachments=Xu,i.initializeAssetTypeFields=Du,i.initializeAssetTypeFieldsAttachments=Fu,i.initializeAssetTypeIdentifierValues=$l,i.initializeAssetTypeIdentifiers=bl,i.initializeAssetTypeStatuses=mo,i.initializeAssetTypes=Ql,i.initializeAssets=Fr,i.initializeConversations=sa,i.initializeDocumentAttachments=Eo,i.initializeDocuments=Go,i.initializeFormIdentifierValues=Oh,i.initializeFormIdentifiers=dh,i.initializeFormRevisionAttachments=jh,i.initializeFormRevisions=Zh,i.initializeFormSubmissionAttachments=Pm,i.initializeFormSubmissions=zm,i.initializeForms=rm,i.initializeGeoImages=Xm,i.initializeIssueAssociations=oy,i.initializeIssueAttachments=My,i.initializeIssueCommentAttachments=Uy,i.initializeIssueComments=ep,i.initializeIssueTypeAttachments=gp,i.initializeIssueTypeFieldValues=eA,i.initializeIssueTypeFieldValuesAttachments=RA,i.initializeIssueTypeFields=yA,i.initializeIssueTypeFieldsAttachments=Up,i.initializeIssueTypeIdentifierValues=tf,i.initializeIssueTypeIdentifiers=LA,i.initializeIssueTypeStatuses=Ef,i.initializeIssueTypes=Af,i.initializeIssueUpdates=Nf,i.initializeIssues=mp,i.initializeOrganizationAccesses=lS,i.initializeOrganizations=bS,i.initializeProjectAccesses=HS,i.initializeProjectAttachments=nT,i.initializeProjectFiles=ST,i.initializeProjects=vT,i.initializeTeamMemberships=YT,i.initializeTeams=rI,i.initializeUsers=xf,i.isImageFile=fO,i.isObjectUrl=Wn,i.isToday=oO,i.issueAssociationReducer=_y,i.issueAssociationSlice=_i,i.issueAttachmentReducer=$y,i.issueAttachmentSlice=gi,i.issueCommentAttachmentReducer=Qy,i.issueCommentAttachmentSlice=Ei,i.issueCommentReducer=op,i.issueCommentSlice=Vi,i.issueReducer=bp,i.issueSlice=zi,i.issueTypeAttachmentReducer=$p,i.issueTypeAttachmentSlice=Di,i.issueTypeFieldValuesAttachmentReducer=CA,i.issueTypeFieldValuesAttachmentSlice=Ni,i.issueTypeFieldValuesReducer=hA,i.issueTypeFieldValuesSlice=Li,i.issueTypeFieldsAttachmentReducer=Qp,i.issueTypeFieldsAttachmentSlice=Ci,i.issueTypeFieldsReducer=gA,i.issueTypeFieldsSlice=ki,i.issueTypeIdentifierReducer=xA,i.issueTypeIdentifierSlice=Ki,i.issueTypeIdentifierValueReducer=yf,i.issueTypeIdentifierValueSlice=Zi,i.issueTypeReducer=Rf,i.issueTypeSlice=Ji,i.issueTypeStatusReducer=Lf,i.issueTypeStatusSlice=Qi,i.issueTypeStatusSortFn=Qn,i.issueUpdateReducer=Xf,i.issueUpdateSlice=tn,i.logOnlyOnce=SO,i.markAsDeleted=LS,i.markForDeletion=XP,i.memoize=Yt,i.organizationAccessReducer=TS,i.organizationAccessSlice=mn,i.organizationReducer=DS,i.organizationSlice=yn,i.outboxReducer=NS,i.outboxSlice=pn,i.overmapEnhancer=IF,i.overmapReducer=hF,i.overmapReducers=FI,i.performRequest=wn,i.performRequestFromAction=zI,i.projectAccessReducer=eT,i.projectAccessSlice=An,i.projectAttachmentReducer=AT,i.projectAttachmentSlice=Sn,i.projectFileReducer=BT,i.projectFileSlice=In,i.projectReducer=kT,i.projectSlice=On,i.rehydratedReducer=WT,i.rehydratedSlice=Pn,i.restructureSelectorWithArgs=A,i.runMiddleware=WI,i.selectAccessToken=mP,i.selectAccessesByUserOfProject=xP,i.selectAccessibleProjects=sF,i.selectActiveOrganizationAccess=KP,i.selectAllDocumentAttachments=ii,i.selectAssetAttachmentById=Aa,i.selectAssetAttachmentMapping=pa,i.selectAssetAttachments=is,i.selectAssetAttachmentsByIds=fa,i.selectAssetById=Vr,i.selectAssetProcedureById=Wc,i.selectAssetProcedureStepById=Tr,i.selectAssetProcedureStepFieldValues=mt,i.selectAssetProcedureStepFieldValuesAttachmentById=Gd,i.selectAssetProcedureStepFieldValuesAttachments=gs,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Hd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=Nd,i.selectAssetProcedureStepFieldValuesById=ar,i.selectAssetProcedureStepFieldValuesByIds=cr,i.selectAssetProcedureStepFieldValuesMapping=nr,i.selectAssetProcedureStepFieldValuesOfAsset=KO,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=YO,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=ZO,i.selectAssetProcedureStepFields=gt,i.selectAssetProcedureStepFieldsAttachmentById=Td,i.selectAssetProcedureStepFieldsAttachments=Is,i.selectAssetProcedureStepFieldsAttachmentsByIds=Id,i.selectAssetProcedureStepFieldsAttachmentsMapping=Sd,i.selectAssetProcedureStepFieldsById=Vd,i.selectAssetProcedureStepFieldsByIds=vd,i.selectAssetProcedureStepFieldsMapping=Ps,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=GO,i.selectAssetProcedureStepMapping=Mt,i.selectAssetProcedureSteps=ws,i.selectAssetProcedureStepsByIds=Ir,i.selectAssetProcedureStepsMappingOfAssetProcedureType=JO,i.selectAssetProcedureStepsOfAssetProcedureType=XO,i.selectAssetProcedureTypeAttachmentById=Va,i.selectAssetProcedureTypeAttachmentMapping=Ba,i.selectAssetProcedureTypeAttachments=as,i.selectAssetProcedureTypeAttachmentsByIds=va,i.selectAssetProcedureTypeById=cd,i.selectAssetProcedureTypeFieldValues=bt,i.selectAssetProcedureTypeFieldValuesAttachmentById=Sc,i.selectAssetProcedureTypeFieldValuesAttachments=hs,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=Tc,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=fc,i.selectAssetProcedureTypeFieldValuesById=vc,i.selectAssetProcedureTypeFieldValuesByIds=zc,i.selectAssetProcedureTypeFieldValuesMapping=Vc,i.selectAssetProcedureTypeFieldValuesOfAsset=CO,i.selectAssetProcedureTypeFields=Ft,i.selectAssetProcedureTypeFieldsAttachmentById=Wa,i.selectAssetProcedureTypeFieldsAttachments=ds,i.selectAssetProcedureTypeFieldsAttachmentsByIds=Ka,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Ha,i.selectAssetProcedureTypeFieldsById=cc,i.selectAssetProcedureTypeFieldsByIds=dc,i.selectAssetProcedureTypeFieldsMapping=ac,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=DO,i.selectAssetProcedureTypes=Ss,i.selectAssetProcedureTypesByIds=dd,i.selectAssetProcedureTypesMapping=ad,i.selectAssetProcedureTypesOfOrganization=kO,i.selectAssetProcedures=_t,i.selectAssetProceduresByIds=Kc,i.selectAssetProceduresMapping=Gc,i.selectAssetProceduresOfAssetProcedureType=Hc,i.selectAssetProceduresOfAssetType=LO,i.selectAssetStageById=du,i.selectAssetStageCompletionById=Yr,i.selectAssetStageCompletionMapping=Wr,i.selectAssetStageCompletions=Kr,i.selectAssetStageCompletionsByIds=Zr,i.selectAssetStages=qs,i.selectAssetStagesByIds=ru,i.selectAssetStagesMappingOfAssetProcedureType=xO,i.selectAssetStagesOfAssetProcedureType=eP,i.selectAssetTypeAttachmentById=Su,i.selectAssetTypeAttachmentMapping=fu,i.selectAssetTypeAttachments=Us,i.selectAssetTypeAttachmentsByIds=Tu,i.selectAssetTypeById=uo,i.selectAssetTypeFieldValues=wt,i.selectAssetTypeFieldValuesAttachmentById=al,i.selectAssetTypeFieldValuesAttachments=Ks,i.selectAssetTypeFieldValuesAttachmentsByIds=cl,i.selectAssetTypeFieldValuesAttachmentsMapping=nl,i.selectAssetTypeFieldValuesById=Il,i.selectAssetTypeFieldValuesByIds=Ol,i.selectAssetTypeFieldValuesMapping=Tl,i.selectAssetTypeFieldValuesOfAsset=nP,i.selectAssetTypeFields=yt,i.selectAssetTypeFieldsAttachmentById=vu,i.selectAssetTypeFieldsAttachments=ks,i.selectAssetTypeFieldsAttachmentsByIds=zu,i.selectAssetTypeFieldsAttachmentsMapping=Vu,i.selectAssetTypeFieldsById=Ku,i.selectAssetTypeFieldsByIds=Yu,i.selectAssetTypeFieldsMapping=Wu,i.selectAssetTypeFieldsOfAssetType=sP,i.selectAssetTypeIdentifierById=zl,i.selectAssetTypeIdentifierMapping=vl,i.selectAssetTypeIdentifierValueById=Yl,i.selectAssetTypeIdentifierValueMapping=Kl,i.selectAssetTypeIdentifierValues=Et,i.selectAssetTypeIdentifierValuesByIds=Zl,i.selectAssetTypeIdentifierValuesOfAsset=dP,i.selectAssetTypeIdentifierValuesOfIdentifier=rP,i.selectAssetTypeIdentifiers=Js,i.selectAssetTypeIdentifiersByIds=jl,i.selectAssetTypeIdentifiersOfAssetType=cP,i.selectAssetTypeStatusById=Fo,i.selectAssetTypeStatusMapping=Po,i.selectAssetTypeStatuses=ti,i.selectAssetTypeStatusesByIds=bo,i.selectAssetTypeStatusesOfAssetType=lP,i.selectAssetTypeValuesOfAssetType=aP,i.selectAssetTypes=xs,i.selectAssetTypesByIds=lo,i.selectAssetTypesMapping=ro,i.selectAssetTypesOfOrganization=uP,i.selectAssets=Rt,i.selectAssetsByIds=vr,i.selectAssetsMapping=Er,i.selectAssetsOfAssetType=Br,i.selectAssetsOfProject=QO,i.selectAttachmentsOfAsset=Sa,i.selectAttachmentsOfAssetProcedureStepFieldValues=Wd,i.selectAttachmentsOfAssetProcedureStepFields=NO,i.selectAttachmentsOfAssetProcedureType=jO,i.selectAttachmentsOfAssetProcedureTypeFieldValues=Ic,i.selectAttachmentsOfAssetProcedureTypeFields=qO,i.selectAttachmentsOfAssetType=Iu,i.selectAttachmentsOfAssetTypeFieldValues=dl,i.selectAttachmentsOfAssetTypeFields=tP,i.selectAttachmentsOfDocument=pP,i.selectAttachmentsOfFormRevision=bP,i.selectAttachmentsOfFormSubmission=Bm,i.selectAttachmentsOfIssue=jy,i.selectAttachmentsOfIssueComment=VP,i.selectAttachmentsOfIssueType=jP,i.selectAttachmentsOfIssueTypeFieldValues=$A,i.selectAttachmentsOfIssueTypeFields=qP,i.selectAttachmentsOfProject=tF,i.selectCommentsOfIssue=vP,i.selectConversation=zO,i.selectConversationMapping=xt,i.selectConversations=vO,i.selectCurrentUser=dS,i.selectDeletedRequests=ZP,i.selectDescendantsOfAssetProcedureStep=Or,i.selectDescendantsOfDocument=sh,i.selectDocumentAttachmentById=Uo,i.selectDocumentAttachmentMapping=Co,i.selectDocumentAttachmentsByIds=Lo,i.selectDocumentById=eh,i.selectDocuments=Vt,i.selectDocumentsByIds=th,i.selectDocumentsMapping=ai,i.selectFieldValuesOfAssetProcedure=UO,i.selectFormById=Tm,i.selectFormIdentifierById=fh,i.selectFormIdentifierMapping=Ah,i.selectFormIdentifierValueById=Bh,i.selectFormIdentifierValueMapping=Eh,i.selectFormIdentifierValues=vt,i.selectFormIdentifierValuesByIds=Vh,i.selectFormIdentifierValuesOfFormSubmission=PP,i.selectFormIdentifierValuesOfIdentifier=FP,i.selectFormIdentifiers=ri,i.selectFormIdentifiersByIds=Sh,i.selectFormIdentifiersOfForm=OP,i.selectFormMapping=Sm,i.selectFormRevisionAttachmentById=Hh,i.selectFormRevisionAttachments=Gh,i.selectFormRevisionAttachmentsByIds=Wh,i.selectFormRevisionAttachmentsMapping=zt,i.selectFormRevisionById=im,i.selectFormRevisionMapping=sm,i.selectFormRevisions=jt,i.selectFormRevisionsByIds=nm,i.selectFormRevisionsOfForm=am,i.selectFormSubmissionAttachemntsByIds=Oi,i.selectFormSubmissionAttachmentById=wm,i.selectFormSubmissionAttachments=Ii,i.selectFormSubmissionAttachmentsByIds=Em,i.selectFormSubmissionAttachmentsMapping=Ti,i.selectFormSubmissionById=km,i.selectFormSubmissions=N,i.selectFormSubmissionsByIds=Nm,i.selectFormSubmissionsMapping=Lm,i.selectFormSubmissionsOfAsset=Km,i.selectFormSubmissionsOfAssets=Ym,i.selectFormSubmissionsOfForm=Gm,i.selectFormSubmissionsOfIssue=Hm,i.selectFormSubmissionsOfIssues=Wm,i.selectFormSubmissionsOfOrganization=MP,i.selectFormSubmissionsOfOrganizationAndForm=EP,i.selectFormSubmissionsOfProject=RP,i.selectFormSubmissionsOfProjectAndForm=wP,i.selectForms=pi,i.selectFormsByIds=Im,i.selectFormsOfOrganization=gP,i.selectGeoImageById=dy,i.selectGeoImageMapping=cy,i.selectGeoImages=bi,i.selectGeoImagesByIds=ry,i.selectGeoImagesOfProject=BP,i.selectIsLoggedIn=yP,i.selectIssueAssociationById=Ty,i.selectIssueAssociationMapping=Sy,i.selectIssueAssociations=dt,i.selectIssueAssociationsByIds=Iy,i.selectIssueAssociationsOfAsset=Fy,i.selectIssueAssociationsOfAssets=by,i.selectIssueAssociationsOfIssue=Py,i.selectIssueAssociationsOfIssues=Oy,i.selectIssueAttachmentById=qy,i.selectIssueAttachmentMapping=zy,i.selectIssueAttachments=wi,i.selectIssueAttachmentsByIds=Dy,i.selectIssueById=Op,i.selectIssueCommentAttachmentById=Jy,i.selectIssueCommentAttachmentMapping=Zy,i.selectIssueCommentAttachments=Bi,i.selectIssueCommentAttachmentsByIds=Xy,i.selectIssueCommentById=up,i.selectIssueCommentMapping=vi,i.selectIssueCommentsByIds=lp,i.selectIssueMapping=Ip,i.selectIssueTypeAttachmentById=qp,i.selectIssueTypeAttachmentMapping=jp,i.selectIssueTypeAttachments=$i,i.selectIssueTypeAttachmentsByIds=Dp,i.selectIssueTypeById=gf,i.selectIssueTypeFieldValues=Dt,i.selectIssueTypeFieldValuesAttachmentById=qA,i.selectIssueTypeFieldValuesAttachments=Wi,i.selectIssueTypeFieldValuesAttachmentsByIds=DA,i.selectIssueTypeFieldValuesAttachmentsMapping=jA,i.selectIssueTypeFieldValuesById=lA,i.selectIssueTypeFieldValuesByIds=oA,i.selectIssueTypeFieldValuesMapping=uA,i.selectIssueTypeFieldValuesOfIssue=DP,i.selectIssueTypeFields=pt,i.selectIssueTypeFieldsAttachmentById=Jp,i.selectIssueTypeFieldsAttachments=Ui,i.selectIssueTypeFieldsAttachmentsByIds=Xp,i.selectIssueTypeFieldsAttachmentsMapping=Zp,i.selectIssueTypeFieldsById=bA,i.selectIssueTypeFieldsByIds=_A,i.selectIssueTypeFieldsMapping=FA,i.selectIssueTypeFieldsOfIssueType=$P,i.selectIssueTypeIdentifierById=XA,i.selectIssueTypeIdentifierMapping=JA,i.selectIssueTypeIdentifierValueById=hf,i.selectIssueTypeIdentifierValueMapping=of,i.selectIssueTypeIdentifierValues=$t,i.selectIssueTypeIdentifierValuesByIds=mf,i.selectIssueTypeIdentifierValuesOfIdentifier=NP,i.selectIssueTypeIdentifierValuesOfIssue=kP,i.selectIssueTypeIdentifiers=Yi,i.selectIssueTypeIdentifiersByIds=QA,i.selectIssueTypeIdentifiersOfIssueType=LP,i.selectIssueTypeMapping=_f,i.selectIssueTypeStatusById=en,i.selectIssueTypeStatusMapping=Cf,i.selectIssueTypeStatuses=xi,i.selectIssueTypeStatusesByIds=Uf,i.selectIssueTypeStatusesOfIssueType=HP,i.selectIssueTypeValuesOfIssueType=UP,i.selectIssueTypes=Xi,i.selectIssueTypesByIds=Mf,i.selectIssueTypesOfOrganization=GP,i.selectIssueUpdateById=Yf,i.selectIssueUpdateMapping=dn,i.selectIssueUpdates=rn,i.selectIssueUpdatesByIds=Zf,i.selectIssueUpdatesOfIssue=Jf,i.selectIssues=qt,i.selectIssuesByIds=Pp,i.selectIssuesOfIssueType=Fp,i.selectIssuesOfProject=zP,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=HO,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=$O,i.selectLatestAssetTypeFieldsOfAssetType=iP,i.selectLatestFieldsByAssetProcedureStep=WO,i.selectLatestFormRevisionOfForm=_P,i.selectLatestIssueTypeFieldsOfIssueType=CP,i.selectLatestRetryTime=JP,i.selectMembershipsByUserOfTeam=dF,i.selectOrganizationAccessById=IS,i.selectOrganizationAccessMapping=Lt,i.selectOrganizationAccessUserMapping=PS,i.selectOrganizationAccessesByIds=OS,i.selectOrganizationById=jS,i.selectOrganizationDocuments=fP,i.selectOrganizations=zS,i.selectOrganizationsByIds=qS,i.selectOrganizationsMapping=vS,i.selectProjectAccessById=tT,i.selectProjectAccessMapping=fn,i.selectProjectAccesses=At,i.selectProjectAccessesByIds=sT,i.selectProjectAccessesOfProject=QP,i.selectProjectAttachmentById=yT,i.selectProjectAttachmentMapping=mT,i.selectProjectAttachments=Tn,i.selectProjectAttachmentsByIds=pT,i.selectProjectById=GT,i.selectProjectDocuments=AP,i.selectProjectFileById=wT,i.selectProjectFileMapping=MT,i.selectProjectFiles=RT,i.selectProjectFilesByIds=ET,i.selectProjectMapping=NT,i.selectProjects=kt,i.selectProjectsByIds=HT,i.selectProjectsOfOrganization=iF,i.selectRehydrated=cF,i.selectStageMapping=js,i.selectTeamById=SI,i.selectTeamMembershipById=aI,i.selectTeamMemberships=Nt,i.selectTeamMembershipsByIds=cI,i.selectTeamMembershipsMapping=nI,i.selectTeams=_n,i.selectTeamsByIds=TI,i.selectTeamsMapping=fI,i.selectTeamsOfOrganization=uF,i.selectUploadUrl=IP,i.selectUserById=Ut,i.selectUsers=Ct,i.selectUsersByIds=rS,i.selectUsersMapping=hn,i.selectUsersOfOrganization=YP,i.selectUsersOfProject=eF,i.selectUsersOfTeam=rF,i.setAsset=Rr,i.setAssetAttachment=la,i.setAssetAttachments=oa,i.setAssetProcedure=Lc,i.setAssetProcedureStep=lr,i.setAssetProcedureStepFieldValues=Qd,i.setAssetProcedureStepFieldValuesAttachment=$d,i.setAssetProcedureStepFieldValuesAttachments=Cd,i.setAssetProcedureStepFieldValuesMany=xd,i.setAssetProcedureStepFields=gd,i.setAssetProcedureStepFieldsAttachment=hd,i.setAssetProcedureStepFieldsAttachments=md,i.setAssetProcedureStepFieldsMany=Md,i.setAssetProcedureSteps=or,i.setAssetProcedureType=sd,i.setAssetProcedureTypeAttachment=ba,i.setAssetProcedureTypeAttachments=_a,i.setAssetProcedureTypeFieldValues=_c,i.setAssetProcedureTypeFieldValuesAttachment=oc,i.setAssetProcedureTypeFieldValuesAttachments=hc,i.setAssetProcedureTypeFieldValuesMany=gc,i.setAssetProcedureTypeFields=Qa,i.setAssetProcedureTypeFieldsAttachment=$a,i.setAssetProcedureTypeFieldsAttachments=Ca,i.setAssetProcedureTypeFieldsMany=xa,i.setAssetProcedureTypes=id,i.setAssetProcedures=kc,i.setAssetStage=Qr,i.setAssetStageCompletion=Cr,i.setAssetStageCompletions=Ur,i.setAssetStages=xr,i.setAssetType=xl,i.setAssetTypeAttachment=hu,i.setAssetTypeAttachments=mu,i.setAssetTypeFieldValues=ml,i.setAssetTypeFieldValuesAttachment=xu,i.setAssetTypeFieldValuesAttachments=el,i.setAssetTypeFieldValuesMany=yl,i.setAssetTypeFields=Uu,i.setAssetTypeFieldsAttachment=gu,i.setAssetTypeFieldsAttachments=Mu,i.setAssetTypeFieldsMany=Lu,i.setAssetTypeIdentifier=Ml,i.setAssetTypeIdentifierValue=Ll,i.setAssetTypeIdentifierValues=kl,i.setAssetTypeIdentifiers=Rl,i.setAssetTypeStatus=Ao,i.setAssetTypeStatuses=fo,i.setAssetTypes=eo,i.setAssets=wr,i.setClientSDK=LI,i.setClientStore=CI,i.setConversation=na,i.setConversations=wO,i.setCurrentUser=WP,i.setDocument=Ko,i.setDocumentAttachment=vo,i.setDocumentAttachments=zo,i.setDocuments=Yo,i.setForm=om,i.setFormIdentifier=lh,i.setFormIdentifierValue=bh,i.setFormIdentifierValues=_h,i.setFormIdentifiers=oh,i.setFormRevision=Xh,i.setFormRevisionAttachment=$h,i.setFormRevisionAttachments=Ch,i.setFormRevisions=Qh,i.setFormSubmission=jm,i.setFormSubmissionAttachment=bm,i.setFormSubmissionAttachments=_m,i.setFormSubmissions=qm,i.setForms=hm,i.setGeoImage=Qm,i.setGeoImages=xm,i.setIssue=pp,i.setIssueAssociation=my,i.setIssueAssociations=hy,i.setIssueAttachment=wy,i.setIssueAttachments=Ey,i.setIssueComment=ip,i.setIssueCommentAttachment=Ny,i.setIssueCommentAttachments=Gy,i.setIssueComments=np,i.setIssueType=Tf,i.setIssueTypeAttachment=wp,i.setIssueTypeAttachments=Ep,i.setIssueTypeFieldValues=iA,i.setIssueTypeFieldValuesAttachment=EA,i.setIssueTypeFieldValuesAttachments=BA,i.setIssueTypeFieldValuesMany=nA,i.setIssueTypeFields=fA,i.setIssueTypeFieldsAttachment=Np,i.setIssueTypeFieldsAttachments=Gp,i.setIssueTypeFieldsMany=SA,i.setIssueTypeIdentifier=GA,i.setIssueTypeIdentifierValue=af,i.setIssueTypeIdentifierValues=cf,i.setIssueTypeIdentifiers=HA,i.setIssueTypeStatus=vf,i.setIssueTypeStatuses=zf,i.setIssueTypes=If,i.setIssueUpdate=Gf,i.setIssueUpdates=Hf,i.setIssues=Ap,i.setLoggedIn=Mo,i.setOrganization=gS,i.setOrganizationAccess=mS,i.setOrganizationAccesses=yS,i.setOrganizations=_S,i.setProject=jT,i.setProjectAccess=YS,i.setProjectAccesses=ZS,i.setProjectAttachment=dT,i.setProjectAttachments=rT,i.setProjectFile=TT,i.setProjectFiles=IT,i.setProjects=zT,i.setRehydrated=aF,i.setTeam=oI,i.setTeamMembership=XT,i.setTeamMemberships=QT,i.setTeams=hI,i.setTokens=oP,i.setUploadUrl=TP,i.setUser=tS,i.setUsers=eS,i.shallowEqual=dO,i.slugify=PO,i.spacesToDashesLower=OO,i.submittedAtModelSortFn=Xt,i.teamMembershipReducer=iI,i.teamMembershipSlice=Fn,i.teamReducer=II,i.teamSlice=bn,i.toFileNameSafeString=IO,i.toUuidArray=B,i.toUuidIdRecord=TO,i.truncate=FO,i.updateAsset=_r,i.updateAssetAttachment=ha,i.updateAssetAttachments=ma,i.updateAssetProcedure=$c,i.updateAssetProcedureStep=yr,i.updateAssetProcedureStepFieldValues=er,i.updateAssetProcedureStepFieldValuesAttachment=Ud,i.updateAssetProcedureStepFieldValuesAttachments=Ld,i.updateAssetProcedureStepFieldValuesMany=tr,i.updateAssetProcedureStepFields=Rd,i.updateAssetProcedureStepFieldsAttachment=yd,i.updateAssetProcedureStepFieldsAttachments=pd,i.updateAssetProcedureStepFieldsMany=wd,i.updateAssetProcedureSteps=pr,i.updateAssetProcedureType=Qc,i.updateAssetProcedureTypeAttachment=ga,i.updateAssetProcedureTypeAttachments=Ma,i.updateAssetProcedureTypeFieldValues=Mc,i.updateAssetProcedureTypeFieldValuesAttachment=mc,i.updateAssetProcedureTypeFieldValuesAttachments=yc,i.updateAssetProcedureTypeFieldValuesMany=Rc,i.updateAssetProcedureTypeFields=ec,i.updateAssetProcedureTypeFieldsAttachment=Ua,i.updateAssetProcedureTypeFieldsAttachments=La,i.updateAssetProcedureTypeFieldsMany=tc,i.updateAssetProcedureTypes=xc,i.updateAssetProcedures=Cc,i.updateAssetStage=su,i.updateAssetStageCompletion=Lr,i.updateAssetStageCompletions=kr,i.updateAssetStages=iu,i.updateAssetType=io,i.updateAssetTypeAttachment=yu,i.updateAssetTypeAttachments=pu,i.updateAssetTypeFieldValues=pl,i.updateAssetTypeFieldValuesAttachment=tl,i.updateAssetTypeFieldValuesAttachments=sl,i.updateAssetTypeFieldValuesMany=Al,i.updateAssetTypeFields=ku,i.updateAssetTypeFieldsAttachment=Ru,i.updateAssetTypeFieldsAttachments=wu,i.updateAssetTypeFieldsMany=Nu,i.updateAssetTypeIdentifier=wl,i.updateAssetTypeIdentifierValue=Nl,i.updateAssetTypeIdentifierValues=Gl,i.updateAssetTypeIdentifiers=El,i.updateAssetTypeStatus=So,i.updateAssetTypeStatuses=To,i.updateAssetTypes=no,i.updateAssets=gr,i.updateConversation=aa,i.updateConversations=EO,i.updateDocument=Zo,i.updateDocumentAttachment=jo,i.updateDocumentAttachments=qo,i.updateDocuments=Jo,i.updateForm=mm,i.updateFormIdentifier=hh,i.updateFormIdentifierValue=gh,i.updateFormIdentifierValues=Mh,i.updateFormIdentifiers=mh,i.updateFormRevision=xh,i.updateFormRevisionAttachment=Uh,i.updateFormRevisionAttachments=Lh,i.updateFormRevisions=em,i.updateFormSubmission=$m,i.updateFormSubmissionAttachment=gm,i.updateFormSubmissionAttachments=Mm,i.updateFormSubmissions=Cm,i.updateForms=ym,i.updateGeoImage=sy,i.updateGeoImages=iy,i.updateIssue=fp,i.updateIssueAssociation=yy,i.updateIssueAssociations=py,i.updateIssueAttachment=By,i.updateIssueAttachments=Vy,i.updateIssueComment=ap,i.updateIssueCommentAttachment=Hy,i.updateIssueCommentAttachments=Wy,i.updateIssueComments=cp,i.updateIssueType=Of,i.updateIssueTypeAttachment=Bp,i.updateIssueTypeAttachments=Vp,i.updateIssueTypeFieldValues=aA,i.updateIssueTypeFieldValuesAttachment=VA,i.updateIssueTypeFieldValuesAttachments=vA,i.updateIssueTypeFieldValuesMany=cA,i.updateIssueTypeFields=TA,i.updateIssueTypeFieldsAttachment=Hp,i.updateIssueTypeFieldsAttachments=Wp,i.updateIssueTypeFieldsMany=IA,i.updateIssueTypeIdentifier=WA,i.updateIssueTypeIdentifierValue=df,i.updateIssueTypeIdentifierValues=rf,i.updateIssueTypeIdentifiers=KA,i.updateIssueTypeStatus=jf,i.updateIssueTypeStatuses=qf,i.updateIssueTypes=Pf,i.updateIssueUpdate=Wf,i.updateIssueUpdates=Kf,i.updateIssues=Sp,i.updateOrganization=ES,i.updateOrganizationAccess=pS,i.updateOrganizationAccesses=AS,i.updateOrganizations=wS,i.updateProject=CT,i.updateProjectAccess=JS,i.updateProjectAccesses=XS,i.updateProjectAttachment=uT,i.updateProjectAttachments=lT,i.updateProjectFile=FT,i.updateProjectFiles=bT,i.updateProjects=$T,i.updateTeam=mI,i.updateTeamMembership=xT,i.updateTeamMemberships=eI,i.updateTeams=yI,i.updateUser=nS,i.updateUsers=iS,i.useSelectorBuilder=cO,i.userReducer=cS,i.userSlice=un,i.uuidObj=P,i.uuidObjSortFn=Jt,i.uuidSortFn=Pt,i.versioningReducer=PI,i.versioningSlice=OI,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});