@overmap-ai/core 1.0.78-issue-bulk-delete.0 → 1.0.78-issue-update-typing-fix.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +0 -0
  2. package/dist/enums/index.d.ts +1 -0
  3. package/dist/enums/procedures.d.ts +11 -0
  4. package/dist/overmap-core.js +9671 -8505
  5. package/dist/overmap-core.umd.cjs +8 -9
  6. package/dist/sdk/constants.d.ts +1 -1
  7. package/dist/sdk/services/AssetAttachmentService.d.ts +8 -17
  8. package/dist/sdk/services/AssetCommentService.d.ts +28 -0
  9. package/dist/sdk/services/AssetTypeAttachmentService.d.ts +8 -17
  10. package/dist/sdk/services/AssetTypeFieldValuesAttachmentService.d.ts +9 -8
  11. package/dist/sdk/services/AssetTypeFieldsAttachmentService.d.ts +9 -9
  12. package/dist/sdk/services/AssetTypeIdentifierValueService.d.ts +2 -1
  13. package/dist/sdk/services/BaseOfflineFileModelApiService.d.ts +17 -0
  14. package/dist/sdk/services/BaseService.d.ts +2 -1
  15. package/dist/sdk/services/DocumentAttachmentService.d.ts +10 -17
  16. package/dist/sdk/services/FileService.d.ts +6 -28
  17. package/dist/sdk/services/FormRevisionAttachmentService.d.ts +18 -18
  18. package/dist/sdk/services/FormService.d.ts +4 -2
  19. package/dist/sdk/services/FormSubmissionAttachmentService.d.ts +18 -18
  20. package/dist/sdk/services/GeoImageService.d.ts +10 -7
  21. package/dist/sdk/services/IssueAssociationService.d.ts +2 -1
  22. package/dist/sdk/services/IssueAttachmentService.d.ts +8 -17
  23. package/dist/sdk/services/IssueCommentAttachmentService.d.ts +8 -17
  24. package/dist/sdk/services/IssueTypeAttachmentService.d.ts +8 -17
  25. package/dist/sdk/services/IssueTypeFieldValuesAttachmentService.d.ts +18 -18
  26. package/dist/sdk/services/IssueTypeFieldsAttachmentService.d.ts +18 -18
  27. package/dist/sdk/services/IssueUpdateService.d.ts +42 -28
  28. package/dist/sdk/services/ProcdureInitiativeService.d.ts +28 -0
  29. package/dist/sdk/services/ProcedureFieldValuesAttachmentService.d.ts +31 -0
  30. package/dist/sdk/services/ProcedureFieldValuesService.d.ts +29 -0
  31. package/dist/sdk/services/ProcedureService.d.ts +30 -0
  32. package/dist/sdk/services/ProcedureStepAssigneeService.d.ts +29 -0
  33. package/dist/sdk/services/ProcedureStepCommentService.d.ts +28 -0
  34. package/dist/sdk/services/ProcedureStepDefaultAssigneeService.d.ts +27 -0
  35. package/dist/sdk/services/ProcedureStepDefaultReviewerService.d.ts +27 -0
  36. package/dist/sdk/services/ProcedureStepEventService.d.ts +24 -0
  37. package/dist/sdk/services/ProcedureStepFieldValuesAttachmentService.d.ts +31 -0
  38. package/dist/sdk/services/ProcedureStepFieldValuesReviewService.d.ts +28 -0
  39. package/dist/sdk/services/ProcedureStepFieldValuesService.d.ts +29 -0
  40. package/dist/sdk/services/ProcedureStepFieldsAttachmentService.d.ts +30 -0
  41. package/dist/sdk/services/ProcedureStepFieldsService.d.ts +27 -0
  42. package/dist/sdk/services/ProcedureStepReviewerService.d.ts +29 -0
  43. package/dist/sdk/services/ProcedureStepService.d.ts +28 -0
  44. package/dist/sdk/services/ProcedureTypeAttachmentService.d.ts +30 -0
  45. package/dist/sdk/services/ProcedureTypeFieldsAttachmentService.d.ts +30 -0
  46. package/dist/sdk/services/ProcedureTypeFieldsService.d.ts +26 -0
  47. package/dist/sdk/services/ProcedureTypeService.d.ts +28 -0
  48. package/dist/sdk/services/ProjectAttachmentService.d.ts +8 -17
  49. package/dist/sdk/services/ProjectFileService.d.ts +20 -16
  50. package/dist/sdk/services/index.d.ts +22 -15
  51. package/dist/sdk/typings.d.ts +12 -4
  52. package/dist/store/adapters/selectionAdapter.d.ts +9 -10
  53. package/dist/store/adapters/typings.d.ts +1 -3
  54. package/dist/store/reducers.d.ts +63 -42
  55. package/dist/store/slices/assetCommentSlice.d.ts +23 -0
  56. package/dist/store/slices/assetSlice.d.ts +21 -14
  57. package/dist/store/slices/assetTypeFieldValuesAttachmentSlice.d.ts +21 -14
  58. package/dist/store/slices/assetTypeFieldValuesSlice.d.ts +21 -14
  59. package/dist/store/slices/assetTypeFieldsAttachmentSlice.d.ts +21 -14
  60. package/dist/store/slices/assetTypeFieldsSlice.d.ts +21 -14
  61. package/dist/store/slices/assetTypeStatusSlice.d.ts +21 -14
  62. package/dist/store/slices/emailDomainsSlice.d.ts +21 -14
  63. package/dist/store/slices/fileSlice.d.ts +0 -3
  64. package/dist/store/slices/formRevisionAttachmentSlice.d.ts +21 -14
  65. package/dist/store/slices/formRevisionSlice.d.ts +21 -14
  66. package/dist/store/slices/formSlice.d.ts +21 -14
  67. package/dist/store/slices/geoImageSlice.d.ts +21 -14
  68. package/dist/store/slices/index.d.ts +21 -14
  69. package/dist/store/slices/issueAssociationSlice.d.ts +22 -16
  70. package/dist/store/slices/issueTypeFieldValuesAttachmentSlice.d.ts +21 -14
  71. package/dist/store/slices/issueTypeFieldValuesSlice.d.ts +21 -14
  72. package/dist/store/slices/issueTypeFieldsAttachmentSlice.d.ts +21 -14
  73. package/dist/store/slices/issueTypeFieldsSlice.d.ts +21 -14
  74. package/dist/store/slices/issueTypeStatusSlice.d.ts +21 -14
  75. package/dist/store/slices/issueUpdateSlice.d.ts +63 -42
  76. package/dist/store/slices/organizationSlice.d.ts +21 -14
  77. package/dist/store/slices/procedureFieldValuesSlice.d.ts +118 -0
  78. package/dist/store/slices/procedureInitiativeSlice.d.ts +23 -0
  79. package/dist/store/slices/procedureSlice.d.ts +26 -0
  80. package/dist/store/slices/procedureStepAssigneeSlice.d.ts +120 -0
  81. package/dist/store/slices/procedureStepCommentSlice.d.ts +120 -0
  82. package/dist/store/slices/procedureStepDefaultAssigneeSlice.d.ts +118 -0
  83. package/dist/store/slices/procedureStepDefaultReviewerSlice.d.ts +118 -0
  84. package/dist/store/slices/procedureStepEventSlice.d.ts +120 -0
  85. package/dist/store/slices/procedureStepFieldValuesAttachmentSlice.d.ts +118 -0
  86. package/dist/store/slices/procedureStepFieldValuesReviewSlice.d.ts +122 -0
  87. package/dist/store/slices/procedureStepFieldValuesSlice.d.ts +120 -0
  88. package/dist/store/slices/procedureStepFieldsAttachmentSlice.d.ts +118 -0
  89. package/dist/store/slices/{assetProcedureStepFieldsSlice.d.ts → procedureStepFieldsSlice.d.ts} +74 -60
  90. package/dist/store/slices/procedureStepReviewerSlice.d.ts +120 -0
  91. package/dist/store/slices/procedureStepSlice.d.ts +119 -0
  92. package/dist/store/slices/procedureTypeAttachmentSlice.d.ts +98 -0
  93. package/dist/store/slices/procedureTypeFieldValuesAttachmentSlice.d.ts +118 -0
  94. package/dist/store/slices/procedureTypeFieldsAttachmentSlice.d.ts +118 -0
  95. package/dist/store/slices/procedureTypeFieldsSlice.d.ts +23 -0
  96. package/dist/store/slices/procedureTypeSlice.d.ts +22 -0
  97. package/dist/store/slices/projectFileSlice.d.ts +23 -30
  98. package/dist/store/slices/projectSlice.d.ts +21 -14
  99. package/dist/store/slices/userSlice.d.ts +24 -23
  100. package/dist/typings/files.d.ts +27 -14
  101. package/dist/typings/models/assets.d.ts +8 -66
  102. package/dist/typings/models/documents.d.ts +2 -2
  103. package/dist/typings/models/fields.d.ts +3 -3
  104. package/dist/typings/models/forms.d.ts +3 -2
  105. package/dist/typings/models/geoImages.d.ts +3 -3
  106. package/dist/typings/models/index.d.ts +1 -0
  107. package/dist/typings/models/issues.d.ts +10 -9
  108. package/dist/typings/models/procedures.d.ts +105 -0
  109. package/dist/typings/models/projects.d.ts +3 -3
  110. package/dist/typings/models/users.d.ts +0 -1
  111. package/dist/utils/file.d.ts +7 -11
  112. package/dist/utils/models/assets.d.ts +1 -4
  113. package/dist/utils/models/base.d.ts +2 -0
  114. package/dist/utils/models/index.d.ts +1 -0
  115. package/package.json +3 -3
  116. package/dist/sdk/services/AssetProcedureService.d.ts +0 -28
  117. package/dist/sdk/services/AssetProcedureStepFieldValuesAttachmentService.d.ts +0 -33
  118. package/dist/sdk/services/AssetProcedureStepFieldValuesService.d.ts +0 -33
  119. package/dist/sdk/services/AssetProcedureStepFieldsAttachmentService.d.ts +0 -30
  120. package/dist/sdk/services/AssetProcedureStepFieldsService.d.ts +0 -28
  121. package/dist/sdk/services/AssetProcedureStepService.d.ts +0 -28
  122. package/dist/sdk/services/AssetProcedureTypeAttachmentService.d.ts +0 -39
  123. package/dist/sdk/services/AssetProcedureTypeFieldValuesAttachmentService.d.ts +0 -33
  124. package/dist/sdk/services/AssetProcedureTypeFieldValuesService.d.ts +0 -33
  125. package/dist/sdk/services/AssetProcedureTypeFieldsAttachmentService.d.ts +0 -30
  126. package/dist/sdk/services/AssetProcedureTypeFieldsService.d.ts +0 -26
  127. package/dist/sdk/services/AssetProcedureTypeService.d.ts +0 -28
  128. package/dist/sdk/services/AssetStageCompletionService.d.ts +0 -29
  129. package/dist/sdk/services/AssetStageService.d.ts +0 -28
  130. package/dist/sdk/services/BaseOfflineAttachmentModelService.d.ts +0 -23
  131. package/dist/store/slices/assetProcedureSlice.d.ts +0 -112
  132. package/dist/store/slices/assetProcedureStepFieldValuesAttachmentSlice.d.ts +0 -111
  133. package/dist/store/slices/assetProcedureStepFieldValuesSlice.d.ts +0 -113
  134. package/dist/store/slices/assetProcedureStepFieldsAttachmentSlice.d.ts +0 -111
  135. package/dist/store/slices/assetProcedureStepSlice.d.ts +0 -113
  136. package/dist/store/slices/assetProcedureTypeAttachmentSlice.d.ts +0 -91
  137. package/dist/store/slices/assetProcedureTypeFieldValuesAttachmentSlice.d.ts +0 -111
  138. package/dist/store/slices/assetProcedureTypeFieldValuesSlice.d.ts +0 -112
  139. package/dist/store/slices/assetProcedureTypeFieldsAttachmentSlice.d.ts +0 -111
  140. package/dist/store/slices/assetProcedureTypeFieldsSlice.d.ts +0 -23
  141. package/dist/store/slices/assetProcedureTypeSlice.d.ts +0 -22
  142. package/dist/store/slices/assetStageCompletionSlice.d.ts +0 -110
  143. package/dist/store/slices/assetStageSlice.d.ts +0 -112
@@ -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,nt,Qe,mO,yO,Cn,At,pO,Ln,AO,fO,cb,db,SO,TO,IO){"use strict";var nb=Object.defineProperty;var ab=(i,L,o)=>L in i?nb(i,L,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[L]=o;var y=(i,L,o)=>ab(i,typeof L!="symbol"?L+"":L,o);var oO;const kn=Object.freeze([]),Nn=Object.freeze({});var Gn=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(Gn||{}),m=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(m||{}),Hn=(t=>(t[t.PLANNED=0]="PLANNED",t[t.ACTIVE=1]="ACTIVE",t[t.MAINTENANCE=2]="MAINTENANCE",t[t.INACTIVE=3]="INACTIVE",t[t.RETIRED=4]="RETIRED",t[t.DISPOSED=5]="DISPOSED",t))(Hn||{}),Wn=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(Wn||{}),Nt=(t=>(t[t.LOWEST=0]="LOWEST",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=6]="HIGH",t[t.HIGHEST=8]="HIGHEST",t))(Nt||{}),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||{}),Kn=(t=>(t[t.BACKLOG=0]="BACKLOG",t[t.PLANNED=1]="PLANNED",t[t.IN_PROGRESS=2]="IN_PROGRESS",t[t.COMPLETED=3]="COMPLETED",t[t.CANCELLED=4]="CANCELLED",t))(Kn||{});const OO=Nt.MEDIUM,Yn=6e4;function R(t){return{addOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},addMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},setOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},setMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},updateOne:(h,p)=>{const A=t(p.payload);h.instances[A]=p.payload},updateMany:(h,p)=>{for(const A of p.payload){const f=t(A);h.instances[f]=A}},deleteOne:(h,p)=>{delete h.instances[p.payload]},deleteMany:(h,p)=>{for(const A of p.payload)delete h.instances[A]},initialize:(h,p)=>{h.instances={};const A=new Set;for(const f of p.payload){const I=t(f);A.add(I),h.instances[I]=f}A.size!==p.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function PO(){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 lt="versioning",_=o.createAction("RESET"),D=o.createAction("RESET_PROJECT_STATE"),w=o.createAction("RESET_ORGANIZATION_STATE");function FO(t,s){return mO.useMemo(t,s)}oO=Symbol.toStringTag;class Gt{constructor(){y(this,oO,"Promise");y(this,"_promise");y(this,"_resolve");y(this,"_reject");y(this,"_state","pending");this._resolve=null,this._reject=null,this._promise=new Promise((s,e)=>{this._resolve=s,this._reject=e})}get state(){return this._state}then(s,e){return this._promise.then(s,e)}catch(s){return this._promise.catch(s)}resolve(s){if(!this._resolve)throw new Error("No resolve callback");this._resolve(s),this._state="fulfilled"}reject(s){if(!this._reject)throw s;this._reject(s),this._state="rejected"}finally(s){throw new Error("`finally` not implemented")}}let Ht=!1;["true","1"].includes("".toLowerCase())&&(Ht=!0);function gO(t,s){if(t===s)return!0;if(typeof t!=typeof s)return!1;const e=Object.keys(t),n=Object.keys(s),a=e.length;if(a!==n.length)return!1;for(let c=0;c<a;c++){const r=e[c];if(!Object.prototype.hasOwnProperty.call(s,r)||t[r]!==s[r])return!1}return!0}function Wt(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(Ht&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(Ht&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function bO(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const T=t=>t.length===0?kn:t,ft=t=>Object.keys(t).length===0?Nn:t,Zn=Wt(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===Kt.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),_O=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),MO=1e3*86400,Kt=new Date,RO=t=>new Date(t).toDateString()===Kt.toDateString(),wO=Wt((t,s,e)=>{const n=Math.round((new Date(t).getTime()-Kt.getTime())/MO);return n<s||n>e?Zn(t):_O.format(n,"days")});function EO(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}const Yt=async(t,s)=>{s||(s=await at(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 at(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=EO(c);s(r)})},n.readAsArrayBuffer(t)})}function vO(t){if(!t.name||!t.type||!t.size){const s="File has no name, type, and/or size";throw new Error(s)}return`${t.name}&${t.type}${t.size}`}function Jn(t,s){return new File([t],s,{type:t.type})}function VO(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 zO=async t=>{const s={};for(const e of t){const n=await at(e);s[n]={sha1:n,extension:e.name.split(".").pop()||"",file_type:e.type,size:e.size}}return Object.values(s)},Xn=async t=>(await fetch(t)).blob(),BO=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 jO(t){const s=new Blob([t]);yO.saveAs(s,t.name)}const Qn={};function qO(t,s,e,...n){const a=Qn[t];let c=!1;a?a[s]||(a[s]=!0,c=!0):(Qn[t]={[s]:!0},c=!0),c&&console[e](...n)}const xn=["created_at","updated_at","index","revision"];function M(t){return{...t,uuid:Qe.v4()}}function DO(t){const s={};for(const e of t)s[e.uuid]=e;return s}function q(t){return t.map(({uuid:s})=>s)}function St(t,s){return t.localeCompare(s)}function Zt(t,s){return St(t.uuid,s.uuid)}function $O(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 UO(t){return t.toLowerCase().replace(" ","-")}function CO(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function LO(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const kO=/^.+@.+\..+$/;function z(t){const s={...t};for(const e of[...xn,"created_by"])e in s&&delete s[e];return s}const ea=t=>{const s=t.toSorted((e,n)=>e.order-n.order);return Cn(s,{id:e=>e.uuid,parentId:e=>e.parent,includeEmptyChildrenArray:!0,valueKey:!1})},NO=t=>{const{roots:s}=ea(t);return s.map(e=>new At.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 asset procedure step tree.`);return new At.Tree(n)},sa=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,ia=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,na=t=>Cn(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),GO=t=>{const{roots:s}=na(t);return s.map(e=>new At.Tree(e))},aa=(t,s)=>{const{nodes:e}=na(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new At.Tree(n)};class HO{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),ca={instances:{}},Jt=o.createSlice({name:"agents",initialState:ca,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ca)),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:da,addConversation:ra,addConversations:WO,setConversation:ua,setConversations:KO,updateConversation:la,updateConversations:YO,deleteConversation:ZO,deleteConversations:JO}=Jt.actions,Xt=t=>t.agentsReducer.instances,XO=o.createSelector([Xt],t=>Object.values(t)),QO=S(o.createSelector([Xt,(t,s)=>s],(t,s)=>t[s])),oa=Jt.reducer,G=R(t=>t.uuid),ha={instances:{}},Qt=o.createSlice({name:"assetAttachments",initialState:ha,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ha)),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:ma,addAssetAttachment:ya,addAssetAttachments:xt,setAssetAttachment:pa,setAssetAttachments:Aa,updateAssetAttachment:fa,updateAssetAttachments:Sa,deleteAssetAttachment:Ta,deleteAssetAttachments:es}=Qt.actions,Ia=t=>t.assetAttachmentReducer.instances,ts=o.createSelector([Ia],t=>Object.values(t)),Oa=t=>s=>s.assetAttachmentReducer.instances[t],Pa=S(o.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Fa=S(o.createSelector([ts,(t,s)=>s],(t,s)=>T(t.filter(({asset:e})=>s===e)))),ga=Qt.reducer,H=R(({uuid:t})=>t),ba={instances:{}},ss=o.createSlice({name:"assetProcedureTypeAttachments",initialState:ba,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ba)),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:_a,addAssetProcedureTypeAttachment:Ma,addAssetProcedureTypeAttachments:Ra,setAssetProcedureTypeAttachment:wa,setAssetProcedureTypeAttachments:Ea,updateAssetProcedureTypeAttachment:va,updateAssetProcedureTypeAttachments:Va,deleteAssetProcedureTypeAttachment:za,deleteAssetProcedureTypeAttachments:Ba}=ss.actions,ja=ss.reducer,qa=t=>t.assetProcedureTypeAttachmentReducer.instances,is=o.createSelector([qa],t=>Object.values(t)),Da=t=>s=>s.assetProcedureTypeAttachmentReducer.instances[t],$a=S(o.createSelector([is,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),xO=S(o.createSelector([is,(t,s)=>s],(t,s)=>T(t.filter(({asset_procedure_type:e})=>s===e)))),W=R(({uuid:t})=>t),Ua={instances:{}},ns=o.createSlice({name:"assetProcedureTypeFieldsAttachments",initialState:Ua,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Ua)),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:Ca,addAssetProcedureTypeFieldsAttachment:La,addAssetProcedureTypeFieldsAttachments:ka,setAssetProcedureTypeFieldsAttachment:Na,setAssetProcedureTypeFieldsAttachments:Ga,updateAssetProcedureTypeFieldsAttachment:Ha,updateAssetProcedureTypeFieldsAttachments:Wa,deleteAssetProcedureTypeFieldsAttachment:Ka,deleteAssetProcedureTypeFieldsAttachments:Ya}=ns.actions,Za=ns.reducer,Ja=t=>t.assetProcedureTypeFieldsAttachmentReducer.instances,as=o.createSelector([Ja],t=>Object.values(t)),eP=S(o.createSelector([as,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),Xa=t=>s=>s.assetProcedureTypeFieldsAttachmentReducer.instances[t],Qa=S(o.createSelector([as,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),K=R(({uuid:t})=>t),xa={instances:{}},cs=o.createSlice({name:"assetProcedureTypeFields",initialState:xa,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,xa)),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:ec,addAssetProcedureTypeFields:tc,addAssetProcedureTypeFieldsMany:sc,setAssetProcedureTypeFields:ic,setAssetProcedureTypeFieldsMany:nc,updateAssetProcedureTypeFields:ac,updateAssetProcedureTypeFieldsMany:cc,deleteAssetProcedureTypeFields:dc,deleteAssetProcedureTypeFieldsMany:rc}=cs.actions,uc=cs.reducer,lc=t=>t.assetProcedureTypeFieldsReducer.instances,Tt=o.createSelector([lc],t=>Object.values(t)),tP=S(o.createSelector([Tt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),sP=S(o.createSelector([Tt,(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])),oc=t=>s=>s.assetProcedureTypeFieldsReducer.instances[t],hc=S(o.createSelector([Tt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Y=R(({uuid:t})=>t),mc={instances:{}},ds=o.createSlice({name:"assetProcedureTypeFieldValuesAttachments",initialState:mc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,mc)),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:yc,addAssetProcedureTypeFieldValuesAttachment:pc,addAssetProcedureTypeFieldValuesAttachments:rs,setAssetProcedureTypeFieldValuesAttachment:Ac,setAssetProcedureTypeFieldValuesAttachments:fc,updateAssetProcedureTypeFieldValuesAttachment:Sc,updateAssetProcedureTypeFieldValuesAttachments:Tc,deleteAssetProcedureTypeFieldValuesAttachment:Ic,deleteAssetProcedureTypeFieldValuesAttachments:us}=ds.actions,Oc=ds.reducer,Pc=t=>t.assetProcedureTypeFieldValuesAttachmentReducer.instances,ls=o.createSelector([Pc],t=>Object.values(t)),Fc=t=>s=>s.assetProcedureTypeFieldValuesAttachmentReducer.instances[t],gc=S(o.createSelector([ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),bc=S(o.createSelector([ls,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),Z=R(({uuid:t})=>t),_c={instances:{}},os=o.createSlice({name:"assetProcedureTypeFieldValues",initialState:_c,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,_c)),reducers:{initializeAssetProcedureTypeFieldValues:Z.initialize,addAssetProcedureTypeFieldValues:Z.addOne,addAssetProcedureTypeFieldValuesMany:Z.addMany,setAssetProcedureTypeFieldValues:Z.setOne,setAssetProcedureTypeFieldValuesMany:Z.setMany,updateAssetProcedureTypeFieldValues:Z.updateOne,updateAssetProcedureTypeFieldValuesMany:Z.updateMany,deleteAssetProcedureTypeFieldValues:Z.deleteOne,deleteAssetProcedureTypeFieldValuesMany:Z.deleteMany}}),{initializeAssetProcedureTypeFieldValues:Mc,addAssetProcedureTypeFieldValues:Rc,addAssetProcedureTypeFieldValuesMany:wc,setAssetProcedureTypeFieldValues:Ec,setAssetProcedureTypeFieldValuesMany:vc,updateAssetProcedureTypeFieldValues:Vc,updateAssetProcedureTypeFieldValuesMany:zc,deleteAssetProcedureTypeFieldValues:Bc,deleteAssetProcedureTypeFieldValuesMany:jc}=os.actions,qc=os.reducer,Dc=t=>t.assetProcedureTypeFieldValuesReducer.instances,It=o.createSelector([Dc],t=>Object.values(t)),iP=S(o.createSelector([It,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),nP=S(o.createSelector([It,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),$c=t=>s=>s.assetProcedureTypeFieldValuesReducer.instances[t],Uc=S(o.createSelector([It,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),J=R(({uuid:t})=>t),Cc={instances:{}},hs=o.createSlice({name:"assetProcedures",initialState:Cc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Cc)),reducers:{initializeAssetProcedures:J.initialize,addAssetProcedure:J.addOne,addAssetProcedures:J.addMany,setAssetProcedure:J.setOne,setAssetProcedures:J.setMany,updateAssetProcedure:J.updateOne,updateAssetProcedures:J.updateMany,deleteAssetProcedure:J.deleteOne,deleteAssetProcedures:J.deleteMany}}),{initializeAssetProcedures:Lc,addAssetProcedure:kc,addAssetProcedures:ms,updateAssetProcedure:Nc,updateAssetProcedures:Gc,deleteAssetProcedure:Hc,deleteAssetProcedures:ys,setAssetProcedure:Wc,setAssetProcedures:Kc}=hs.actions,Yc=hs.reducer,Zc=t=>t.assetProcedureReducer.instances,Ot=o.createSelector([Zc],t=>Object.values(t)),Jc=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),aP=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Xc=t=>s=>s.assetProcedureReducer.instances[t],Qc=S(o.createSelector([Ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),X=R(t=>t.uuid),xc={instances:{}},ps=o.createSlice({name:"assetProcedureTypes",initialState:xc,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,xc)),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:ed,addAssetProcedureType:td,addAssetProcedureTypes:sd,updateAssetProcedureType:id,updateAssetProcedureTypes:nd,deleteAssetProcedureType:ad,deleteAssetProcedureTypes:cd,setAssetProcedureType:dd,setAssetProcedureTypes:rd}=ps.actions,ud=ps.reducer,ld=t=>t.assetProcedureTypeReducer.instances,As=o.createSelector([ld],t=>Object.values(t)),od=t=>s=>s.assetProcedureTypeReducer.instances[t],hd=S(o.createSelector([As,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),cP=S(o.createSelector([As,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Q=R(t=>t.uuid),md={instances:{}},fs=o.createSlice({name:"assetProcedureStepFieldsAttachments",initialState:md,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,md)),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:yd,addAssetProcedureStepFieldsAttachment:pd,addAssetProcedureStepFieldsAttachments:Ad,setAssetProcedureStepFieldsAttachment:fd,setAssetProcedureStepFieldsAttachments:Sd,updateAssetProcedureStepFieldsAttachment:Td,updateAssetProcedureStepFieldsAttachments:Id,deleteAssetProcedureStepFieldsAttachment:Od,deleteAssetProcedureStepFieldsAttachments:Pd}=fs.actions,Fd=t=>t.assetProcedureStepFieldsAttachmentReducer.instances,Ss=o.createSelector([Fd],t=>Object.values(t)),dP=S(o.createSelector([Ss,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),gd=t=>s=>s.assetProcedureStepFieldsAttachmentReducer.instances[t],bd=S(o.createSelector([Ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),_d=fs.reducer,x=R(t=>t.uuid),Md={instances:{}},Ts=o.createSlice({name:"assetProcedureStepFields",initialState:Md,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Md)),reducers:{initializeAssetProcedureStepFields:x.initialize,addAssetProcedureStepFields:x.addOne,addAssetProcedureStepFieldsMany:x.addMany,setAssetProcedureStepFields:x.setOne,setAssetProcedureStepFieldsMany:x.setMany,updateAssetProcedureStepFields:x.updateOne,updateAssetProcedureStepFieldsMany:x.updateMany,deleteAssetProcedureStepFields:x.deleteOne,deleteAssetProcedureStepFieldsMany:x.deleteMany}}),{initializeAssetProcedureStepFields:Rd,addAssetProcedureStepFields:wd,addAssetProcedureStepFieldsMany:Ed,setAssetProcedureStepFields:vd,setAssetProcedureStepFieldsMany:Vd,updateAssetProcedureStepFields:zd,updateAssetProcedureStepFieldsMany:Bd,deleteAssetProcedureStepFields:jd,deleteAssetProcedureStepFieldsMany:qd}=Ts.actions,Is=t=>t.assetProcedureStepFieldsReducer.instances,Pt=o.createSelector([Is],t=>Object.values(t)),rP=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),uP=S(o.createSelector([Pt,(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])),lP=o.createSelector([Is],t=>{const s={};for(const e of Object.values(t)){const n=s[e.asset_procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.asset_procedure_step]=e)}return s}),Dd=t=>s=>s.assetProcedureStepFieldsReducer.instances[t],$d=S(o.createSelector([Pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ud=Ts.reducer,ee=R(t=>t.uuid),Cd={instances:{}},Os=o.createSlice({name:"assetProcedureStepFieldValuesAttachments",initialState:Cd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Cd)),reducers:{initializeAssetProcedureStepFieldValuesAttachments:ee.initialize,addAssetProcedureStepFieldValuesAttachment:ee.addOne,addAssetProcedureStepFieldValuesAttachments:ee.addMany,setAssetProcedureStepFieldValuesAttachment:ee.setOne,setAssetProcedureStepFieldValuesAttachments:ee.setMany,updateAssetProcedureStepFieldValuesAttachment:ee.updateOne,updateAssetProcedureStepFieldValuesAttachments:ee.updateMany,deleteAssetProcedureStepFieldValuesAttachment:ee.deleteOne,deleteAssetProcedureStepFieldValuesAttachments:ee.deleteMany}}),{initializeAssetProcedureStepFieldValuesAttachments:Ld,addAssetProcedureStepFieldValuesAttachment:kd,addAssetProcedureStepFieldValuesAttachments:Ps,setAssetProcedureStepFieldValuesAttachment:Nd,setAssetProcedureStepFieldValuesAttachments:Gd,updateAssetProcedureStepFieldValuesAttachment:Hd,updateAssetProcedureStepFieldValuesAttachments:Wd,deleteAssetProcedureStepFieldValuesAttachment:Kd,deleteAssetProcedureStepFieldValuesAttachments:Fs}=Os.actions,Yd=t=>t.assetProcedureStepFieldValuesAttachmentReducer.instances,gs=o.createSelector([Yd],t=>Object.values(t)),Zd=t=>s=>s.assetProcedureStepFieldValuesAttachmentReducer.instances[t],Jd=S(o.createSelector([gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Xd=S(o.createSelector([gs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),Qd=Os.reducer,te=R(t=>t.uuid),xd={instances:{}},bs=o.createSlice({name:"assetProcedureStepFieldValues",initialState:xd,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,xd)),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:er,addAssetProcedureStepFieldValues:tr,addAssetProcedureStepFieldValuesMany:sr,setAssetProcedureStepFieldValues:ir,setAssetProcedureStepFieldValuesMany:nr,updateAssetProcedureStepFieldValues:ar,updateAssetProcedureStepFieldValuesMany:cr,deleteAssetProcedureStepFieldValues:dr,deleteAssetProcedureStepFieldValuesMany:rr}=bs.actions,ur=t=>t.assetProcedureStepFieldValuesReducer.instances,ot=o.createSelector([ur],t=>Object.values(t)),oP=S(o.createSelector([ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),hP=S(o.createSelector([ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure===s)))),mP=S(o.createSelector([ot,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_step===s)))),lr=t=>s=>s.assetProcedureStepFieldValuesReducer.instances[t],or=S(o.createSelector([ot,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),hr=bs.reducer,se=R(t=>t.uuid),mr={instances:{}},_s=o.createSlice({name:"assetProcedureSteps",initialState:mr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,mr)),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:yr,setAssetProcedureStep:pr,setAssetProcedureSteps:Ar,addAssetProcedureStep:fr,addAssetProcedureSteps:Sr,updateAssetProcedureStep:Tr,updateAssetProcedureSteps:Ir,deleteAssetProcedureStep:Or,deleteAssetProcedureSteps:Pr}=_s.actions,Fr=_s.reducer,Ft=t=>t.assetProcedureStepReducer.instances,gr=t=>s=>s.assetProcedureStepReducer.instances[t],Ms=o.createSelector([Ft],t=>Object.values(t)),yP=S(o.createSelector([Ft,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return ft(e)})),pP=S(o.createSelector([Ms,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),br=S(o.createSelector([Ms,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),_r=S(o.createSelector([Ft,(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)})),ie=R(t=>t.uuid),Mr={instances:{}},Rs=o.createSlice({name:"assets",initialState:Mr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Mr)),reducers:{initializeAssets:ie.initialize,addAsset:ie.addOne,addAssets:ie.addMany,setAsset:ie.setOne,setAssets:ie.setMany,updateAsset:ie.updateOne,updateAssets:ie.updateMany,deleteAsset:ie.deleteOne,deleteAssets:ie.deleteMany}}),{initializeAssets:Rr,addAsset:wr,addAssets:ws,updateAsset:Er,updateAssets:vr,deleteAsset:Vr,deleteAssets:Es,setAsset:zr,setAssets:Br}=Rs.actions,jr=t=>t.assetReducer.instances,gt=o.createSelector([jr],t=>T(Object.values(t))),AP=S(o.createSelector([gt,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>e===s)))),qr=S(o.createSelector([gt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Dr=t=>s=>s.assetReducer.instances[t],$r=S(o.createSelector([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ur=Rs.reducer,ne=R(t=>t.uuid),Cr={instances:{}},vs=o.createSlice({name:"assetStageCompletions",initialState:Cr,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Cr)),reducers:{initializeAssetStageCompletions:ne.initialize,addAssetStageCompletion:ne.addOne,addAssetStageCompletions:ne.addMany,setAssetStageCompletion:ne.setOne,setAssetStageCompletions:ne.setMany,updateAssetStageCompletion:ne.updateOne,updateAssetStageCompletions:ne.updateMany,deleteAssetStageCompletion:ne.deleteOne,deleteAssetStageCompletions:ne.deleteMany}}),{initializeAssetStageCompletions:Lr,addAssetStageCompletion:kr,addAssetStageCompletions:Nr,setAssetStageCompletion:Gr,setAssetStageCompletions:Hr,updateAssetStageCompletion:Wr,updateAssetStageCompletions:Kr,deleteAssetStageCompletion:Yr,deleteAssetStageCompletions:Zr}=vs.actions,Jr=vs.reducer,Xr=t=>t.assetStageCompletionReducer.instances,Qr=o.createSelector([Xr],t=>Object.values(t)),xr=t=>s=>s.assetStageCompletionReducer.instances[t],eu=S(o.createSelector([Qr,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ae=R(t=>t.uuid),tu={instances:{}},Vs=o.createSlice({name:"assetStages",initialState:tu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,tu)),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:su,setAssetStage:iu,setAssetStages:nu,addAssetStage:au,addAssetStages:cu,updateAssetStage:du,updateAssetStages:ru,deleteAssetStage:uu,deleteAssetStages:lu}=Vs.actions,ou=Vs.reducer,zs=t=>t.assetStageReducer.instances,hu=t=>s=>s.assetStageReducer.instances[t],Bs=o.createSelector([zs],t=>Object.values(t)),fP=S(o.createSelector([zs,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.asset_procedure_type===s&&(e[n]=a);return ft(e)})),SP=S(o.createSelector([Bs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_procedure_type===s)))),mu=S(o.createSelector([Bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ce=R(t=>t.uuid),yu={instances:{}},js=o.createSlice({name:"assetTypeAttachments",initialState:yu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,yu)),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:pu,addAssetTypeAttachment:Au,addAssetTypeAttachments:qs,setAssetTypeAttachment:fu,setAssetTypeAttachments:Su,updateAssetTypeAttachment:Tu,updateAssetTypeAttachments:Iu,deleteAssetTypeAttachment:Ou,deleteAssetTypeAttachments:Ds}=js.actions,Pu=t=>t.assetTypeAttachmentReducer.instances,$s=o.createSelector([Pu],t=>Object.values(t)),Fu=t=>s=>s.assetTypeAttachmentReducer.instances[t],gu=S(o.createSelector([$s,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),bu=S(o.createSelector([$s,(t,s)=>s],(t,s)=>T(t.filter(({asset_type:e})=>s===e)))),_u=js.reducer,de=R(t=>t.uuid),Mu={instances:{}},Us=o.createSlice({name:"assetTypeFieldsAttachments",initialState:Mu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Mu)),reducers:{initializeAssetTypeFieldsAttachments:de.initialize,addAssetTypeFieldsAttachment:de.addOne,addAssetTypeFieldsAttachments:de.addMany,setAssetTypeFieldsAttachment:de.setOne,setAssetTypeFieldsAttachments:de.setMany,updateAssetTypeFieldsAttachment:de.updateOne,updateAssetTypeFieldsAttachments:de.updateMany,deleteAssetTypeFieldsAttachment:de.deleteOne,deleteAssetTypeFieldsAttachments:de.deleteMany}}),{initializeAssetTypeFieldsAttachments:Ru,addAssetTypeFieldsAttachment:wu,addAssetTypeFieldsAttachments:Eu,setAssetTypeFieldsAttachment:vu,setAssetTypeFieldsAttachments:Vu,updateAssetTypeFieldsAttachment:zu,updateAssetTypeFieldsAttachments:Bu,deleteAssetTypeFieldsAttachment:ju,deleteAssetTypeFieldsAttachments:qu}=Us.actions,Du=t=>t.assetTypeFieldsAttachmentReducer.instances,Cs=o.createSelector([Du],t=>Object.values(t)),TP=S(o.createSelector([Cs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),$u=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Uu=S(o.createSelector([Cs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Cu=Us.reducer,re=R(t=>t.uuid),Lu={instances:{}},Ls=o.createSlice({name:"assetTypeFields",initialState:Lu,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Lu)),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:ku,addAssetTypeFields:Nu,addAssetTypeFieldsMany:Gu,setAssetTypeFields:Hu,setAssetTypeFieldsMany:Wu,updateAssetTypeFields:Ku,updateAssetTypeFieldsMany:Yu,deleteAssetTypeFields:Zu,deleteAssetTypeFieldsMany:Ju}=Ls.actions,Xu=t=>t.assetTypeFieldsReducer.instances,ht=o.createSelector([Xu],t=>Object.values(t)),IP=S(o.createSelector([ht,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),OP=S(o.createSelector([ht,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Qu=t=>s=>s.assetTypeFieldsReducer.instances[t],xu=S(o.createSelector([ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),el=Ls.reducer,ue=R(t=>t.uuid),tl={instances:{}},ks=o.createSlice({name:"assetTypeFieldValuesAttachments",initialState:tl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,tl)),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:sl,addAssetTypeFieldValuesAttachment:il,addAssetTypeFieldValuesAttachments:Ns,setAssetTypeFieldValuesAttachment:nl,setAssetTypeFieldValuesAttachments:al,updateAssetTypeFieldValuesAttachment:cl,updateAssetTypeFieldValuesAttachments:dl,deleteAssetTypeFieldValuesAttachment:rl,deleteAssetTypeFieldValuesAttachments:Gs}=ks.actions,ul=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Hs=o.createSelector([ul],t=>Object.values(t)),ll=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],ol=S(o.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),hl=S(o.createSelector([Hs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),ml=ks.reducer,le=R(t=>t.uuid),yl={instances:{}},Ws=o.createSlice({name:"assetTypeFieldValues",initialState:yl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,yl)),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:pl,addAssetTypeFieldValues:Al,addAssetTypeFieldValuesMany:fl,setAssetTypeFieldValues:Sl,setAssetTypeFieldValuesMany:Tl,updateAssetTypeFieldValues:Il,updateAssetTypeFieldValuesMany:Ol,deleteAssetTypeFieldValues:Pl,deleteAssetTypeFieldValuesMany:Fl}=Ws.actions,gl=t=>t.assetTypeFieldValuesReducer.instances,bt=o.createSelector([gl],t=>Object.values(t)),PP=S(o.createSelector([bt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),FP=S(o.createSelector([ht,bt,(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)))})),bl=t=>s=>s.assetTypeFieldValuesReducer.instances[t],_l=S(o.createSelector([bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Ml=Ws.reducer,oe=R(t=>t.uuid),Rl={instances:{}},Ks=o.createSlice({name:"assetTypeIdentifiers",initialState:Rl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Rl)),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:wl,addAssetTypeIdentifier:El,addAssetTypeIdentifiers:vl,setAssetTypeIdentifier:Vl,setAssetTypeIdentifiers:zl,updateAssetTypeIdentifier:Bl,updateAssetTypeIdentifiers:jl,deleteAssetTypeIdentifier:ql,deleteAssetTypeIdentifiers:Dl}=Ks.actions,$l=t=>t.assetTypeIdentifierReducer.instances,Ys=o.createSelector([$l],t=>Object.values(t)),Ul=t=>s=>s.assetTypeIdentifierReducer.instances[t],Cl=S(o.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),gP=S(o.createSelector([Ys,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Ll=Ks.reducer,he=R(t=>t.uuid),kl={instances:{}},Zs=o.createSlice({name:"assetTypeIdentifierValues",initialState:kl,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,kl)),reducers:{initializeAssetTypeIdentifierValues:he.initialize,addAssetTypeIdentifierValue:he.addOne,addAssetTypeIdentifierValues:he.addMany,setAssetTypeIdentifierValue:he.setOne,setAssetTypeIdentifierValues:he.setMany,updateAssetTypeIdentifierValue:he.updateOne,updateAssetTypeIdentifierValues:he.updateMany,deleteAssetTypeIdentifierValue:he.deleteOne,deleteAssetTypeIdentifierValues:he.deleteMany}}),{initializeAssetTypeIdentifierValues:Nl,addAssetTypeIdentifierValue:Gl,addAssetTypeIdentifierValues:Hl,setAssetTypeIdentifierValue:Wl,setAssetTypeIdentifierValues:Kl,updateAssetTypeIdentifierValue:Yl,updateAssetTypeIdentifierValues:Zl,deleteAssetTypeIdentifierValue:Jl,deleteAssetTypeIdentifierValues:Xl}=Zs.actions,Ql=t=>t.assetTypeIdentifierValueReducer.instances,_t=o.createSelector([Ql],t=>Object.values(t)),xl=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],eo=S(o.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),bP=S(o.createSelector([_t,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset===s)))),_P=S(o.createSelector([_t,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type_identifier===s)))),to=Zs.reducer,me=R(t=>t.uuid),so={instances:{}},Js=o.createSlice({name:"assetTypes",initialState:so,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,so)),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:io,setAssetType:no,setAssetTypes:ao,addAssetType:co,addAssetTypes:ro,updateAssetType:uo,updateAssetTypes:lo,deleteAssetType:oo,deleteAssetTypes:ho}=Js.actions,mo=t=>t.assetTypeReducer.instances,Xs=o.createSelector([mo],t=>Object.values(t)),yo=t=>s=>s.assetTypeReducer.instances[t],po=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),MP=S(o.createSelector([Xs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Ao=Js.reducer,ye=R(t=>t.uuid),fo={instances:{}},Qs=o.createSlice({name:"assetTypeStatuses",initialState:fo,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,fo)),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:So,addAssetTypeStatus:To,addAssetTypeStatuses:Io,setAssetTypeStatus:Oo,setAssetTypeStatuses:Po,updateAssetTypeStatus:Fo,updateAssetTypeStatuses:go,deleteAssetTypeStatus:bo,deleteAssetTypeStatuses:_o}=Qs.actions,Mo=t=>t.assetTypeStatusReducer.instances,xs=o.createSelector([Mo],t=>T(Object.values(t).toSorted(sa))),Ro=t=>s=>s.assetTypeStatusReducer.instances[t],wo=S(o.createSelector([xs,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),RP=S(o.createSelector([xs,(t,s)=>s],(t,s)=>T(t.filter(e=>e.asset_type===s)))),Eo=Qs.reducer,vo={accessToken:"",refreshToken:"",isLoggedIn:!1},Mt=o.createSlice({name:"auth",initialState:vo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,vo)),reducers:{setTokens:(t,s)=>{t.accessToken=s.payload.accessToken,t.refreshToken=s.payload.refreshToken},clearTokens:t=>{t.accessToken="",t.refreshToken=""},setLoggedIn:(t,s)=>{s.payload||Mt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:wP,clearTokens:EP,setLoggedIn:Vo}=Mt.actions,vP=t=>t.authReducer.accessToken,VP=t=>t.authReducer.isLoggedIn,zo=Mt.reducer,pe=R(t=>t.uuid),Bo={instances:{}},ei=o.createSlice({name:"documentAttachments",initialState:Bo,extraReducers:t=>t.addCase(_,s=>Object.assign(s,Bo)),reducers:{initializeDocumentAttachments:pe.initialize,addDocumentAttachment:pe.addOne,addDocumentAttachments:pe.addMany,setDocumentAttachment:pe.setOne,setDocumentAttachments:pe.setMany,updateDocumentAttachment:pe.updateOne,updateDocumentAttachments:pe.updateMany,deleteDocumentAttachment:pe.deleteOne,deleteDocumentAttachments:pe.deleteMany}}),{initializeDocumentAttachments:jo,addDocumentAttachment:qo,addDocumentAttachments:Do,setDocumentAttachment:$o,setDocumentAttachments:Uo,updateDocumentAttachment:Co,updateDocumentAttachments:Lo,deleteDocumentAttachment:ko,deleteDocumentAttachments:No}=ei.actions,Go=t=>t.documentAttachmentReducer.instances,ti=o.createSelector([Go],t=>Object.values(t)),Ho=t=>s=>s.documentAttachmentReducer.instances[t],Wo=S(o.createSelector([ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),zP=S(o.createSelector([ti,(t,s)=>s],(t,s)=>T(t.filter(({document:e})=>s===e)))),Ko=ei.reducer,Ae=R(({uuid:t})=>t),Yo={instances:{}},si=o.createSlice({name:"documents",initialState:Yo,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>{Object.assign(s,Yo)}),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:Zo,addDocument:Jo,addDocuments:Xo,setDocument:Qo,setDocuments:xo,updateDocument:eh,updateDocuments:th,deleteDocument:sh,deleteDocuments:ih}=si.actions,nh=si.reducer,ii=t=>t.documentsReducer.instances,Rt=o.createSelector([ii],t=>Object.values(t)),ah=t=>s=>s.documentsReducer.instances[t],ch=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),BP=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),jP=S(o.createSelector([Rt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),dh=S(o.createSelector([ii,(t,s)=>s],(t,s)=>{if(!t[s])return T([]);const a=aa(s,Object.values(t)).all().map(({model:c})=>c);return T(a)})),fe=R(t=>t.uuid),rh={instances:{}},ni=o.createSlice({name:"emailDomains",initialState:rh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,rh)),reducers:{initializeEmailDomains:fe.initialize,addEmailDomain:fe.addOne,addEmailDomains:fe.addMany,setEmailDomain:fe.setOne,setEmailDomains:fe.setMany,updateEmailDomain:fe.updateOne,updateEmailDomains:fe.updateMany,deleteEmailDomain:fe.deleteOne,deleteEmailDomains:fe.deleteMany}}),{initializeEmailDomains:uh,addEmailDomain:lh,addEmailDomains:oh,setEmailDomain:hh,setEmailDomains:mh,updateEmailDomain:yh,updateEmailDomains:ph,deleteEmailDomain:Ah,deleteEmailDomains:fh}=ni.actions,Sh=t=>t.emailDomainsReducer.instances,ai=o.createSelector([Sh],t=>Object.values(t)),Th=t=>s=>s.emailDomainsReducer.instances[t],Ih=S(o.createSelector([ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),qP=S(o.createSelector([ai,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Oh=ni.reducer,Ph={s3Urls:{}},Fh=1e3*60*60,DP=Fh*24*7,ci=o.createSlice({name:"file",initialState:Ph,extraReducers:t=>t.addCase(_,s=>Object.assign(s,Ph)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,c=new Date,r=new Date(c.getTime()+DP);t.s3Urls[a]={url:e,fields:n,exp:r.getTime()}}}}),{setUploadUrl:gh}=ci.actions,bh=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<Fh))return e},_h=ci.reducer,Se=R(t=>t.uuid),Mh={instances:{}},di=o.createSlice({name:"formIdentifiers",initialState:Mh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Mh)),reducers:{initializeFormIdentifiers:Se.initialize,addFormIdentifier:Se.addOne,addFormIdentifiers:Se.addMany,setFormIdentifier:Se.setOne,setFormIdentifiers:Se.setMany,updateFormIdentifier:Se.updateOne,updateFormIdentifiers:Se.updateMany,deleteFormIdentifier:Se.deleteOne,deleteFormIdentifiers:Se.deleteMany}}),{initializeFormIdentifiers:Rh,addFormIdentifier:wh,addFormIdentifiers:Eh,setFormIdentifier:vh,setFormIdentifiers:Vh,updateFormIdentifier:zh,updateFormIdentifiers:Bh,deleteFormIdentifier:jh,deleteFormIdentifiers:qh}=di.actions,Dh=t=>t.formIdentifierReducer.instances,ri=o.createSelector([Dh],t=>Object.values(t)),$h=t=>s=>s.formIdentifierReducer.instances[t],Uh=S(o.createSelector([ri,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),$P=S(o.createSelector([ri,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),Ch=di.reducer,Te=R(t=>t.uuid),Lh={instances:{}},ui=o.createSlice({name:"formIdentifierValues",initialState:Lh,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Lh)),reducers:{initializeFormIdentifierValues:Te.initialize,addFormIdentifierValue:Te.addOne,addFormIdentifierValues:Te.addMany,setFormIdentifierValue:Te.setOne,setFormIdentifierValues:Te.setMany,updateFormIdentifierValue:Te.updateOne,updateFormIdentifierValues:Te.updateMany,deleteFormIdentifierValue:Te.deleteOne,deleteFormIdentifierValues:Te.deleteMany}}),{initializeFormIdentifierValues:kh,addFormIdentifierValue:Nh,addFormIdentifierValues:Gh,setFormIdentifierValue:Hh,setFormIdentifierValues:Wh,updateFormIdentifierValue:Kh,updateFormIdentifierValues:Yh,deleteFormIdentifierValue:Zh,deleteFormIdentifierValues:Jh}=ui.actions,Xh=t=>t.formIdentifierValueReducer.instances,wt=o.createSelector([Xh],t=>Object.values(t)),Qh=t=>s=>s.formIdentifierValueReducer.instances[t],xh=S(o.createSelector([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),UP=S(o.createSelector([wt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),CP=S(o.createSelector([wt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_identifier===s)))),em=ui.reducer,Ie=R(t=>t.uuid),tm={instances:{}},li=o.createSlice({name:"formRevisionAttachments",initialState:tm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,tm)),reducers:{initializeFormRevisionAttachments:Ie.initialize,addFormRevisionAttachment:Ie.addOne,addFormRevisionAttachments:Ie.addMany,setFormRevisionAttachment:Ie.setOne,setFormRevisionAttachments:Ie.setMany,updateFormRevisionAttachment:Ie.updateOne,updateFormRevisionAttachments:Ie.updateMany,deleteFormRevisionAttachment:Ie.deleteOne,deleteFormRevisionAttachments:Ie.deleteMany}}),{initializeFormRevisionAttachments:sm,addFormRevisionAttachment:im,addFormRevisionAttachments:nm,setFormRevisionAttachment:am,setFormRevisionAttachments:cm,updateFormRevisionAttachment:dm,updateFormRevisionAttachments:rm,deleteFormRevisionAttachment:um,deleteFormRevisionAttachments:lm}=li.actions,Et=t=>t.formRevisionAttachmentReducer.instances,om=o.createSelector([Et],t=>Object.values(t)),hm=S(o.createSelector([Et,(t,s)=>s],(t,s)=>t[s])),mm=S(o.createSelector([om,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),LP=S(o.createSelector([Et,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.form_revision===s)))),ym=li.reducer,Oe=R(t=>t.uuid),pm={instances:{}},oi=o.createSlice({name:"formRevisions",initialState:pm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,pm)),reducers:{initializeFormRevisions:Oe.initialize,addFormRevision:Oe.addOne,addFormRevisions:Oe.addMany,setFormRevision:Oe.setOne,setFormRevisions:Oe.setMany,updateFormRevision:Oe.updateOne,updateFormRevisions:Oe.updateMany,deleteFormRevision:Oe.deleteOne,deleteFormRevisions:Oe.deleteMany}}),{initializeFormRevisions:Am,addFormRevision:hi,addFormRevisions:mi,setFormRevision:fm,setFormRevisions:Sm,updateFormRevision:Tm,updateFormRevisions:Im,deleteFormRevision:yi,deleteFormRevisions:pi}=oi.actions,Ai=t=>t.formRevisionReducer.instances,vt=o.createSelector([Ai],t=>Object.values(t)),Om=t=>s=>s.formRevisionReducer.instances[t],Pm=S(o.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),kP=S(o.createSelector([vt,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Fm=S(o.createSelector([vt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form===s)))),gm=oi.reducer,Pe=R(t=>t.uuid),bm={instances:{}},fi=o.createSlice({name:"forms",initialState:bm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,bm)),reducers:{initializeForms:Pe.initialize,addForm:Pe.addOne,addForms:Pe.addMany,setForm:Pe.setOne,setForms:Pe.setMany,updateForm:Pe.updateOne,updateForms:Pe.updateMany,deleteForm:Pe.deleteOne,deleteForms:Pe.deleteMany}}),{initializeForms:_m,addForm:Mm,addForms:Rm,setForm:wm,setForms:Em,updateForm:vm,updateForms:Vm,deleteForm:zm,deleteForms:Bm}=fi.actions,jm=fi.reducer,qm=t=>t.formReducer.instances,Si=o.createSelector([qm],t=>Object.values(t)),Dm=t=>s=>s.formReducer.instances[t],$m=S(o.createSelector([Si,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),NP=S(o.createSelector([Si,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),Fe=R(t=>t.uuid),Um={instances:{}},Ti=o.createSlice({name:"formSubmissionAttachments",initialState:Um,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Um)),reducers:{initializeFormSubmissionAttachments:Fe.initialize,addFormSubmissionAttachment:Fe.addOne,addFormSubmissionAttachments:Fe.addMany,setFormSubmissionAttachment:Fe.setOne,setFormSubmissionAttachments:Fe.setMany,updateFormSubmissionAttachment:Fe.updateOne,updateFormSubmissionAttachments:Fe.updateMany,deleteFormSubmissionAttachment:Fe.deleteOne,deleteFormSubmissionAttachments:Fe.deleteMany}}),{initializeFormSubmissionAttachments:Cm,addFormSubmissionAttachment:Lm,addFormSubmissionAttachments:Ii,setFormSubmissionAttachment:km,setFormSubmissionAttachments:Nm,updateFormSubmissionAttachment:Gm,updateFormSubmissionAttachments:Hm,deleteFormSubmissionAttachment:Wm,deleteFormSubmissionAttachments:Oi}=Ti.actions,Pi=t=>t.formSubmissionAttachmentReducer.instances,Fi=o.createSelector([Pi],t=>Object.values(t)),Km=S(o.createSelector([Pi,(t,s)=>s],(t,s)=>t[s])),gi=S(o.createSelector([Fi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(n=>e.has(n.uuid)))})),Ym=gi,Zm=S(o.createSelector([Fi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.form_submission===s)))),Jm=Ti.reducer,ge=R(t=>t.uuid),Xm={instances:{}},bi=o.createSlice({name:"formSubmissions",initialState:Xm,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Xm)),reducers:{initializeFormSubmissions:ge.initialize,setFormSubmission:ge.setOne,setFormSubmissions:ge.setMany,addFormSubmission:ge.addOne,addFormSubmissions:ge.addMany,updateFormSubmission:ge.updateOne,updateFormSubmissions:ge.updateMany,deleteFormSubmission:ge.deleteOne,deleteFormSubmissions:ge.deleteMany}}),{initializeFormSubmissions:Qm,setFormSubmission:xm,setFormSubmissions:ey,addFormSubmission:ty,addFormSubmissions:_i,updateFormSubmission:sy,updateFormSubmissions:iy,deleteFormSubmission:ny,deleteFormSubmissions:Mi}=bi.actions,Ri=t=>t.formSubmissionReducer.instances,ay=o.createSelector([Ri],t=>Object.values(t)),cy=t=>s=>s.formSubmissionReducer.instances[t],dy=S(o.createSelector([ay,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),ry=S(o.createSelector([Ri,Ai,(t,s)=>s],(t,s,e)=>{const n=new Set;for(const a of Object.values(s))a.form===e&&n.add(a.uuid);return Object.values(t).filter(a=>n.has(a.form_revision))})),uy=bi.reducer,be=R(t=>t.uuid),ly={instances:{}},wi=o.createSlice({name:"geoImages",initialState:ly,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,ly)),reducers:{initializeGeoImages:be.initialize,setGeoImage:be.setOne,setGeoImages:be.setMany,addGeoImage:be.addOne,addGeoImages:be.addMany,updateGeoImage:be.updateOne,updateGeoImages:be.updateMany,deleteGeoImage:be.deleteOne,deleteGeoImages:be.deleteMany}}),{initializeGeoImages:oy,setGeoImage:hy,setGeoImages:my,addGeoImage:yy,addGeoImages:py,updateGeoImage:Ay,updateGeoImages:fy,deleteGeoImage:Sy,deleteGeoImages:Ty}=wi.actions,Iy=t=>t.geoImageReducer.instances,Ei=o.createSelector([Iy],t=>Object.values(t)),Oy=t=>s=>s.geoImageReducer.instances[t],Py=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),GP=S(o.createSelector([Ei,(t,s)=>s],(t,s)=>T(t.filter(e=>e.project===s)))),Fy=wi.reducer,_e=R(t=>t.uuid),gy={instances:{}},vi=o.createSlice({name:"issueAssociations",initialState:gy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,gy)),reducers:{initializeIssueAssociations:_e.initialize,addIssueAssociation:_e.addOne,addIssueAssociations:_e.addMany,setIssueAssociation:_e.setOne,setIssueAssociations:_e.setMany,updateIssueAssociation:_e.updateOne,updateIssueAssociations:_e.updateMany,deleteIssueAssociation:_e.deleteOne,deleteIssueAssociations:_e.deleteMany}}),{initializeIssueAssociations:by,setIssueAssociations:_y,setIssueAssociation:My,updateIssueAssociation:Ry,updateIssueAssociations:wy,addIssueAssociation:Ey,addIssueAssociations:et,deleteIssueAssociation:vy,deleteIssueAssociations:tt}=vi.actions,Vt=t=>t.issueAssociationReducer.instances,mt=o.createSelector([Vt],t=>Object.values(t)),Vy=t=>s=>s.issueAssociationReducer.instances[t],zy=S(o.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),By=S(o.createSelector([Vt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.associated_issue===s)))),jy=S(o.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({associated_issue:n})=>e.has(n)))})),qy=S(o.createSelector([mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({issue:n})=>n&&e.has(n)))})),Dy=S(o.createSelector([mt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),$y=S(o.createSelector([Vt,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.asset===s)))),Uy=vi.reducer,Me=R(t=>t.uuid),Cy={instances:{}},Vi=o.createSlice({name:"issueAttachments",initialState:Cy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,Cy)),reducers:{initializeIssueAttachments:Me.initialize,addIssueAttachment:Me.addOne,addIssueAttachments:Me.addMany,setIssueAttachment:Me.setOne,setIssueAttachments:Me.setMany,updateIssueAttachment:Me.updateOne,updateIssueAttachments:Me.updateMany,deleteIssueAttachment:Me.deleteOne,deleteIssueAttachments:Me.deleteMany}}),{initializeIssueAttachments:Ly,addIssueAttachment:ky,addIssueAttachments:zi,setIssueAttachment:Ny,setIssueAttachments:Gy,updateIssueAttachment:Hy,updateIssueAttachments:Wy,deleteIssueAttachment:Ky,deleteIssueAttachments:Bi}=Vi.actions,Yy=t=>t.issueAttachmentReducer.instances,ji=o.createSelector([Yy],t=>Object.values(t)),Zy=S(o.createSelector([ji,(t,s)=>s],(t,s)=>T(t.filter(({issue:e})=>s===e)))),Jy=t=>s=>s.issueAttachmentReducer.instances[t],Xy=S(o.createSelector([ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),Qy=Vi.reducer,Re=R(t=>t.uuid),xy={instances:{}},qi=o.createSlice({name:"issueCommentAttachments",initialState:xy,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,xy)),reducers:{initializeIssueCommentAttachments:Re.initialize,addIssueCommentAttachment:Re.addOne,addIssueCommentAttachments:Re.addMany,setIssueCommentAttachment:Re.setOne,setIssueCommentAttachments:Re.setMany,updateIssueCommentAttachment:Re.updateOne,updateIssueCommentAttachments:Re.updateMany,deleteIssueCommentAttachment:Re.deleteOne,deleteIssueCommentAttachments:Re.deleteMany}}),{initializeIssueCommentAttachments:ep,addIssueCommentAttachment:tp,addIssueCommentAttachments:sp,setIssueCommentAttachment:ip,setIssueCommentAttachments:np,updateIssueCommentAttachment:ap,updateIssueCommentAttachments:cp,deleteIssueCommentAttachment:dp,deleteIssueCommentAttachments:rp}=qi.actions,up=t=>t.issueCommentAttachmentReducer.instances,Di=o.createSelector([up],t=>Object.values(t)),lp=t=>s=>s.issueCommentAttachmentReducer.instances[t],op=S(o.createSelector([Di,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),HP=S(o.createSelector([Di,(t,s)=>s],(t,s)=>T(t.filter(({issue_comment:e})=>s===e)))),hp=qi.reducer,we=R(t=>t.uuid),mp={instances:{}},$i=o.createSlice({name:"issueComments",initialState:mp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,mp)),reducers:{initializeIssueComments:we.initialize,addIssueComment:we.addOne,addIssueComments:we.addMany,setIssueComment:we.setOne,setIssueComments:we.setMany,updateIssueComment:we.updateOne,updateIssueComments:we.updateMany,deleteIssueComment:we.deleteOne,deleteIssueComments:we.deleteMany}}),{initializeIssueComments:yp,addIssueComment:pp,addIssueComments:Ap,setIssueComment:fp,setIssueComments:Sp,updateIssueComment:Tp,updateIssueComments:Ip,deleteIssueComment:Op,deleteIssueComments:Pp}=$i.actions,Ui=t=>t.issueCommentReducer.instances,Fp=t=>s=>s.issueCommentReducer.instances[t],gp=S(o.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),WP=S(o.createSelector([Ui,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.issue===s)))),bp=$i.reducer,Ee=R(t=>t.uuid),_p={instances:{}},Ci=o.createSlice({name:"issues",initialState:_p,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,_p)),reducers:{initializeIssues:Ee.initialize,addIssue:Ee.addOne,addIssues:Ee.addMany,setIssue:Ee.setOne,setIssues:Ee.setMany,updateIssue:Ee.updateOne,updateIssues:Ee.updateMany,deleteIssue:Ee.deleteOne,deleteIssues:Ee.deleteMany}}),{initializeIssues:Mp,addIssue:Rp,addIssues:Li,setIssue:wp,setIssues:Ep,updateIssue:vp,updateIssues:Vp,deleteIssue:zp,deleteIssues:ki}=Ci.actions,Bp=t=>t.issueReducer.instances,zt=o.createSelector([Bp],t=>Object.values(t)),jp=t=>s=>s.issueReducer.instances[t],qp=S(o.createSelector([zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),KP=S(o.createSelector([zt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Dp=S(o.createSelector([zt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),$p=Ci.reducer,ve=R(t=>t.uuid),Up={instances:{}},Ni=o.createSlice({name:"issueTypeAttachments",initialState:Up,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Up)),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:Cp,addIssueTypeAttachment:Lp,addIssueTypeAttachments:kp,setIssueTypeAttachment:Np,setIssueTypeAttachments:Gp,updateIssueTypeAttachment:Hp,updateIssueTypeAttachments:Wp,deleteIssueTypeAttachment:Kp,deleteIssueTypeAttachments:Yp}=Ni.actions,Zp=t=>t.issueTypeAttachmentReducer.instances,Gi=o.createSelector([Zp],t=>Object.values(t)),Jp=t=>s=>s.issueTypeAttachmentReducer.instances[t],Xp=S(o.createSelector([Gi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),YP=S(o.createSelector([Gi,(t,s)=>s],(t,s)=>T(t.filter(({issue_type:e})=>s===e)))),Qp=Ni.reducer,Ve=R(t=>t.uuid),xp={instances:{}},Hi=o.createSlice({name:"issueTypeFieldsAttachments",initialState:xp,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,xp)),reducers:{initializeIssueTypeFieldsAttachments:Ve.initialize,addIssueTypeFieldsAttachment:Ve.addOne,addIssueTypeFieldsAttachments:Ve.addMany,setIssueTypeFieldsAttachment:Ve.setOne,setIssueTypeFieldsAttachments:Ve.setMany,updateIssueTypeFieldsAttachment:Ve.updateOne,updateIssueTypeFieldsAttachments:Ve.updateMany,deleteIssueTypeFieldsAttachment:Ve.deleteOne,deleteIssueTypeFieldsAttachments:Ve.deleteMany}}),{initializeIssueTypeFieldsAttachments:eA,addIssueTypeFieldsAttachment:tA,addIssueTypeFieldsAttachments:sA,setIssueTypeFieldsAttachment:iA,setIssueTypeFieldsAttachments:nA,updateIssueTypeFieldsAttachment:aA,updateIssueTypeFieldsAttachments:cA,deleteIssueTypeFieldsAttachment:dA,deleteIssueTypeFieldsAttachments:rA}=Hi.actions,uA=t=>t.issueTypeFieldsAttachmentReducer.instances,Wi=o.createSelector([uA],t=>Object.values(t)),ZP=S(o.createSelector([Wi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.fields_revision===s)))),lA=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],oA=S(o.createSelector([Wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),hA=Hi.reducer,ze=R(t=>t.uuid),mA={instances:{}},Ki=o.createSlice({name:"issueTypeFieldValues",initialState:mA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,mA)),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:yA,addIssueTypeFieldValues:pA,addIssueTypeFieldValuesMany:AA,setIssueTypeFieldValues:fA,setIssueTypeFieldValuesMany:SA,updateIssueTypeFieldValues:TA,updateIssueTypeFieldValuesMany:IA,deleteIssueTypeFieldValues:OA,deleteIssueTypeFieldValuesMany:PA}=Ki.actions,FA=t=>t.issueTypeFieldValuesReducer.instances,Bt=o.createSelector([FA],t=>Object.values(t)),JP=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),gA=t=>s=>s.issueTypeFieldValuesReducer.instances[t],bA=S(o.createSelector([Bt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),_A=Ki.reducer,Be=R(t=>t.uuid),MA={instances:{}},Yi=o.createSlice({name:"issueTypeFields",initialState:MA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,MA)),reducers:{initializeIssueTypeFields:Be.initialize,addIssueTypeFields:Be.addOne,addIssueTypeFieldsMany:Be.addMany,setIssueTypeFields:Be.setOne,setIssueTypeFieldsMany:Be.setMany,updateIssueTypeFields:Be.updateOne,updateIssueTypeFieldsMany:Be.updateMany,deleteIssueTypeFields:Be.deleteOne,deleteIssueTypeFieldsMany:Be.deleteMany}}),{initializeIssueTypeFields:RA,addIssueTypeFields:wA,addIssueTypeFieldsMany:EA,setIssueTypeFields:vA,setIssueTypeFieldsMany:VA,updateIssueTypeFields:zA,updateIssueTypeFieldsMany:BA,deleteIssueTypeFields:jA,deleteIssueTypeFieldsMany:qA}=Yi.actions,DA=t=>t.issueTypeFieldsReducer.instances,yt=o.createSelector([DA],t=>Object.values(t)),XP=S(o.createSelector([yt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),QP=S(o.createSelector([yt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),xP=S(o.createSelector([yt,Bt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return T(s.filter(a=>n.has(a.fields_revision)))})),$A=t=>s=>s.issueTypeFieldsReducer.instances[t],UA=S(o.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),CA=Yi.reducer,je=R(t=>t.uuid),LA={instances:{}},Zi=o.createSlice({name:"issueTypeFieldValuesAttachments",initialState:LA,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,LA)),reducers:{initializeIssueTypeFieldValuesAttachments:je.initialize,addIssueTypeFieldValuesAttachment:je.addOne,addIssueTypeFieldValuesAttachments:je.addMany,setIssueTypeFieldValuesAttachment:je.setOne,setIssueTypeFieldValuesAttachments:je.setMany,updateIssueTypeFieldValuesAttachment:je.updateOne,updateIssueTypeFieldValuesAttachments:je.updateMany,deleteIssueTypeFieldValuesAttachment:je.deleteOne,deleteIssueTypeFieldValuesAttachments:je.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:kA,addIssueTypeFieldValuesAttachment:NA,addIssueTypeFieldValuesAttachments:Ji,setIssueTypeFieldValuesAttachment:GA,setIssueTypeFieldValuesAttachments:HA,updateIssueTypeFieldValuesAttachment:WA,updateIssueTypeFieldValuesAttachments:KA,deleteIssueTypeFieldValuesAttachment:YA,deleteIssueTypeFieldValuesAttachments:Xi}=Zi.actions,ZA=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Qi=o.createSelector([ZA],t=>Object.values(t)),JA=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],XA=S(o.createSelector([Qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),QA=S(o.createSelector([Qi,(t,s)=>s],(t,s)=>T(t.filter(e=>e.field_values===s)))),xA=Zi.reducer,qe=R(t=>t.uuid),ef={instances:{}},xi=o.createSlice({name:"issueTypeIdentifiers",initialState:ef,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ef)),reducers:{initializeIssueTypeIdentifiers:qe.initialize,addIssueTypeIdentifier:qe.addOne,addIssueTypeIdentifiers:qe.addMany,setIssueTypeIdentifier:qe.setOne,setIssueTypeIdentifiers:qe.setMany,updateIssueTypeIdentifier:qe.updateOne,updateIssueTypeIdentifiers:qe.updateMany,deleteIssueTypeIdentifier:qe.deleteOne,deleteIssueTypeIdentifiers:qe.deleteMany}}),{initializeIssueTypeIdentifiers:tf,addIssueTypeIdentifier:sf,addIssueTypeIdentifiers:nf,setIssueTypeIdentifier:af,setIssueTypeIdentifiers:cf,updateIssueTypeIdentifier:df,updateIssueTypeIdentifiers:rf,deleteIssueTypeIdentifier:uf,deleteIssueTypeIdentifiers:lf}=xi.actions,of=t=>t.issueTypeIdentifierReducer.instances,en=o.createSelector([of],t=>Object.values(t)),hf=t=>s=>s.issueTypeIdentifierReducer.instances[t],mf=S(o.createSelector([en,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),eF=S(o.createSelector([en,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),yf=xi.reducer,De=R(t=>t.uuid),pf={instances:{}},tn=o.createSlice({name:"issueTypeIdentifierValues",initialState:pf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,pf)),reducers:{initializeIssueTypeIdentifierValues:De.initialize,addIssueTypeIdentifierValue:De.addOne,addIssueTypeIdentifierValues:De.addMany,setIssueTypeIdentifierValue:De.setOne,setIssueTypeIdentifierValues:De.setMany,updateIssueTypeIdentifierValue:De.updateOne,updateIssueTypeIdentifierValues:De.updateMany,deleteIssueTypeIdentifierValue:De.deleteOne,deleteIssueTypeIdentifierValues:De.deleteMany}}),{initializeIssueTypeIdentifierValues:Af,addIssueTypeIdentifierValue:ff,addIssueTypeIdentifierValues:Sf,setIssueTypeIdentifierValue:Tf,setIssueTypeIdentifierValues:If,updateIssueTypeIdentifierValue:Of,updateIssueTypeIdentifierValues:Pf,deleteIssueTypeIdentifierValue:Ff,deleteIssueTypeIdentifierValues:gf}=tn.actions,bf=t=>t.issueTypeIdentifierValueReducer.instances,jt=o.createSelector([bf],t=>Object.values(t)),_f=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],Mf=S(o.createSelector([jt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),tF=S(o.createSelector([jt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),sF=S(o.createSelector([jt,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type_identifier===s)))),Rf=tn.reducer,$e=R(t=>t.uuid),wf={instances:{}},sn=o.createSlice({name:"issueTypes",initialState:wf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,wf)),reducers:{initializeIssueTypes:$e.initialize,addIssueType:$e.addOne,addIssueTypes:$e.addMany,setIssueType:$e.setOne,setIssueTypes:$e.setMany,updateIssueType:$e.updateOne,updateIssueTypes:$e.updateMany,deleteIssueType:$e.deleteOne,deleteIssueTypes:$e.deleteMany}}),{initializeIssueTypes:Ef,addIssueType:vf,addIssueTypes:Vf,setIssueType:zf,setIssueTypes:Bf,updateIssueType:jf,updateIssueTypes:qf,deleteIssueType:Df,deleteIssueTypes:$f}=sn.actions,Uf=t=>t.issueTypeReducer.instances,nn=o.createSelector(Uf,t=>Object.values(t)),Cf=t=>s=>s.issueTypeReducer.instances[t],Lf=S(o.createSelector([nn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),iF=S(o.createSelector([nn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),kf=sn.reducer,Ue=R(t=>t.uuid),Nf={instances:{}},an=o.createSlice({name:"issueTypeStatuses",initialState:Nf,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,Nf)),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:Gf,addIssueTypeStatus:Hf,addIssueTypeStatuses:Wf,setIssueTypeStatus:Kf,setIssueTypeStatuses:Yf,updateIssueTypeStatus:Zf,updateIssueTypeStatuses:Jf,deleteIssueTypeStatus:Xf,deleteIssueTypeStatuses:Qf}=an.actions,xf=t=>t.issueTypeStatusReducer.instances,cn=o.createSelector([xf],t=>T(Object.values(t).toSorted(ia))),dn=t=>s=>s.issueTypeStatusReducer.instances[t],eS=S(o.createSelector([cn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),nF=S(o.createSelector([cn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue_type===s)))),tS=an.reducer,Ce=R(t=>t.uuid),sS={instances:{}},rn=o.createSlice({name:"issueUpdates",initialState:sS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,sS)),reducers:{initializeIssueUpdates:Ce.initialize,addIssueUpdate:Ce.addOne,addIssueUpdates:Ce.addMany,setIssueUpdate:Ce.setOne,setIssueUpdates:Ce.setMany,updateIssueUpdate:Ce.updateOne,updateIssueUpdates:Ce.updateMany,deleteIssueUpdate:Ce.deleteOne,deleteIssueUpdates:Ce.deleteMany}}),{initializeIssueUpdates:iS,addIssueUpdate:un,addIssueUpdates:ln,setIssueUpdate:nS,setIssueUpdates:aS,updateIssueUpdate:cS,updateIssueUpdates:dS,deleteIssueUpdate:on,deleteIssueUpdates:hn}=rn.actions,mn=t=>t.issueUpdateReducer.instances,yn=o.createSelector([mn],t=>Object.values(t)),rS=S(o.createSelector([mn,(t,s)=>s],(t,s)=>t[s])),uS=S(o.createSelector([yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),lS=S(o.createSelector([yn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.issue===s)))),oS=rn.reducer,Le=R(t=>t.id),hS={instances:{},currentUser:null},pn=o.createSlice({name:"users",initialState:hS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,hS)),reducers:{initializeUsers:Le.initialize,setUsers:Le.setMany,setUser:Le.setOne,addUsers:Le.addMany,addUser:Le.addOne,updateUsers:Le.updateMany,updateUser:Le.updateOne,deleteUser:Le.deleteOne,deleteUsers:Le.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setProfilePicture:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile.file=s.payload.file??null,t.currentUser.profile.file_sha1=s.payload.file_sha1??null;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile.file=s.payload.file??null,e.profile.file_sha1=s.payload.file_sha1??null}}}),{initializeUsers:mS,setUsers:yS,setUser:pS,addUsers:AS,addUser:An,updateUsers:fS,updateUser:SS,deleteUser:fn,deleteUsers:TS,setCurrentUser:aF,setProfilePicture:cF}=pn.actions,IS=pn.reducer,OS=t=>t.userReducer.currentUser,Sn=t=>t.userReducer.instances,qt=o.createSelector([Sn],t=>Object.values(t)),Dt=t=>s=>s.userReducer.instances[t],PS=S(o.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({id:n})=>e.has(n)))})),ke=R(t=>t.uuid),FS={instances:{}},Tn=o.createSlice({name:"organizationAccess",initialState:FS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,FS)),reducers:{initializeOrganizationAccesses:ke.initialize,addOrganizationAccess:ke.addOne,addOrganizationAccesses:ke.addMany,setOrganizationAccess:ke.setOne,setOrganizationAccesses:ke.setMany,updateOrganizationAccess:ke.updateOne,updateOrganizationAccesses:ke.updateMany,deleteOrganizationAccess:ke.deleteOne,deleteOrganizationAccesses:ke.deleteMany}}),{initializeOrganizationAccesses:gS,addOrganizationAccess:bS,addOrganizationAccesses:_S,setOrganizationAccess:MS,setOrganizationAccesses:RS,updateOrganizationAccess:wS,updateOrganizationAccesses:ES,deleteOrganizationAccess:vS,deleteOrganizationAccesses:VS}=Tn.actions,zS=Tn.reducer,$t=t=>t.organizationAccessReducer.instances,BS=t=>s=>s.organizationAccessReducer.instances[t],jS=S(o.createSelector([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(Object.values(t).filter(({uuid:n})=>e.has(n)))})),dF=o.createSelector([OS,$t],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),qS=o.createSelector([$t],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return ft(s)}),rF=S(o.createSelector([Sn,qS,(t,s)=>s],(t,s,e)=>T(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),Ne=R(t=>t.uuid),DS={instances:{}},In=o.createSlice({name:"organizations",initialState:DS,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,DS)),reducers:{initializeOrganizations:Ne.initialize,setOrganizations:Ne.setMany,setOrganization:Ne.setOne,addOrganizations:Ne.addMany,addOrganization:Ne.addOne,updateOrganizations:Ne.updateMany,updateOrganization:Ne.updateOne,deleteOrganization:Ne.deleteOne,deleteOrganizations:Ne.deleteMany}}),{initializeOrganizations:$S,setOrganizations:US,setOrganization:CS,addOrganizations:LS,addOrganization:kS,updateOrganizations:NS,updateOrganization:GS,deleteOrganization:HS,deleteOrganizations:WS}=In.actions,KS=t=>t.organizationReducer.instances,YS=o.createSelector([KS],t=>Object.values(t)),ZS=t=>s=>s.organizationReducer.instances[t],JS=S(o.createSelector([YS,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),XS=In.reducer,QS=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:Qe.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},xS={deletedRequests:[],latestRetryTime:0},On=o.createSlice({name:"outbox",initialState:xS,extraReducers:t=>t.addCase(_,s=>Object.assign(s,xS)),reducers:{enqueueRequest:{reducer:(t,s)=>t,prepare:t=>{console.debug("Preparing to enqueue request",t.url);const{BASE_URL:s,serviceName:e,...n}=t;return QS(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}}}),uF=t=>t.outboxReducer.deletedRequests,lF=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:eT,markForDeletion:oF,markAsDeleted:tT,_setLatestRetryTime:sT}=On.actions,iT=On.reducer,Ge=R(t=>t.uuid),nT={instances:{}},Pn=o.createSlice({name:"projectAccess",initialState:nT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,nT)),reducers:{initializeProjectAccesses:Ge.initialize,addProjectAccess:Ge.addOne,addProjectAccesses:Ge.addMany,setProjectAccess:Ge.setOne,setProjectAccesses:Ge.setMany,updateProjectAccess:Ge.updateOne,updateProjectAccesses:Ge.updateMany,deleteProjectAccess:Ge.deleteOne,deleteProjectAccesses:Ge.deleteMany}}),{initializeProjectAccesses:aT,addProjectAccess:cT,addProjectAccesses:dT,setProjectAccess:rT,setProjectAccesses:uT,updateProjectAccess:lT,updateProjectAccesses:oT,deleteProjectAccess:hT,deleteProjectAccesses:mT}=Pn.actions,yT=Pn.reducer,Fn=t=>t.projectAccessReducer.instances,pt=o.createSelector(Fn,t=>Object.values(t)),pT=t=>s=>s.projectAccessReducer.instances[t],AT=S(o.createSelector([pt,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),hF=S(o.createSelector([Fn,(t,s)=>s],(t,s)=>T(Object.values(t).filter(e=>e.project===s)))),mF=S(o.createSelector([pt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),yF=S(o.createSelector([qt,pt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return T(t.filter(a=>n.has(a.id)))})),He=R(t=>t.uuid),fT={instances:{}},gn=o.createSlice({name:"projectAttachments",initialState:fT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,fT)),reducers:{initializeProjectAttachments:He.initialize,addProjectAttachment:He.addOne,addProjectAttachments:He.addMany,setProjectAttachment:He.setOne,setProjectAttachments:He.setMany,updateProjectAttachment:He.updateOne,updateProjectAttachments:He.updateMany,deleteProjectAttachment:He.deleteOne,deleteProjectAttachments:He.deleteMany}}),{initializeProjectAttachments:ST,addProjectAttachment:TT,addProjectAttachments:IT,setProjectAttachment:OT,setProjectAttachments:PT,updateProjectAttachment:FT,updateProjectAttachments:gT,deleteProjectAttachment:bT,deleteProjectAttachments:_T}=gn.actions,MT=t=>t.projectAttachmentReducer.instances,bn=o.createSelector([MT],t=>Object.values(t)),RT=t=>s=>s.projectAttachmentReducer.instances[t],wT=S(o.createSelector([bn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),pF=S(o.createSelector([bn,(t,s)=>s],(t,s)=>T(t.filter(({project:e})=>s===e)))),ET=gn.reducer,We=R(t=>t.uuid),vT={instances:{},activeProjectFileId:null,isImportingProjectFile:!1},_n=o.createSlice({name:"projectFiles",initialState:vT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,D,w),s=>Object.assign(s,vT)),reducers:{initializeProjectFiles:We.initialize,setProjectFile:We.setOne,setProjectFiles:We.setMany,addProjectFile:We.addOne,addProjectFiles:We.addMany,updateProjectFile:We.updateOne,updateProjectFiles:We.updateMany,deleteProjectFile:We.deleteOne,deleteProjectFiles:We.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:VT,setProjectFile:zT,setProjectFiles:BT,addProjectFile:jT,addProjectFiles:qT,updateProjectFile:DT,updateProjectFiles:$T,deleteProjectFile:UT,deleteProjectFiles:CT,setIsImportingProjectFile:LT,setActiveProjectFileId:kT,saveActiveProjectFileBounds:NT}=_n.actions,GT=t=>t.projectFileReducer.instances,HT=o.createSelector([GT],t=>T(Object.values(t).sort((s,e)=>s.z_index-e.z_index))),WT=t=>s=>s.projectFileReducer.instances[t],KT=S(o.createSelector([HT,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),AF=t=>t.projectFileReducer.activeProjectFileId,fF=t=>t.projectFileReducer.isImportingProjectFile,YT=_n.reducer,Ke=R(t=>t.uuid),ZT={instances:{}},Mn=o.createSlice({name:"projects",initialState:ZT,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,ZT)),reducers:{initializeProjects:Ke.initialize,setProjects:Ke.setMany,setProject:Ke.setOne,addProjects:Ke.addMany,addProject:Ke.addOne,updateProjects:Ke.updateMany,updateProject:Ke.updateOne,deleteProject:Ke.deleteOne,deleteProjects:Ke.deleteMany}}),{initializeProjects:JT,setProjects:XT,setProject:QT,addProjects:xT,addProject:eI,updateProjects:tI,updateProject:sI,deleteProject:iI,deleteProjects:nI}=Mn.actions,aI=Mn.reducer,cI=t=>t.projectReducer.instances,Ut=o.createSelector([cI],t=>Object.values(t)),dI=t=>s=>s.projectReducer.instances[t],rI=S(o.createSelector([Ut,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),SF=S(o.createSelector([Ut,pt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return T(t.filter(a=>n.has(a.uuid)))})),TF=S(o.createSelector([Ut,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),IF={isRehydrated:!1},Rn=o.createSlice({name:"rehydrated",initialState:IF,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:OF}=Rn.actions,PF=t=>t.rehydratedReducer.isRehydrated,uI=Rn.reducer,Ye=R(t=>t.uuid),lI={instances:{}},wn=o.createSlice({name:"teamMemberships",initialState:lI,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,lI)),reducers:{initializeTeamMemberships:Ye.initialize,addTeamMembership:Ye.addOne,addTeamMemberships:Ye.addMany,setTeamMembership:Ye.setOne,setTeamMemberships:Ye.setMany,updateTeamMembership:Ye.updateOne,updateTeamMemberships:Ye.updateMany,deleteTeamMembership:Ye.deleteOne,deleteTeamMemberships:Ye.deleteMany}}),{initializeTeamMemberships:oI,addTeamMembership:hI,addTeamMemberships:mI,setTeamMembership:yI,setTeamMemberships:pI,updateTeamMembership:AI,updateTeamMemberships:fI,deleteTeamMembership:SI,deleteTeamMemberships:TI}=wn.actions,II=wn.reducer,OI=t=>t.teamMembershipReducer.instances,Ct=o.createSelector([OI],t=>Object.values(t)),PI=t=>s=>s.teamMembershipReducer.instances[t],FI=S(o.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),FF=S(o.createSelector([Ct,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),gF=S(o.createSelector([qt,Ct,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return T(t.filter(a=>n.has(a.id)))})),Ze=R(t=>t.uuid),gI={instances:{}},En=o.createSlice({name:"teams",initialState:gI,extraReducers:t=>t.addMatcher(o.isAnyOf(_,w),s=>Object.assign(s,gI)),reducers:{initializeTeams:Ze.initialize,addTeam:Ze.addOne,addTeams:Ze.addMany,setTeam:Ze.setOne,setTeams:Ze.setMany,updateTeam:Ze.updateOne,updateTeams:Ze.updateMany,deleteTeam:Ze.deleteOne,deleteTeams:Ze.deleteMany}}),{initializeTeams:bI,addTeam:_I,addTeams:MI,setTeam:RI,setTeams:wI,updateTeam:EI,updateTeams:vI,deleteTeam:VI,deleteTeams:zI}=En.actions,BI=t=>t.teamReducer.instances,vn=o.createSelector([BI],t=>Object.values(t)),jI=t=>s=>s.teamReducer.instances[t],qI=S(o.createSelector([vn,(t,s)=>s],(t,s)=>{const e=new Set(s);return T(t.filter(({uuid:n})=>e.has(n)))})),bF=S(o.createSelector([vn,(t,s)=>s],(t,s)=>T(t.filter(e=>e.organization===s)))),DI=En.reducer,_F={version:0},$I=o.createSlice({name:"versioning",initialState:_F,reducers:{}}),UI=$I.reducer,Vn={outboxReducer:iT,fileReducer:_h,authReducer:zo},MF=o.combineReducers(Vn),CI={...Vn,[lt]:UI,assetReducer:Ur,assetAttachmentReducer:ga,assetStageCompletionReducer:Jr,assetStageReducer:ou,assetTypeReducer:Ao,assetTypeAttachmentReducer:_u,issueReducer:$p,issueAttachmentReducer:Qy,issueTypeReducer:kf,issueTypeAttachmentReducer:Qp,organizationReducer:XS,projectReducer:aI,projectAttachmentReducer:ET,projectAccessReducer:yT,organizationAccessReducer:zS,projectFileReducer:YT,rehydratedReducer:uI,formReducer:jm,formRevisionReducer:gm,formRevisionAttachmentReducer:ym,formSubmissionAttachmentReducer:Jm,formSubmissionReducer:uy,formIdentifierReducer:Ch,formIdentifierValueReducer:em,userReducer:IS,emailDomainsReducer:Oh,documentsReducer:nh,documentAttachmentReducer:Ko,teamReducer:DI,agentsReducer:oa,issueCommentReducer:bp,issueCommentAttachmentReducer:hp,issueUpdateReducer:oS,geoImageReducer:Fy,issueAssociationReducer:Uy,issueTypeFieldsReducer:CA,issueTypeFieldValuesReducer:_A,issueTypeFieldsAttachmentReducer:hA,issueTypeFieldValuesAttachmentReducer:xA,issueTypeIdentifierReducer:yf,issueTypeIdentifierValueReducer:Rf,issueTypeStatusReducer:tS,assetTypeFieldsReducer:el,assetTypeFieldValuesReducer:Ml,assetTypeFieldsAttachmentReducer:Cu,assetTypeFieldValuesAttachmentReducer:ml,assetTypeIdentifierReducer:Ll,assetTypeIdentifierValueReducer:to,assetTypeStatusReducer:Eo,assetProcedureTypeReducer:ud,assetProcedureReducer:Yc,assetProcedureTypeFieldsReducer:uc,assetProcedureTypeFieldValuesReducer:qc,assetProcedureTypeFieldsAttachmentReducer:Za,assetProcedureTypeFieldValuesAttachmentReducer:Oc,assetProcedureTypeAttachmentReducer:ja,assetProcedureStepFieldsAttachmentReducer:_d,assetProcedureStepFieldsReducer:Ud,assetProcedureStepFieldValuesAttachmentReducer:Qd,assetProcedureStepFieldValuesReducer:hr,assetProcedureStepReducer:Fr,teamMembershipReducer:II},RF=o.combineReducers(CI),LI=1e4,kI=200,zn=[400,409,403,404,405,500],k=1e4,NI={};class GI{constructor(s){y(this,"client");y(this,"pageSize",LI);NI[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 HI=()=>YI.length-1,WI=t=>(t[lt]={version:HI()},t),KI=()=>WI({}),wF=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),EF=t=>s=>{var e;return s===void 0&&(s={}),((e=s[lt])==null?void 0:e.version)===HI()?s:t(s)},YI=[WI,KI,KI,wF],vF=Object.fromEntries(YI.map((t,s)=>[s,EF(t)])),VF=t=>{if(t)throw t;const s=ut();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},ZI=(t,s,e)=>{const n=it();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},JI=(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 zF(t,s){if(!s.payload)throw new Error("Received empty payload");return uO(s)}const BF={...Ln,effect:zF,discard:QI,returnPromises:!0,persistCallback:VF,retry:$F,persistOptions:{storage:AO},queue:{...Ln.queue,enqueue:ZI,dequeue:JI,peek:(...t)=>DF(...t)}},jF=fO(vF,lt),qF=o.compose(pO.offline(BF),jF);async function XI(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=NI[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return Dn(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function QI(t,s,e=0){var d;if(console.debug("Considering discarding request due to error:",t,`(${typeof t})`,`
1
+ (function(i,L){typeof exports=="object"&&typeof module<"u"?L(exports,require("@redux-offline/redux-offline/lib/types"),require("@reduxjs/toolkit"),require("superagent"),require("uuid"),require("react"),require("file-saver"),require("fast-tree-builder"),require("ts-tree-lib"),require("@redux-offline/redux-offline"),require("@redux-offline/redux-offline/lib/defaults"),require("localforage"),require("redux-persist-migrate"),require("buffer"),require("@overmap-ai/forms"),require("idb"),require("jwt-decode"),require("dependency-graph"),require("@tiptap/core")):typeof define=="function"&&define.amd?define(["exports","@redux-offline/redux-offline/lib/types","@reduxjs/toolkit","superagent","uuid","react","file-saver","fast-tree-builder","ts-tree-lib","@redux-offline/redux-offline","@redux-offline/redux-offline/lib/defaults","localforage","redux-persist-migrate","buffer","@overmap-ai/forms","idb","jwt-decode","dependency-graph","@tiptap/core"],L):(i=typeof globalThis<"u"?globalThis:i||self,L(i["overmap-core"]={},null,i.toolkit,i.request,i.uuid,i.react,i.fileSaver,i.buildTree,i.tsTreeLib,i.reduxOffline,i.offlineConfig,i.localforage,i.createMigration,null,null,i.idb,i.jwtDecode,i.dependencyGraph))})(this,function(i,L,l,ht,at,_F,gF,MF,da,RF,ua,wF,vF,LM,kM,EF,BF,VF){"use strict";var $M=Object.defineProperty;var UM=(i,L,l)=>L in i?$M(i,L,{enumerable:!0,configurable:!0,writable:!0,value:l}):i[L]=l;var h=(i,L,l)=>UM(i,typeof L!="symbol"?L+"":L,l);var FF;const la=Object.freeze([]),oa=Object.freeze({});var ha=(t=>(t[t.GUEST=0]="GUEST",t[t.BASIC=2]="BASIC",t[t.ADMIN=4]="ADMIN",t))(ha||{}),o=(t=>(t.GET="GET",t.POST="POST",t.PATCH="PATCH",t.PUT="PUT",t.DELETE="DELETE",t))(o||{}),pa=(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))(pa||{}),ma=(t=>(t.Issue="issue",t.Asset="asset",t.AssetType="asset_type",t.Project="project",t.Document="document",t))(ma||{}),ns=(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))(ns||{}),$=(t=>(t.STATUS="status",t.PRIORITY="priority",t.DESCRIPTION="description",t.TITLE="title",t.ASSIGNED_TO="assigned_to",t.DUE_DATE="due_date",t))($||{}),ya=(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))(ya||{}),fa=(t=>(t[t.ADD_ASSIGNEE=0]="ADD_ASSIGNEE",t[t.REMOVE_ASSIGNEE=2]="REMOVE_ASSIGNEE",t[t.ADD_REVIEWER=4]="ADD_REVIEWER",t[t.REMOVE_REVIEWER=6]="REMOVE_REVIEWER",t))(fa||{}),Sa=(t=>(t[t.APPROVED=0]="APPROVED",t[t.REJECTED=2]="REJECTED",t[t.CHANGES_REQUESTED=4]="CHANGES_REQUESTED",t))(Sa||{});const zF=ns.MEDIUM,Aa=6e4;function P(t){return{addOne:(p,f)=>{const I=t(f.payload);p.instances[I]=f.payload},addMany:(p,f)=>{for(const I of f.payload){const R=t(I);p.instances[R]=I}},setOne:(p,f)=>{const I=t(f.payload);p.instances[I]=f.payload},setMany:(p,f)=>{for(const I of f.payload){const R=t(I);p.instances[R]=I}},updateOne:(p,f)=>{const I=t(f.payload);p.instances[I]=f.payload},updateMany:(p,f)=>{for(const I of f.payload){const R=t(I);p.instances[R]=I}},deleteOne:(p,f)=>{delete p.instances[f.payload]},deleteMany:(p,f)=>{for(const I of f.payload)delete p.instances[I]},initialize:(p,f)=>{p.instances={};const I=new Set;for(const R of f.payload){const b=t(R);I.add(b),p.instances[b]=R}I.size!==f.payload.length&&console.warn("duplicate ids detected when initializing model instances.")}}}function DF(t){return{initializeSelection:(d,m)=>{d[t]=Array.from(new Set(m.payload))},selectOne:(d,m)=>{console.debug(d,d[t]),!new Set(d[t]).has(m.payload)&&d[t].push(m.payload)},selectMany:(d,m)=>{const p=new Set(d[t]);for(const f of m.payload)p.has(f)||p.add(f);d[t]=Array.from(p)},unselectOne:(d,m)=>{const p=new Set(d[t]);p.has(m.payload)&&(p.delete(m.payload),d[t]=Array.from(p))},unselectMany:(d,m)=>{const p=new Set(d[t]);for(const f of m.payload)p.has(f)&&p.delete(f);d[t]=Array.from(p)},toggleOne:(d,m)=>{const p=new Set(d[t]);p.has(m.payload)?p.delete(m.payload):p.add(m.payload),d[t]=Array.from(p)},toggleMany:(d,m)=>{const p=new Set(d[t]);for(const f of m.payload)p.has(f)?p.delete(f):p.add(f);d[t]=Array.from(p)}}}const Ft="versioning",T=l.createAction("RESET"),V=l.createAction("RESET_PROJECT_STATE"),F=l.createAction("RESET_ORGANIZATION_STATE");function jF(t,s){return _F.useMemo(t,s)}FF=Symbol.toStringTag;class as{constructor(){h(this,FF,"Promise");h(this,"_promise");h(this,"_resolve");h(this,"_reject");h(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 cs=!1;["true","1"].includes("".toLowerCase())&&(cs=!0);function qF(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 r=0;r<a;r++){const c=e[r];if(!Object.prototype.hasOwnProperty.call(s,c)||t[c]!==s[c])return!1}return!0}function rs(t){const s={};return function(){const e=Array.prototype.slice.call(arguments);return e in s?(cs&&console.debug(`Memoization debug: Using memorized return value for ${t.toString()}(`,e,")"),s[e]):(cs&&console.debug(`Memoization debug: Cache miss! Memoizing ${t.toString()}(`,e,")"),s[e]=t.apply(this,e))}}function CF(t,s){if(t.length!==s.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==s[e])return!1;return!0}const S=t=>t.length===0?la:t,ds=t=>Object.keys(t).length===0?oa:t,Ia=rs(t=>{if(!t)return"";const s=new Date(t),e=s.getFullYear()===us.getFullYear(),n={day:"numeric",month:"short"};return e||(n.year="numeric"),s.toLocaleDateString([],n)}),$F=new Intl.RelativeTimeFormat([],{style:"long",numeric:"auto"}),UF=1e3*86400,us=new Date,LF=t=>new Date(t).toDateString()===us.toDateString(),kF=rs((t,s,e)=>{const n=Math.round((new Date(t).getTime()-us.getTime())/UF);return n<s||n>e?Ia(t):$F.format(n,"days")});function NF(t){return new Uint8Array(t).reduce((e,n)=>e+n.toString(16).padStart(2,"0"),"")}function Vt(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(r=>{const c=NF(r);s(c)})},n.readAsArrayBuffer(t)})}const GF=(t,s)=>`${t}${s?`.${s}`:""}`;function HF(t,s){return new File([t],s,{type:t.type})}function Ta(t){const s=t.name;return s.includes(".")?s.split(".").pop():""}const Oa=async t=>(await fetch(t)).blob(),Pa=async(t,s)=>{const e=await Oa(t);return new File([e],s,{type:e.type})};function WF(t){const s=new Blob([t]);gF.saveAs(s,t.name)}function Fa(t){return typeof t=="string"&&t.startsWith("blob:")}function KF(t){return t.type.startsWith("image/")}const ba={};function YF(t,s,e,...n){const a=ba[t];let r=!1;a?a[s]||(a[s]=!0,r=!0):(ba[t]={[s]:!0},r=!0),r&&console[e](...n)}const _a=["created_at","updated_at","index","revision"];function O(t){return{...t,uuid:at.v4()}}function ZF(t){const s={};for(const e of t)s[e.uuid]=e;return s}function v(t){return t.map(({uuid:s})=>s)}function zt(t,s){return t.localeCompare(s)}function ls(t,s){return zt(t.uuid,s.uuid)}function JF(t,s=void 0,e=255){let n=t.replace(/[^a-z0-9_\-.]/gi,"_").replace(/_{2,}/g,"_");if(!s){const r=t.split(".");r.length>1&&(s=r[r.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 XF(t){return t.toLowerCase().replace(" ","-")}function QF(t,s=!1){return t.normalize("NFKD").toLowerCase().replace(/[^\w\s-]/g,"").trim().replace(/[-\s]+/g,s?"_":"-")}function xF(t,s){if(t.length<=s)return t;const e=t.slice(0,s-1);return e.slice(0,e.lastIndexOf(" "))+"…"}const eb=/^.+@.+\..+$/;function M(t){const s={...t};for(const e of[..._a,"created_by"])e in s&&delete s[e];return s}const ga=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Ma=(t,s)=>t.type!==s.type?t.type-s.type:t.order-s.order,Ra=t=>MF(t,{id:s=>s.uuid,parentId:s=>s.parent_document,includeEmptyChildrenArray:!0,valueKey:!1}),tb=t=>{const{roots:s}=Ra(t);return s.map(e=>new da.Tree(e))},wa=(t,s)=>{const{nodes:e}=Ra(s),n=e.get(t);if(!n)throw new Error(`Node with uuid ${t} does not exist in document tree.`);return new da.Tree(n)},bt=(t,s)=>t.submitted_at===s.submitted_at?0:t.submitted_at<s.submitted_at?-1:1;class sb{constructor(s){h(this,"operations",[]);h(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=>S(this.performOperations(s)))}}const y=t=>(...s)=>e=>t(e,...s),G=P(t=>t.uuid),va={instances:{}},os=l.createSlice({name:"agents",initialState:va,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,va)),reducers:{initializeConversations:G.initialize,addConversation:G.addOne,addConversations:G.addMany,setConversation:G.setOne,setConversations:G.setMany,updateConversation:G.updateOne,updateConversations:G.updateMany,deleteConversation:G.deleteOne,deleteConversations:G.deleteMany}}),{initializeConversations:Ea,addConversation:Ba,addConversations:ib,setConversation:Va,setConversations:nb,updateConversation:za,updateConversations:ab,deleteConversation:cb,deleteConversations:rb}=os.actions,hs=t=>t.agentsReducer.instances,db=l.createSelector([hs],t=>Object.values(t)),ub=y(l.createSelector([hs,(t,s)=>s],(t,s)=>t[s])),Da=os.reducer,H=P(t=>t.uuid),ja={instances:{}},ps=l.createSlice({name:"assetAttachments",initialState:ja,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ja)),reducers:{initializeAssetAttachments:H.initialize,addAssetAttachment:H.addOne,addAssetAttachments:H.addMany,setAssetAttachment:H.setOne,setAssetAttachments:H.setMany,updateAssetAttachment:H.updateOne,updateAssetAttachments:H.updateMany,deleteAssetAttachment:H.deleteOne,deleteAssetAttachments:H.deleteMany}}),{initializeAssetAttachments:qa,addAssetAttachment:Ca,addAssetAttachments:ms,setAssetAttachment:$a,setAssetAttachments:Ua,updateAssetAttachment:La,updateAssetAttachments:ka,deleteAssetAttachment:Na,deleteAssetAttachments:ys}=ps.actions,Ga=t=>t.assetAttachmentReducer.instances,fs=l.createSelector([Ga],t=>Object.values(t)),Ha=t=>s=>s.assetAttachmentReducer.instances[t],Wa=y(l.createSelector([fs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ka=y(l.createSelector([fs,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>s===e)))),Ya=ps.reducer,W=P(t=>t.uuid),Za={instances:{}},Ss=l.createSlice({name:"assetComments",initialState:Za,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Za)),reducers:{initializeAssetComments:W.initialize,addAssetComment:W.addOne,addAssetComments:W.addMany,setAssetComment:W.setOne,setAssetComments:W.setMany,updateAssetComment:W.updateOne,updateAssetComments:W.updateMany,deleteAssetComment:W.deleteOne,deleteAssetComments:W.deleteMany}}),{initializeAssetComments:Ja,addAssetComment:Xa,addAssetComments:Dt,setAssetComment:Qa,setAssetComments:xa,updateAssetComment:ec,updateAssetComments:tc,deleteAssetComment:sc,deleteAssetComments:jt}=Ss.actions,ic=t=>t.assetCommentReducer.instances,qt=l.createSelector([ic],t=>S(Object.values(t).toSorted(bt))),nc=t=>s=>s.assetCommentReducer.instances[t],ac=y(l.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cc=y(l.createSelector([qt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),rc=y(l.createSelector([qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.asset)))})),dc=Ss.reducer,K=P(t=>t.uuid),uc={instances:{}},As=l.createSlice({name:"assets",initialState:uc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,uc)),reducers:{initializeAssets:K.initialize,addAsset:K.addOne,addAssets:K.addMany,setAsset:K.setOne,setAssets:K.setMany,updateAsset:K.updateOne,updateAssets:K.updateMany,deleteAsset:K.deleteOne,deleteAssets:K.deleteMany}}),{initializeAssets:lc,addAsset:oc,addAssets:Is,updateAsset:hc,updateAssets:pc,deleteAsset:mc,deleteAssets:Ts,setAsset:yc,setAssets:fc}=As.actions,Sc=t=>t.assetReducer.instances,Ct=l.createSelector([Sc],t=>S(Object.values(t))),lb=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>e===s)))),Ac=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Ic=t=>s=>s.assetReducer.instances[t],Tc=y(l.createSelector([Ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Oc=As.reducer,Y=P(t=>t.uuid),Pc={instances:{}},Os=l.createSlice({name:"assetTypeAttachments",initialState:Pc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Pc)),reducers:{initializeAssetTypeAttachments:Y.initialize,addAssetTypeAttachment:Y.addOne,addAssetTypeAttachments:Y.addMany,setAssetTypeAttachment:Y.setOne,setAssetTypeAttachments:Y.setMany,updateAssetTypeAttachment:Y.updateOne,updateAssetTypeAttachments:Y.updateMany,deleteAssetTypeAttachment:Y.deleteOne,deleteAssetTypeAttachments:Y.deleteMany}}),{initializeAssetTypeAttachments:Fc,addAssetTypeAttachment:bc,addAssetTypeAttachments:Ps,setAssetTypeAttachment:_c,setAssetTypeAttachments:gc,updateAssetTypeAttachment:Mc,updateAssetTypeAttachments:Rc,deleteAssetTypeAttachment:wc,deleteAssetTypeAttachments:Fs}=Os.actions,vc=t=>t.assetTypeAttachmentReducer.instances,bs=l.createSelector([vc],t=>Object.values(t)),Ec=t=>s=>s.assetTypeAttachmentReducer.instances[t],Bc=y(l.createSelector([bs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Vc=y(l.createSelector([bs,(t,s)=>s],(t,s)=>S(t.filter(({asset_type:e})=>s===e)))),zc=Os.reducer,Z=P(t=>t.uuid),Dc={instances:{}},_s=l.createSlice({name:"assetTypeFieldsAttachments",initialState:Dc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Dc)),reducers:{initializeAssetTypeFieldsAttachments:Z.initialize,addAssetTypeFieldsAttachment:Z.addOne,addAssetTypeFieldsAttachments:Z.addMany,setAssetTypeFieldsAttachment:Z.setOne,setAssetTypeFieldsAttachments:Z.setMany,updateAssetTypeFieldsAttachment:Z.updateOne,updateAssetTypeFieldsAttachments:Z.updateMany,deleteAssetTypeFieldsAttachment:Z.deleteOne,deleteAssetTypeFieldsAttachments:Z.deleteMany}}),{initializeAssetTypeFieldsAttachments:jc,addAssetTypeFieldsAttachment:qc,addAssetTypeFieldsAttachments:Cc,setAssetTypeFieldsAttachment:$c,setAssetTypeFieldsAttachments:Uc,updateAssetTypeFieldsAttachment:Lc,updateAssetTypeFieldsAttachments:kc,deleteAssetTypeFieldsAttachment:Nc,deleteAssetTypeFieldsAttachments:Gc}=_s.actions,Hc=t=>t.assetTypeFieldsAttachmentReducer.instances,gs=l.createSelector([Hc],t=>Object.values(t)),ob=y(l.createSelector([gs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Wc=t=>s=>s.assetTypeFieldsAttachmentReducer.instances[t],Kc=y(l.createSelector([gs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yc=_s.reducer,J=P(t=>t.uuid),Zc={instances:{}},Ms=l.createSlice({name:"assetTypeFields",initialState:Zc,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Zc)),reducers:{initializeAssetTypeFields:J.initialize,addAssetTypeFields:J.addOne,addAssetTypeFieldsMany:J.addMany,setAssetTypeFields:J.setOne,setAssetTypeFieldsMany:J.setMany,updateAssetTypeFields:J.updateOne,updateAssetTypeFieldsMany:J.updateMany,deleteAssetTypeFields:J.deleteOne,deleteAssetTypeFieldsMany:J.deleteMany}}),{initializeAssetTypeFields:Jc,addAssetTypeFields:Xc,addAssetTypeFieldsMany:Qc,setAssetTypeFields:xc,setAssetTypeFieldsMany:er,updateAssetTypeFields:tr,updateAssetTypeFieldsMany:sr,deleteAssetTypeFields:ir,deleteAssetTypeFieldsMany:nr}=Ms.actions,ar=t=>t.assetTypeFieldsReducer.instances,_t=l.createSelector([ar],t=>Object.values(t)),hb=y(l.createSelector([_t,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),pb=y(l.createSelector([_t,(t,s)=>s],(t,s)=>t.filter(e=>e.asset_type===s).toSorted(bt).pop())),cr=t=>s=>s.assetTypeFieldsReducer.instances[t],rr=y(l.createSelector([_t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),dr=Ms.reducer,X=P(t=>t.uuid),ur={instances:{}},Rs=l.createSlice({name:"assetTypeFieldValuesAttachments",initialState:ur,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ur)),reducers:{initializeAssetTypeFieldValuesAttachments:X.initialize,addAssetTypeFieldValuesAttachment:X.addOne,addAssetTypeFieldValuesAttachments:X.addMany,setAssetTypeFieldValuesAttachment:X.setOne,setAssetTypeFieldValuesAttachments:X.setMany,updateAssetTypeFieldValuesAttachment:X.updateOne,updateAssetTypeFieldValuesAttachments:X.updateMany,deleteAssetTypeFieldValuesAttachment:X.deleteOne,deleteAssetTypeFieldValuesAttachments:X.deleteMany}}),{initializeAssetTypeFieldValuesAttachments:lr,addAssetTypeFieldValuesAttachment:or,addAssetTypeFieldValuesAttachments:ws,setAssetTypeFieldValuesAttachment:hr,setAssetTypeFieldValuesAttachments:pr,updateAssetTypeFieldValuesAttachment:mr,updateAssetTypeFieldValuesAttachments:yr,deleteAssetTypeFieldValuesAttachment:fr,deleteAssetTypeFieldValuesAttachments:vs}=Rs.actions,Sr=t=>t.assetTypeFieldValuesAttachmentReducer.instances,Es=l.createSelector([Sr],t=>Object.values(t)),Ar=t=>s=>s.assetTypeFieldValuesAttachmentReducer.instances[t],Ir=y(l.createSelector([Es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Tr=y(l.createSelector([Es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),Or=Rs.reducer,Q=P(t=>t.uuid),Pr={instances:{}},Bs=l.createSlice({name:"assetTypeFieldValues",initialState:Pr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Pr)),reducers:{initializeAssetTypeFieldValues:Q.initialize,addAssetTypeFieldValues:Q.addOne,addAssetTypeFieldValuesMany:Q.addMany,setAssetTypeFieldValues:Q.setOne,setAssetTypeFieldValuesMany:Q.setMany,updateAssetTypeFieldValues:Q.updateOne,updateAssetTypeFieldValuesMany:Q.updateMany,deleteAssetTypeFieldValues:Q.deleteOne,deleteAssetTypeFieldValuesMany:Q.deleteMany}}),{initializeAssetTypeFieldValues:Fr,addAssetTypeFieldValues:br,addAssetTypeFieldValuesMany:_r,setAssetTypeFieldValues:gr,setAssetTypeFieldValuesMany:Mr,updateAssetTypeFieldValues:Rr,updateAssetTypeFieldValuesMany:wr,deleteAssetTypeFieldValues:vr,deleteAssetTypeFieldValuesMany:Er}=Bs.actions,Br=t=>t.assetTypeFieldValuesReducer.instances,$t=l.createSelector([Br],t=>Object.values(t)),mb=y(l.createSelector([$t,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),yb=y(l.createSelector([_t,$t,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.asset_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),Vr=t=>s=>s.assetTypeFieldValuesReducer.instances[t],zr=y(l.createSelector([$t,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Dr=Bs.reducer,x=P(t=>t.uuid),jr={instances:{}},Vs=l.createSlice({name:"assetTypeIdentifiers",initialState:jr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,jr)),reducers:{initializeAssetTypeIdentifiers:x.initialize,addAssetTypeIdentifier:x.addOne,addAssetTypeIdentifiers:x.addMany,setAssetTypeIdentifier:x.setOne,setAssetTypeIdentifiers:x.setMany,updateAssetTypeIdentifier:x.updateOne,updateAssetTypeIdentifiers:x.updateMany,deleteAssetTypeIdentifier:x.deleteOne,deleteAssetTypeIdentifiers:x.deleteMany}}),{initializeAssetTypeIdentifiers:qr,addAssetTypeIdentifier:Cr,addAssetTypeIdentifiers:$r,setAssetTypeIdentifier:Ur,setAssetTypeIdentifiers:Lr,updateAssetTypeIdentifier:kr,updateAssetTypeIdentifiers:Nr,deleteAssetTypeIdentifier:Gr,deleteAssetTypeIdentifiers:Hr}=Vs.actions,Wr=t=>t.assetTypeIdentifierReducer.instances,zs=l.createSelector([Wr],t=>Object.values(t)),Kr=t=>s=>s.assetTypeIdentifierReducer.instances[t],Yr=y(l.createSelector([zs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),fb=y(l.createSelector([zs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),Zr=Vs.reducer,ee=P(t=>t.uuid),Jr={instances:{}},Ds=l.createSlice({name:"assetTypeIdentifierValues",initialState:Jr,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Jr)),reducers:{initializeAssetTypeIdentifierValues:ee.initialize,addAssetTypeIdentifierValue:ee.addOne,addAssetTypeIdentifierValues:ee.addMany,setAssetTypeIdentifierValue:ee.setOne,setAssetTypeIdentifierValues:ee.setMany,updateAssetTypeIdentifierValue:ee.updateOne,updateAssetTypeIdentifierValues:ee.updateMany,deleteAssetTypeIdentifierValue:ee.deleteOne,deleteAssetTypeIdentifierValues:ee.deleteMany}}),{initializeAssetTypeIdentifierValues:Xr,addAssetTypeIdentifierValue:Qr,addAssetTypeIdentifierValues:xr,setAssetTypeIdentifierValue:ed,setAssetTypeIdentifierValues:td,updateAssetTypeIdentifierValue:sd,updateAssetTypeIdentifierValues:id,deleteAssetTypeIdentifierValue:nd,deleteAssetTypeIdentifierValues:ad}=Ds.actions,cd=t=>t.assetTypeIdentifierValueReducer.instances,Ut=l.createSelector([cd],t=>Object.values(t)),rd=t=>s=>s.assetTypeIdentifierValueReducer.instances[t],dd=y(l.createSelector([Ut,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Sb=y(l.createSelector([Ut,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),Ab=y(l.createSelector([Ut,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type_identifier===s)))),ud=Ds.reducer,te=P(t=>t.uuid),ld={instances:{}},js=l.createSlice({name:"assetTypes",initialState:ld,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,ld)),reducers:{initializeAssetTypes:te.initialize,setAssetType:te.setOne,setAssetTypes:te.setMany,addAssetType:te.addOne,addAssetTypes:te.addMany,updateAssetType:te.updateOne,updateAssetTypes:te.updateMany,deleteAssetType:te.deleteOne,deleteAssetTypes:te.deleteMany}}),{initializeAssetTypes:od,setAssetType:hd,setAssetTypes:pd,addAssetType:md,addAssetTypes:yd,updateAssetType:fd,updateAssetTypes:Sd,deleteAssetType:Ad,deleteAssetTypes:Id}=js.actions,Td=t=>t.assetTypeReducer.instances,qs=l.createSelector([Td],t=>Object.values(t)),Od=t=>s=>s.assetTypeReducer.instances[t],Pd=y(l.createSelector([qs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ib=y(l.createSelector([qs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Fd=js.reducer,se=P(t=>t.uuid),bd={instances:{}},Cs=l.createSlice({name:"assetTypeStatuses",initialState:bd,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,bd)),reducers:{initializeAssetTypeStatuses:se.initialize,addAssetTypeStatus:se.addOne,addAssetTypeStatuses:se.addMany,setAssetTypeStatus:se.setOne,setAssetTypeStatuses:se.setMany,updateAssetTypeStatus:se.updateOne,updateAssetTypeStatuses:se.updateMany,deleteAssetTypeStatus:se.deleteOne,deleteAssetTypeStatuses:se.deleteMany}}),{initializeAssetTypeStatuses:_d,addAssetTypeStatus:gd,addAssetTypeStatuses:Md,setAssetTypeStatus:Rd,setAssetTypeStatuses:wd,updateAssetTypeStatus:vd,updateAssetTypeStatuses:Ed,deleteAssetTypeStatus:Bd,deleteAssetTypeStatuses:Vd}=Cs.actions,zd=t=>t.assetTypeStatusReducer.instances,$s=l.createSelector([zd],t=>S(Object.values(t).toSorted(ga))),Dd=t=>s=>s.assetTypeStatusReducer.instances[t],jd=y(l.createSelector([$s,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Tb=y(l.createSelector([$s,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset_type===s)))),qd=Cs.reducer,Cd={accessToken:"",refreshToken:"",isLoggedIn:!1},Lt=l.createSlice({name:"auth",initialState:Cd,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Cd)),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||Lt.caseReducers.clearTokens(t),t.isLoggedIn=s.payload}}}),{setTokens:Ob,clearTokens:Pb,setLoggedIn:$d}=Lt.actions,Fb=t=>t.authReducer.accessToken,bb=t=>t.authReducer.isLoggedIn,Ud=Lt.reducer,ie=P(t=>t.uuid),Ld={instances:{}},Us=l.createSlice({name:"documentAttachments",initialState:Ld,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Ld)),reducers:{initializeDocumentAttachments:ie.initialize,addDocumentAttachment:ie.addOne,addDocumentAttachments:ie.addMany,setDocumentAttachment:ie.setOne,setDocumentAttachments:ie.setMany,updateDocumentAttachment:ie.updateOne,updateDocumentAttachments:ie.updateMany,deleteDocumentAttachment:ie.deleteOne,deleteDocumentAttachments:ie.deleteMany}}),{initializeDocumentAttachments:kd,addDocumentAttachment:Nd,addDocumentAttachments:Gd,setDocumentAttachment:Hd,setDocumentAttachments:Wd,updateDocumentAttachment:Kd,updateDocumentAttachments:Yd,deleteDocumentAttachment:Zd,deleteDocumentAttachments:Jd}=Us.actions,Xd=t=>t.documentAttachmentReducer.instances,Ls=l.createSelector([Xd],t=>Object.values(t)),Qd=t=>s=>s.documentAttachmentReducer.instances[t],xd=y(l.createSelector([Ls,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),_b=y(l.createSelector([Ls,(t,s)=>s],(t,s)=>S(t.filter(({document:e})=>s===e)))),eu=Us.reducer,ne=P(({uuid:t})=>t),tu={instances:{}},ks=l.createSlice({name:"documents",initialState:tu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>{Object.assign(s,tu)}),reducers:{initializeDocuments:ne.initialize,addDocument:ne.addOne,addDocuments:ne.addMany,setDocument:ne.setOne,setDocuments:ne.setMany,updateDocument:ne.updateOne,updateDocuments:ne.updateMany,deleteDocument:ne.deleteOne,deleteDocuments:ne.deleteMany}}),{initializeDocuments:su,addDocument:iu,addDocuments:nu,setDocument:au,setDocuments:cu,updateDocument:ru,updateDocuments:du,deleteDocument:uu,deleteDocuments:lu}=ks.actions,ou=ks.reducer,Ns=t=>t.documentsReducer.instances,kt=l.createSelector([Ns],t=>Object.values(t)),hu=t=>s=>s.documentsReducer.instances[t],pu=y(l.createSelector([kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),gb=y(l.createSelector([kt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Mb=y(l.createSelector([kt,(t,s)=>s],(t,s)=>t.filter(e=>e.organization===s))),mu=y(l.createSelector([Ns,(t,s)=>s],(t,s)=>{if(!t[s])return S([]);const a=wa(s,Object.values(t)).all().map(({model:r})=>r);return S(a)})),ae=P(t=>t.uuid),yu={instances:{}},Gs=l.createSlice({name:"emailDomains",initialState:yu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,yu)),reducers:{initializeEmailDomains:ae.initialize,addEmailDomain:ae.addOne,addEmailDomains:ae.addMany,setEmailDomain:ae.setOne,setEmailDomains:ae.setMany,updateEmailDomain:ae.updateOne,updateEmailDomains:ae.updateMany,deleteEmailDomain:ae.deleteOne,deleteEmailDomains:ae.deleteMany}}),{initializeEmailDomains:fu,addEmailDomain:Su,addEmailDomains:Au,setEmailDomain:Iu,setEmailDomains:Tu,updateEmailDomain:Ou,updateEmailDomains:Pu,deleteEmailDomain:Fu,deleteEmailDomains:bu}=Gs.actions,_u=t=>t.emailDomainsReducer.instances,Hs=l.createSelector([_u],t=>Object.values(t)),gu=t=>s=>s.emailDomainsReducer.instances[t],Mu=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Rb=y(l.createSelector([Hs,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Ru=Gs.reducer,wu={s3Urls:{}},vu=1e3*60*60,wb=vu*24*7,Ws=l.createSlice({name:"file",initialState:wu,extraReducers:t=>t.addCase(T,s=>Object.assign(s,wu)),reducers:{setUploadUrl:(t,s)=>{const{url:e,fields:n,sha1:a}=s.payload,r=new Date,c=new Date(r.getTime()+wb);t.s3Urls[a]={url:e,fields:n,exp:c.getTime()}}}}),{setUploadUrl:vb}=Ws.actions,Eb=t=>s=>{const e=s.fileReducer.s3Urls[t];if(!e)return;const n=new Date().getTime();if(!((e.exp??n)-n<vu))return e},Eu=Ws.reducer,ce=P(t=>t.uuid),Bu={instances:{}},Ks=l.createSlice({name:"formIdentifiers",initialState:Bu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Bu)),reducers:{initializeFormIdentifiers:ce.initialize,addFormIdentifier:ce.addOne,addFormIdentifiers:ce.addMany,setFormIdentifier:ce.setOne,setFormIdentifiers:ce.setMany,updateFormIdentifier:ce.updateOne,updateFormIdentifiers:ce.updateMany,deleteFormIdentifier:ce.deleteOne,deleteFormIdentifiers:ce.deleteMany}}),{initializeFormIdentifiers:Vu,addFormIdentifier:zu,addFormIdentifiers:Du,setFormIdentifier:ju,setFormIdentifiers:qu,updateFormIdentifier:Cu,updateFormIdentifiers:$u,deleteFormIdentifier:Uu,deleteFormIdentifiers:Lu}=Ks.actions,ku=t=>t.formIdentifierReducer.instances,Ys=l.createSelector([ku],t=>Object.values(t)),Nu=t=>s=>s.formIdentifierReducer.instances[t],Gu=y(l.createSelector([Ys,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Bb=y(l.createSelector([Ys,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Hu=Ks.reducer,re=P(t=>t.uuid),Wu={instances:{}},Zs=l.createSlice({name:"formIdentifierValues",initialState:Wu,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Wu)),reducers:{initializeFormIdentifierValues:re.initialize,addFormIdentifierValue:re.addOne,addFormIdentifierValues:re.addMany,setFormIdentifierValue:re.setOne,setFormIdentifierValues:re.setMany,updateFormIdentifierValue:re.updateOne,updateFormIdentifierValues:re.updateMany,deleteFormIdentifierValue:re.deleteOne,deleteFormIdentifierValues:re.deleteMany}}),{initializeFormIdentifierValues:Ku,addFormIdentifierValue:Yu,addFormIdentifierValues:Zu,setFormIdentifierValue:Ju,setFormIdentifierValues:Xu,updateFormIdentifierValue:Qu,updateFormIdentifierValues:xu,deleteFormIdentifierValue:el,deleteFormIdentifierValues:tl}=Zs.actions,sl=t=>t.formIdentifierValueReducer.instances,Nt=l.createSelector([sl],t=>Object.values(t)),il=t=>s=>s.formIdentifierValueReducer.instances[t],nl=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Vb=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),zb=y(l.createSelector([Nt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_identifier===s)))),al=Zs.reducer,de=P(t=>t.uuid),cl={instances:{}},Js=l.createSlice({name:"formRevisionAttachments",initialState:cl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,cl)),reducers:{initializeFormRevisionAttachments:de.initialize,addFormRevisionAttachment:de.addOne,addFormRevisionAttachments:de.addMany,setFormRevisionAttachment:de.setOne,setFormRevisionAttachments:de.setMany,updateFormRevisionAttachment:de.updateOne,updateFormRevisionAttachments:de.updateMany,deleteFormRevisionAttachment:de.deleteOne,deleteFormRevisionAttachments:de.deleteMany}}),{initializeFormRevisionAttachments:rl,addFormRevisionAttachment:dl,addFormRevisionAttachments:ul,setFormRevisionAttachment:ll,setFormRevisionAttachments:ol,updateFormRevisionAttachment:hl,updateFormRevisionAttachments:pl,deleteFormRevisionAttachment:ml,deleteFormRevisionAttachments:yl}=Js.actions,Gt=t=>t.formRevisionAttachmentReducer.instances,fl=l.createSelector([Gt],t=>Object.values(t)),Sl=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>t[s])),Al=y(l.createSelector([fl,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Db=y(l.createSelector([Gt,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.form_revision===s)))),Il=Js.reducer,ue=P(t=>t.uuid),Tl={instances:{}},Xs=l.createSlice({name:"formRevisions",initialState:Tl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Tl)),reducers:{initializeFormRevisions:ue.initialize,addFormRevision:ue.addOne,addFormRevisions:ue.addMany,setFormRevision:ue.setOne,setFormRevisions:ue.setMany,updateFormRevision:ue.updateOne,updateFormRevisions:ue.updateMany,deleteFormRevision:ue.deleteOne,deleteFormRevisions:ue.deleteMany}}),{initializeFormRevisions:Ol,addFormRevision:Pl,addFormRevisions:Qs,setFormRevision:Fl,setFormRevisions:bl,updateFormRevision:_l,updateFormRevisions:gl,deleteFormRevision:Ml,deleteFormRevisions:xs}=Xs.actions,Rl=t=>t.formRevisionReducer.instances,Ht=l.createSelector([Rl],t=>Object.values(t)),wl=t=>s=>s.formRevisionReducer.instances[t],vl=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),jb=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s).toSorted(bt).pop())),El=y(l.createSelector([Ht,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form===s)))),Bl=Xs.reducer,le=P(t=>t.uuid),Vl={instances:{}},ei=l.createSlice({name:"forms",initialState:Vl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Vl)),reducers:{initializeForms:le.initialize,addForm:le.addOne,addForms:le.addMany,setForm:le.setOne,setForms:le.setMany,updateForm:le.updateOne,updateForms:le.updateMany,deleteForm:le.deleteOne,deleteForms:le.deleteMany}}),{initializeForms:zl,addForm:Dl,addForms:jl,setForm:ql,setForms:Cl,updateForm:$l,updateForms:Ul,deleteForm:Ll,deleteForms:kl}=ei.actions,Nl=ei.reducer,Gl=t=>t.formReducer.instances,ti=l.createSelector([Gl],t=>Object.values(t)),Hl=t=>s=>s.formReducer.instances[t],Wl=y(l.createSelector([ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),qb=y(l.createSelector([ti,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),oe=P(t=>t.uuid),Kl={instances:{}},si=l.createSlice({name:"formSubmissionAttachments",initialState:Kl,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Kl)),reducers:{initializeFormSubmissionAttachments:oe.initialize,addFormSubmissionAttachment:oe.addOne,addFormSubmissionAttachments:oe.addMany,setFormSubmissionAttachment:oe.setOne,setFormSubmissionAttachments:oe.setMany,updateFormSubmissionAttachment:oe.updateOne,updateFormSubmissionAttachments:oe.updateMany,deleteFormSubmissionAttachment:oe.deleteOne,deleteFormSubmissionAttachments:oe.deleteMany}}),{initializeFormSubmissionAttachments:Yl,addFormSubmissionAttachment:Zl,addFormSubmissionAttachments:ii,setFormSubmissionAttachment:Jl,setFormSubmissionAttachments:Xl,updateFormSubmissionAttachment:Ql,updateFormSubmissionAttachments:xl,deleteFormSubmissionAttachment:eo,deleteFormSubmissionAttachments:ni}=si.actions,ai=t=>t.formSubmissionAttachmentReducer.instances,ci=l.createSelector([ai],t=>Object.values(t)),to=y(l.createSelector([ai,(t,s)=>s],(t,s)=>t[s])),ri=y(l.createSelector([ci,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(n=>e.has(n.uuid)))})),so=ri,io=y(l.createSelector([ci,(t,s)=>s],(t,s)=>S(t.filter(e=>e.form_submission===s)))),no=si.reducer,he=P(t=>t.uuid),ao={instances:{}},di=l.createSlice({name:"formSubmissions",initialState:ao,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,ao)),reducers:{initializeFormSubmissions:he.initialize,setFormSubmission:he.setOne,setFormSubmissions:he.setMany,addFormSubmission:he.addOne,addFormSubmissions:he.addMany,updateFormSubmission:he.updateOne,updateFormSubmissions:he.updateMany,deleteFormSubmission:he.deleteOne,deleteFormSubmissions:he.deleteMany}}),{initializeFormSubmissions:co,setFormSubmission:ro,setFormSubmissions:uo,addFormSubmission:lo,addFormSubmissions:ui,updateFormSubmission:oo,updateFormSubmissions:ho,deleteFormSubmission:po,deleteFormSubmissions:li}=di.actions,mo=t=>t.formSubmissionReducer.instances,oi=l.createSelector([mo],t=>Object.values(t)),yo=t=>s=>s.formSubmissionReducer.instances[t],fo=y(l.createSelector([oi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),So=y(l.createSelector([oi,(t,s)=>s],(t,s)=>t.filter(e=>e.form===s))),Ao=di.reducer,pe=P(t=>t.uuid),Io={instances:{}},hi=l.createSlice({name:"geoImages",initialState:Io,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Io)),reducers:{initializeGeoImages:pe.initialize,setGeoImage:pe.setOne,setGeoImages:pe.setMany,addGeoImage:pe.addOne,addGeoImages:pe.addMany,updateGeoImage:pe.updateOne,updateGeoImages:pe.updateMany,deleteGeoImage:pe.deleteOne,deleteGeoImages:pe.deleteMany}}),{initializeGeoImages:To,setGeoImage:Oo,setGeoImages:Po,addGeoImage:Fo,addGeoImages:bo,updateGeoImage:_o,updateGeoImages:go,deleteGeoImage:Mo,deleteGeoImages:Ro}=hi.actions,wo=t=>t.geoImageReducer.instances,pi=l.createSelector([wo],t=>Object.values(t)),vo=t=>s=>s.geoImageReducer.instances[t],Eo=y(l.createSelector([pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Cb=y(l.createSelector([pi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),Bo=hi.reducer,me=P(t=>t.uuid),Vo={instances:{}},mi=l.createSlice({name:"issueAssociations",initialState:Vo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Vo)),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:zo,setIssueAssociations:Do,setIssueAssociation:jo,updateIssueAssociation:qo,updateIssueAssociations:Co,addIssueAssociation:$o,addIssueAssociations:pt,deleteIssueAssociation:Uo,deleteIssueAssociations:mt}=mi.actions,Lo=t=>t.issueAssociationReducer.instances,yt=l.createSelector([Lo],t=>Object.values(t)),ko=t=>s=>s.issueAssociationReducer.instances[t],No=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Go=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({issue:n})=>e.has(n)))})),Ho=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>e===s)))),Wo=y(l.createSelector([yt,(t,s)=>s],(t,s)=>S(t.filter(({asset:e})=>e===s)))),Ko=y(l.createSelector([yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),Yo=mi.reducer,ye=P(t=>t.uuid),Zo={instances:{}},yi=l.createSlice({name:"issueAttachments",initialState:Zo,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Zo)),reducers:{initializeIssueAttachments:ye.initialize,addIssueAttachment:ye.addOne,addIssueAttachments:ye.addMany,setIssueAttachment:ye.setOne,setIssueAttachments:ye.setMany,updateIssueAttachment:ye.updateOne,updateIssueAttachments:ye.updateMany,deleteIssueAttachment:ye.deleteOne,deleteIssueAttachments:ye.deleteMany}}),{initializeIssueAttachments:Jo,addIssueAttachment:Xo,addIssueAttachments:fi,setIssueAttachment:Qo,setIssueAttachments:xo,updateIssueAttachment:eh,updateIssueAttachments:th,deleteIssueAttachment:sh,deleteIssueAttachments:Si}=yi.actions,ih=t=>t.issueAttachmentReducer.instances,Ai=l.createSelector([ih],t=>Object.values(t)),nh=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>S(t.filter(({issue:e})=>s===e)))),ah=t=>s=>s.issueAttachmentReducer.instances[t],ch=y(l.createSelector([Ai,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rh=yi.reducer,fe=P(t=>t.uuid),dh={instances:{}},Ii=l.createSlice({name:"issueCommentAttachments",initialState:dh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,dh)),reducers:{initializeIssueCommentAttachments:fe.initialize,addIssueCommentAttachment:fe.addOne,addIssueCommentAttachments:fe.addMany,setIssueCommentAttachment:fe.setOne,setIssueCommentAttachments:fe.setMany,updateIssueCommentAttachment:fe.updateOne,updateIssueCommentAttachments:fe.updateMany,deleteIssueCommentAttachment:fe.deleteOne,deleteIssueCommentAttachments:fe.deleteMany}}),{initializeIssueCommentAttachments:uh,addIssueCommentAttachment:lh,addIssueCommentAttachments:oh,setIssueCommentAttachment:hh,setIssueCommentAttachments:ph,updateIssueCommentAttachment:mh,updateIssueCommentAttachments:yh,deleteIssueCommentAttachment:fh,deleteIssueCommentAttachments:Sh}=Ii.actions,Ah=t=>t.issueCommentAttachmentReducer.instances,Ti=l.createSelector([Ah],t=>Object.values(t)),Ih=t=>s=>s.issueCommentAttachmentReducer.instances[t],Th=y(l.createSelector([Ti,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),$b=y(l.createSelector([Ti,(t,s)=>s],(t,s)=>S(t.filter(({issue_comment:e})=>s===e)))),Oh=Ii.reducer,Se=P(t=>t.uuid),Ph={instances:{}},Oi=l.createSlice({name:"issueComments",initialState:Ph,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Ph)),reducers:{initializeIssueComments:Se.initialize,addIssueComment:Se.addOne,addIssueComments:Se.addMany,setIssueComment:Se.setOne,setIssueComments:Se.setMany,updateIssueComment:Se.updateOne,updateIssueComments:Se.updateMany,deleteIssueComment:Se.deleteOne,deleteIssueComments:Se.deleteMany}}),{initializeIssueComments:Fh,addIssueComment:bh,addIssueComments:_h,setIssueComment:gh,setIssueComments:Mh,updateIssueComment:Rh,updateIssueComments:wh,deleteIssueComment:vh,deleteIssueComments:Eh}=Oi.actions,Pi=t=>t.issueCommentReducer.instances,Bh=t=>s=>s.issueCommentReducer.instances[t],Vh=y(l.createSelector([Pi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),Ub=y(l.createSelector([Pi,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.issue===s)))),zh=Oi.reducer,Ae=P(t=>t.uuid),Dh={instances:{}},Fi=l.createSlice({name:"issues",initialState:Dh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Dh)),reducers:{initializeIssues:Ae.initialize,addIssue:Ae.addOne,addIssues:Ae.addMany,setIssue:Ae.setOne,setIssues:Ae.setMany,updateIssue:Ae.updateOne,updateIssues:Ae.updateMany,deleteIssue:Ae.deleteOne,deleteIssues:Ae.deleteMany}}),{initializeIssues:jh,addIssue:qh,addIssues:bi,setIssue:Ch,setIssues:$h,updateIssue:Uh,updateIssues:Lh,deleteIssue:kh,deleteIssues:_i}=Fi.actions,Nh=t=>t.issueReducer.instances,Wt=l.createSelector([Nh],t=>Object.values(t)),Gh=t=>s=>s.issueReducer.instances[t],Hh=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Lb=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>t.filter(e=>e.project===s))),Wh=y(l.createSelector([Wt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s))),Kh=Fi.reducer,Ie=P(t=>t.uuid),Yh={instances:{}},gi=l.createSlice({name:"issueTypeAttachments",initialState:Yh,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Yh)),reducers:{initializeIssueTypeAttachments:Ie.initialize,addIssueTypeAttachment:Ie.addOne,addIssueTypeAttachments:Ie.addMany,setIssueTypeAttachment:Ie.setOne,setIssueTypeAttachments:Ie.setMany,updateIssueTypeAttachment:Ie.updateOne,updateIssueTypeAttachments:Ie.updateMany,deleteIssueTypeAttachment:Ie.deleteOne,deleteIssueTypeAttachments:Ie.deleteMany}}),{initializeIssueTypeAttachments:Zh,addIssueTypeAttachment:Jh,addIssueTypeAttachments:Xh,setIssueTypeAttachment:Qh,setIssueTypeAttachments:xh,updateIssueTypeAttachment:ep,updateIssueTypeAttachments:tp,deleteIssueTypeAttachment:sp,deleteIssueTypeAttachments:ip}=gi.actions,np=t=>t.issueTypeAttachmentReducer.instances,Mi=l.createSelector([np],t=>Object.values(t)),ap=t=>s=>s.issueTypeAttachmentReducer.instances[t],cp=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),kb=y(l.createSelector([Mi,(t,s)=>s],(t,s)=>S(t.filter(({issue_type:e})=>s===e)))),rp=gi.reducer,Te=P(t=>t.uuid),dp={instances:{}},Ri=l.createSlice({name:"issueTypeFieldsAttachments",initialState:dp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,dp)),reducers:{initializeIssueTypeFieldsAttachments:Te.initialize,addIssueTypeFieldsAttachment:Te.addOne,addIssueTypeFieldsAttachments:Te.addMany,setIssueTypeFieldsAttachment:Te.setOne,setIssueTypeFieldsAttachments:Te.setMany,updateIssueTypeFieldsAttachment:Te.updateOne,updateIssueTypeFieldsAttachments:Te.updateMany,deleteIssueTypeFieldsAttachment:Te.deleteOne,deleteIssueTypeFieldsAttachments:Te.deleteMany}}),{initializeIssueTypeFieldsAttachments:up,addIssueTypeFieldsAttachment:lp,addIssueTypeFieldsAttachments:op,setIssueTypeFieldsAttachment:hp,setIssueTypeFieldsAttachments:pp,updateIssueTypeFieldsAttachment:mp,updateIssueTypeFieldsAttachments:yp,deleteIssueTypeFieldsAttachment:fp,deleteIssueTypeFieldsAttachments:Sp}=Ri.actions,Ap=t=>t.issueTypeFieldsAttachmentReducer.instances,wi=l.createSelector([Ap],t=>Object.values(t)),Nb=y(l.createSelector([wi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),Ip=t=>s=>s.issueTypeFieldsAttachmentReducer.instances[t],Tp=y(l.createSelector([wi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Op=Ri.reducer,Oe=P(t=>t.uuid),Pp={instances:{}},vi=l.createSlice({name:"issueTypeFieldValues",initialState:Pp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Pp)),reducers:{initializeIssueTypeFieldValues:Oe.initialize,addIssueTypeFieldValues:Oe.addOne,addIssueTypeFieldValuesMany:Oe.addMany,setIssueTypeFieldValues:Oe.setOne,setIssueTypeFieldValuesMany:Oe.setMany,updateIssueTypeFieldValues:Oe.updateOne,updateIssueTypeFieldValuesMany:Oe.updateMany,deleteIssueTypeFieldValues:Oe.deleteOne,deleteIssueTypeFieldValuesMany:Oe.deleteMany}}),{initializeIssueTypeFieldValues:Fp,addIssueTypeFieldValues:bp,addIssueTypeFieldValuesMany:_p,setIssueTypeFieldValues:gp,setIssueTypeFieldValuesMany:Mp,updateIssueTypeFieldValues:Rp,updateIssueTypeFieldValuesMany:wp,deleteIssueTypeFieldValues:vp,deleteIssueTypeFieldValuesMany:Ep}=vi.actions,Bp=t=>t.issueTypeFieldValuesReducer.instances,Kt=l.createSelector([Bp],t=>Object.values(t)),Gb=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),Vp=t=>s=>s.issueTypeFieldValuesReducer.instances[t],zp=y(l.createSelector([Kt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Dp=vi.reducer,Pe=P(t=>t.uuid),jp={instances:{}},Ei=l.createSlice({name:"issueTypeFields",initialState:jp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,jp)),reducers:{initializeIssueTypeFields:Pe.initialize,addIssueTypeFields:Pe.addOne,addIssueTypeFieldsMany:Pe.addMany,setIssueTypeFields:Pe.setOne,setIssueTypeFieldsMany:Pe.setMany,updateIssueTypeFields:Pe.updateOne,updateIssueTypeFieldsMany:Pe.updateMany,deleteIssueTypeFields:Pe.deleteOne,deleteIssueTypeFieldsMany:Pe.deleteMany}}),{initializeIssueTypeFields:qp,addIssueTypeFields:Cp,addIssueTypeFieldsMany:$p,setIssueTypeFields:Up,setIssueTypeFieldsMany:Lp,updateIssueTypeFields:kp,updateIssueTypeFieldsMany:Np,deleteIssueTypeFields:Gp,deleteIssueTypeFieldsMany:Hp}=Ei.actions,Wp=t=>t.issueTypeFieldsReducer.instances,gt=l.createSelector([Wp],t=>Object.values(t)),Hb=y(l.createSelector([gt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Wb=y(l.createSelector([gt,(t,s)=>s],(t,s)=>t.filter(e=>e.issue_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),Kb=y(l.createSelector([gt,Kt,(t,s)=>s],(t,s,e)=>{const n=new Set(t.filter(a=>a.issue_type===e).map(a=>a.uuid));return S(s.filter(a=>n.has(a.fields_revision)))})),Kp=t=>s=>s.issueTypeFieldsReducer.instances[t],Yp=y(l.createSelector([gt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Zp=Ei.reducer,Fe=P(t=>t.uuid),Jp={instances:{}},Bi=l.createSlice({name:"issueTypeFieldValuesAttachments",initialState:Jp,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Jp)),reducers:{initializeIssueTypeFieldValuesAttachments:Fe.initialize,addIssueTypeFieldValuesAttachment:Fe.addOne,addIssueTypeFieldValuesAttachments:Fe.addMany,setIssueTypeFieldValuesAttachment:Fe.setOne,setIssueTypeFieldValuesAttachments:Fe.setMany,updateIssueTypeFieldValuesAttachment:Fe.updateOne,updateIssueTypeFieldValuesAttachments:Fe.updateMany,deleteIssueTypeFieldValuesAttachment:Fe.deleteOne,deleteIssueTypeFieldValuesAttachments:Fe.deleteMany}}),{initializeIssueTypeFieldValuesAttachments:Xp,addIssueTypeFieldValuesAttachment:Qp,addIssueTypeFieldValuesAttachments:Vi,setIssueTypeFieldValuesAttachment:xp,setIssueTypeFieldValuesAttachments:em,updateIssueTypeFieldValuesAttachment:tm,updateIssueTypeFieldValuesAttachments:sm,deleteIssueTypeFieldValuesAttachment:im,deleteIssueTypeFieldValuesAttachments:zi}=Bi.actions,nm=t=>t.issueTypeFieldValuesAttachmentReducer.instances,Di=l.createSelector([nm],t=>Object.values(t)),am=t=>s=>s.issueTypeFieldValuesAttachmentReducer.instances[t],cm=y(l.createSelector([Di,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),rm=y(l.createSelector([Di,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),dm=Bi.reducer,be=P(t=>t.uuid),um={instances:{}},ji=l.createSlice({name:"issueTypeIdentifiers",initialState:um,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,um)),reducers:{initializeIssueTypeIdentifiers:be.initialize,addIssueTypeIdentifier:be.addOne,addIssueTypeIdentifiers:be.addMany,setIssueTypeIdentifier:be.setOne,setIssueTypeIdentifiers:be.setMany,updateIssueTypeIdentifier:be.updateOne,updateIssueTypeIdentifiers:be.updateMany,deleteIssueTypeIdentifier:be.deleteOne,deleteIssueTypeIdentifiers:be.deleteMany}}),{initializeIssueTypeIdentifiers:lm,addIssueTypeIdentifier:om,addIssueTypeIdentifiers:hm,setIssueTypeIdentifier:pm,setIssueTypeIdentifiers:mm,updateIssueTypeIdentifier:ym,updateIssueTypeIdentifiers:fm,deleteIssueTypeIdentifier:Sm,deleteIssueTypeIdentifiers:Am}=ji.actions,Im=t=>t.issueTypeIdentifierReducer.instances,qi=l.createSelector([Im],t=>Object.values(t)),Tm=t=>s=>s.issueTypeIdentifierReducer.instances[t],Om=y(l.createSelector([qi,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Yb=y(l.createSelector([qi,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),Pm=ji.reducer,_e=P(t=>t.uuid),Fm={instances:{}},Ci=l.createSlice({name:"issueTypeIdentifierValues",initialState:Fm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Fm)),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:bm,addIssueTypeIdentifierValue:_m,addIssueTypeIdentifierValues:gm,setIssueTypeIdentifierValue:Mm,setIssueTypeIdentifierValues:Rm,updateIssueTypeIdentifierValue:wm,updateIssueTypeIdentifierValues:vm,deleteIssueTypeIdentifierValue:Em,deleteIssueTypeIdentifierValues:Bm}=Ci.actions,Vm=t=>t.issueTypeIdentifierValueReducer.instances,Yt=l.createSelector([Vm],t=>Object.values(t)),zm=t=>s=>s.issueTypeIdentifierValueReducer.instances[t],Dm=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Zb=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),Jb=y(l.createSelector([Yt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type_identifier===s)))),jm=Ci.reducer,ge=P(t=>t.uuid),qm={instances:{}},$i=l.createSlice({name:"issueTypes",initialState:qm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,qm)),reducers:{initializeIssueTypes:ge.initialize,addIssueType:ge.addOne,addIssueTypes:ge.addMany,setIssueType:ge.setOne,setIssueTypes:ge.setMany,updateIssueType:ge.updateOne,updateIssueTypes:ge.updateMany,deleteIssueType:ge.deleteOne,deleteIssueTypes:ge.deleteMany}}),{initializeIssueTypes:Cm,addIssueType:$m,addIssueTypes:Um,setIssueType:Lm,setIssueTypes:km,updateIssueType:Nm,updateIssueTypes:Gm,deleteIssueType:Hm,deleteIssueTypes:Wm}=$i.actions,Km=t=>t.issueTypeReducer.instances,Ui=l.createSelector(Km,t=>Object.values(t)),Ym=t=>s=>s.issueTypeReducer.instances[t],Zm=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Xb=y(l.createSelector([Ui,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),Jm=$i.reducer,Me=P(t=>t.uuid),Xm={instances:{}},Li=l.createSlice({name:"issueTypeStatuses",initialState:Xm,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Xm)),reducers:{initializeIssueTypeStatuses:Me.initialize,addIssueTypeStatus:Me.addOne,addIssueTypeStatuses:Me.addMany,setIssueTypeStatus:Me.setOne,setIssueTypeStatuses:Me.setMany,updateIssueTypeStatus:Me.updateOne,updateIssueTypeStatuses:Me.updateMany,deleteIssueTypeStatus:Me.deleteOne,deleteIssueTypeStatuses:Me.deleteMany}}),{initializeIssueTypeStatuses:Qm,addIssueTypeStatus:xm,addIssueTypeStatuses:ey,setIssueTypeStatus:ty,setIssueTypeStatuses:sy,updateIssueTypeStatus:iy,updateIssueTypeStatuses:ny,deleteIssueTypeStatus:ay,deleteIssueTypeStatuses:cy}=Li.actions,ry=t=>t.issueTypeStatusReducer.instances,ki=l.createSelector([ry],t=>S(Object.values(t).toSorted(Ma))),Ni=t=>s=>s.issueTypeStatusReducer.instances[t],dy=y(l.createSelector([ki,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Qb=y(l.createSelector([ki,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue_type===s)))),uy=Li.reducer,Re=P(t=>t.uuid),ly={instances:{}},Gi=l.createSlice({name:"issueUpdates",initialState:ly,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,ly)),reducers:{initializeIssueUpdates:Re.initialize,addIssueUpdate:Re.addOne,addIssueUpdates:Re.addMany,setIssueUpdate:Re.setOne,setIssueUpdates:Re.setMany,updateIssueUpdate:Re.updateOne,updateIssueUpdates:Re.updateMany,deleteIssueUpdate:Re.deleteOne,deleteIssueUpdates:Re.deleteMany}}),{initializeIssueUpdates:oy,addIssueUpdate:Hi,addIssueUpdates:Wi,setIssueUpdate:hy,setIssueUpdates:py,updateIssueUpdate:my,updateIssueUpdates:yy,deleteIssueUpdate:Ki,deleteIssueUpdates:Yi}=Gi.actions,Zi=t=>t.issueUpdateReducer.instances,Ji=l.createSelector([Zi],t=>Object.values(t)),fy=y(l.createSelector([Zi,(t,s)=>s],(t,s)=>t[s])),Sy=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Ay=y(l.createSelector([Ji,(t,s)=>s],(t,s)=>S(t.filter(e=>e.issue===s)))),Iy=Gi.reducer,we=P(t=>t.id),Ty={instances:{},currentUser:null},Xi=l.createSlice({name:"users",initialState:Ty,extraReducers:t=>t.addCase(T,s=>Object.assign(s,Ty)).addCase(F,s=>Object.assign(s,{...s,instances:[]})),reducers:{initializeUsers:we.initialize,setUsers:we.setMany,setUser:we.setOne,addUsers:we.addMany,addUser:we.addOne,updateUsers:we.updateMany,updateUser:we.updateOne,deleteUser:we.deleteOne,deleteUsers:we.deleteMany,setCurrentUser:(t,s)=>{t.currentUser=s.payload},setCurrentUserProfile:(t,s)=>{if(!t.currentUser)return;t.currentUser.profile=s.payload;const e=t.instances[t.currentUser.id];if(!e)throw new Error("Unable to find current user in users slice");e.profile=s.payload}}}),{initializeUsers:Oy,setUsers:Py,setUser:Fy,addUsers:by,addUser:Qi,updateUsers:_y,updateUser:gy,deleteUser:xi,deleteUsers:My,setCurrentUser:xb,setCurrentUserProfile:e_}=Xi.actions,Ry=Xi.reducer,wy=t=>t.userReducer.currentUser,en=t=>t.userReducer.instances,Zt=l.createSelector([en],t=>Object.values(t)),Jt=t=>s=>s.userReducer.instances[t],vy=y(l.createSelector([Zt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({id:n})=>e.has(n)))})),ve=P(t=>t.uuid),Ey={instances:{}},tn=l.createSlice({name:"organizationAccess",initialState:Ey,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,Ey)),reducers:{initializeOrganizationAccesses:ve.initialize,addOrganizationAccess:ve.addOne,addOrganizationAccesses:ve.addMany,setOrganizationAccess:ve.setOne,setOrganizationAccesses:ve.setMany,updateOrganizationAccess:ve.updateOne,updateOrganizationAccesses:ve.updateMany,deleteOrganizationAccess:ve.deleteOne,deleteOrganizationAccesses:ve.deleteMany}}),{initializeOrganizationAccesses:By,addOrganizationAccess:Vy,addOrganizationAccesses:zy,setOrganizationAccess:Dy,setOrganizationAccesses:jy,updateOrganizationAccess:qy,updateOrganizationAccesses:Cy,deleteOrganizationAccess:$y,deleteOrganizationAccesses:Uy}=tn.actions,Ly=tn.reducer,Xt=t=>t.organizationAccessReducer.instances,ky=t=>s=>s.organizationAccessReducer.instances[t],Ny=y(l.createSelector([Xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(Object.values(t).filter(({uuid:n})=>e.has(n)))})),t_=l.createSelector([wy,Xt],(t,s)=>Object.values(s).find(n=>n.user===(t==null?void 0:t.id))??null),Gy=l.createSelector([Xt],t=>{const s={};for(const e of Object.values(t))s[e.user]=e;return ds(s)}),s_=y(l.createSelector([en,Gy,(t,s)=>s],(t,s,e)=>S(Object.values(t).filter(n=>{const a=s[n.id];return!!a&&a.organization===e})))),Ee=P(t=>t.uuid),Hy={instances:{}},sn=l.createSlice({name:"organizations",initialState:Hy,extraReducers:t=>t.addMatcher(l.isAnyOf(T),s=>Object.assign(s,Hy)),reducers:{initializeOrganizations:Ee.initialize,setOrganizations:Ee.setMany,setOrganization:Ee.setOne,addOrganizations:Ee.addMany,addOrganization:Ee.addOne,updateOrganizations:Ee.updateMany,updateOrganization:Ee.updateOne,deleteOrganization:Ee.deleteOne,deleteOrganizations:Ee.deleteMany}}),{initializeOrganizations:Wy,setOrganizations:Ky,setOrganization:Yy,addOrganizations:Zy,addOrganization:Jy,updateOrganizations:Xy,updateOrganization:Qy,deleteOrganization:xy,deleteOrganizations:ef}=sn.actions,tf=t=>t.organizationReducer.instances,sf=l.createSelector([tf],t=>Object.values(t)),nf=t=>s=>s.organizationReducer.instances[t],af=y(l.createSelector([sf,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),cf=sn.reducer,rf=(t,s,e)=>{const n=t.uuid?t:{...t,uuid:at.v4()};return{payload:n,type:"",meta:{offline:{effect:{timestamp:new Date().toISOString(),request:n,BASE_URL:s,serviceName:e}}}}},df={deletedRequests:[],latestRetryTime:0},nn=l.createSlice({name:"outbox",initialState:df,extraReducers:t=>t.addCase(T,s=>Object.assign(s,df)),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 rf(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}}}),i_=t=>t.outboxReducer.deletedRequests,n_=t=>t.outboxReducer.latestRetryTime,{enqueueRequest:uf,markForDeletion:a_,markAsDeleted:lf,_setLatestRetryTime:of}=nn.actions,hf=nn.reducer,Be=P(t=>t.uuid),pf={instances:{}},an=l.createSlice({name:"projectAccess",initialState:pf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,pf)),reducers:{initializeProjectAccesses:Be.initialize,addProjectAccess:Be.addOne,addProjectAccesses:Be.addMany,setProjectAccess:Be.setOne,setProjectAccesses:Be.setMany,updateProjectAccess:Be.updateOne,updateProjectAccesses:Be.updateMany,deleteProjectAccess:Be.deleteOne,deleteProjectAccesses:Be.deleteMany}}),{initializeProjectAccesses:mf,addProjectAccess:yf,addProjectAccesses:ff,setProjectAccess:Sf,setProjectAccesses:Af,updateProjectAccess:If,updateProjectAccesses:Tf,deleteProjectAccess:Of,deleteProjectAccesses:Pf}=an.actions,Ff=an.reducer,cn=t=>t.projectAccessReducer.instances,Mt=l.createSelector(cn,t=>Object.values(t)),bf=t=>s=>s.projectAccessReducer.instances[t],_f=y(l.createSelector([Mt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),c_=y(l.createSelector([cn,(t,s)=>s],(t,s)=>S(Object.values(t).filter(e=>e.project===s)))),r_=y(l.createSelector([Mt,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.project===s))e[n.user]=n;return e})),d_=y(l.createSelector([Zt,Mt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.project===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),Ve=P(t=>t.uuid),gf={instances:{}},rn=l.createSlice({name:"projectAttachments",initialState:gf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,gf)),reducers:{initializeProjectAttachments:Ve.initialize,addProjectAttachment:Ve.addOne,addProjectAttachments:Ve.addMany,setProjectAttachment:Ve.setOne,setProjectAttachments:Ve.setMany,updateProjectAttachment:Ve.updateOne,updateProjectAttachments:Ve.updateMany,deleteProjectAttachment:Ve.deleteOne,deleteProjectAttachments:Ve.deleteMany}}),{initializeProjectAttachments:Mf,addProjectAttachment:Rf,addProjectAttachments:wf,setProjectAttachment:vf,setProjectAttachments:Ef,updateProjectAttachment:Bf,updateProjectAttachments:Vf,deleteProjectAttachment:zf,deleteProjectAttachments:Df}=rn.actions,jf=t=>t.projectAttachmentReducer.instances,dn=l.createSelector([jf],t=>Object.values(t)),qf=t=>s=>s.projectAttachmentReducer.instances[t],Cf=y(l.createSelector([dn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),u_=y(l.createSelector([dn,(t,s)=>s],(t,s)=>S(t.filter(({project:e})=>s===e)))),$f=rn.reducer,ze=P(t=>t.uuid),Uf={instances:{}},un=l.createSlice({name:"projectFiles",initialState:Uf,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,Uf)),reducers:{initializeProjectFiles:ze.initialize,setProjectFile:ze.setOne,setProjectFiles:ze.setMany,addProjectFile:ze.addOne,addProjectFiles:ze.addMany,updateProjectFile:ze.updateOne,updateProjectFiles:ze.updateMany,deleteProjectFile:ze.deleteOne,deleteProjectFiles:ze.deleteMany}}),{initializeProjectFiles:Lf,setProjectFile:kf,setProjectFiles:Nf,addProjectFile:Gf,addProjectFiles:Hf,updateProjectFile:Wf,updateProjectFiles:Kf,deleteProjectFile:Yf,deleteProjectFiles:Zf}=un.actions,Jf=t=>t.projectFileReducer.instances,Xf=l.createSelector([Jf],t=>S(Object.values(t).toSorted((s,e)=>s.z_index-e.z_index))),Qf=t=>s=>s.projectFileReducer.instances[t],xf=y(l.createSelector([Xf,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),eS=un.reducer,De=P(t=>t.uuid),tS={instances:{}},ln=l.createSlice({name:"projects",initialState:tS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,tS)),reducers:{initializeProjects:De.initialize,setProjects:De.setMany,setProject:De.setOne,addProjects:De.addMany,addProject:De.addOne,updateProjects:De.updateMany,updateProject:De.updateOne,deleteProject:De.deleteOne,deleteProjects:De.deleteMany}}),{initializeProjects:sS,setProjects:iS,setProject:nS,addProjects:aS,addProject:cS,updateProjects:rS,updateProject:dS,deleteProject:uS,deleteProjects:lS}=ln.actions,oS=ln.reducer,hS=t=>t.projectReducer.instances,Qt=l.createSelector([hS],t=>Object.values(t)),pS=t=>s=>s.projectReducer.instances[t],mS=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),l_=y(l.createSelector([Qt,Mt,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.user===e).map(a=>a.project));return S(t.filter(a=>n.has(a.uuid)))})),o_=y(l.createSelector([Qt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),je=P(({uuid:t})=>t),yS={instances:{}},on=l.createSlice({name:"procedureInitiatives",initialState:yS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,yS)),reducers:{initializeProcedureInitiatives:je.initialize,addProcedureInitiative:je.addOne,addProcedureInitiatives:je.addMany,setProcedureInitiative:je.setOne,setProcedureInitiatives:je.setMany,updateProcedureInitiative:je.updateOne,updateProcedureInitiatives:je.updateMany,deleteProcedureInitiative:je.deleteOne,deleteProcedureInitiatives:je.deleteMany}}),{initializeProcedureInitiatives:fS,addProcedureInitiative:SS,addProcedureInitiatives:AS,setProcedureInitiative:IS,setProcedureInitiatives:TS,updateProcedureInitiative:OS,updateProcedureInitiatives:PS,deleteProcedureInitiative:FS,deleteProcedureInitiatives:bS}=on.actions,_S=on.reducer,gS=t=>t.procedureInitiativeReducer.instances,xt=l.createSelector([gS],t=>Object.values(t)),MS=t=>s=>s.procedureInitiativeReducer.instances[t],RS=y(l.createSelector([xt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),h_=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),p_=y(l.createSelector([xt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),qe=P(({uuid:t})=>t),wS={instances:{}},hn=l.createSlice({name:"procedures",initialState:wS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,wS)),reducers:{initializeProcedures:qe.initialize,addProcedure:qe.addOne,addProcedures:qe.addMany,setProcedure:qe.setOne,setProcedures:qe.setMany,updateProcedure:qe.updateOne,updateProcedures:qe.updateMany,deleteProcedure:qe.deleteOne,deleteProcedures:qe.deleteMany}}),{initializeProcedures:vS,addProcedure:ES,addProcedures:ft,setProcedure:BS,setProcedures:VS,updateProcedure:zS,updateProcedures:DS,deleteProcedure:jS,deleteProcedures:St}=hn.actions,qS=hn.reducer,CS=t=>t.procedureReducer.instances,ct=l.createSelector([CS],t=>Object.values(t)),$S=t=>s=>s.procedureReducer.instances[t],US=y(l.createSelector([ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),m_=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.project===s)))),LS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),kS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.asset===s)))),NS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({asset:n})=>e.has(n)))})),GS=y(l.createSelector([ct,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_initiative===s)))),Ce=P(t=>t.uuid),HS={instances:{}},pn=l.createSlice({name:"procedureStepAssignees",initialState:HS,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,HS)),reducers:{initializeProcedureStepAssignees:Ce.initialize,addProcedureStepAssignee:Ce.addOne,addProcedureStepAssignees:Ce.addMany,setProcedureStepAssignee:Ce.setOne,setProcedureStepAssignees:Ce.setMany,updateProcedureStepAssignee:Ce.updateOne,updateProcedureStepAssignees:Ce.updateMany,deleteProcedureStepAssignee:Ce.deleteOne,deleteProcedureStepAssignees:Ce.deleteMany}}),{initializeProcedureStepAssignees:WS,addProcedureStepAssignee:KS,addProcedureStepAssignees:YS,setProcedureStepAssignee:ZS,setProcedureStepAssignees:JS,updateProcedureStepAssignee:XS,updateProcedureStepAssignees:QS,deleteProcedureStepAssignee:xS,deleteProcedureStepAssignees:eA}=pn.actions,tA=t=>t.procedureStepAssigneeReducer.instances,Rt=l.createSelector([tA],t=>Object.values(t)),sA=t=>s=>s.procedureStepAssigneeReducer.instances[t],iA=y(l.createSelector([Rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),y_=y(l.createSelector([Rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),f_=y(l.createSelector([Rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),S_=y(l.createSelector([Rt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),nA=pn.reducer,$e=P(t=>t.uuid),aA={instances:{}},mn=l.createSlice({name:"procedureStepComments",initialState:aA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,aA)),reducers:{initializeProcedureStepComments:$e.initialize,addProcedureStepComment:$e.addOne,addProcedureStepComments:$e.addMany,setProcedureStepComment:$e.setOne,setProcedureStepComments:$e.setMany,updateProcedureStepComment:$e.updateOne,updateProcedureStepComments:$e.updateMany,deleteProcedureStepComment:$e.deleteOne,deleteProcedureStepComments:$e.deleteMany}}),{initializeProcedureStepComments:cA,addProcedureStepComment:rA,addProcedureStepComments:dA,setProcedureStepComment:uA,setProcedureStepComments:lA,updateProcedureStepComment:oA,updateProcedureStepComments:hA,deleteProcedureStepComment:pA,deleteProcedureStepComments:mA}=mn.actions,yA=t=>t.procedureStepCommentReducer.instances,wt=l.createSelector([yA],t=>Object.values(t)),fA=t=>s=>s.procedureStepCommentReducer.instances[t],SA=y(l.createSelector([wt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),A_=y(l.createSelector([wt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),I_=y(l.createSelector([wt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),T_=y(l.createSelector([wt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),AA=mn.reducer,Ue=P(t=>t.uuid),IA={instances:{}},yn=l.createSlice({name:"procedureStepDefaultAssignees",initialState:IA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,IA)),reducers:{initializeProcedureStepDefaultAssignees:Ue.initialize,addProcedureStepDefaultAssignee:Ue.addOne,addProcedureStepDefaultAssignees:Ue.addMany,setProcedureStepDefaultAssignee:Ue.setOne,setProcedureStepDefaultAssignees:Ue.setMany,updateProcedureStepDefaultAssignee:Ue.updateOne,updateProcedureStepDefaultAssignees:Ue.updateMany,deleteProcedureStepDefaultAssignee:Ue.deleteOne,deleteProcedureStepDefaultAssignees:Ue.deleteMany}}),{initializeProcedureStepDefaultAssignees:TA,addProcedureStepDefaultAssignee:OA,addProcedureStepDefaultAssignees:PA,setProcedureStepDefaultAssignee:FA,setProcedureStepDefaultAssignees:bA,updateProcedureStepDefaultAssignee:_A,updateProcedureStepDefaultAssignees:gA,deleteProcedureStepDefaultAssignee:MA,deleteProcedureStepDefaultAssignees:RA}=yn.actions,wA=t=>t.procedureStepDefaultAssigneeReducer.instances,fn=l.createSelector([wA],t=>Object.values(t)),vA=t=>s=>s.procedureStepDefaultAssigneeReducer.instances[t],EA=y(l.createSelector([fn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),O_=y(l.createSelector([fn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),BA=yn.reducer,Le=P(t=>t.uuid),VA={instances:{}},Sn=l.createSlice({name:"procedureStepDefaultReviewers",initialState:VA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,VA)),reducers:{initializeProcedureStepDefaultReviewers:Le.initialize,addProcedureStepDefaultReviewer:Le.addOne,addProcedureStepDefaultReviewers:Le.addMany,setProcedureStepDefaultReviewer:Le.setOne,setProcedureStepDefaultReviewers:Le.setMany,updateProcedureStepDefaultReviewer:Le.updateOne,updateProcedureStepDefaultReviewers:Le.updateMany,deleteProcedureStepDefaultReviewer:Le.deleteOne,deleteProcedureStepDefaultReviewers:Le.deleteMany}}),{initializeProcedureStepDefaultReviewers:zA,addProcedureStepDefaultReviewer:DA,addProcedureStepDefaultReviewers:jA,setProcedureStepDefaultReviewer:qA,setProcedureStepDefaultReviewers:CA,updateProcedureStepDefaultReviewer:$A,updateProcedureStepDefaultReviewers:UA,deleteProcedureStepDefaultReviewer:LA,deleteProcedureStepDefaultReviewers:kA}=Sn.actions,NA=t=>t.procedureStepDefaultReviewerReducer.instances,An=l.createSelector([NA],t=>Object.values(t)),GA=t=>s=>s.procedureStepDefaultReviewerReducer.instances[t],HA=y(l.createSelector([An,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),P_=y(l.createSelector([An,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),WA=Sn.reducer,ke=P(t=>t.uuid),KA={instances:{}},In=l.createSlice({name:"procedureStepEvents",initialState:KA,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,KA)),reducers:{initializeProcedureStepEvents:ke.initialize,addProcedureStepEvent:ke.addOne,addProcedureStepEvents:ke.addMany,setProcedureStepEvent:ke.setOne,setProcedureStepEvents:ke.setMany,updateProcedureStepEvent:ke.updateOne,updateProcedureStepEvents:ke.updateMany,deleteProcedureStepEvent:ke.deleteOne,deleteProcedureStepEvents:ke.deleteMany}}),{initializeProcedureStepEvents:YA,addProcedureStepEvent:ZA,addProcedureStepEvents:JA,setProcedureStepEvent:XA,setProcedureStepEvents:QA,updateProcedureStepEvent:xA,updateProcedureStepEvents:eI,deleteProcedureStepEvent:tI,deleteProcedureStepEvents:sI}=In.actions,iI=t=>t.procedureStepEventReducer.instances,vt=l.createSelector([iI],t=>Object.values(t)),nI=t=>s=>s.procedureStepEventReducer.instances[t],aI=y(l.createSelector([vt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),F_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),b_=y(l.createSelector([vt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),__=y(l.createSelector([vt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),cI=In.reducer,Ne=P(t=>t.uuid),rI={instances:{}},Tn=l.createSlice({name:"procedureStepFieldsAttachments",initialState:rI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,rI)),reducers:{initializeProcedureStepFieldsAttachments:Ne.initialize,addProcedureStepFieldsAttachment:Ne.addOne,addProcedureStepFieldsAttachments:Ne.addMany,setProcedureStepFieldsAttachment:Ne.setOne,setProcedureStepFieldsAttachments:Ne.setMany,updateProcedureStepFieldsAttachment:Ne.updateOne,updateProcedureStepFieldsAttachments:Ne.updateMany,deleteProcedureStepFieldsAttachment:Ne.deleteOne,deleteProcedureStepFieldsAttachments:Ne.deleteMany}}),{initializeProcedureStepFieldsAttachments:dI,addProcedureStepFieldsAttachment:uI,addProcedureStepFieldsAttachments:On,setProcedureStepFieldsAttachment:lI,setProcedureStepFieldsAttachments:oI,updateProcedureStepFieldsAttachment:hI,updateProcedureStepFieldsAttachments:pI,deleteProcedureStepFieldsAttachment:mI,deleteProcedureStepFieldsAttachments:Pn}=Tn.actions,yI=t=>t.procedureStepFieldsAttachmentReducer.instances,Fn=l.createSelector([yI],t=>Object.values(t)),fI=y(l.createSelector([Fn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),SI=t=>s=>s.procedureStepFieldsAttachmentReducer.instances[t],AI=y(l.createSelector([Fn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),II=Tn.reducer,Ge=P(t=>t.uuid),TI={instances:{}},bn=l.createSlice({name:"procedureStepFields",initialState:TI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,TI)),reducers:{initializeProcedureStepFields:Ge.initialize,addProcedureStepFields:Ge.addOne,addProcedureStepFieldsMany:Ge.addMany,setProcedureStepFields:Ge.setOne,setProcedureStepFieldsMany:Ge.setMany,updateProcedureStepFields:Ge.updateOne,updateProcedureStepFieldsMany:Ge.updateMany,deleteProcedureStepFields:Ge.deleteOne,deleteProcedureStepFieldsMany:Ge.deleteMany}}),{initializeProcedureStepFields:OI,addProcedureStepFields:PI,addProcedureStepFieldsMany:FI,setProcedureStepFields:bI,setProcedureStepFieldsMany:_I,updateProcedureStepFields:gI,updateProcedureStepFieldsMany:MI,deleteProcedureStepFields:RI,deleteProcedureStepFieldsMany:wI}=bn.actions,_n=t=>t.procedureStepFieldsReducer.instances,es=l.createSelector([_n],t=>Object.values(t)),g_=y(l.createSelector([es,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),M_=y(l.createSelector([es,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_step===s).toSorted(bt).pop())),R_=l.createSelector([_n],t=>{const s={};for(const e of Object.values(t)){const n=s[e.procedure_step];(!n||n.submitted_at<e.submitted_at)&&(s[e.procedure_step]=e)}return s}),vI=t=>s=>s.procedureStepFieldsReducer.instances[t],EI=y(l.createSelector([es,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),BI=bn.reducer,He=P(t=>t.uuid),VI={instances:{}},gn=l.createSlice({name:"procedureStepFieldValuesAttachments",initialState:VI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,VI)),reducers:{initializeProcedureStepFieldValuesAttachments:He.initialize,addProcedureStepFieldValuesAttachment:He.addOne,addProcedureStepFieldValuesAttachments:He.addMany,setProcedureStepFieldValuesAttachment:He.setOne,setProcedureStepFieldValuesAttachments:He.setMany,updateProcedureStepFieldValuesAttachment:He.updateOne,updateProcedureStepFieldValuesAttachments:He.updateMany,deleteProcedureStepFieldValuesAttachment:He.deleteOne,deleteProcedureStepFieldValuesAttachments:He.deleteMany}}),{initializeProcedureStepFieldValuesAttachments:zI,addProcedureStepFieldValuesAttachment:DI,addProcedureStepFieldValuesAttachments:Mn,setProcedureStepFieldValuesAttachment:jI,setProcedureStepFieldValuesAttachments:qI,updateProcedureStepFieldValuesAttachment:CI,updateProcedureStepFieldValuesAttachments:$I,deleteProcedureStepFieldValuesAttachment:UI,deleteProcedureStepFieldValuesAttachments:Rn}=gn.actions,LI=t=>t.procedureStepFieldValuesAttachmentReducer.instances,wn=l.createSelector([LI],t=>Object.values(t)),kI=t=>s=>s.procedureStepFieldValuesAttachmentReducer.instances[t],NI=y(l.createSelector([wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),GI=y(l.createSelector([wn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),HI=gn.reducer,We=P(t=>t.uuid),WI={instances:{}},vn=l.createSlice({name:"procedureStepFieldValues",initialState:WI,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,WI)),reducers:{initializeProcedureStepFieldValues:We.initialize,addProcedureStepFieldValues:We.addOne,addProcedureStepFieldValuesMany:We.addMany,setProcedureStepFieldValues:We.setOne,setProcedureStepFieldValuesMany:We.setMany,updateProcedureStepFieldValues:We.updateOne,updateProcedureStepFieldValuesMany:We.updateMany,deleteProcedureStepFieldValues:We.deleteOne,deleteProcedureStepFieldValuesMany:We.deleteMany}}),{initializeProcedureStepFieldValues:KI,addProcedureStepFieldValues:YI,addProcedureStepFieldValuesMany:ZI,setProcedureStepFieldValues:JI,setProcedureStepFieldValuesMany:XI,updateProcedureStepFieldValues:QI,updateProcedureStepFieldValuesMany:xI,deleteProcedureStepFieldValues:eT,deleteProcedureStepFieldValuesMany:tT}=vn.actions,sT=vn.reducer,iT=t=>t.procedureStepFieldValuesReducer.instances,rt=l.createSelector([iT],t=>Object.values(t)),w_=y(l.createSelector([rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),v_=y(l.createSelector([rt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),nT=t=>s=>s.procedureStepFieldValuesReducer.instances[t],aT=y(l.createSelector([rt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),E_=y(l.createSelector([rt,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),Ke=P(t=>t.uuid),cT={instances:{}},En=l.createSlice({name:"procedureStepFieldValuesReviews",initialState:cT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,cT)),reducers:{initializeProcedureStepFieldValuesReviews:Ke.initialize,addProcedureStepFieldValuesReview:Ke.addOne,addProcedureStepFieldValuesReviews:Ke.addMany,setProcedureStepFieldValuesReview:Ke.setOne,setProcedureStepFieldValuesReviews:Ke.setMany,updateProcedureStepFieldValuesReview:Ke.updateOne,updateProcedureStepFieldValuesReviews:Ke.updateMany,deleteProcedureStepFieldValuesReview:Ke.deleteOne,deleteProcedureStepFieldValuesReviews:Ke.deleteMany}}),{initializeProcedureStepFieldValuesReviews:rT,addProcedureStepFieldValuesReview:dT,addProcedureStepFieldValuesReviews:Bn,setProcedureStepFieldValuesReview:uT,setProcedureStepFieldValuesReviews:lT,updateProcedureStepFieldValuesReview:oT,updateProcedureStepFieldValuesReviews:hT,deleteProcedureStepFieldValuesReview:pT,deleteProcedureStepFieldValuesReviews:Vn}=En.actions,mT=t=>t.procedureStepFieldValuesReviewReducer.instances,dt=l.createSelector([mT],t=>Object.values(t)),yT=t=>s=>s.procedureStepFieldValuesReviewReducer.instances[t],fT=y(l.createSelector([dt,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),ST=y(l.createSelector([dt,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),B_=y(l.createSelector([dt,(t,s)=>s],(t,s)=>{let e;for(const n of t){const{field_values:a}=n;a===s&&(!e||e.submitted_at<=n.submitted_at)&&(e=n)}return e})),V_=y(l.createSelector([rt,dt,(t,s)=>s],(t,s,e)=>{const n=new Set(v(t.filter(({procedure:a})=>e===a)));return S(s.filter(({field_values:a})=>n.has(a)))})),z_=y(l.createSelector([rt,dt,(t,s)=>s,(t,s,e)=>e],(t,s,e,n)=>{const a=new Set(v(t.filter(({procedure_step:r,procedure:c})=>e===c&&r===n)));return S(s.filter(({field_values:r})=>a.has(r)))})),D_=l.createSelector([dt],t=>{const s={};for(const e of t){const{field_values:n}=e,a=s[n];(!a||a.submitted_at<=e.submitted_at)&&(s[n]=e)}return s}),AT=En.reducer,Ye=P(t=>t.uuid),IT={instances:{}},zn=l.createSlice({name:"procedureStepReviewers",initialState:IT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,IT)),reducers:{initializeProcedureStepReviewers:Ye.initialize,addProcedureStepReviewer:Ye.addOne,addProcedureStepReviewers:Ye.addMany,setProcedureStepReviewer:Ye.setOne,setProcedureStepReviewers:Ye.setMany,updateProcedureStepReviewer:Ye.updateOne,updateProcedureStepReviewers:Ye.updateMany,deleteProcedureStepReviewer:Ye.deleteOne,deleteProcedureStepReviewers:Ye.deleteMany}}),{initializeProcedureStepReviewers:TT,addProcedureStepReviewer:OT,addProcedureStepReviewers:PT,setProcedureStepReviewer:FT,setProcedureStepReviewers:bT,updateProcedureStepReviewer:_T,updateProcedureStepReviewers:gT,deleteProcedureStepReviewer:MT,deleteProcedureStepReviewers:RT}=zn.actions,wT=t=>t.procedureStepReviewerReducer.instances,Et=l.createSelector([wT],t=>Object.values(t)),vT=t=>s=>s.procedureStepReviewerReducer.instances[t],ET=y(l.createSelector([Et,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),j_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),q_=y(l.createSelector([Et,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_step===s)))),C_=y(l.createSelector([Et,(t,s)=>s,(t,s,e)=>e],(t,s,e)=>S(t.filter(({procedure:n,procedure_step:a})=>n===s&&a===e)))),BT=zn.reducer,Ze=P(t=>t.uuid),VT={instances:{}},Dn=l.createSlice({name:"procedureSteps",initialState:VT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,VT)),reducers:{initializeProcedureSteps:Ze.initialize,setProcedureStep:Ze.setOne,setProcedureSteps:Ze.setMany,addProcedureStep:Ze.addOne,addProcedureSteps:Ze.addMany,updateProcedureStep:Ze.updateOne,updateProcedureSteps:Ze.updateMany,deleteProcedureStep:Ze.deleteOne,deleteProcedureSteps:Ze.deleteMany}}),{initializeProcedureSteps:zT,setProcedureStep:DT,setProcedureSteps:jT,addProcedureStep:qT,addProcedureSteps:CT,updateProcedureStep:$T,updateProcedureSteps:UT,deleteProcedureStep:LT,deleteProcedureSteps:kT}=Dn.actions,NT=Dn.reducer,jn=t=>t.procedureStepReducer.instances,GT=t=>s=>s.procedureStepReducer.instances[t],qn=l.createSelector([jn],t=>Object.values(t).toSorted((s,e)=>s.order-e.order)),$_=y(l.createSelector([jn,(t,s)=>s],(t,s)=>{const e={};for(const[n,a]of Object.entries(t))a.procedure_type===s&&(e[n]=a);return ds(e)})),U_=y(l.createSelector([qn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),HT=y(l.createSelector([qn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Je=P(({uuid:t})=>t),WT={instances:{}},Cn=l.createSlice({name:"procedureTypeAttachments",initialState:WT,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,WT)),reducers:{initializeProcedureTypeAttachments:Je.initialize,addProcedureTypeAttachment:Je.addOne,addProcedureTypeAttachments:Je.addMany,setProcedureTypeAttachment:Je.setOne,setProcedureTypeAttachments:Je.setMany,updateProcedureTypeAttachment:Je.updateOne,updateProcedureTypeAttachments:Je.updateMany,deleteProcedureTypeAttachment:Je.deleteOne,deleteProcedureTypeAttachments:Je.deleteMany}}),{initializeProcedureTypeAttachments:KT,addProcedureTypeAttachment:YT,addProcedureTypeAttachments:ZT,setProcedureTypeAttachment:JT,setProcedureTypeAttachments:XT,updateProcedureTypeAttachment:QT,updateProcedureTypeAttachments:xT,deleteProcedureTypeAttachment:eO,deleteProcedureTypeAttachments:tO}=Cn.actions,sO=Cn.reducer,iO=t=>t.procedureTypeAttachmentReducer.instances,$n=l.createSelector([iO],t=>Object.values(t)),nO=t=>s=>s.procedureTypeAttachmentReducer.instances[t],aO=y(l.createSelector([$n,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),L_=y(l.createSelector([$n,(t,s)=>s],(t,s)=>S(t.filter(({procedure_type:e})=>s===e)))),Xe=P(({uuid:t})=>t),cO={instances:{}},Un=l.createSlice({name:"procedureTypeFieldsAttachments",initialState:cO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,cO)),reducers:{initializeProcedureTypeFieldsAttachments:Xe.initialize,addProcedureTypeFieldsAttachment:Xe.addOne,addProcedureTypeFieldsAttachments:Xe.addMany,setProcedureTypeFieldsAttachment:Xe.setOne,setProcedureTypeFieldsAttachments:Xe.setMany,updateProcedureTypeFieldsAttachment:Xe.updateOne,updateProcedureTypeFieldsAttachments:Xe.updateMany,deleteProcedureTypeFieldsAttachment:Xe.deleteOne,deleteProcedureTypeFieldsAttachments:Xe.deleteMany}}),{initializeProcedureTypeFieldsAttachments:rO,addProcedureTypeFieldsAttachment:dO,addProcedureTypeFieldsAttachments:uO,setProcedureTypeFieldsAttachment:lO,setProcedureTypeFieldsAttachments:oO,updateProcedureTypeFieldsAttachment:hO,updateProcedureTypeFieldsAttachments:pO,deleteProcedureTypeFieldsAttachment:mO,deleteProcedureTypeFieldsAttachments:yO}=Un.actions,fO=Un.reducer,SO=t=>t.procedureTypeFieldsAttachmentReducer.instances,Ln=l.createSelector([SO],t=>Object.values(t)),k_=y(l.createSelector([Ln,(t,s)=>s],(t,s)=>S(t.filter(e=>e.fields_revision===s)))),AO=t=>s=>s.procedureTypeFieldsAttachmentReducer.instances[t],IO=y(l.createSelector([Ln,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Qe=P(({uuid:t})=>t),TO={instances:{}},kn=l.createSlice({name:"procedureTypeFields",initialState:TO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,TO)),reducers:{initializeProcedureTypeFields:Qe.initialize,addProcedureTypeFields:Qe.addOne,addProcedureTypeFieldsMany:Qe.addMany,setProcedureTypeFields:Qe.setOne,setProcedureTypeFieldsMany:Qe.setMany,updateProcedureTypeFields:Qe.updateOne,updateProcedureTypeFieldsMany:Qe.updateMany,deleteProcedureTypeFields:Qe.deleteOne,deleteProcedureTypeFieldsMany:Qe.deleteMany}}),{initializeProcedureTypeFields:OO,addProcedureTypeFields:PO,addProcedureTypeFieldsMany:FO,setProcedureTypeFields:bO,setProcedureTypeFieldsMany:_O,updateProcedureTypeFields:gO,updateProcedureTypeFieldsMany:MO,deleteProcedureTypeFields:RO,deleteProcedureTypeFieldsMany:wO}=kn.actions,vO=kn.reducer,EO=t=>t.procedureTypeFieldsReducer.instances,ts=l.createSelector([EO],t=>Object.values(t)),N_=y(l.createSelector([ts,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure_type===s)))),G_=y(l.createSelector([ts,(t,s)=>s],(t,s)=>t.filter(e=>e.procedure_type===s).sort((e,n)=>e.submitted_at>n.submitted_at?-1:1)[0])),BO=t=>s=>s.procedureTypeFieldsReducer.instances[t],VO=y(l.createSelector([ts,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),xe=P(({uuid:t})=>t),zO={instances:{}},Nn=l.createSlice({name:"procedureFieldValuesAttachments",initialState:zO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,zO)),reducers:{initializeProcedureFieldValuesAttachments:xe.initialize,addProcedureFieldValuesAttachment:xe.addOne,addProcedureFieldValuesAttachments:xe.addMany,setProcedureFieldValuesAttachment:xe.setOne,setProcedureFieldValuesAttachments:xe.setMany,updateProcedureFieldValuesAttachment:xe.updateOne,updateProcedureFieldValuesAttachments:xe.updateMany,deleteProcedureFieldValuesAttachment:xe.deleteOne,deleteProcedureFieldValuesAttachments:xe.deleteMany}}),{initializeProcedureFieldValuesAttachments:DO,addProcedureFieldValuesAttachment:jO,addProcedureFieldValuesAttachments:Gn,setProcedureFieldValuesAttachment:qO,setProcedureFieldValuesAttachments:CO,updateProcedureFieldValuesAttachment:$O,updateProcedureFieldValuesAttachments:UO,deleteProcedureFieldValuesAttachment:LO,deleteProcedureFieldValuesAttachments:Hn}=Nn.actions,kO=Nn.reducer,NO=t=>t.procedureFieldValuesAttachmentReducer.instances,Wn=l.createSelector([NO],t=>Object.values(t)),GO=t=>s=>s.procedureFieldValuesAttachmentReducer.instances[t],HO=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),WO=y(l.createSelector([Wn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.field_values===s)))),et=P(({uuid:t})=>t),KO={instances:{}},Kn=l.createSlice({name:"procedureFieldValues",initialState:KO,extraReducers:t=>t.addMatcher(l.isAnyOf(T,V,F),s=>Object.assign(s,KO)),reducers:{initializeProcedureFieldValues:et.initialize,addProcedureFieldValues:et.addOne,addProcedureFieldValuesMany:et.addMany,setProcedureFieldValues:et.setOne,setProcedureFieldValuesMany:et.setMany,updateProcedureFieldValues:et.updateOne,updateProcedureFieldValuesMany:et.updateMany,deleteProcedureFieldValues:et.deleteOne,deleteProcedureFieldValuesMany:et.deleteMany}}),{initializeProcedureFieldValues:YO,addProcedureFieldValues:ZO,addProcedureFieldValuesMany:JO,setProcedureFieldValues:XO,setProcedureFieldValuesMany:QO,updateProcedureFieldValues:xO,updateProcedureFieldValuesMany:eP,deleteProcedureFieldValues:tP,deleteProcedureFieldValuesMany:sP}=Kn.actions,iP=Kn.reducer,nP=t=>t.procedureFieldValuesReducer.instances,Yn=l.createSelector([nP],t=>Object.values(t)),H_=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.procedure===s)))),aP=t=>s=>s.procedureFieldValuesReducer.instances[t],cP=y(l.createSelector([Yn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),tt=P(t=>t.uuid),rP={instances:{}},Zn=l.createSlice({name:"procedureTypes",initialState:rP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,rP)),reducers:{initializeProcedureTypes:tt.initialize,addProcedureType:tt.addOne,addProcedureTypes:tt.addMany,setProcedureType:tt.setOne,setProcedureTypes:tt.setMany,updateProcedureType:tt.updateOne,updateProcedureTypes:tt.updateMany,deleteProcedureType:tt.deleteOne,deleteProcedureTypes:tt.deleteMany}}),{initializeProcedureTypes:dP,addProcedureType:uP,addProcedureTypes:lP,setProcedureType:oP,setProcedureTypes:hP,updateProcedureType:pP,updateProcedureTypes:mP,deleteProcedureType:yP,deleteProcedureTypes:fP}=Zn.actions,SP=Zn.reducer,AP=t=>t.procedureTypeReducer.instances,Jn=l.createSelector([AP],t=>Object.values(t)),IP=t=>s=>s.procedureTypeReducer.instances[t],TP=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),W_=y(l.createSelector([Jn,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),K_={isRehydrated:!1},Xn=l.createSlice({name:"rehydrated",initialState:K_,reducers:{setRehydrated:(t,s)=>{t.isRehydrated=s.payload}}}),{setRehydrated:Y_}=Xn.actions,Z_=t=>t.rehydratedReducer.isRehydrated,OP=Xn.reducer,st=P(t=>t.uuid),PP={instances:{}},Qn=l.createSlice({name:"teamMemberships",initialState:PP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,PP)),reducers:{initializeTeamMemberships:st.initialize,addTeamMembership:st.addOne,addTeamMemberships:st.addMany,setTeamMembership:st.setOne,setTeamMemberships:st.setMany,updateTeamMembership:st.updateOne,updateTeamMemberships:st.updateMany,deleteTeamMembership:st.deleteOne,deleteTeamMemberships:st.deleteMany}}),{initializeTeamMemberships:FP,addTeamMembership:bP,addTeamMemberships:_P,setTeamMembership:gP,setTeamMemberships:MP,updateTeamMembership:RP,updateTeamMemberships:wP,deleteTeamMembership:vP,deleteTeamMemberships:EP}=Qn.actions,BP=Qn.reducer,VP=t=>t.teamMembershipReducer.instances,ss=l.createSelector([VP],t=>Object.values(t)),zP=t=>s=>s.teamMembershipReducer.instances[t],DP=y(l.createSelector([ss,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),J_=y(l.createSelector([ss,(t,s)=>s],(t,s)=>{const e={};for(const n of t.filter(a=>a.team===s))e[n.user]=n;return e})),X_=y(l.createSelector([Zt,ss,(t,s)=>s],(t,s,e)=>{const n=new Set(s.filter(a=>a.team===e).map(a=>a.user));return S(t.filter(a=>n.has(a.id)))})),it=P(t=>t.uuid),jP={instances:{}},xn=l.createSlice({name:"teams",initialState:jP,extraReducers:t=>t.addMatcher(l.isAnyOf(T,F),s=>Object.assign(s,jP)),reducers:{initializeTeams:it.initialize,addTeam:it.addOne,addTeams:it.addMany,setTeam:it.setOne,setTeams:it.setMany,updateTeam:it.updateOne,updateTeams:it.updateMany,deleteTeam:it.deleteOne,deleteTeams:it.deleteMany}}),{initializeTeams:qP,addTeam:CP,addTeams:$P,setTeam:UP,setTeams:LP,updateTeam:kP,updateTeams:NP,deleteTeam:GP,deleteTeams:HP}=xn.actions,WP=t=>t.teamReducer.instances,ea=l.createSelector([WP],t=>Object.values(t)),KP=t=>s=>s.teamReducer.instances[t],YP=y(l.createSelector([ea,(t,s)=>s],(t,s)=>{const e=new Set(s);return S(t.filter(({uuid:n})=>e.has(n)))})),Q_=y(l.createSelector([ea,(t,s)=>s],(t,s)=>S(t.filter(e=>e.organization===s)))),ZP=xn.reducer,x_={version:0},JP=l.createSlice({name:"versioning",initialState:x_,reducers:{}}),XP=JP.reducer,ta={outboxReducer:hf,fileReducer:Eu,authReducer:Ud},eg=l.combineReducers(ta),QP={...ta,[Ft]:XP,assetReducer:Oc,assetAttachmentReducer:Ya,assetCommentReducer:dc,assetTypeReducer:Fd,assetTypeAttachmentReducer:zc,issueReducer:Kh,issueAttachmentReducer:rh,issueTypeReducer:Jm,issueTypeAttachmentReducer:rp,organizationReducer:cf,projectReducer:oS,projectAttachmentReducer:$f,projectAccessReducer:Ff,organizationAccessReducer:Ly,projectFileReducer:eS,procedureTypeReducer:SP,procedureInitiativeReducer:_S,procedureReducer:qS,procedureTypeFieldsReducer:vO,procedureFieldValuesReducer:iP,procedureTypeAttachmentReducer:sO,procedureTypeFieldsAttachmentReducer:fO,procedureFieldValuesAttachmentReducer:kO,procedureStepFieldsAttachmentReducer:II,procedureStepFieldsReducer:BI,procedureStepFieldValuesAttachmentReducer:HI,procedureStepFieldValuesReducer:sT,procedureStepFieldValuesReviewReducer:AT,procedureStepAssigneeReducer:nA,procedureStepCommentReducer:AA,procedureStepDefaultAssigneeReducer:BA,procedureStepDefaultReviewerReducer:WA,procedureStepEventReducer:cI,procedureStepReviewerReducer:BT,procedureStepReducer:NT,rehydratedReducer:OP,formReducer:Nl,formRevisionReducer:Bl,formRevisionAttachmentReducer:Il,formSubmissionAttachmentReducer:no,formSubmissionReducer:Ao,formIdentifierReducer:Hu,formIdentifierValueReducer:al,userReducer:Ry,emailDomainsReducer:Ru,documentsReducer:ou,documentAttachmentReducer:eu,teamReducer:ZP,agentsReducer:Da,issueCommentReducer:zh,issueCommentAttachmentReducer:Oh,issueUpdateReducer:Iy,geoImageReducer:Bo,issueAssociationReducer:Yo,issueTypeFieldsReducer:Zp,issueTypeFieldValuesReducer:Dp,issueTypeFieldsAttachmentReducer:Op,issueTypeFieldValuesAttachmentReducer:dm,issueTypeIdentifierReducer:Pm,issueTypeIdentifierValueReducer:jm,issueTypeStatusReducer:uy,assetTypeFieldsReducer:dr,assetTypeFieldValuesReducer:Dr,assetTypeFieldsAttachmentReducer:Yc,assetTypeFieldValuesAttachmentReducer:Or,assetTypeIdentifierReducer:Zr,assetTypeIdentifierValueReducer:ud,assetTypeStatusReducer:qd,teamMembershipReducer:BP},tg=l.combineReducers(QP),xP=1e4,eF=200,sa=[400,409,403,404,405,500],k=1e4,tF={};class sF{constructor(s){h(this,"client");h(this,"pageSize",xP);tF[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 iF=()=>cF.length-1,nF=t=>(t[Ft]={version:iF()},t),aF=()=>nF({}),sg=t=>(t.outboxReducer&&(t.outboxReducer.deletedRequests=[]),t),ig=t=>s=>{var e;return s===void 0&&(s={}),((e=s[Ft])==null?void 0:e.version)===iF()?s:t(s)},cF=[nF,aF,aF,sg],ng=Object.fromEntries(cF.map((t,s)=>[s,ig(t)])),ag=t=>{if(t)throw t;const s=Tt();s?s.dispatch({type:"rehydrated/setRehydrated",payload:!0}):console.error("Client store not set")},rF=(t,s,e)=>{const n=ot();return n?(n.addRequest(s),n.getQueue()):(console.warn("Outbox coordinator not set; cannot enqueue request yet."),[])},dF=(t,s,e)=>{const n=ot();if(!n)return console.warn("Outbox coordinator not set; cannot dequeue request yet."),[];const r=s.meta.offlineAction.payload.uuid;return n.remove(r),n.getQueue()};async function cg(t,s){if(!s.payload)throw new Error("Received empty payload");return OF(s)}const rg={...ua,effect:cg,discard:lF,returnPromises:!0,persistCallback:ag,retry:og,persistOptions:{storage:wF},queue:{...ua.queue,enqueue:rF,dequeue:dF,peek:(...t)=>lg(...t)}},dg=vF(ng,Ft),ug=l.compose(RF.offline(rg),dg);async function uF(t,s,e){if(s.store.getState().outboxReducer.deletedRequests.includes(t.payload.uuid))throw new Error("Request was marked for deletion");const a=tF[t.meta.offline.effect.serviceName];if(!a)throw new Error(`Service ${t.meta.offline.effect.serviceName} not found`);return na(t.meta.offline.effect.BASE_URL,t.meta.offline.effect.request,s,a,e)}function lF(t,s,e=0){var m;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=ut(),c=n.getState().outboxReducer.deletedRequests,r=s.payload.uuid;function l(){n.dispatch(tT(r));const h=it();if(!h)throw new Error("Outbox coordinator not set");h.remove(s.payload.uuid);const p=s.meta.offline.rollback;throw p&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(p)),t}if(t instanceof C&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),l()),c.includes(r)&&(console.debug("Discarding request due to deletion:",s.payload.url),l()),t instanceof C){const h=t.status||((d=t.response)==null?void 0:d.status);if(h||console.warn("Error has no status code:",t),h!==void 0&&zn.includes(h)){console.warn("Discarding request due to error:",t,`
5
- Action:`,s);const p=it();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=it();if(!u)throw new Error("Outbox coordinator not set");return u.registerRetry(s.payload.uuid),!1}function DF(t,s,e){var n;return(n=it())==null?void 0:n.peek()}function $F(t,s){return ut().dispatch(sT(new Date().getTime())),Yn}const ct="An unknown error occurred",UF=500,xI=["non_field_errors","detail"];function CF(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"?xI.includes(a)?c:`${a}: ${c}`:Array.isArray(c)?xI.includes(a)?c.join(`
6
- `):c.map(r=>`${a}: ${r}`).join(`
7
- `):`${a}: ${JSON.stringify(c)}`).join(`
8
- `)}catch(a){console.error("Failed to extract error message from response body",a)}}else typeof t.body=="string"&&(e=t.body);else t!=null&&t.text?e=t.text:s instanceof Error&&(e=s.message);return!e||e.length>UF?ct:e}class C extends Error{constructor(e){super(ct);y(this,"status");y(this,"response");y(this,"message");y(this,"options");const{response:n,innerError:a}=e;this.message=e.message??CF(n,a)??ct,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function eO(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 LF extends GI{constructor(s){super(s)}}class st extends GI{constructor(e,n){super(e);y(this,"auth");this.auth=n}}class kF extends st{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(ra(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(la(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(ua(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(da(n)),n}}function O(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case m.GET:return`Get ${n}`;case m.POST:return`Create ${n}`;case m.PATCH:return`Update ${n}`;case m.PUT:return`Update ${n}`;case m.DELETE:return`Delete ${n}`}}class E extends st{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 Je extends E{constructor(){super(...arguments);y(this,"pageSize",kI)}async _bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,updateMany:c,deleteMany:r}=this.actions,l=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,u=new Date().toISOString(),d=[],h=[],p={};for(const I of e){const{modelUuid: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 NF extends Je{constructor(){super(...arguments);y(this,"name","Asset attachment");y(this,"url","/asset-attachments");y(this,"actions",{addOne:ya,addMany:xt,setOne:pa,setMany:Aa,updateOne:fa,updateMany:Sa,deleteOne:Ta,deleteMany:es,initialize:ma});y(this,"selectors",{selectById:Oa,selectByIds:Pa})}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 GF extends Je{constructor(){super(...arguments);y(this,"name","Asset Procedure Attachment");y(this,"url","/asset-procedure-type-attachments");y(this,"actions",{addOne:Ma,addMany:Ra,setOne:wa,setMany:Ea,updateOne:va,updateMany:Va,deleteOne:za,deleteMany:Ba,initialize:_a});y(this,"selectors",{selectById:Da,selectByIds:$a})}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 HF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields Attachment");y(this,"url","/asset-procedure-type-fields-attachments");y(this,"actions",{addOne:La,addMany:ka,setOne:Na,setMany:Ga,updateOne:Ha,updateMany:Wa,deleteOne:Ka,deleteMany:Ya,initialize:Ca});y(this,"selectors",{selectById:Xa,selectByIds:Qa})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier: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 v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class WF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Fields");y(this,"url","/asset-procedure-type-fields");y(this,"actions",{addOne:tc,addMany:sc,setOne:ic,setMany:nc,updateOne:ac,updateMany:cc,deleteOne:dc,deleteMany:rc,initialize:ec});y(this,"selectors",{selectById:oc,selectByIds:hc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}function Xe(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}class KF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values Attachment");y(this,"url","/asset-procedure-type-field-values-attachments");y(this,"actions",{addOne:pc,addMany:rs,setOne:Ac,setMany:fc,updateOne:Sc,updateMany:Tc,deleteOne:Ic,deleteMany:us,initialize:yc});y(this,"selectors",{selectById:Fc,selectByIds:gc})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Xe(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:v,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:v});h.push($);const j={uuid:$.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(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 YF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type Field Values");y(this,"url","/asset-procedure-type-field-values");y(this,"actions",{addOne:Rc,addMany:wc,setOne:Ec,setMany:vc,updateOne:Vc,updateMany:zc,deleteOne:Bc,deleteMany:jc,initialize:Mc});y(this,"selectors",{selectById:$c,selectByIds:Uc})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var 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.id)??null,p=[],A=Xe(c,Math.min(n??c.length,k)),f=[];for(const P of A){const g=[];for(const b of P){const v=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(v),g.push({uuid:v.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,published_at:b.published_at,values:v.values})}f.push({submitted_at:d,values:a,field_values:g})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:g}=P,b=g.map(({asset:j})=>j),v=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(v).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=bc(e)(l);this.dispatch(a(e)),this.dispatch(us(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(rs(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class ZF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure");y(this,"url","/asset-procedures");y(this,"actions",{addOne:kc,addMany:ms,setOne:Wc,setMany:Kc,updateOne:Nc,updateMany:Gc,deleteOne:Hc,deleteMany:ys,initialize:Lc});y(this,"selectors",{selectById:Xc,selectByIds:Qc})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset_procedure_type,e.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class JF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Type");y(this,"url","/asset-procedure-types");y(this,"actions",{addOne:td,addMany:sd,setOne:dd,setMany:rd,updateOne:id,updateMany:nd,deleteOne:ad,deleteMany:cd,initialize:ed});y(this,"selectors",{selectById:od,selectByIds:hd})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset procedure type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset procedure type with uuid ${e} to exist`);const d=Jc(e)(l);this.dispatch(a(e)),this.dispatch(ys(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(ms(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class XF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields Attachment");y(this,"url","/asset-procedure-step-fields-attachments");y(this,"actions",{addOne:pd,addMany:Ad,setOne:fd,setMany:Sd,updateOne:Td,updateMany:Id,deleteOne:Od,deleteMany:Pd,initialize:yd});y(this,"selectors",{selectById:gd,selectByIds:bd})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier: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 v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_procedure_step__organization:e}},n);return this.dispatch(a(c)),c}}class QF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Fields");y(this,"url","/asset-procedure-step-fields");y(this,"actions",{addOne:wd,addMany:Ed,setOne:vd,setMany:Vd,updateOne:zd,updateMany:Bd,deleteOne:jd,deleteMany:qd,initialize:Rd});y(this,"selectors",{selectById:Dd,selectByIds:$d})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_step],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,c=n.getState().assetProcedureStepFieldsReducer.instances[e.uuid];if(!c)throw new Error(`AssetProcedureStepFields with uuid ${e.uuid} not found`);const r={...c,...e};this.dispatch(a(r));const l=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return l.then(u=>{this.dispatch(a(u))}).catch(u=>{throw this.dispatch(a(c)),u}),[r,l]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,r=n.getState().assetProcedureStepFieldsReducer.instances[e];if(!r)throw new Error(`AssetProcedureStepFields with uuid ${e} not found`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(l){throw this.dispatch(c(r)),l}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_step__asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class xF extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values Attachment");y(this,"url","/asset-procedure-step-field-values-attachments");y(this,"actions",{addOne:kd,addMany:Ps,setOne:Nd,setMany:Gd,updateOne:Hd,updateMany:Wd,deleteOne:Kd,deleteMany:Fs,initialize:Ld});y(this,"selectors",{selectById:Zd,selectByIds:Jd})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Xe(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:v,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:v});h.push($);const j={uuid:$.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(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 eg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step Field Values");y(this,"url","/asset-procedure-step-field-values");y(this,"actions",{addOne:tr,addMany:sr,setOne:ir,setMany:nr,updateOne:ar,updateMany:cr,deleteOne:dr,deleteMany:rr,initialize:er});y(this,"selectors",{selectById:lr,selectByIds:or})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision,e.asset_procedure],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var 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.id)??null,p=[],A=Xe(a,Math.min(n??a.length,k)),f=[];for(const P of A){const g=[];for(const b of P){const v=M({...b,values:b.values,created_by:h,submitted_at:d});p.push(v),g.push({uuid:v.uuid,asset:b.asset,fields_revision:b.fields_revision,asset_procedure:b.asset_procedure,asset_procedure_step:b.asset_procedure_step,published_at:b.published_at,values:v.values})}f.push({submitted_at:d,values:c,field_values:g})}this.dispatch(r(p));const I=[];for(const P of f){const{field_values:g}=P,b=g.map(({asset:j})=>j),v=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(v).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=Xd(e)(l);this.dispatch(a(e)),this.dispatch(Fs(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ps(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class tg extends E{constructor(){super(...arguments);y(this,"name","Asset Procedure Step");y(this,"url","/asset-procedure-steps");y(this,"actions",{addOne:fr,addMany:Sr,setOne:pr,setMany:Ar,updateOne:Tr,updateMany:Ir,deleteOne:Or,deleteMany:Pr,initialize:yr});y(this,"selectors",{selectById:gr,selectByIds:br})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset procedure step with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:{name:e.name,description:e.description,priority:e.order,color:e.color},blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteMany:a,addMany:c,addOne:r,deleteOne:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`No asset procedure step with uuid ${e} found in the store`);const p=_r(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 sg extends E{constructor(){super(...arguments);y(this,"url","/assets");y(this,"name","Asset");y(this,"actions",{addOne:wr,addMany:ws,setOne:zr,setMany:Br,updateOne:Er,updateMany:vr,deleteOne:Vr,deleteMany:Es,initialize:Rr});y(this,"selectors",{selectById:Dr,selectByIds:$r})}add(e){var p;const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset with uuid ${e} found in the store`);const d=Fa(e)(l),h=$y(e)(l);this.dispatch(c(e)),this.dispatch(es(q(d))),this.dispatch(tt(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(et(h)),p}}bulkAdd(e,n){const{addMany:a}=this.actions,c=new Date().toISOString(),r=Qe.v4(),l=Xe(e,Math.min(n??e.length,k)).map(h=>{const p=h.map(A=>M(A));return{batchId:Qe.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(St);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=r(l)(a.getState()).toSorted(Zt);if(l.length!=u.length)throw new Error(`Attempting to bulk update ${l.length-u.length} assets that dont exist in the store`);const d=[];for(let f=0;f<l.length;f++)d.push({...u[f],...e[f]});this.dispatch(c(d));const h=Xe(e,Math.min(n??e.length,k)),p=[];let A=null;for(const f of h){const I=Qe.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 ig extends E{constructor(){super(...arguments);y(this,"name","Asset Stage Completion");y(this,"url","/asset-stage-completions");y(this,"actions",{addOne:kr,addMany:Nr,setOne:Gr,setMany:Hr,updateOne:Wr,updateMany:Kr,deleteOne:Yr,deleteMany:Zr,initialize:Lr});y(this,"selectors",{selectById:xr,selectByIds:eu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,e.asset_stage],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected asset stage completion with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}bulkAdd(e){var f;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=n.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=e.map(I=>M(I)),h=d.map(I=>({...I,created_by:u,submitted_at:l})),p=h.map(({uuid:I})=>I);this.dispatch(a(h));const A=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:l,completions:d},blockers:[...e.map(I=>I.asset_procedure),...e.map(I=>I.asset_stage),...e.map(I=>I.asset)],blocks:p});return A.then(I=>{this.dispatch(c(I))}).catch(()=>{this.dispatch(r(p))}),[h,A]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset_procedure__project:e}},n)).flat();return this.dispatch(a(r)),r}}class ng extends E{constructor(){super(...arguments);y(this,"name","Asset Stage");y(this,"url","/asset-stages");y(this,"actions",{addOne:au,addMany:cu,setOne:iu,setMany:nu,updateOne:du,updateMany:ru,deleteOne:uu,deleteMany:lu,initialize:su});y(this,"selectors",{selectById:hu,selectByIds:mu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_procedure_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`No asset stage with uuid ${e.uuid} found in the store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`No asset stage with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_procedure_type__organization:e}},n);return this.dispatch(a(c)),c}}class ag extends Je{constructor(){super(...arguments);y(this,"name","Asset Type Attachment");y(this,"url","/asset-type-attachments");y(this,"actions",{addOne:Au,addMany:qs,setOne:fu,setMany:Su,updateOne:Tu,updateMany:Iu,deleteOne:Ou,deleteMany:Ds,initialize:pu});y(this,"selectors",{selectById:Fu,selectByIds:gu})}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 cg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields Attachment");y(this,"url","/asset-type-fields-attachments");y(this,"actions",{addOne:wu,addMany:Eu,setOne:vu,setMany:Vu,updateOne:zu,updateMany:Bu,deleteOne:ju,deleteMany:qu,initialize:Ru});y(this,"selectors",{selectById:$u,selectByIds:Uu})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier: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 v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class dg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Fields");y(this,"url","/asset-type-fields");y(this,"actions",{addOne:Nu,addMany:Gu,setOne:Hu,setMany:Wu,updateOne:Ku,updateMany:Yu,deleteOne:Zu,deleteMany:Ju,initialize:ku});y(this,"selectors",{selectById:Qu,selectByIds:xu})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class rg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values Attachment");y(this,"url","/asset-type-field-values-attachments");y(this,"actions",{addOne:il,addMany:Ns,setOne:nl,setMany:al,updateOne:cl,updateMany:dl,deleteOne:rl,deleteMany:Gs,initialize:sl});y(this,"selectors",{selectById:ll,selectByIds:ol})}async bulkAdd(e,n){var f;const{addMany:a,setMany:c,deleteMany:r}=this.actions,l=new Date().toISOString(),u=((f=this.client.store.getState().userReducer.currentUser)==null?void 0:f.id)??null,d=Xe(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:v,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:v});h.push($);const j={uuid:$.uuid,file_name:B.name,file_sha1:V.sha1,file_extension:V.extension,field_identifier:v,field_values:b};P.push(j)}p.push({submitted_at:l,attachments:P,files:Object.values(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 ug extends E{constructor(){super(...arguments);y(this,"name","Asset Type Field Values");y(this,"url","/asset-type-field-values");y(this,"actions",{addOne:Al,addMany:fl,setOne:Sl,setMany:Tl,updateOne:Il,updateMany:Ol,deleteOne:Pl,deleteMany:Fl,initialize:pl});y(this,"selectors",{selectById:bl,selectByIds:_l})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.asset,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}bulkAdd(e,n){var I;const{payloads:a,values:c}=e,{addMany:r,setMany:l,deleteMany:u}=this.actions,d=new Date().toISOString(),h=[],p=Xe(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.id)??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),v=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:v});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=hl(e)(l);this.dispatch(a(e)),this.dispatch(Gs(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ns(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class lg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier");y(this,"url","/asset-type-identifiers");y(this,"actions",{addOne:El,addMany:vl,setOne:Vl,setMany:zl,updateOne:Bl,updateMany:jl,deleteOne:ql,deleteMany:Dl,initialize:wl});y(this,"selectors",{selectById:Ul,selectByIds:Cl})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class og extends E{constructor(){super(...arguments);y(this,"name","Asset Type Identifier Value");y(this,"url","/asset-type-identifier-values");y(this,"actions",{addOne:Gl,addMany:Hl,setOne:Wl,setMany:Kl,updateOne:Yl,updateMany:Zl,deleteOne:Jl,deleteMany:Xl,initialize:Nl});y(this,"selectors",{selectById:xl,selectByIds:eo})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset,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 hg extends E{constructor(){super(...arguments);y(this,"name","Asset Type");y(this,"url","/asset-types");y(this,"actions",{addOne:co,addMany:ro,setOne:no,setMany:ao,updateOne:uo,updateMany:lo,deleteOne:oo,deleteMany:ho,initialize:io});y(this,"selectors",{selectById:yo,selectByIds:po})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected asset type with uuid ${e} to exist`);const d=qr(e)(l),h=bu(e)(l);this.dispatch(a(e)),this.dispatch(Es(q(d))),this.dispatch(Ds(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(ws(d)),this.dispatch(qs(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class mg extends E{constructor(){super(...arguments);y(this,"name","Asset Type Status");y(this,"url","/asset-type-statuses");y(this,"actions",{addOne:To,addMany:Io,setOne:Oo,setMany:Po,updateOne:Fo,updateMany:go,deleteOne:bo,deleteMany:_o,initialize:So});y(this,"selectors",{selectById:Ro,selectByIds:wo})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.asset_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(c)),c}}class yg extends Je{constructor(){super(...arguments);y(this,"name","Document Attachment");y(this,"url","/document-attachments");y(this,"actions",{addOne:qo,addMany:Do,setOne:$o,setMany:Uo,updateOne:Co,updateMany:Lo,deleteOne:ko,deleteMany:No,initialize:jo});y(this,"selectors",{selectById:Ho,selectByIds:Wo})}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.id)??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 v=this.buildModel({file:g,file_sha1:b.sha1,submitted_at:u,created_by:l,modelUuid:P});d.push(v),h.push(this.buildPayload(v,b)),A[b.sha1].push(v.uuid)}this.dispatch(a(d));const f=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:u,attachments:h,files:Object.values(p)},blocks:d.map(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,v]of Object.entries(g))v.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 pg extends E{constructor(){super(...arguments);y(this,"name","Document");y(this,"url","/documents");y(this,"actions",{addOne:Jo,addMany:Xo,setOne:Qo,setMany:xo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:ih,initialize:Zo});y(this,"selectors",{selectById:ah,selectByIds:ch})}add(e){var p;const{store:n}=this.client,{addOne:a,deleteOne:c,updateOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return h.then(A=>{this.dispatch(r(A))}).catch(()=>{this.dispatch(c(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c,addMany:r,deleteMany:l}=this.actions,{selectById:u}=this.selectors,d=n.getState(),h=u(e)(d);if(!h)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const p=dh(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 dt extends st{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 Ag extends dt{constructor(){super(...arguments);y(this,"name","Email Domains");y(this,"url","/organization-email-domains");y(this,"actions",{addOne:lh,addMany:oh,setOne:hh,setMany:mh,updateOne:yh,updateMany:ph,deleteOne:Ah,deleteMany:fh,initialize:uh});y(this,"selectors",{selectById:Th,selectByIds:Ih})}async add(e,n){return this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:a}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(c){throw this.dispatch(a(e)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class fg extends st{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:m.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:m.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const Lt={},Bn=new Set;let kt=0,jn=0,qn=0;const Sg=20;class Tg extends st{constructor(){super(...arguments);y(this,"host");y(this,"_dbPromise",SO.openDB("fileCache",1,{upgrade(e){e.createObjectStore("files")}}))}async renewUploadUrl(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Yt(n,e),c=await this.enqueueRequest({description:"Get S3 URL",method:m.GET,url:"/authentication/files/presigned-upload-url/",queryParams:{sha1:await at(n),file_type:n.type,extension:n.name.split(".").pop(),size:n.size.toString()},blockers:[],blocks:[`s3-${a}`]});return"url"in c&&this.dispatch(gh({sha1:e,...c})),c}async addCache(e,n){if(Bn.has(n))return;if(!e.type){const r=e.name.split("."),l=r[r.length-1];e=new File([e],e.name,{type:l})}if(!e.name||!e.size||!e.type)throw new Error("Cannot add files to cache that do not have a name, size and type.");const a=await this._dbPromise;!!await a.get("files",n)?(console.error("File already cached (this is unexpected at this point):",e.name,n),kt++):(await a.put("files",e,n),jn++),Bn.add(n),qn++,qn%Sg===0&&console.debug(`File cache summary: ${kt} hits and ${jn} misses, ${kt/(kt+jn)*100}% hit rate over ${qn} calls to addCache.`)}async removeCache(e){await(await this._dbPromise).delete("files",e),Bn.delete(e)}async fetchCache(e){return(await this._dbPromise).get("files",e)}async getOrRenewUploadUrl(e){const n=this.client.store.getState();return bh(e)(n)??await this.renewUploadUrl(e)}async uploadFileToS3(e){const n=await this.fetchCache(e);if(!n)throw new Error(`File with sha1 ${e} not found in cache`);const a=await Yt(n,e),c={file_name:n.name,file_sha1:e,file:a},r=await this.getOrRenewUploadUrl(e);if("warning"in r){if(r.warning==="already_uploaded")return[c,Promise.resolve(void 0)];throw new Error(r.warning)}const l=r.url,u=this.enqueueRequest({url:l,description:"Upload file",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${a}`],blocks:[e],s3url:r});return[c,u]}async fetchFileFromUrl(e,n,a){const c=e.split("?")[0]??e,r=await this.fetchCache(n);if(r){if(!r.name)throw new Error("Cached file unexpectedly has no name.");return r}if(e.startsWith("blob:")){const h=await Xn(e),p=new File([h],a??n,{type:h.type});return await this.addCache(p,n),p}let l=Lt[c],u=!0;l?u=!1:(l=new Promise(h=>{this.enqueueRequest({description:"Download file",method:m.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1,blockers:[n],blocks:[n]}).then(p=>{const A=new File([p],a??n,{type:p.type});h(A)})}),Lt[c]=l);let d;try{d=await l}catch(h){throw u&&h instanceof C&&delete Lt[c],h}if(u){const h=await at(d);if(h!==n){const f=`The hash of the file returned from the server (${h}) does not match the
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=Tt(),r=n.getState().outboxReducer.deletedRequests,c=s.payload.uuid;function u(){n.dispatch(lf(c));const p=ot();if(!p)throw new Error("Outbox coordinator not set");p.remove(s.payload.uuid);const f=s.meta.offline.rollback;throw f&&(console.warn("Rolling back request due to SDK error:",s),n.dispatch(f)),t}if(t instanceof U&&t.options.discard&&(console.debug("Discarding request due to explicit discard:",s.payload.url),u()),r.includes(c)&&(console.debug("Discarding request due to deletion:",s.payload.url),u()),t instanceof U){const p=t.status||((m=t.response)==null?void 0:m.status);if(p||console.warn("Error has no status code:",t),p!==void 0&&sa.includes(p)){console.warn("Discarding request due to error:",t,`
4
+ Action:`,s);const f=ot();if(!f)throw new Error("Outbox coordinator not set");f.remove(s.payload.uuid),t.options.discard=!0,u()}}console.debug("Registering a retry for request:",s.payload.uuid);const d=ot();if(!d)throw new Error("Outbox coordinator not set");return d.registerRetry(s.payload.uuid),!1}function lg(t,s,e){var n;return(n=ot())==null?void 0:n.peek()}function og(t,s){return Tt().dispatch(of(new Date().getTime())),Aa}const At="An unknown error occurred",hg=500,oF=["non_field_errors","detail"];function pg(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,r])=>typeof r=="string"?oF.includes(a)?r:`${a}: ${r}`:Array.isArray(r)?oF.includes(a)?r.join(`
5
+ `):r.map(c=>`${a}: ${c}`).join(`
6
+ `):`${a}: ${JSON.stringify(r)}`).join(`
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>hg?At:e}class U extends Error{constructor(e){super(At);h(this,"status");h(this,"response");h(this,"message");h(this,"options");const{response:n,innerError:a}=e;this.message=e.message??pg(n,a)??At,this.status=(n==null?void 0:n.status)??0,this.response=n,e.discard=e.discard??!1,this.options=e}}function hF(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 mg extends sF{constructor(s){super(s)}}class ut extends sF{constructor(e,n){super(e);h(this,"auth");this.auth=n}}class yg extends ut{async startConversation(s,e){return this.enqueueRequest({description:"Start agent conversation",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:e},blockers:["prompt"],blocks:["prompt"]}).then(n=>(this.dispatch(Ba(n)),n))}async continueConversation(s,e,n){return this.enqueueRequest({description:"Prompt agent",method:o.POST,url:"/agents/prompt/",payload:{prompt:s,active_project:n},blockers:["prompt"],blocks:["prompt"],queryParams:{conversation_id:e}}).then(a=>{this.dispatch(za(a))})}async fetchDetails(s){return this.enqueueRequest({description:"Get agent conversation",method:o.GET,url:`/agents/conversations/${s}/`,blockers:["conversation"],blocks:["conversation"]}).then(e=>{this.dispatch(Va(e))})}async rate(s,e){return this.enqueueRequest({description:"Rate agent response",method:o.PUT,url:`/agents/responses/${s}/rate/`,payload:{rating:e},blockers:["rate"],blocks:["rate"]})}async list(s,e){return this.performRequest({method:o.GET,url:"/agents/conversations/",...s},e)}async refreshStore(s,e){const n=await this.list({queryParams:{project:s}},e);return this.dispatch(Ea(n)),n}}function nt(t,s){const e=[];let n=0;const a=t.length;for(;n<a;)e.push(t.slice(n,n+=s));return e}function A(t,s,e){const n=`${s}${e?"s":""}`;switch(t){case o.GET:return`Get ${n}`;case o.POST:return`Create ${n}`;case o.PATCH:return`Update ${n}`;case o.PUT:return`Update ${n}`;case o.DELETE:return`Delete ${n}`}}class E extends ut{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class j extends E{constructor(){super(...arguments);h(this,"pageSize",eF)}async add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions;let c,u=null,d=null;if("file"in e){const{file:b,...g}=e;u=await this.client.files.getFilePayload(b),d=URL.createObjectURL(b),c={...g,file_sha1:u.sha1,file_type:u.file_type,file_name:b.name,file_extension:u.extension,file_url:d}}else c=e;const m=this.buildModel(c),p=this.buildPayload(m);this.dispatch(n(m));const f=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{...p,...u?{file:u}:{}},blockers:this.getBlockers(m),blocks:this.getBlocks(m)});f.then(({instance:b})=>{this.dispatch(a(b))}).catch(b=>{throw this.dispatch(r(this.getId(m))),b}).finally(()=>{d&&URL.revokeObjectURL(d)});const I=f.then(({instance:b})=>b),R=f.then(async({instance:b,presigned_url:g})=>{try{return g&&await this.client.files.processPresignedUrl(b.file_sha1,g),b.file_sha1}catch(_){throw console.error("Upload to s3 using presigned url failed.",_),_}});return[m,I,R]}async bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=[],m=new Set,p=nt(e,Math.min(n??e.length,k)),f=[];for(const g of p){const _=[],w={},B=[],C=[];for(const z of g){let Ot;if("file"in z){const{file:ra,...CM}=z,Pt=await this.client.files.getFilePayload(ra);Pt.sha1 in w||(w[Pt.sha1]=Pt);const bF=URL.createObjectURL(ra);m.add(bF),Ot={...CM,file_sha1:Pt.sha1,file_type:Pt.file_type,file_name:ra.name,file_extension:Pt.extension,file_url:bF}}else Ot=z;const q=this.buildModel(Ot);d.push(q);const N=this.buildBulkPayload(q);_.push(N);const is=this.getBlockers(q);B.push(...is);const qM=this.getBlocks(q);C.push(...qM)}const D={payloads:_,submittedAt:u,files:Object.values(w),blockers:B,blocks:C};f.push(D)}this.dispatch(a(d));const I=f.map(g=>{const{submittedAt:_,files:w,payloads:B,blocks:C,blockers:D}=g;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,files:w,payloads:B},blockers:D,blocks:C})});Promise.all(I).then(g=>{const _=g.flatMap(w=>w.instances);this.dispatch(r(_))}).catch(g=>{throw this.dispatch(c(d.map(_=>this.getId(_)))),console.error(g),g}).finally(()=>{for(const g of m)URL.revokeObjectURL(g)});const R=Promise.all(I).then(g=>g.flatMap(({instances:_})=>_)),b=Promise.all(I).then(async g=>{const _=[];for(const{presigned_urls:w}of g){const B=this.client.files.processPresignedUrls(w);for(const[C,D]of Object.entries(B))try{await D,_.push(C)}catch(z){throw console.error("Upload to s3 using presigned url failed.",z),z}}return _});return[d,R,b]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Attempting to delete ${this.name} with pk ${e} that does not exist in the store`);this.dispatch(a(this.getId(c)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}}class fg extends j{constructor(){super(...arguments);h(this,"name","Asset attachment");h(this,"url","/asset-attachments");h(this,"actions",{addOne:Ca,addMany:ms,setOne:$a,setMany:Ua,updateOne:La,updateMany:ka,deleteOne:Na,deleteMany:ys,initialize:qa});h(this,"selectors",{selectById:Ha,selectByIds:Wa})}getId(e){return e.uuid}getBlockers(e){const{asset:n}=e;return[n]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,c=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Sg extends E{constructor(){super(...arguments);h(this,"name","Asset Comment");h(this,"url","/asset-comments");h(this,"actions",{addOne:Xa,addMany:Dt,setOne:Qa,setMany:xa,updateOne:ec,updateMany:tc,deleteOne:sc,deleteMany:jt,initialize:Ja});h(this,"selectors",{selectById:nc,selectByIds:ac})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.asset],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Asset comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Asset comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Ag extends E{constructor(){super(...arguments);h(this,"url","/assets");h(this,"name","Asset");h(this,"actions",{addOne:oc,addMany:Is,setOne:yc,setMany:fc,updateOne:hc,updateMany:pc,deleteOne:mc,deleteMany:Ts,initialize:lc});h(this,"selectors",{selectById:Ic,selectByIds:Tc})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`No asset with uuid ${e.uuid} found in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No asset with uuid ${e} found in the store`);const u=this.select(Ka(e)),d=this.select(cc(e)),m=this.select(Wo(e)),p=this.select(kS(e));this.dispatch(a(e)),this.dispatch(ys(v(u))),this.dispatch(jt(v(d))),this.dispatch(mt(v(m))),this.dispatch(St(v(p)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(n(c)),this.dispatch(ms(u)),this.dispatch(Dt(d)),this.dispatch(pt(m)),this.dispatch(ft(p)),f}}bulkAdd(e,n){const{addMany:a}=this.actions,r=new Date().toISOString(),c=nt(e,Math.min(n??e.length,k)).map(m=>{const p=m.map(f=>O(f));return{batchId:at.v4(),payload:{submitted_at:r,assets:p}}}),u=[];let d=null;for(const m of c){const{batchId:p,payload:f}=m,I=f.assets.map(({uuid:w})=>w),R=f.assets.map(({asset_type:w})=>w),b=f.assets.map(({project:w})=>w),g=f.assets.map(({status:w})=>w),_=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:f,blockers:(d?[d]:[]).concat(R).concat(b).concat(g),blocks:[p].concat(I)});d=m.batchId,u.push(_)}return Promise.all(u).then(m=>{const p=m.flat();this.dispatch(a(p))}),u}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:r}=this.selectors,c=v(e).toSorted(zt);if(c.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(c)).toSorted(ls);if(c.length!=u.length)throw new Error(`Attempting to bulk update ${c.length-u.length} assets that dont exist in the store`);const d=[];for(let I=0;I<c.length;I++)d.push({...u[I],...e[I]});this.dispatch(a(d));const m=nt(e,Math.min(n??e.length,k)),p=[];let f=null;for(const I of m){const R=at.v4(),b=v(I),g=I.map(({status:w})=>w).filter(Boolean),_=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(g),blocks:[R].concat(b)});p.push(_),f=R}return Promise.all(p).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(a(u))}),[d,p]}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e)),u=this.select(rc(e)),d=this.select(Ko(e)),m=this.select(NS(e));this.dispatch(a(e)),this.dispatch(jt(v(u))),this.dispatch(mt(v(d))),this.dispatch(St(v(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(n(c)),this.dispatch(Dt(u)),this.dispatch(pt(d)),this.dispatch(ft(m)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class Ig extends j{constructor(){super(...arguments);h(this,"name","Asset Type Attachment");h(this,"url","/asset-type-attachments");h(this,"actions",{addOne:bc,addMany:Ps,setOne:_c,setMany:gc,updateOne:Mc,updateMany:Rc,deleteOne:wc,deleteMany:Fs,initialize:Fc});h(this,"selectors",{selectById:Ec,selectByIds:Bc})}getId(e){return e.uuid}getBlockers(e){return[e.asset_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Tg extends j{constructor(){super(...arguments);h(this,"name","Asset Type Fields Attachment");h(this,"url","/asset-type-fields-attachments");h(this,"actions",{addOne:qc,addMany:Cc,setOne:$c,setMany:Uc,updateOne:Lc,updateMany:kc,deleteOne:Nc,deleteMany:Gc,initialize:jc});h(this,"selectors",{selectById:Wc,selectByIds:Kc})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Og extends E{constructor(){super(...arguments);h(this,"name","Asset Type Fields");h(this,"url","/asset-type-fields");h(this,"actions",{addOne:Xc,addMany:Qc,setOne:xc,setMany:er,updateOne:tr,updateMany:sr,deleteOne:ir,deleteMany:nr,initialize:Jc});h(this,"selectors",{selectById:cr,selectByIds:rr})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Pg extends j{constructor(){super(...arguments);h(this,"name","Asset Type Field Values Attachment");h(this,"url","/asset-type-field-values-attachments");h(this,"actions",{addOne:or,addMany:ws,setOne:hr,setMany:pr,updateOne:mr,updateMany:yr,deleteOne:fr,deleteMany:vs,initialize:lr});h(this,"selectors",{selectById:Ar,selectByIds:Ir})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Fg extends E{constructor(){super(...arguments);h(this,"name","Asset Type Field Values");h(this,"url","/asset-type-field-values");h(this,"actions",{addOne:br,addMany:_r,setOne:gr,setMany:Mr,updateOne:Rr,updateMany:wr,deleteOne:vr,deleteMany:Er,initialize:Fr});h(this,"selectors",{selectById:Vr,selectByIds:zr})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.asset,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{payloads:a,values:r}=e,{addMany:c,setMany:u,deleteMany:d}=this.actions,m=new Date().toISOString(),p=[],f=nt(a,Math.min(n??a.length,k)),I=[];for(const b of f){const g=[];for(const _ of b){const w=O({..._,values:_.values,created_by:this.select(B=>{var C;return((C=B.userReducer.currentUser)==null?void 0:C.id)??null}),submitted_at:m});p.push(w),g.push({uuid:w.uuid,asset:_.asset,fields_revision:_.fields_revision,published_at:_.published_at,values:w.values})}I.push({submitted_at:m,values:r,field_values:g})}this.dispatch(c(p));const R=[];for(const b of I){const{field_values:g}=b,_=g.map(({asset:D})=>D),w=g.map(({fields_revision:D})=>D),B=g.map(({uuid:D})=>D),C=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:_.concat(w),blocks:B});R.push(C)}return Promise.all(R).then(b=>{this.dispatch(u(b.flat()))}).catch(()=>{this.dispatch(d(v(p)))}),[p,R]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected AssetTypeFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.asset],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(Tr(e));this.dispatch(n(e)),this.dispatch(vs(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ws(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class bg extends E{constructor(){super(...arguments);h(this,"name","Asset Type Identifier");h(this,"url","/asset-type-identifiers");h(this,"actions",{addOne:Cr,addMany:$r,setOne:Ur,setMany:Lr,updateOne:kr,updateMany:Nr,deleteOne:Gr,deleteMany:Hr,initialize:qr});h(this,"selectors",{selectById:Kr,selectByIds:Yr})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected asset type identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class _g extends E{constructor(){super(...arguments);h(this,"name","Asset Type Identifier Value");h(this,"url","/asset-type-identifier-values");h(this,"actions",{addOne:Qr,addMany:xr,setOne:ed,setMany:td,updateOne:sd,updateMany:id,deleteOne:nd,deleteMany:ad,initialize:Xr});h(this,"selectors",{selectById:rd,selectByIds:dd})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.asset,e.asset_type_identifier],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(b=>{var g;return((g=b.userReducer.currentUser)==null?void 0:g.id)??null}),m=nt(e,Math.min(n??e.length,k)),p=[],f=[];for(const b of m){const g=[],_=[],w=[];for(const C of b){const D=O({...C,submitted_at:u,created_by:d});f.push(D);const z={uuid:D.uuid,asset:D.asset,asset_type_identifier:D.asset_type_identifier,value:D.value};g.push(z),_.push(D.asset),_.push(D.asset_type_identifier),w.push(D.uuid)}const B={payloads:g,submitted_at:u,blockers:_,blocks:w};p.push(B)}this.dispatch(a(f));const I=p.map(b=>{const{payloads:g,submitted_at:_,blockers:w,blocks:B}=b;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{submitted_at:_,payloads:g},blockers:w,blocks:B})});Promise.all(I).then(b=>{this.dispatch(r(b.flat()))}).catch(b=>{throw this.dispatch(c(v(f))),b});const R=Promise.all(I).then(b=>b.flat());return[f,R]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{asset__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class gg extends E{constructor(){super(...arguments);h(this,"name","Asset Type");h(this,"url","/asset-types");h(this,"actions",{addOne:md,addMany:yd,setOne:hd,setMany:pd,updateOne:fd,updateMany:Sd,deleteOne:Ad,deleteMany:Id,initialize:od});h(this,"selectors",{selectById:Od,selectByIds:Pd})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected asset type with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected asset type with uuid ${e} to exist`);const u=this.select(Ac(e)),d=this.select(Vc(e));this.dispatch(n(e)),this.dispatch(Ts(v(u))),this.dispatch(Fs(v(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(c)),this.dispatch(Is(u)),this.dispatch(Ps(d)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class Mg extends E{constructor(){super(...arguments);h(this,"name","Asset Type Status");h(this,"url","/asset-type-statuses");h(this,"actions",{addOne:gd,addMany:Md,setOne:Rd,setMany:wd,updateOne:vd,updateMany:Ed,deleteOne:Bd,deleteMany:Vd,initialize:_d});h(this,"selectors",{selectById:Dd,selectByIds:jd})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.asset_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected an existing asset type status with uuid ${e.uuid}`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No asset type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{asset_type__organization:e}},n);return this.dispatch(a(r)),r}}class Rg extends j{constructor(){super(...arguments);h(this,"name","Document Attachment");h(this,"url","/document-attachments");h(this,"actions",{addOne:Nd,addMany:Gd,setOne:Hd,setMany:Wd,updateOne:Kd,updateMany:Yd,deleteOne:Zd,deleteMany:Jd,initialize:kd});h(this,"selectors",{selectById:Qd,selectByIds:xd})}getId(e){return e.uuid}getBlockers(e){return[e.document]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,r,c]=await super.bulkAdd(e,n),u={};for(const{file_sha1:d,uuid:m}of a)d in u||(u[d]=[]),u[d].push(m);return c.then(d=>{const m=d.flatMap(p=>u[p]??[]);for(const p of m)this.makeReadable(p)}),[a,r,c]}makeReadable(e){this.enqueueRequest({description:"Add attachment to AI assistant",method:o.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,r=this.list({queryParams:{document__project__organization:e}},n),c=this.list({queryParams:{document__organization:e}},n),d=(await Promise.all([r,c])).flat();return this.dispatch(a(d)),d}}class wg extends E{constructor(){super(...arguments);h(this,"name","Document");h(this,"url","/documents");h(this,"actions",{addOne:iu,addMany:nu,setOne:au,setMany:cu,updateOne:ru,updateMany:du,deleteOne:uu,deleteMany:lu,initialize:su});h(this,"selectors",{selectById:hu,selectByIds:pu})}add(e){const{addOne:n,deleteOne:a,updateOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:d.parent_document?[d.parent_document]:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(r(p))}).catch(()=>{this.dispatch(a(d.uuid))}),[d,m]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`attempting to update a document with uuid ${e.uuid} that does not exist in store.documents`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a,addMany:r,deleteMany:c}=this.actions,{selectById:u}=this.selectors,d=this.select(u(e));if(!d)throw new Error(`attempting to delete a document with uuid ${e} that does not exist in store.documents`);const m=this.select(mu(e));this.dispatch(n(e)),this.dispatch(c(v(m)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(d)),this.dispatch(r(m)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=this.list({queryParams:{project__organization:e}},n),c=this.list({queryParams:{organization:e}},n),d=(await Promise.all([r,c])).flat();return this.dispatch(a(d)),d}}class lt extends ut{async get(s,e){return this.performRequest({url:`${this.url}/${s}/`,method:o.GET},e)}async list(s,e){return this.performRequest({url:`${this.url}/`,method:o.GET,...s},e)}async listPaginated(s,e){return this.performPagination({url:`${this.url}/`,method:o.GET,...s},e)}}class vg extends lt{constructor(){super(...arguments);h(this,"name","Email Domains");h(this,"url","/organization-email-domains");h(this,"actions",{addOne:Su,addMany:Au,setOne:Iu,setMany:Tu,updateOne:Ou,updateMany:Pu,deleteOne:Fu,deleteMany:bu,initialize:fu});h(this,"selectors",{selectById:gu,selectByIds:Mu})}async add(e,n){return this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:{email:n,organization:e},blockers:[e,"create-org"],blocks:[]})}async delete(e){const{deleteOne:n,addOne:a}=this.actions;this.dispatch(n(e.uuid));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e.uuid}/`,blockers:[e.domain],blocks:[]})}catch(r){throw this.dispatch(a(e)),r}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class Eg extends ut{async getVerificationCode(s){return this.enqueueRequest({description:"Get verification code",method:o.GET,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,blockers:[],blocks:[]})}validateVerificationCode(s,e=void 0){return this.enqueueRequest({description:"Validate verification code",method:o.POST,url:`/verification/email-verification/${s}/`,isAuthNeeded:!1,payload:e,blockers:[],blocks:[]})}}const Bt={},ia=new Set;class Bg extends ut{constructor(){super(...arguments);h(this,"host");h(this,"dbPromise",EF.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 Vt(e);if(ia.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),ia.add(n)}async removeCache(e){await(await this.getDB()).delete("files",e),ia.delete(e)}async fetchCache(e){return(await this.getDB()).get("files",e)}async fetchFileFromUrl(e,n,a=n){const r=e.split("?")[0]??e,c=await this.fetchCache(n);if(c)return c;let u;r in Bt?u=Bt[r]:Fa(e)?(u=Pa(e,a),Bt[r]=u):(u=new Promise(p=>{this.performRequest({method:o.GET,url:e,isExternalUrl:!0,isResponseBlob:!0,isAuthNeeded:!1}).then(f=>{const I=new File([f],a,{type:f.type});p(I)})}),Bt[r]=u);let d;try{d=await u}catch(p){throw p instanceof U&&delete Bt[r],p}const m=await Vt(d);if(m!==n){const p=`The hash of the file returned from the server (${m}) 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=Jn(d,A),!d.name)throw new Error("Failed to set file's name");await this.addCache(d,h),Lt[c]=new Promise(f=>{f(d)})}return d}processPresignedUrls(e){const n={};for(const[a,c]of Object.entries(e))n[a]=this.enqueueRequest({url:c.url,description:"Upload file to S3",method:m.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:a,blockers:[`s3-${c.fields.key}`],blocks:[a],s3url:c});return n}async getFilePayload(e){const n=await at(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 Ig extends E{constructor(){super(...arguments);y(this,"name","Form Identifier");y(this,"url","/form-identifiers");y(this,"actions",{addOne:wh,addMany:Eh,setOne:vh,setMany:Vh,updateOne:zh,updateMany:Bh,deleteOne:jh,deleteMany:qh,initialize:Rh});y(this,"selectors",{selectById:$h,selectByIds:Uh})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.form],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class Og extends E{constructor(){super(...arguments);y(this,"name","Form Identifier Value");y(this,"url","/form-identifier-values");y(this,"actions",{addOne:Nh,addMany:Gh,setOne:Hh,setMany:Wh,updateOne:Kh,updateMany:Yh,deleteOne:Zh,deleteMany:Jh,initialize:kh});y(this,"selectors",{selectById:Qh,selectByIds:xh})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class Pg extends E{constructor(){super(...arguments);y(this,"name","Form Revision Attachment");y(this,"url","/form-revision-attachments");y(this,"actions",{addOne:im,addMany:nm,setOne:am,setMany:cm,updateOne:dm,updateMany:rm,deleteOne:um,deleteMany:lm,initialize:sm});y(this,"selectors",{selectById:hm,selectByIds:mm})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{revisionUuid:I,fieldIdentifier: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 v={uuid:b.uuid,file_name:P.name,field_identifier:F,file_extension:g.extension,file_sha1:g.sha1,form_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(c)),c}}class Fg extends E{constructor(){super(...arguments);y(this,"name","Form Revision");y(this,"url","/form-revisions");y(this,"actions",{addOne:hi,addMany:mi,setOne:fm,setMany:Sm,updateOne:Tm,updateMany:Im,deleteOne:yi,deleteMany:pi,initialize:Am});y(this,"selectors",{selectById:Om,selectByIds:Pm})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(c)),c}}class gg extends E{constructor(){super(...arguments);y(this,"name","Form");y(this,"url","/forms");y(this,"actions",{addOne:Mm,addMany:Rm,setOne:wm,setMany:Em,updateOne:vm,updateMany:Vm,deleteOne:zm,deleteMany:Bm,initialize:_m});y(this,"selectors",{selectById:Dm,selectByIds:$m})}add(e,n){var A;const{store:a}=this.client,{addOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((A=a.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=M({...e,submitted_at:l,created_by:u}),h=M({...n,form:d.uuid,submitted_at:l,created_by:u});this.dispatch(c(d)),this.dispatch(hi(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:{...z(d),initial_revision:{uuid:h.uuid,submitted_at:h.submitted_at,title:h.title,description:h.description,fields:h.fields}},blockers:[],blocks:[d.uuid,h.uuid]});return p.catch(f=>{throw this.dispatch(r(d.uuid)),this.dispatch(yi(h.uuid)),f}),[d,h,p]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error("Expected form to exist");const d=ry(e)(l),h=Fm(e)(l);this.dispatch(a(e)),this.dispatch(Mi(q(d))),this.dispatch(pi(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(c(u)),this.dispatch(mi(h)),this.dispatch(_i(d)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class bg extends E{constructor(){super(...arguments);y(this,"name","Form Submission Attachment");y(this,"url","/form-submission-attachments");y(this,"actions",{addOne:Lm,addMany:Ii,setOne:km,setMany:Nm,updateOne:Gm,updateMany:Hm,deleteOne:Wm,deleteMany:Oi,initialize:Cm});y(this,"selectors",{selectById:Km,selectByIds:Ym})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{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 v={uuid:b.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,form_submission:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.form_submission),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(f=>{throw this.dispatch(c(d.map(I=>I.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,r=n.getState(),l=gi(e)(r);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(r)),r}}class _g extends E{constructor(){super(...arguments);y(this,"name","Form Submission");y(this,"url","/form-submissions");y(this,"actions",{addOne:ty,addMany:_i,setOne:xm,setMany:ey,updateOne:sy,updateMany:iy,deleteOne:ny,deleteMany:Mi,initialize:Qm});y(this,"selectors",{selectById:cy,selectByIds:dy})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.form_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${u.uuid}/`,payload:e,blockers:[u.uuid],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=Zm(e)(l);this.dispatch(a(e)),this.dispatch(Oi(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ii(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(r)),r}}class Mg extends E{constructor(){super(...arguments);y(this,"name","Geo Image");y(this,"url","/geo-images");y(this,"actions",{addOne:yy,addMany:py,setOne:hy,setMany:my,updateOne:Ay,updateMany:fy,deleteOne:Sy,deleteMany:Ty,initialize:oy});y(this,"selectors",{selectById:Oy,selectByIds:Py})}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.id)??null,p=u.project,A=await this.client.files.getFilePayload(l),f=M({...u,file_name:l.name,file_sha1:A.sha1,file_type:l.type,file:URL.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.id)??null,h=[],p=[],A=[],f={};for(const P of e){const{file:g,...b}=P,v=await this.client.files.getFilePayload(g);v.sha1 in f||(f[v.sha1]=v);const B=M({...b,file_name:g.name,file_sha1:v.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 Rg extends E{constructor(){super(...arguments);y(this,"name","Issue Association");y(this,"url","/issue-associations");y(this,"actions",{addOne:Ey,addMany:et,setOne:My,setMany:_y,updateOne:Ry,updateMany:wy,deleteOne:vy,deleteMany:tt,initialize:by});y(this,"selectors",{selectById:Vy,selectByIds:zy})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=new Date().toISOString(),u=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,d=M({...e,submitted_at:l,created_by:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.associated_issue,...e.issue?[e.issue]:[],...e.asset?[e.asset]:[]],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{associated_issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class wg extends Je{constructor(){super(...arguments);y(this,"name","Issue Attachment");y(this,"url","/issue-attachments");y(this,"actions",{addOne:ky,addMany:zi,setOne:Ny,setMany:Gy,updateOne:Hy,updateMany:Wy,deleteOne:Ky,deleteMany:Bi,initialize:Ly});y(this,"selectors",{selectById:Jy,selectByIds:Xy})}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 Eg extends Je{constructor(){super(...arguments);y(this,"name","Issue Comment Attachment");y(this,"url","/issue-comment-attachments");y(this,"actions",{addOne:tp,addMany:sp,setOne:ip,setMany:np,updateOne:ap,updateMany:cp,deleteOne:dp,deleteMany:rp,initialize:ep});y(this,"selectors",{selectById:lp,selectByIds:op})}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 vg extends E{constructor(){super(...arguments);y(this,"name","Issue Comment");y(this,"url","/issue-comments");y(this,"actions",{addOne:pp,addMany:Ap,setOne:fp,setMany:Sp,updateOne:Tp,updateMany:Ip,deleteOne:Op,deleteMany:Pp,initialize:yp});y(this,"selectors",{selectById:Fp,selectByIds:gp})}add(e){const{store:n}=this.client,{addOne:a,updateOne:c,deleteOne:r}=this.actions,l=M({...e,author:n.getState().userReducer.currentUser.id,submitted_at:new Date().toISOString()});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.issue],blocks:[l.uuid]});return u.then(d=>{this.dispatch(c(d))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{setMany:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(r)),r}}class Vg extends E{constructor(){super(...arguments);y(this,"name","Issue");y(this,"url","/issues");y(this,"actions",{addOne:Rp,addMany:Li,setOne:wp,setMany:Ep,updateOne:vp,updateMany:Vp,deleteOne:zp,deleteMany:ki,initialize:Mp});y(this,"selectors",{selectById:jp,selectByIds:qp})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=n.getState(),u=new Date().toISOString(),d=((A=l.userReducer.currentUser)==null?void 0:A.id)??null,h=M({...e,submitted_at:u,created_by:d});this.dispatch(a(h));const p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[h.project,h.issue_type,h.status],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(f=>{throw this.dispatch(r(h.uuid)),f}),[h,p]}update(e){var p;const{updateOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const l={...r,...e};this.dispatch(n(l));const u={};for(const A of[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=dn(f)(c);if(!I)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[A]={name:I.name,color:I.color,uuid:I.uuid};break}case U.ASSIGNED_TO:{const f=e[A];if(f===null)u[A]=null;else{const I=Dt(f)(c);if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[A]={full_name:I.username,id:I.id}}break}}const d=M({created_by:((p=c.userReducer.currentUser)==null?void 0:p.id)??null,submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(un(d));const h=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return h.then(A=>{this.dispatch(n(A))}).catch(()=>{this.dispatch(n(r)),this.dispatch(on(d.uuid))}),[l,h]}bulkUpdate(e,n){const{store:a}=this.client,{updateMany:c}=this.actions,{selectByIds:r}=this.selectors,l=q(e).toSorted(St);if(l.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=r(l)(a.getState()).toSorted(Zt);if(l.length!=u.length)throw new Error(`Attempting to bulk update ${l.length-u.length} issues that dont exist in the store`);const d=[];for(let f=0;f<l.length;f++)d.push({...u[f],...e[f]});this.dispatch(c(d));const h=Xe(e,Math.min(n??e.length,k)),p=[];let A=null;for(const f of h){const I=Qe.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=By(e)(l),h=Dy(e)(l),p=Zy(e)(l),A=lS(e)(l);this.dispatch(a(e)),this.dispatch(Bi(q(p))),this.dispatch(hn(q(A))),this.dispatch(tt(q(d))),this.dispatch(tt(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(f){throw this.dispatch(c(u)),this.dispatch(zi(p)),this.dispatch(ln(A)),this.dispatch(et(d)),this.dispatch(et(h)),f}}async bulkDelete(e){const{store:n}=this.client,{addMany:a,deleteMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l),d=jy(e)(l),h=qy(e)(l);this.dispatch(c(e)),this.dispatch(tt(q(d))),this.dispatch(tt(q(h)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(p){throw this.dispatch(a(u)),this.dispatch(et(d)),this.dispatch(et(h)),p}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class zg extends Je{constructor(){super(...arguments);y(this,"name","Issue Type Attachment");y(this,"url","/issue-type-attachments");y(this,"actions",{addOne:Lp,addMany:kp,setOne:Np,setMany:Gp,updateOne:Hp,updateMany:Wp,deleteOne:Kp,deleteMany:Yp,initialize:Cp});y(this,"selectors",{selectById:Jp,selectByIds:Xp})}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 Bg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields Attachment");y(this,"url","/issue-type-fields-attachments");y(this,"actions",{addOne:tA,addMany:sA,setOne:iA,setMany:nA,updateOne:aA,updateMany:cA,deleteOne:dA,deleteMany:rA,initialize:eA});y(this,"selectors",{selectById:lA,selectByIds:oA})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldsRevisionUuid:I,fieldIdentifier: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 v={uuid:b.uuid,file_name:P.name,file_extension:g.extension,field_identifier:F,file_sha1:g.sha1,fields_revision:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.fields_revision),blocks:d.map(f=>f.uuid)});return p.then(f=>{this.client.files.processPresignedUrls(f.presigned_urls),this.dispatch(a(f.attachments))}).catch(()=>{this.dispatch(c(d.map(f=>f.uuid)))}),[d,p.then(({attachments:f})=>f)]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class jg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Fields");y(this,"url","/issue-type-fields");y(this,"actions",{addOne:wA,addMany:EA,setOne:vA,setMany:VA,updateOne:zA,updateMany:BA,deleteOne:jA,deleteMany:qA,initialize:RA});y(this,"selectors",{selectById:$A,selectByIds:UA})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(A=>{throw this.dispatch(r(d.uuid)),A}),[d,h]}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class qg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values Attachment");y(this,"url","/issue-type-field-values-attachments");y(this,"actions",{addOne:NA,addMany:Ji,setOne:GA,setMany:HA,updateOne:WA,updateMany:KA,deleteOne:YA,deleteMany:Xi,initialize:kA});y(this,"selectors",{selectById:JA,selectByIds:XA})}async bulkAdd(e){var A;const{addMany:n,setMany:a,deleteMany:c}=this.actions,r=new Date().toISOString(),l=((A=this.client.store.getState().userReducer.currentUser)==null?void 0:A.id)??null,u={},d=[],h=[];for(const f of e){const{fieldValuesUuid:I,fieldIdentifier: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 v={uuid:b.uuid,file_name:P.name,file_sha1:g.sha1,file_extension:g.extension,field_identifier:F,field_values:I};h.push(v)}this.dispatch(n(d));const p=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{submitted_at:r,attachments:h,files:Object.values(u)},blockers:d.map(f=>f.field_values),blocks:d.map(f=>f.uuid)});return p.then(({presigned_urls:f,attachments:I})=>{this.client.files.processPresignedUrls(f),this.dispatch(a(I))}).catch(f=>{throw this.dispatch(c(d.map(I=>I.uuid))),f}),[d,p.then(({attachments:f})=>f)]}async bulkDelete(e){const{store:n}=this.client,{deleteMany:a,addMany:c}=this.actions,{selectByIds:r}=this.selectors,l=n.getState(),u=r(e)(l);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!0),method:m.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class Dg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Field Values");y(this,"url","/issue-type-field-values");y(this,"actions",{addOne:pA,addMany:AA,setOne:fA,setMany:SA,updateOne:TA,updateMany:IA,deleteOne:OA,deleteMany:PA,initialize:yA});y(this,"selectors",{selectById:gA,selectByIds:bA})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,created_by:u,submitted_at:d}),p=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[e.issue,e.fields_revision],blocks:[h.uuid]});return this.dispatch(a(h)),p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[u.uuid,u.fields_revision,u.issue],blocks:[u.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected submission with uuid ${e} to exist`);const d=QA(e)(l);this.dispatch(a(e)),this.dispatch(Xi(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Ji(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class $g extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier");y(this,"url","/issue-type-identifiers");y(this,"actions",{addOne:sf,addMany:nf,setOne:af,setMany:cf,updateOne:df,updateMany:rf,deleteOne:uf,deleteMany:lf,initialize:tf});y(this,"selectors",{selectById:hf,selectByIds:mf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[d.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class Ug extends E{constructor(){super(...arguments);y(this,"name","Issue Type Identifier Value");y(this,"url","/issue-type-identifier-values");y(this,"actions",{addOne:ff,addMany:Sf,setOne:Tf,setMany:If,updateOne:Of,updateMany:Pf,deleteOne:Ff,deleteMany:gf,initialize:Af});y(this,"selectors",{selectById:_f,selectByIds:Mf})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(r)),r}}class Cg extends E{constructor(){super(...arguments);y(this,"name","Issue Type");y(this,"url","/issue-types");y(this,"actions",{addOne:vf,addMany:Vf,setOne:zf,setMany:Bf,updateOne:jf,updateMany:qf,deleteOne:Df,deleteMany:$f,initialize:Ef});y(this,"selectors",{selectById:Cf,selectByIds:Lf})}add(e){var A;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,u=((A=n.getState().userReducer.currentUser)==null?void 0:A.id)??null,d=new Date().toISOString(),h=M({...e,submitted_at:d,created_by:u});this.dispatch(a(h));const p=this.enqueueRequest({method:m.POST,url:`${this.url}/`,payload:z(h),blockers:[],blocks:[h.uuid]});return p.then(f=>{this.dispatch(c(f))}).catch(()=>{this.dispatch(r(h.uuid))}),[h,p]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=n.getState(),l=c(e.uuid)(r);if(!l)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const u={...l,...e};this.dispatch(a(u));const d=this.enqueueRequest({method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return d.then(h=>{this.dispatch(a(h))}).catch(()=>{this.dispatch(a(l))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const d=Dp(e)(l);this.dispatch(a(e)),this.dispatch(ki(q(d)));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(Li(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Lg extends E{constructor(){super(...arguments);y(this,"name","Issue Type Status");y(this,"url","/issue-type-statuses");y(this,"actions",{addOne:Hf,addMany:Wf,setOne:Kf,setMany:Yf,updateOne:Zf,updateMany:Jf,deleteOne:Xf,deleteMany:Qf,initialize:Gf});y(this,"selectors",{selectById:dn,selectByIds:eS})}add(e){var p;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=((p=n.getState().userReducer.currentUser)==null?void 0:p.id)??null,u=new Date().toISOString(),d=M({...e,created_by:l,submitted_at:u});this.dispatch(a(d));const h=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(d),blockers:[e.issue_type],blocks:[d.uuid]});return h.then(A=>{this.dispatch(c(A))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,h]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,c=this.client.store.getState(),r=a(e.uuid)(c);if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const l={...r,...e};this.dispatch(n(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(c)),c}}class kg extends E{constructor(){super(...arguments);y(this,"name","Issue Update");y(this,"url","/issue-updates");y(this,"actions",{addOne:un,addMany:ln,setOne:nS,setMany:aS,updateOne:cS,updateMany:dS,deleteOne:on,deleteMany:hn,initialize:iS});y(this,"selectors",{selectById:rS,selectByIds:uS})}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 Ng=1800;function Gg(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 Hg extends LF{constructor(){super(...arguments);y(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:m.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(c){console.error("Could not renew tokens; clearing auth",c),this.clearAuth();return}if(!a.access)throw new Error("Missing access token");return{accessToken:a.access,refreshToken:a.refresh??this.getRefreshToken()}})}clearAuth(){console.debug(this.constructor.name,"clearing auth;"),this.dispatch(Vo(!1)),this.clearTokens(),this.dispatch(_()),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=TO(e).exp??n}catch{a=n}return a-n<Ng}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??ct).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=Qe.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(Gg(a))})}}class Wg extends dt{constructor(){super(...arguments);y(this,"name","Organization Access");y(this,"url","/organization-accesses");y(this,"actions",{addOne:bS,addMany:_S,setOne:MS,setMany:RS,updateOne:wS,updateMany:ES,deleteOne:vS,deleteMany:VS,initialize:gS});y(this,"selectors",{selectById:BS,selectByIds:jS})}update(e){const{store:n}=this.client,{updateOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l),d=Dt(u.user)(l);this.dispatch(a(u.uuid)),this.dispatch(fn(u.user));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${u.uuid}/`,blockers:[u.uuid],blocks:[]})}catch(h){throw this.dispatch(c(u)),this.dispatch(An(d)),h}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class Kg extends dt{constructor(){super(...arguments);y(this,"name","Organization");y(this,"url","/organizations");y(this,"actions",{addOne:kS,addMany:LS,setOne:CS,setMany:US,updateOne:GS,updateMany:NS,deleteOne:HS,deleteMany:WS,initialize:$S});y(this,"selectors",{selectById:ZS,selectByIds:JS})}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 Yg extends E{constructor(){super(...arguments);y(this,"name","Project Access");y(this,"url","/project-accesses");y(this,"actions",{addOne:cT,addMany:dT,setOne:rT,setMany:uT,updateOne:lT,updateMany:oT,deleteOne:hT,deleteMany:mT,initialize:aT});y(this,"selectors",{selectById:pT,selectByIds:AT})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[l.organization_access,l.project],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(h=>{throw this.dispatch(r(l.uuid)),h}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,deleteMany:c,updateMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,u=e.map(p=>M({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(p=>z(p))},blockers:u.flatMap(p=>[p.project,p.organization_access]),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(r(p))}).catch(p=>{throw this.dispatch(c(u.map(A=>A.uuid))),p}),[u,d]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState()),l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(a(r)),d}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,addOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(c(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(c)),c}}class Zg extends Je{constructor(){super(...arguments);y(this,"name","Project Attachment");y(this,"url","/project-attachments");y(this,"actions",{addOne:TT,addMany:IT,setOne:OT,setMany:PT,updateOne:FT,updateMany:gT,deleteOne:bT,deleteMany:_T,initialize:ST});y(this,"selectors",{selectById:RT,selectByIds:wT})}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 Jg extends E{constructor(){super(...arguments);y(this,"name","Project File");y(this,"url","/project-files");y(this,"actions",{addOne:jT,addMany:qT,setOne:zT,setMany:BT,updateOne:DT,updateMany:$T,deleteOne:UT,deleteMany:CT,initialize:VT});y(this,"selectors",{selectById:WT,selectByIds:KT})}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(NT),this.dispatch(kT(null)),this.dispatch(LT(!1)),[r,d]}async delete(e){const{store:n}=this.client,{addOne:a,deleteOne:c}=this.actions,{selectById:r}=this.selectors,l=r(e)(n.getState());if(!l)throw new Error(`Expected project file with uuid ${e} to exist in the store.`);this.dispatch(c(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(l)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(r)),r}}class Xg extends dt{constructor(){super(...arguments);y(this,"name","Project");y(this,"url","/projects");y(this,"actions",{addOne:eI,addMany:xT,setOne:QT,setMany:XT,updateOne:sI,updateMany:tI,deleteOne:iI,deleteMany:nI,initialize:JT});y(this,"selectors",{selectById:dI,selectByIds:rI})}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 Qg extends E{constructor(){super(...arguments);y(this,"name","Team Membership");y(this,"url","/team-memberships");y(this,"actions",{addOne:hI,addMany:mI,setOne:yI,setMany:pI,updateOne:AI,updateMany:fI,deleteOne:SI,deleteMany:TI,initialize:oI});y(this,"selectors",{selectById:PI,selectByIds:FI})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[e.team],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}bulkAdd(e){var h;const{store:n}=this.client,{addMany:a,setMany:c,deleteMany:r}=this.actions,l=((h=n.getState().userReducer.currentUser)==null?void 0:h.id)??null,u=e.map(p=>M({...p,created_by:l}));this.dispatch(a(u));const d=this.enqueueRequest({description:O(m.POST,this.name,!0),method:m.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(p=>z(p))},blockers:u.map(p=>p.team),blocks:u.map(p=>p.uuid)});return d.then(p=>{this.dispatch(c(p))}).catch(()=>{this.dispatch(r(u.map(p=>p.uuid)))}),[u,d]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(c)),c}}class xg extends E{constructor(){super(...arguments);y(this,"name","Team");y(this,"url","/teams");y(this,"actions",{addOne:_I,addMany:MI,setOne:RI,setMany:wI,updateOne:EI,updateMany:vI,deleteOne:VI,deleteMany:zI,initialize:bI});y(this,"selectors",{selectById:jI,selectByIds:qI})}add(e){var d;const{store:n}=this.client,{addOne:a,setOne:c,deleteOne:r}=this.actions,l=M({...e,submitted_at:new Date().toISOString(),created_by:((d=n.getState().userReducer.currentUser)==null?void 0:d.id)??null});this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.POST,this.name,!1),method:m.POST,url:`${this.url}/`,payload:z(l),blockers:[],blocks:[l.uuid]});return u.then(h=>{this.dispatch(c(h))}).catch(()=>{this.dispatch(r(l.uuid))}),[l,u]}update(e){const{store:n}=this.client,{setOne:a}=this.actions,{selectById:c}=this.selectors,r=c(e.uuid)(n.getState());if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const l={...r,...e};this.dispatch(a(l));const u=this.enqueueRequest({description:O(m.PATCH,this.name,!1),method:m.PATCH,url:`${this.url}/${e.uuid}/`,payload:z(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(a(r))}),[l,u]}async delete(e){const{store:n}=this.client,{deleteOne:a,setOne:c}=this.actions,{selectById:r}=this.selectors,l=n.getState(),u=r(e)(l);if(!u)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(a(e));try{return await this.enqueueRequest({description:O(m.DELETE,this.name,!1),method:m.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(d){throw this.dispatch(c(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(c)),c}}class eb extends dt{constructor(){super(...arguments);y(this,"name","User");y(this,"url","/user");y(this,"actions",{addOne:An,addMany:AS,setOne:pS,setMany:yS,updateOne:SS,updateMany:fS,deleteOne:fn,deleteMany:TS,initialize:mS});y(this,"selectors",{selectById:Dt,selectByIds:PS})}async list(e,n){const{organizationUuid:a,...c}=e,r=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:m.GET,url:r,...c},n)}async refreshStore(e,n){const{initialize:a}=this.actions,c=await this.list({organizationUuid:e},n);return this.dispatch(a(c)),c}}async function Dn(t,s,e,n,a){const c=n instanceof st;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 xe=l.fields["x-amz-checksum-sha1"];if(!xe)throw new Error(`No checksum for file ${A}`);return j.set("x-amz-checksum-sha1",xe).field({...u,...l.fields}).attach("file",g)}return j.send(u)},B={[m.GET]:()=>F?nt.get(P.toString()).responseType("blob"):nt.get(P.toString()),[m.POST]:()=>{const j=nt.post(P.toString());return b(j)},[m.PATCH]:()=>{const j=nt.patch(P.toString());return b(j)},[m.PUT]:()=>{const j=nt.put(P.toString());return b(j)},[m.DELETE]:()=>{const j=nt.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 xe=eO(j),hO=xe==null?void 0:xe.status;if(c&&hO===401)return await n.auth.handleUnauthorized(V,xe),V.query(p);throw new C({response:xe,innerError:j,discard:zn.includes(hO)})}finally{a==null||a.removeEventListener("abort",$)}}class tb{constructor(s){y(this,"store");this.store=s}_performRequest(s,e,n,a){const c=new Gt,r={...e,uuid:e.uuid??Qe.v4()};return Dn(s,r,this,n,a).then(l=>{c.resolve(l.body)}).catch(l=>{l instanceof Error?c.reject(l):c.reject(new Error((l??ct).toString()))}),c}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(c=>{if(c instanceof C)throw c;return c})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof C)throw a;return a})}_enqueueRequest(s,e,n){const a=new Gt,c={...s,BASE_URL:e,serviceName:n},r=this.store.dispatch(eT(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 rt{constructor(){y(this,"graph");y(this,"requestAttemptCounter");this.graph=new IO.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new rt;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))&&rt._addDependency(a.payload.uuid,r.payload.uuid,e.graph)}}return e}_addDependency(s,e){rt._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 tO;function sO(t){tO=t}function ut(){return tO}let iO;function nO(t){iO=t}function aO(){return iO}let $n=null;function it(){const t=ut();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if($n)return $n;const s=t.getState().offline.outbox,e=rt._fromOutbox(s);return $n=e,e}const sb=(t,s)=>{const e=new s(t);return nO(e),sO(t),e};class ib{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 Un{constructor(){y(this,"next");this.next=null}then(s){return new ib(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!ut())throw new Error("Client store not set");const n=aO();if(!n)throw new Error("Client SDK not set");return XI(s,n)}}}class cO extends Un{async run(s){return super.run(s)}}class dO extends Un{async run(s){return super.run(s)}}const rO=new cO().then(new dO).compile();function uO(t){var s;return(s=rO[0])==null?void 0:s.run(t)}var lO=(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))(lO||{});i.ALL_MIDDLEWARE=rO,i.APIError=C,i.ATTACHMENT_MODEL_DEFAULT_PAGE_SIZE=kI,i.AgentService=kF,i.AssetAttachmentService=NF,i.AssetProcedureService=ZF,i.AssetProcedureStepFieldValuesAttachmentService=xF,i.AssetProcedureStepFieldValuesService=eg,i.AssetProcedureStepFieldsAttachmentService=XF,i.AssetProcedureStepFieldsService=QF,i.AssetProcedureStepService=tg,i.AssetProcedureTypeAttachmentService=GF,i.AssetProcedureTypeFieldValuesAttachmentService=KF,i.AssetProcedureTypeFieldValuesService=YF,i.AssetProcedureTypeFieldsAttachmentService=HF,i.AssetProcedureTypeFieldsService=WF,i.AssetProcedureTypeService=JF,i.AssetService=sg,i.AssetStageCompletionService=ig,i.AssetStageService=ng,i.AssetStatusType=Hn,i.AssetTypeAttachmentService=ag,i.AssetTypeFieldValuesAttachmentService=rg,i.AssetTypeFieldValuesService=ug,i.AssetTypeFieldsAttachmentService=cg,i.AssetTypeFieldsService=dg,i.AssetTypeIdentifierService=lg,i.AssetTypeIdentifierValueService=og,i.AssetTypeService=hg,i.AssetTypeStatusService=mg,i.AttachmentModel=Wn,i.BaseApiService=st,i.BaseModelApiService=dt,i.BaseOfflineAttachmentModelService=Je,i.BaseOfflineModelApiService=E,i.BaseSDK=tb,i.COMMON_AUTO_FIELDS=xn,i.DEFAULT_ISSUE_PRIORITY=OO,i.DEFAULT_PAGE_SIZE=LI,i.DISCARD_HTTP_STATUSES=zn,i.DeferredPromise=Gt,i.DocumentAttachmentService=yg,i.DocumentService=pg,i.EMPTY_ARRAY=kn,i.EMPTY_OBJECT=Nn,i.EmailDomainsService=Ag,i.EmailVerificationService=fg,i.FileService=Tg,i.FormIdentifierService=Ig,i.FormIdentifierValueService=Og,i.FormRevisionAttachmentService=Pg,i.FormRevisionService=Fg,i.FormService=gg,i.FormSubmissionAttachmentService=bg,i.FormSubmissionService=_g,i.GeoImageService=Mg,i.HttpMethod=m,i.IssueAssociationService=Rg,i.IssueAttachmentService=wg,i.IssueCommentAttachmentService=Eg,i.IssueCommentService=vg,i.IssuePriority=Nt,i.IssueService=Vg,i.IssueStatusType=Kn,i.IssueTypeAttachmentService=zg,i.IssueTypeFieldValuesAttachmentService=qg,i.IssueTypeFieldValuesService=Dg,i.IssueTypeFieldsAttachmentService=Bg,i.IssueTypeFieldsService=jg,i.IssueTypeIdentifierService=$g,i.IssueTypeIdentifierValueService=Ug,i.IssueTypeService=Cg,i.IssueTypeStatusService=Lg,i.IssueUpdateChange=U,i.IssueUpdateService=kg,i.JWTService=Hg,i.MAX_SERVICE_BATCH_SIZE=k,i.OUTBOX_RETRY_DELAY=Yn,i.OfflineAnalyticsMiddleware=cO,i.OfflineMiddleware=Un,i.OrganizationAccessLevel=Gn,i.OrganizationAccessService=Wg,i.OrganizationService=Kg,i.OutboxCoordinator=rt,i.ProjectAccessService=Yg,i.ProjectAttachmentService=Zg,i.ProjectFileService=Jg,i.ProjectService=Xg,i.RESET_ORGANIZATION_STATE=w,i.RESET_PROJECT_STATE=D,i.RESET_STATE=_,i.RateLimitingMiddleware=dO,i.SelectorBuilder=HO,i.TeamMembershipService=Qg,i.TeamService=xg,i.UNKNOWN_ERROR_MESSAGE=ct,i.UserService=eb,i.VERSION_REDUCER_KEY=lt,i.VerificationCodeType=lO,i._setLatestRetryTime=sT,i.addAsset=wr,i.addAssetAttachment=ya,i.addAssetAttachments=xt,i.addAssetProcedure=kc,i.addAssetProcedureStep=fr,i.addAssetProcedureStepFieldValues=tr,i.addAssetProcedureStepFieldValuesAttachment=kd,i.addAssetProcedureStepFieldValuesAttachments=Ps,i.addAssetProcedureStepFieldValuesMany=sr,i.addAssetProcedureStepFields=wd,i.addAssetProcedureStepFieldsAttachment=pd,i.addAssetProcedureStepFieldsAttachments=Ad,i.addAssetProcedureStepFieldsMany=Ed,i.addAssetProcedureSteps=Sr,i.addAssetProcedureType=td,i.addAssetProcedureTypeAttachment=Ma,i.addAssetProcedureTypeAttachments=Ra,i.addAssetProcedureTypeFieldValues=Rc,i.addAssetProcedureTypeFieldValuesAttachment=pc,i.addAssetProcedureTypeFieldValuesAttachments=rs,i.addAssetProcedureTypeFieldValuesMany=wc,i.addAssetProcedureTypeFields=tc,i.addAssetProcedureTypeFieldsAttachment=La,i.addAssetProcedureTypeFieldsAttachments=ka,i.addAssetProcedureTypeFieldsMany=sc,i.addAssetProcedureTypes=sd,i.addAssetProcedures=ms,i.addAssetStage=au,i.addAssetStageCompletion=kr,i.addAssetStageCompletions=Nr,i.addAssetStages=cu,i.addAssetType=co,i.addAssetTypeAttachment=Au,i.addAssetTypeAttachments=qs,i.addAssetTypeFieldValues=Al,i.addAssetTypeFieldValuesAttachment=il,i.addAssetTypeFieldValuesAttachments=Ns,i.addAssetTypeFieldValuesMany=fl,i.addAssetTypeFields=Nu,i.addAssetTypeFieldsAttachment=wu,i.addAssetTypeFieldsAttachments=Eu,i.addAssetTypeFieldsMany=Gu,i.addAssetTypeIdentifier=El,i.addAssetTypeIdentifierValue=Gl,i.addAssetTypeIdentifierValues=Hl,i.addAssetTypeIdentifiers=vl,i.addAssetTypeStatus=To,i.addAssetTypeStatuses=Io,i.addAssetTypes=ro,i.addAssets=ws,i.addConversation=ra,i.addConversations=WO,i.addDocument=Jo,i.addDocumentAttachment=qo,i.addDocumentAttachments=Do,i.addDocuments=Xo,i.addEmailDomain=lh,i.addEmailDomains=oh,i.addForm=Mm,i.addFormIdentifier=wh,i.addFormIdentifierValue=Nh,i.addFormIdentifierValues=Gh,i.addFormIdentifiers=Eh,i.addFormRevision=hi,i.addFormRevisionAttachment=im,i.addFormRevisionAttachments=nm,i.addFormRevisions=mi,i.addFormSubmission=ty,i.addFormSubmissionAttachment=Lm,i.addFormSubmissionAttachments=Ii,i.addFormSubmissions=_i,i.addForms=Rm,i.addGeoImage=yy,i.addGeoImages=py,i.addIssue=Rp,i.addIssueAssociation=Ey,i.addIssueAssociations=et,i.addIssueAttachment=ky,i.addIssueAttachments=zi,i.addIssueComment=pp,i.addIssueCommentAttachment=tp,i.addIssueCommentAttachments=sp,i.addIssueComments=Ap,i.addIssueType=vf,i.addIssueTypeAttachment=Lp,i.addIssueTypeAttachments=kp,i.addIssueTypeFieldValues=pA,i.addIssueTypeFieldValuesAttachment=NA,i.addIssueTypeFieldValuesAttachments=Ji,i.addIssueTypeFieldValuesMany=AA,i.addIssueTypeFields=wA,i.addIssueTypeFieldsAttachment=tA,i.addIssueTypeFieldsAttachments=sA,i.addIssueTypeFieldsMany=EA,i.addIssueTypeIdentifier=sf,i.addIssueTypeIdentifierValue=ff,i.addIssueTypeIdentifierValues=Sf,i.addIssueTypeIdentifiers=nf,i.addIssueTypeStatus=Hf,i.addIssueTypeStatuses=Wf,i.addIssueTypes=Vf,i.addIssueUpdate=un,i.addIssueUpdates=ln,i.addIssues=Li,i.addOrganization=kS,i.addOrganizationAccess=bS,i.addOrganizationAccesses=_S,i.addOrganizations=LS,i.addProject=eI,i.addProjectAccess=cT,i.addProjectAccesses=dT,i.addProjectAttachment=TT,i.addProjectAttachments=IT,i.addProjectFile=jT,i.addProjectFiles=qT,i.addProjects=xT,i.addTeam=_I,i.addTeamMembership=hI,i.addTeamMemberships=mI,i.addTeams=MI,i.addUser=An,i.addUsers=AS,i.agentsReducer=oa,i.agentsSlice=Jt,i.areArraysEqual=bO,i.assetAttachmentReducer=ga,i.assetAttachmentSlice=Qt,i.assetProcedureReducer=Yc,i.assetProcedureSlice=hs,i.assetProcedureStepFieldValuesAttachmentReducer=Qd,i.assetProcedureStepFieldValuesAttachmentSlice=Os,i.assetProcedureStepFieldValuesReducer=hr,i.assetProcedureStepFieldValuesSlice=bs,i.assetProcedureStepFieldsAttachmentReducer=_d,i.assetProcedureStepFieldsAttachmentSlice=fs,i.assetProcedureStepFieldsReducer=Ud,i.assetProcedureStepFieldsSlice=Ts,i.assetProcedureStepReducer=Fr,i.assetProcedureStepSlice=_s,i.assetProcedureTypeAttachmentReducer=ja,i.assetProcedureTypeAttachmentSlice=ss,i.assetProcedureTypeFieldValuesAttachmentReducer=Oc,i.assetProcedureTypeFieldValuesAttachmentSlice=ds,i.assetProcedureTypeFieldValuesReducer=qc,i.assetProcedureTypeFieldValuesSlice=os,i.assetProcedureTypeFieldsAttachmentReducer=Za,i.assetProcedureTypeFieldsAttachmentSlice=ns,i.assetProcedureTypeFieldsReducer=uc,i.assetProcedureTypeFieldsSlice=cs,i.assetProcedureTypeReducer=ud,i.assetProcedureTypeSlice=ps,i.assetReducer=Ur,i.assetSlice=Rs,i.assetStageCompletionReducer=Jr,i.assetStageCompletionSlice=vs,i.assetStageReducer=ou,i.assetStageSlice=Vs,i.assetTypeAttachmentReducer=_u,i.assetTypeAttachmentSlice=js,i.assetTypeFieldValuesAttachmentReducer=ml,i.assetTypeFieldValuesAttachmentSlice=ks,i.assetTypeFieldValuesReducer=Ml,i.assetTypeFieldValuesSlice=Ws,i.assetTypeFieldsAttachmentReducer=Cu,i.assetTypeFieldsAttachmentSlice=Us,i.assetTypeFieldsReducer=el,i.assetTypeFieldsSlice=Ls,i.assetTypeIdentifierReducer=Ll,i.assetTypeIdentifierSlice=Ks,i.assetTypeIdentifierValueReducer=to,i.assetTypeIdentifierValueSlice=Zs,i.assetTypeReducer=Ao,i.assetTypeSlice=Js,i.assetTypeStatusReducer=Eo,i.assetTypeStatusSlice=Qs,i.assetTypeStatusSortFn=sa,i.authReducer=zo,i.authSlice=Mt,i.baseReducer=MF,i.baseReducers=Vn,i.blobToBase64=BO,i.clearTokens=EP,i.constructUploadedFilePayloads=zO,i.createModelAdapter=R,i.createOfflineAction=QS,i.createPayload=z,i.createSelectionAdapter=PO,i.deleteAsset=Vr,i.deleteAssetAttachment=Ta,i.deleteAssetAttachments=es,i.deleteAssetProcedure=Hc,i.deleteAssetProcedureStep=Or,i.deleteAssetProcedureStepFieldValues=dr,i.deleteAssetProcedureStepFieldValuesAttachment=Kd,i.deleteAssetProcedureStepFieldValuesAttachments=Fs,i.deleteAssetProcedureStepFieldValuesMany=rr,i.deleteAssetProcedureStepFields=jd,i.deleteAssetProcedureStepFieldsAttachment=Od,i.deleteAssetProcedureStepFieldsAttachments=Pd,i.deleteAssetProcedureStepFieldsMany=qd,i.deleteAssetProcedureSteps=Pr,i.deleteAssetProcedureType=ad,i.deleteAssetProcedureTypeAttachment=za,i.deleteAssetProcedureTypeAttachments=Ba,i.deleteAssetProcedureTypeFieldValues=Bc,i.deleteAssetProcedureTypeFieldValuesAttachment=Ic,i.deleteAssetProcedureTypeFieldValuesAttachments=us,i.deleteAssetProcedureTypeFieldValuesMany=jc,i.deleteAssetProcedureTypeFields=dc,i.deleteAssetProcedureTypeFieldsAttachment=Ka,i.deleteAssetProcedureTypeFieldsAttachments=Ya,i.deleteAssetProcedureTypeFieldsMany=rc,i.deleteAssetProcedureTypes=cd,i.deleteAssetProcedures=ys,i.deleteAssetStage=uu,i.deleteAssetStageCompletion=Yr,i.deleteAssetStageCompletions=Zr,i.deleteAssetStages=lu,i.deleteAssetType=oo,i.deleteAssetTypeAttachment=Ou,i.deleteAssetTypeAttachments=Ds,i.deleteAssetTypeFieldValues=Pl,i.deleteAssetTypeFieldValuesAttachment=rl,i.deleteAssetTypeFieldValuesAttachments=Gs,i.deleteAssetTypeFieldValuesMany=Fl,i.deleteAssetTypeFields=Zu,i.deleteAssetTypeFieldsAttachment=ju,i.deleteAssetTypeFieldsAttachments=qu,i.deleteAssetTypeFieldsMany=Ju,i.deleteAssetTypeIdentifier=ql,i.deleteAssetTypeIdentifierValue=Jl,i.deleteAssetTypeIdentifierValues=Xl,i.deleteAssetTypeIdentifiers=Dl,i.deleteAssetTypeStatus=bo,i.deleteAssetTypeStatuses=_o,i.deleteAssetTypes=ho,i.deleteAssets=Es,i.deleteConversation=ZO,i.deleteConversations=JO,i.deleteDocument=sh,i.deleteDocumentAttachment=ko,i.deleteDocumentAttachments=No,i.deleteDocuments=ih,i.deleteEmailDomain=Ah,i.deleteEmailDomains=fh,i.deleteForm=zm,i.deleteFormIdentifier=jh,i.deleteFormIdentifierValue=Zh,i.deleteFormIdentifierValues=Jh,i.deleteFormIdentifiers=qh,i.deleteFormRevision=yi,i.deleteFormRevisionAttachment=um,i.deleteFormRevisionAttachments=lm,i.deleteFormRevisions=pi,i.deleteFormSubmission=ny,i.deleteFormSubmissionAttachment=Wm,i.deleteFormSubmissionAttachments=Oi,i.deleteFormSubmissions=Mi,i.deleteForms=Bm,i.deleteGeoImage=Sy,i.deleteGeoImages=Ty,i.deleteIssue=zp,i.deleteIssueAssociation=vy,i.deleteIssueAssociations=tt,i.deleteIssueAttachment=Ky,i.deleteIssueAttachments=Bi,i.deleteIssueComment=Op,i.deleteIssueCommentAttachment=dp,i.deleteIssueCommentAttachments=rp,i.deleteIssueComments=Pp,i.deleteIssueType=Df,i.deleteIssueTypeAttachment=Kp,i.deleteIssueTypeAttachments=Yp,i.deleteIssueTypeFieldValues=OA,i.deleteIssueTypeFieldValuesAttachment=YA,i.deleteIssueTypeFieldValuesAttachments=Xi,i.deleteIssueTypeFieldValuesMany=PA,i.deleteIssueTypeFields=jA,i.deleteIssueTypeFieldsAttachment=dA,i.deleteIssueTypeFieldsAttachments=rA,i.deleteIssueTypeFieldsMany=qA,i.deleteIssueTypeIdentifier=uf,i.deleteIssueTypeIdentifierValue=Ff,i.deleteIssueTypeIdentifierValues=gf,i.deleteIssueTypeIdentifiers=lf,i.deleteIssueTypeStatus=Xf,i.deleteIssueTypeStatuses=Qf,i.deleteIssueTypes=$f,i.deleteIssueUpdate=on,i.deleteIssueUpdates=hn,i.deleteIssues=ki,i.deleteOrganization=HS,i.deleteOrganizationAccess=vS,i.deleteOrganizationAccesses=VS,i.deleteOrganizations=WS,i.deleteProject=iI,i.deleteProjectAccess=hT,i.deleteProjectAccesses=mT,i.deleteProjectAttachment=bT,i.deleteProjectAttachments=_T,i.deleteProjectFile=UT,i.deleteProjectFiles=CT,i.deleteProjects=nI,i.deleteTeam=VI,i.deleteTeamMembership=SI,i.deleteTeamMemberships=TI,i.deleteTeams=zI,i.deleteUser=fn,i.deleteUsers=TS,i.dequeue=JI,i.discard=QI,i.documentAttachmentReducer=Ko,i.documentAttachmentSlice=ei,i.documentSlice=si,i.documentsReducer=nh,i.downloadFile=jO,i.downloadInMemoryFile=VO,i.emailDomainsReducer=Oh,i.emailDomainsSlice=ni,i.emailRegex=kO,i.enqueue=ZI,i.enqueueRequest=eT,i.extractResponseFromError=eO,i.fallbackToEmptyArray=T,i.fallbackToEmptyObject=ft,i.fileReducer=_h,i.fileSlice=ci,i.fileToBlob=Xn,i.formIdentifierReducer=Ch,i.formIdentifierSlice=di,i.formIdentifierValueReducer=em,i.formIdentifierValueSlice=ui,i.formReducer=jm,i.formRevisionAttachmentReducer=ym,i.formRevisionAttachmentSlice=li,i.formRevisionReducer=gm,i.formRevisionsSlice=oi,i.formSlice=fi,i.formSubmissionAttachmentReducer=Jm,i.formSubmissionAttachmentSlice=Ti,i.formSubmissionReducer=uy,i.formSubmissionSlice=bi,i.geoImageReducer=Fy,i.geoImageSlice=wi,i.getAssetProcedureStepSubTree=ta,i.getAssetProcedureStepTrees=NO,i.getClientSDK=aO,i.getClientStore=ut,i.getDocumentSubTree=aa,i.getDocumentTrees=GO,i.getFileIdentifier=vO,i.getFileS3Key=Yt,i.getLocalDateString=Zn,i.getLocalRelativeDateString=wO,i.getOutboxCoordinator=it,i.getRenamedFile=Jn,i.getRequestDescription=O,i.hashFile=at,i.initSDK=sb,i.initializeAssetAttachments=ma,i.initializeAssetProcedureStepFieldValues=er,i.initializeAssetProcedureStepFieldValuesAttachments=Ld,i.initializeAssetProcedureStepFields=Rd,i.initializeAssetProcedureStepFieldsAttachments=yd,i.initializeAssetProcedureSteps=yr,i.initializeAssetProcedureTypeAttachments=_a,i.initializeAssetProcedureTypeFieldValues=Mc,i.initializeAssetProcedureTypeFieldValuesAttachments=yc,i.initializeAssetProcedureTypeFields=ec,i.initializeAssetProcedureTypeFieldsAttachments=Ca,i.initializeAssetProcedureTypes=ed,i.initializeAssetProcedures=Lc,i.initializeAssetStageCompletions=Lr,i.initializeAssetStages=su,i.initializeAssetTypeAttachments=pu,i.initializeAssetTypeFieldValues=pl,i.initializeAssetTypeFieldValuesAttachments=sl,i.initializeAssetTypeFields=ku,i.initializeAssetTypeFieldsAttachments=Ru,i.initializeAssetTypeIdentifierValues=Nl,i.initializeAssetTypeIdentifiers=wl,i.initializeAssetTypeStatuses=So,i.initializeAssetTypes=io,i.initializeAssets=Rr,i.initializeConversations=da,i.initializeDocumentAttachments=jo,i.initializeDocuments=Zo,i.initializeEmailDomains=uh,i.initializeFormIdentifierValues=kh,i.initializeFormIdentifiers=Rh,i.initializeFormRevisionAttachments=sm,i.initializeFormRevisions=Am,i.initializeFormSubmissionAttachments=Cm,i.initializeFormSubmissions=Qm,i.initializeForms=_m,i.initializeGeoImages=oy,i.initializeIssueAssociations=by,i.initializeIssueAttachments=Ly,i.initializeIssueCommentAttachments=ep,i.initializeIssueComments=yp,i.initializeIssueTypeAttachments=Cp,i.initializeIssueTypeFieldValues=yA,i.initializeIssueTypeFieldValuesAttachments=kA,i.initializeIssueTypeFields=RA,i.initializeIssueTypeFieldsAttachments=eA,i.initializeIssueTypeIdentifierValues=Af,i.initializeIssueTypeIdentifiers=tf,i.initializeIssueTypeStatuses=Gf,i.initializeIssueTypes=Ef,i.initializeIssueUpdates=iS,i.initializeIssues=Mp,i.initializeOrganizationAccesses=gS,i.initializeOrganizations=$S,i.initializeProjectAccesses=aT,i.initializeProjectAttachments=ST,i.initializeProjectFiles=VT,i.initializeProjects=JT,i.initializeTeamMemberships=oI,i.initializeTeams=bI,i.initializeUsers=mS,i.isToday=RO,i.issueAssociationReducer=Uy,i.issueAssociationSlice=vi,i.issueAttachmentReducer=Qy,i.issueAttachmentSlice=Vi,i.issueCommentAttachmentReducer=hp,i.issueCommentAttachmentSlice=qi,i.issueCommentReducer=bp,i.issueCommentSlice=$i,i.issueReducer=$p,i.issueSlice=Ci,i.issueTypeAttachmentReducer=Qp,i.issueTypeAttachmentSlice=Ni,i.issueTypeFieldValuesAttachmentReducer=xA,i.issueTypeFieldValuesAttachmentSlice=Zi,i.issueTypeFieldValuesReducer=_A,i.issueTypeFieldValuesSlice=Ki,i.issueTypeFieldsAttachmentReducer=hA,i.issueTypeFieldsAttachmentSlice=Hi,i.issueTypeFieldsReducer=CA,i.issueTypeFieldsSlice=Yi,i.issueTypeIdentifierReducer=yf,i.issueTypeIdentifierSlice=xi,i.issueTypeIdentifierValueReducer=Rf,i.issueTypeIdentifierValueSlice=tn,i.issueTypeReducer=kf,i.issueTypeSlice=sn,i.issueTypeStatusReducer=tS,i.issueTypeStatusSlice=an,i.issueTypeStatusSortFn=ia,i.issueUpdateReducer=oS,i.issueUpdateSlice=rn,i.logOnlyOnce=qO,i.markAsDeleted=tT,i.markForDeletion=oF,i.memoize=Wt,i.organizationAccessReducer=zS,i.organizationAccessSlice=Tn,i.organizationReducer=XS,i.organizationSlice=In,i.outboxReducer=iT,i.outboxSlice=On,i.overmapEnhancer=qF,i.overmapReducer=RF,i.overmapReducers=CI,i.performRequest=Dn,i.performRequestFromAction=XI,i.projectAccessReducer=yT,i.projectAccessSlice=Pn,i.projectAttachmentReducer=ET,i.projectAttachmentSlice=gn,i.projectFileReducer=YT,i.projectFileSlice=_n,i.projectReducer=aI,i.projectSlice=Mn,i.rehydratedReducer=uI,i.rehydratedSlice=Rn,i.restructureSelectorWithArgs=S,i.runMiddleware=uO,i.saveActiveProjectFileBounds=NT,i.selectAccessToken=vP,i.selectAccessesByUserOfProject=mF,i.selectAccessibleProjects=SF,i.selectActiveOrganizationAccess=dF,i.selectActiveProjectFileId=AF,i.selectAllDocumentAttachments=ti,i.selectAssetAttachmentById=Oa,i.selectAssetAttachmentMapping=Ia,i.selectAssetAttachments=ts,i.selectAssetAttachmentsByIds=Pa,i.selectAssetById=Dr,i.selectAssetProcedureById=Xc,i.selectAssetProcedureStepById=gr,i.selectAssetProcedureStepFieldValues=ot,i.selectAssetProcedureStepFieldValuesAttachmentById=Zd,i.selectAssetProcedureStepFieldValuesAttachments=gs,i.selectAssetProcedureStepFieldValuesAttachmentsByIds=Jd,i.selectAssetProcedureStepFieldValuesAttachmentsMapping=Yd,i.selectAssetProcedureStepFieldValuesById=lr,i.selectAssetProcedureStepFieldValuesByIds=or,i.selectAssetProcedureStepFieldValuesMapping=ur,i.selectAssetProcedureStepFieldValuesOfAsset=oP,i.selectAssetProcedureStepFieldValuesOfAssetProcedure=hP,i.selectAssetProcedureStepFieldValuesOfAssetProcedureStep=mP,i.selectAssetProcedureStepFields=Pt,i.selectAssetProcedureStepFieldsAttachmentById=gd,i.selectAssetProcedureStepFieldsAttachments=Ss,i.selectAssetProcedureStepFieldsAttachmentsByIds=bd,i.selectAssetProcedureStepFieldsAttachmentsMapping=Fd,i.selectAssetProcedureStepFieldsById=Dd,i.selectAssetProcedureStepFieldsByIds=$d,i.selectAssetProcedureStepFieldsMapping=Is,i.selectAssetProcedureStepFieldsOfAssetProcedureStep=rP,i.selectAssetProcedureStepMapping=Ft,i.selectAssetProcedureSteps=Ms,i.selectAssetProcedureStepsByIds=br,i.selectAssetProcedureStepsMappingOfAssetProcedureType=yP,i.selectAssetProcedureStepsOfAssetProcedureType=pP,i.selectAssetProcedureTypeAttachmentById=Da,i.selectAssetProcedureTypeAttachmentMapping=qa,i.selectAssetProcedureTypeAttachments=is,i.selectAssetProcedureTypeAttachmentsByIds=$a,i.selectAssetProcedureTypeById=od,i.selectAssetProcedureTypeFieldValues=It,i.selectAssetProcedureTypeFieldValuesAttachmentById=Fc,i.selectAssetProcedureTypeFieldValuesAttachments=ls,i.selectAssetProcedureTypeFieldValuesAttachmentsByIds=gc,i.selectAssetProcedureTypeFieldValuesAttachmentsMapping=Pc,i.selectAssetProcedureTypeFieldValuesById=$c,i.selectAssetProcedureTypeFieldValuesByIds=Uc,i.selectAssetProcedureTypeFieldValuesMapping=Dc,i.selectAssetProcedureTypeFieldValuesOfAsset=iP,i.selectAssetProcedureTypeFields=Tt,i.selectAssetProcedureTypeFieldsAttachmentById=Xa,i.selectAssetProcedureTypeFieldsAttachments=as,i.selectAssetProcedureTypeFieldsAttachmentsByIds=Qa,i.selectAssetProcedureTypeFieldsAttachmentsMapping=Ja,i.selectAssetProcedureTypeFieldsById=oc,i.selectAssetProcedureTypeFieldsByIds=hc,i.selectAssetProcedureTypeFieldsMapping=lc,i.selectAssetProcedureTypeFieldsOfAssetProcedureType=tP,i.selectAssetProcedureTypes=As,i.selectAssetProcedureTypesByIds=hd,i.selectAssetProcedureTypesMapping=ld,i.selectAssetProcedureTypesOfOrganization=cP,i.selectAssetProcedures=Ot,i.selectAssetProceduresByIds=Qc,i.selectAssetProceduresMapping=Zc,i.selectAssetProceduresOfAssetProcedureType=Jc,i.selectAssetProceduresOfAssetType=aP,i.selectAssetStageById=hu,i.selectAssetStageCompletionById=xr,i.selectAssetStageCompletionMapping=Xr,i.selectAssetStageCompletions=Qr,i.selectAssetStageCompletionsByIds=eu,i.selectAssetStages=Bs,i.selectAssetStagesByIds=mu,i.selectAssetStagesMappingOfAssetProcedureType=fP,i.selectAssetStagesOfAssetProcedureType=SP,i.selectAssetTypeAttachmentById=Fu,i.selectAssetTypeAttachmentMapping=Pu,i.selectAssetTypeAttachments=$s,i.selectAssetTypeAttachmentsByIds=gu,i.selectAssetTypeById=yo,i.selectAssetTypeFieldValues=bt,i.selectAssetTypeFieldValuesAttachmentById=ll,i.selectAssetTypeFieldValuesAttachments=Hs,i.selectAssetTypeFieldValuesAttachmentsByIds=ol,i.selectAssetTypeFieldValuesAttachmentsMapping=ul,i.selectAssetTypeFieldValuesById=bl,i.selectAssetTypeFieldValuesByIds=_l,i.selectAssetTypeFieldValuesMapping=gl,i.selectAssetTypeFieldValuesOfAsset=PP,i.selectAssetTypeFields=ht,i.selectAssetTypeFieldsAttachmentById=$u,i.selectAssetTypeFieldsAttachments=Cs,i.selectAssetTypeFieldsAttachmentsByIds=Uu,i.selectAssetTypeFieldsAttachmentsMapping=Du,i.selectAssetTypeFieldsById=Qu,i.selectAssetTypeFieldsByIds=xu,i.selectAssetTypeFieldsMapping=Xu,i.selectAssetTypeFieldsOfAssetType=IP,i.selectAssetTypeIdentifierById=Ul,i.selectAssetTypeIdentifierMapping=$l,i.selectAssetTypeIdentifierValueById=xl,i.selectAssetTypeIdentifierValueMapping=Ql,i.selectAssetTypeIdentifierValues=_t,i.selectAssetTypeIdentifierValuesByIds=eo,i.selectAssetTypeIdentifierValuesOfAsset=bP,i.selectAssetTypeIdentifierValuesOfIdentifier=_P,i.selectAssetTypeIdentifiers=Ys,i.selectAssetTypeIdentifiersByIds=Cl,i.selectAssetTypeIdentifiersOfAssetType=gP,i.selectAssetTypeStatusById=Ro,i.selectAssetTypeStatusMapping=Mo,i.selectAssetTypeStatuses=xs,i.selectAssetTypeStatusesByIds=wo,i.selectAssetTypeStatusesOfAssetType=RP,i.selectAssetTypeValuesOfAssetType=FP,i.selectAssetTypes=Xs,i.selectAssetTypesByIds=po,i.selectAssetTypesMapping=mo,i.selectAssetTypesOfOrganization=MP,i.selectAssets=gt,i.selectAssetsByIds=$r,i.selectAssetsMapping=jr,i.selectAssetsOfAssetType=qr,i.selectAssetsOfProject=AP,i.selectAttachmentsOfAsset=Fa,i.selectAttachmentsOfAssetProcedureStepFieldValues=Xd,i.selectAttachmentsOfAssetProcedureStepFields=dP,i.selectAttachmentsOfAssetProcedureType=xO,i.selectAttachmentsOfAssetProcedureTypeFieldValues=bc,i.selectAttachmentsOfAssetProcedureTypeFields=eP,i.selectAttachmentsOfAssetType=bu,i.selectAttachmentsOfAssetTypeFieldValues=hl,i.selectAttachmentsOfAssetTypeFields=TP,i.selectAttachmentsOfDocument=zP,i.selectAttachmentsOfFormRevision=LP,i.selectAttachmentsOfFormSubmission=Zm,i.selectAttachmentsOfIssue=Zy,i.selectAttachmentsOfIssueComment=HP,i.selectAttachmentsOfIssueType=YP,i.selectAttachmentsOfIssueTypeFieldValues=QA,i.selectAttachmentsOfIssueTypeFields=ZP,i.selectAttachmentsOfProject=pF,i.selectCommentsOfIssue=WP,i.selectConversation=QO,i.selectConversationMapping=Xt,i.selectConversations=XO,i.selectCurrentUser=OS,i.selectDeletedRequests=uF,i.selectDescendantsOfAssetProcedureStep=_r,i.selectDescendantsOfDocument=dh,i.selectDocumentAttachmentById=Ho,i.selectDocumentAttachmentMapping=Go,i.selectDocumentAttachmentsByIds=Wo,i.selectDocumentById=ah,i.selectDocuments=Rt,i.selectDocumentsByIds=ch,i.selectDocumentsMapping=ii,i.selectEmailDomainById=Th,i.selectEmailDomains=ai,i.selectEmailDomainsAsMapping=Sh,i.selectEmailDomainsByIds=Ih,i.selectEmailDomainsOfOrganization=qP,i.selectFieldValuesOfAssetProcedure=nP,i.selectFormById=Dm,i.selectFormIdentifierById=$h,i.selectFormIdentifierMapping=Dh,i.selectFormIdentifierValueById=Qh,i.selectFormIdentifierValueMapping=Xh,i.selectFormIdentifierValues=wt,i.selectFormIdentifierValuesByIds=xh,i.selectFormIdentifierValuesOfFormSubmission=UP,i.selectFormIdentifierValuesOfIdentifier=CP,i.selectFormIdentifiers=ri,i.selectFormIdentifiersByIds=Uh,i.selectFormIdentifiersOfForm=$P,i.selectFormMapping=qm,i.selectFormRevisionAttachmentById=hm,i.selectFormRevisionAttachments=om,i.selectFormRevisionAttachmentsByIds=mm,i.selectFormRevisionAttachmentsMapping=Et,i.selectFormRevisionById=Om,i.selectFormRevisionMapping=Ai,i.selectFormRevisions=vt,i.selectFormRevisionsByIds=Pm,i.selectFormRevisionsOfForm=Fm,i.selectFormSubmissionAttachemntsByIds=gi,i.selectFormSubmissionAttachmentById=Km,i.selectFormSubmissionAttachments=Fi,i.selectFormSubmissionAttachmentsByIds=Ym,i.selectFormSubmissionAttachmentsMapping=Pi,i.selectFormSubmissionById=cy,i.selectFormSubmissions=ay,i.selectFormSubmissionsByIds=dy,i.selectFormSubmissionsMapping=Ri,i.selectFormSubmissionsOfForm=ry,i.selectForms=Si,i.selectFormsByIds=$m,i.selectFormsOfOrganization=NP,i.selectGeoImageById=Oy,i.selectGeoImageMapping=Iy,i.selectGeoImages=Ei,i.selectGeoImagesByIds=Py,i.selectGeoImagesOfProject=GP,i.selectIsImportingProjectFile=fF,i.selectIsLoggedIn=VP,i.selectIssueAssociationById=Vy,i.selectIssueAssociationMapping=Vt,i.selectIssueAssociations=mt,i.selectIssueAssociationsByIds=zy,i.selectIssueAssociationsOfAsset=$y,i.selectIssueAssociationsOfIssue=Dy,i.selectIssueAssociationsOfIssues=qy,i.selectIssueAssociationsToIssue=By,i.selectIssueAssociationsToIssues=jy,i.selectIssueAttachmentById=Jy,i.selectIssueAttachmentMapping=Yy,i.selectIssueAttachments=ji,i.selectIssueAttachmentsByIds=Xy,i.selectIssueById=jp,i.selectIssueCommentAttachmentById=lp,i.selectIssueCommentAttachmentMapping=up,i.selectIssueCommentAttachments=Di,i.selectIssueCommentAttachmentsByIds=op,i.selectIssueCommentById=Fp,i.selectIssueCommentMapping=Ui,i.selectIssueCommentsByIds=gp,i.selectIssueMapping=Bp,i.selectIssueTypeAttachmentById=Jp,i.selectIssueTypeAttachmentMapping=Zp,i.selectIssueTypeAttachments=Gi,i.selectIssueTypeAttachmentsByIds=Xp,i.selectIssueTypeById=Cf,i.selectIssueTypeFieldValues=Bt,i.selectIssueTypeFieldValuesAttachmentById=JA,i.selectIssueTypeFieldValuesAttachments=Qi,i.selectIssueTypeFieldValuesAttachmentsByIds=XA,i.selectIssueTypeFieldValuesAttachmentsMapping=ZA,i.selectIssueTypeFieldValuesById=gA,i.selectIssueTypeFieldValuesByIds=bA,i.selectIssueTypeFieldValuesMapping=FA,i.selectIssueTypeFieldValuesOfIssue=JP,i.selectIssueTypeFields=yt,i.selectIssueTypeFieldsAttachmentById=lA,i.selectIssueTypeFieldsAttachments=Wi,i.selectIssueTypeFieldsAttachmentsByIds=oA,i.selectIssueTypeFieldsAttachmentsMapping=uA,i.selectIssueTypeFieldsById=$A,i.selectIssueTypeFieldsByIds=UA,i.selectIssueTypeFieldsMapping=DA,i.selectIssueTypeFieldsOfIssueType=XP,i.selectIssueTypeIdentifierById=hf,i.selectIssueTypeIdentifierMapping=of,i.selectIssueTypeIdentifierValueById=_f,i.selectIssueTypeIdentifierValueMapping=bf,i.selectIssueTypeIdentifierValues=jt,i.selectIssueTypeIdentifierValuesByIds=Mf,i.selectIssueTypeIdentifierValuesOfIdentifier=sF,i.selectIssueTypeIdentifierValuesOfIssue=tF,i.selectIssueTypeIdentifiers=en,i.selectIssueTypeIdentifiersByIds=mf,i.selectIssueTypeIdentifiersOfIssueType=eF,i.selectIssueTypeMapping=Uf,i.selectIssueTypeStatusById=dn,i.selectIssueTypeStatusMapping=xf,i.selectIssueTypeStatuses=cn,i.selectIssueTypeStatusesByIds=eS,i.selectIssueTypeStatusesOfIssueType=nF,i.selectIssueTypeValuesOfIssueType=xP,i.selectIssueTypes=nn,i.selectIssueTypesByIds=Lf,i.selectIssueTypesOfOrganization=iF,i.selectIssueUpdateById=rS,i.selectIssueUpdateMapping=mn,i.selectIssueUpdates=yn,i.selectIssueUpdatesByIds=uS,i.selectIssueUpdatesOfIssue=lS,i.selectIssues=zt,i.selectIssuesByIds=qp,i.selectIssuesOfIssueType=Dp,i.selectIssuesOfProject=KP,i.selectLatestAssetProcedureStepFieldsOfAssetProcedureStep=uP,i.selectLatestAssetProcedureTypeFieldsOfAssetProcedureType=sP,i.selectLatestAssetTypeFieldsOfAssetType=OP,i.selectLatestFieldsByAssetProcedureStep=lP,i.selectLatestFormRevisionOfForm=kP,i.selectLatestIssueTypeFieldsOfIssueType=QP,i.selectLatestRetryTime=lF,i.selectMembershipsByUserOfTeam=FF,i.selectOrganizationAccessById=BS,i.selectOrganizationAccessMapping=$t,i.selectOrganizationAccessUserMapping=qS,i.selectOrganizationAccessesByIds=jS,i.selectOrganizationById=ZS,i.selectOrganizationDocuments=jP,i.selectOrganizations=YS,i.selectOrganizationsByIds=JS,i.selectOrganizationsMapping=KS,i.selectProjectAccessById=pT,i.selectProjectAccessMapping=Fn,i.selectProjectAccesses=pt,i.selectProjectAccessesByIds=AT,i.selectProjectAccessesOfProject=hF,i.selectProjectAttachmentById=RT,i.selectProjectAttachmentMapping=MT,i.selectProjectAttachments=bn,i.selectProjectAttachmentsByIds=wT,i.selectProjectById=dI,i.selectProjectDocuments=BP,i.selectProjectFileById=WT,i.selectProjectFileMapping=GT,i.selectProjectFiles=HT,i.selectProjectFilesByIds=KT,i.selectProjectMapping=cI,i.selectProjects=Ut,i.selectProjectsByIds=rI,i.selectProjectsOfOrganization=TF,i.selectRehydrated=PF,i.selectStageMapping=zs,i.selectTeamById=jI,i.selectTeamMembershipById=PI,i.selectTeamMemberships=Ct,i.selectTeamMembershipsByIds=FI,i.selectTeamMembershipsMapping=OI,i.selectTeams=vn,i.selectTeamsByIds=qI,i.selectTeamsMapping=BI,i.selectTeamsOfOrganization=bF,i.selectUploadUrl=bh,i.selectUserById=Dt,i.selectUsers=qt,i.selectUsersByIds=PS,i.selectUsersMapping=Sn,i.selectUsersOfOrganization=rF,i.selectUsersOfProject=yF,i.selectUsersOfTeam=gF,i.setActiveProjectFileId=kT,i.setAsset=zr,i.setAssetAttachment=pa,i.setAssetAttachments=Aa,i.setAssetProcedure=Wc,i.setAssetProcedureStep=pr,i.setAssetProcedureStepFieldValues=ir,i.setAssetProcedureStepFieldValuesAttachment=Nd,i.setAssetProcedureStepFieldValuesAttachments=Gd,i.setAssetProcedureStepFieldValuesMany=nr,i.setAssetProcedureStepFields=vd,i.setAssetProcedureStepFieldsAttachment=fd,i.setAssetProcedureStepFieldsAttachments=Sd,i.setAssetProcedureStepFieldsMany=Vd,i.setAssetProcedureSteps=Ar,i.setAssetProcedureType=dd,i.setAssetProcedureTypeAttachment=wa,i.setAssetProcedureTypeAttachments=Ea,i.setAssetProcedureTypeFieldValues=Ec,i.setAssetProcedureTypeFieldValuesAttachment=Ac,i.setAssetProcedureTypeFieldValuesAttachments=fc,i.setAssetProcedureTypeFieldValuesMany=vc,i.setAssetProcedureTypeFields=ic,i.setAssetProcedureTypeFieldsAttachment=Na,i.setAssetProcedureTypeFieldsAttachments=Ga,i.setAssetProcedureTypeFieldsMany=nc,i.setAssetProcedureTypes=rd,i.setAssetProcedures=Kc,i.setAssetStage=iu,i.setAssetStageCompletion=Gr,i.setAssetStageCompletions=Hr,i.setAssetStages=nu,i.setAssetType=no,i.setAssetTypeAttachment=fu,i.setAssetTypeAttachments=Su,i.setAssetTypeFieldValues=Sl,i.setAssetTypeFieldValuesAttachment=nl,i.setAssetTypeFieldValuesAttachments=al,i.setAssetTypeFieldValuesMany=Tl,i.setAssetTypeFields=Hu,i.setAssetTypeFieldsAttachment=vu,i.setAssetTypeFieldsAttachments=Vu,i.setAssetTypeFieldsMany=Wu,i.setAssetTypeIdentifier=Vl,i.setAssetTypeIdentifierValue=Wl,i.setAssetTypeIdentifierValues=Kl,i.setAssetTypeIdentifiers=zl,i.setAssetTypeStatus=Oo,i.setAssetTypeStatuses=Po,i.setAssetTypes=ao,i.setAssets=Br,i.setClientSDK=nO,i.setClientStore=sO,i.setConversation=ua,i.setConversations=KO,i.setCurrentUser=aF,i.setDocument=Qo,i.setDocumentAttachment=$o,i.setDocumentAttachments=Uo,i.setDocuments=xo,i.setEmailDomain=hh,i.setEmailDomains=mh,i.setForm=wm,i.setFormIdentifier=vh,i.setFormIdentifierValue=Hh,i.setFormIdentifierValues=Wh,i.setFormIdentifiers=Vh,i.setFormRevision=fm,i.setFormRevisionAttachment=am,i.setFormRevisionAttachments=cm,i.setFormRevisions=Sm,i.setFormSubmission=xm,i.setFormSubmissionAttachment=km,i.setFormSubmissionAttachments=Nm,i.setFormSubmissions=ey,i.setForms=Em,i.setGeoImage=hy,i.setGeoImages=my,i.setIsImportingProjectFile=LT,i.setIssue=wp,i.setIssueAssociation=My,i.setIssueAssociations=_y,i.setIssueAttachment=Ny,i.setIssueAttachments=Gy,i.setIssueComment=fp,i.setIssueCommentAttachment=ip,i.setIssueCommentAttachments=np,i.setIssueComments=Sp,i.setIssueType=zf,i.setIssueTypeAttachment=Np,i.setIssueTypeAttachments=Gp,i.setIssueTypeFieldValues=fA,i.setIssueTypeFieldValuesAttachment=GA,i.setIssueTypeFieldValuesAttachments=HA,i.setIssueTypeFieldValuesMany=SA,i.setIssueTypeFields=vA,i.setIssueTypeFieldsAttachment=iA,i.setIssueTypeFieldsAttachments=nA,i.setIssueTypeFieldsMany=VA,i.setIssueTypeIdentifier=af,i.setIssueTypeIdentifierValue=Tf,i.setIssueTypeIdentifierValues=If,i.setIssueTypeIdentifiers=cf,i.setIssueTypeStatus=Kf,i.setIssueTypeStatuses=Yf,i.setIssueTypes=Bf,i.setIssueUpdate=nS,i.setIssueUpdates=aS,i.setIssues=Ep,i.setLoggedIn=Vo,i.setOrganization=CS,i.setOrganizationAccess=MS,i.setOrganizationAccesses=RS,i.setOrganizations=US,i.setProfilePicture=cF,i.setProject=QT,i.setProjectAccess=rT,i.setProjectAccesses=uT,i.setProjectAttachment=OT,i.setProjectAttachments=PT,i.setProjectFile=zT,i.setProjectFiles=BT,i.setProjects=XT,i.setRehydrated=OF,i.setTeam=RI,i.setTeamMembership=yI,i.setTeamMemberships=pI,i.setTeams=wI,i.setTokens=wP,i.setUploadUrl=gh,i.setUser=pS,i.setUsers=yS,i.shallowEqual=gO,i.slugify=CO,i.spacesToDashesLower=UO,i.teamMembershipReducer=II,i.teamMembershipSlice=wn,i.teamReducer=DI,i.teamSlice=En,i.toFileNameSafeString=$O,i.toUuidArray=q,i.toUuidIdRecord=DO,i.truncate=LO,i.updateAsset=Er,i.updateAssetAttachment=fa,i.updateAssetAttachments=Sa,i.updateAssetProcedure=Nc,i.updateAssetProcedureStep=Tr,i.updateAssetProcedureStepFieldValues=ar,i.updateAssetProcedureStepFieldValuesAttachment=Hd,i.updateAssetProcedureStepFieldValuesAttachments=Wd,i.updateAssetProcedureStepFieldValuesMany=cr,i.updateAssetProcedureStepFields=zd,i.updateAssetProcedureStepFieldsAttachment=Td,i.updateAssetProcedureStepFieldsAttachments=Id,i.updateAssetProcedureStepFieldsMany=Bd,i.updateAssetProcedureSteps=Ir,i.updateAssetProcedureType=id,i.updateAssetProcedureTypeAttachment=va,i.updateAssetProcedureTypeAttachments=Va,i.updateAssetProcedureTypeFieldValues=Vc,i.updateAssetProcedureTypeFieldValuesAttachment=Sc,i.updateAssetProcedureTypeFieldValuesAttachments=Tc,i.updateAssetProcedureTypeFieldValuesMany=zc,i.updateAssetProcedureTypeFields=ac,i.updateAssetProcedureTypeFieldsAttachment=Ha,i.updateAssetProcedureTypeFieldsAttachments=Wa,i.updateAssetProcedureTypeFieldsMany=cc,i.updateAssetProcedureTypes=nd,i.updateAssetProcedures=Gc,i.updateAssetStage=du,i.updateAssetStageCompletion=Wr,i.updateAssetStageCompletions=Kr,i.updateAssetStages=ru,i.updateAssetType=uo,i.updateAssetTypeAttachment=Tu,i.updateAssetTypeAttachments=Iu,i.updateAssetTypeFieldValues=Il,i.updateAssetTypeFieldValuesAttachment=cl,i.updateAssetTypeFieldValuesAttachments=dl,i.updateAssetTypeFieldValuesMany=Ol,i.updateAssetTypeFields=Ku,i.updateAssetTypeFieldsAttachment=zu,i.updateAssetTypeFieldsAttachments=Bu,i.updateAssetTypeFieldsMany=Yu,i.updateAssetTypeIdentifier=Bl,i.updateAssetTypeIdentifierValue=Yl,i.updateAssetTypeIdentifierValues=Zl,i.updateAssetTypeIdentifiers=jl,i.updateAssetTypeStatus=Fo,i.updateAssetTypeStatuses=go,i.updateAssetTypes=lo,i.updateAssets=vr,i.updateConversation=la,i.updateConversations=YO,i.updateDocument=eh,i.updateDocumentAttachment=Co,i.updateDocumentAttachments=Lo,i.updateDocuments=th,i.updateEmailDomain=yh,i.updateEmailDomains=ph,i.updateForm=vm,i.updateFormIdentifier=zh,i.updateFormIdentifierValue=Kh,i.updateFormIdentifierValues=Yh,i.updateFormIdentifiers=Bh,i.updateFormRevision=Tm,i.updateFormRevisionAttachment=dm,i.updateFormRevisionAttachments=rm,i.updateFormRevisions=Im,i.updateFormSubmission=sy,i.updateFormSubmissionAttachment=Gm,i.updateFormSubmissionAttachments=Hm,i.updateFormSubmissions=iy,i.updateForms=Vm,i.updateGeoImage=Ay,i.updateGeoImages=fy,i.updateIssue=vp,i.updateIssueAssociation=Ry,i.updateIssueAssociations=wy,i.updateIssueAttachment=Hy,i.updateIssueAttachments=Wy,i.updateIssueComment=Tp,i.updateIssueCommentAttachment=ap,i.updateIssueCommentAttachments=cp,i.updateIssueComments=Ip,i.updateIssueType=jf,i.updateIssueTypeAttachment=Hp,i.updateIssueTypeAttachments=Wp,i.updateIssueTypeFieldValues=TA,i.updateIssueTypeFieldValuesAttachment=WA,i.updateIssueTypeFieldValuesAttachments=KA,i.updateIssueTypeFieldValuesMany=IA,i.updateIssueTypeFields=zA,i.updateIssueTypeFieldsAttachment=aA,i.updateIssueTypeFieldsAttachments=cA,i.updateIssueTypeFieldsMany=BA,i.updateIssueTypeIdentifier=df,i.updateIssueTypeIdentifierValue=Of,i.updateIssueTypeIdentifierValues=Pf,i.updateIssueTypeIdentifiers=rf,i.updateIssueTypeStatus=Zf,i.updateIssueTypeStatuses=Jf,i.updateIssueTypes=qf,i.updateIssueUpdate=cS,i.updateIssueUpdates=dS,i.updateIssues=Vp,i.updateOrganization=GS,i.updateOrganizationAccess=wS,i.updateOrganizationAccesses=ES,i.updateOrganizations=NS,i.updateProject=sI,i.updateProjectAccess=lT,i.updateProjectAccesses=oT,i.updateProjectAttachment=FT,i.updateProjectAttachments=gT,i.updateProjectFile=DT,i.updateProjectFiles=$T,i.updateProjects=tI,i.updateTeam=EI,i.updateTeamMembership=AI,i.updateTeamMemberships=fI,i.updateTeams=vI,i.updateUser=SS,i.updateUsers=fS,i.useSelectorBuilder=FO,i.userReducer=IS,i.userSlice=pn,i.uuidObj=M,i.uuidObjSortFn=Zt,i.uuidSortFn=St,i.versioningReducer=UI,i.versioningSlice=$I,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
13
+ external URLs and therefore not prepended with VITE_API_URL.`;throw new Error(p)}return await this.addCache(d),d}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:o.POST,isExternalUrl:!0,isAuthNeeded:!1,attachmentHash:e,blockers:[`s3-${n.fields.key}`],blocks:[e],s3url:n})}processPresignedUrls(e){const n={};for(const[a,r]of Object.entries(e))n[a]=this.processPresignedUrl(a,r);return n}async getFilePayload(e){const a={sha1:await Vt(e),file_type:e.type,extension:Ta(e),size:e.size};return await this.client.files.addCache(e),a}}class Vg extends E{constructor(){super(...arguments);h(this,"name","Form Identifier");h(this,"url","/form-identifiers");h(this,"actions",{addOne:zu,addMany:Du,setOne:ju,setMany:qu,updateOne:Cu,updateMany:$u,deleteOne:Uu,deleteMany:Lu,initialize:Vu});h(this,"selectors",{selectById:Nu,selectByIds:Gu})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.form],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected form identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected form identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(r)),r}}class zg extends E{constructor(){super(...arguments);h(this,"name","Form Identifier Value");h(this,"url","/form-identifier-values");h(this,"actions",{addOne:Yu,addMany:Zu,setOne:Ju,setMany:Xu,updateOne:Qu,updateMany:xu,deleteOne:el,deleteMany:tl,initialize:Ku});h(this,"selectors",{selectById:il,selectByIds:nl})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.form_submission,e.form_identifier],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected form identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Dg extends j{constructor(){super(...arguments);h(this,"name","Form Revision Attachment");h(this,"url","/form-revision-attachments");h(this,"actions",{addOne:dl,addMany:ul,setOne:ll,setMany:ol,updateOne:hl,updateMany:pl,deleteOne:ml,deleteMany:yl,initialize:rl});h(this,"selectors",{selectById:Sl,selectByIds:Al})}getId(e){return e.uuid}getBlockers(e){return[e.form_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,form_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form_revision__form__organization:e}},n);return this.dispatch(a(r)),r}}class jg extends E{constructor(){super(...arguments);h(this,"name","Form Revision");h(this,"url","/form-revisions");h(this,"actions",{addOne:Pl,addMany:Qs,setOne:Fl,setMany:bl,updateOne:_l,updateMany:gl,deleteOne:Ml,deleteMany:xs,initialize:Ol});h(this,"selectors",{selectById:wl,selectByIds:vl})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.form],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{form__organization:e}},n);return this.dispatch(a(r)),r}}class qg extends E{constructor(){super(...arguments);h(this,"name","Form");h(this,"url","/forms");h(this,"actions",{addOne:Dl,addMany:jl,setOne:ql,setMany:Cl,updateOne:$l,updateMany:Ul,deleteOne:Ll,deleteMany:kl,initialize:zl});h(this,"selectors",{selectById:Hl,selectByIds:Wl})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected form with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error("Expected form to exist");const u=this.select(So(e)),d=this.select(El(e));this.dispatch(n(e)),this.dispatch(li(v(u))),this.dispatch(xs(v(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(c)),this.dispatch(Qs(d)),this.dispatch(ui(u)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class Cg extends j{constructor(){super(...arguments);h(this,"name","Form Submission Attachment");h(this,"url","/form-submission-attachments");h(this,"actions",{addOne:Zl,addMany:ii,setOne:Jl,setMany:Xl,updateOne:Ql,updateMany:xl,deleteOne:eo,deleteMany:ni,initialize:Yl});h(this,"selectors",{selectById:to,selectByIds:so})}getId(e){return e.uuid}getBlockers(e){return[e.form_submission]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,form_submission:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,r=this.select(ri(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(c){throw this.dispatch(a(r)),c}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{form_submission__form_revision__form__organization:e}},n)).flat();return this.dispatch(a(c)),c}}class $g extends E{constructor(){super(...arguments);h(this,"name","Form Submission");h(this,"url","/form-submissions");h(this,"actions",{addOne:lo,addMany:ui,setOne:ro,setMany:uo,updateOne:oo,updateMany:ho,deleteOne:po,deleteMany:li,initialize:co});h(this,"selectors",{selectById:yo,selectByIds:fo})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.form_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected submission with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${c.uuid}/`,payload:e,blockers:[c.uuid],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(io(e));this.dispatch(n(e)),this.dispatch(ni(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ii(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{limit:this.pageSize,paginate:!0,form_revision__form_organization:e}},n)).flat();return this.dispatch(a(c)),c}}class Ug extends j{constructor(){super(...arguments);h(this,"name","Geo Image");h(this,"url","/geo-images");h(this,"actions",{addOne:Fo,addMany:bo,setOne:Oo,setMany:Po,updateOne:_o,updateMany:go,deleteOne:Mo,deleteMany:Ro,initialize:To});h(this,"selectors",{selectById:vo,selectByIds:Eo})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,r=this.select(a(e.uuid));if(!r)throw new Error(`Geo image with uuid ${e.uuid} does not exist in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project:e}},n);return this.dispatch(a(r)),r}}class Lg extends E{constructor(){super(...arguments);h(this,"name","Issue Association");h(this,"url","/issue-associations");h(this,"actions",{addOne:$o,addMany:pt,setOne:jo,setMany:Do,updateOne:qo,updateMany:Co,deleteOne:Uo,deleteMany:mt,initialize:zo});h(this,"selectors",{selectById:ko,selectByIds:No})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue,e.asset],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(p=>O({...p,submitted_at:u,created_by:c}));this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{payloads:d.map(p=>M(p)),submitted_at:u},blockers:d.flatMap(p=>[p.issue,p.asset]),blocks:v(d)});return m.then(p=>{this.dispatch(r(p))}).catch(()=>{this.dispatch(a(v(d)))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Issue association with uuid ${e} not found in store.`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class kg extends j{constructor(){super(...arguments);h(this,"name","Issue Attachment");h(this,"url","/issue-attachments");h(this,"actions",{addOne:Xo,addMany:fi,setOne:Qo,setMany:xo,updateOne:eh,updateMany:th,deleteOne:sh,deleteMany:Si,initialize:Jo});h(this,"selectors",{selectById:ah,selectByIds:ch})}getId(e){return e.uuid}getBlockers(e){return[e.issue]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Ng extends j{constructor(){super(...arguments);h(this,"name","Issue Comment Attachment");h(this,"url","/issue-comment-attachments");h(this,"actions",{addOne:lh,addMany:oh,setOne:hh,setMany:ph,updateOne:mh,updateMany:yh,deleteOne:fh,deleteMany:Sh,initialize:uh});h(this,"selectors",{selectById:Ih,selectByIds:Th})}getId(e){return e.uuid}getBlockers(e){return[e.issue_comment]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,c=(await this.listPaginated({queryParams:{issue_comment__issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Gg extends E{constructor(){super(...arguments);h(this,"name","Issue Comment");h(this,"url","/issue-comments");h(this,"actions",{addOne:bh,addMany:_h,setOne:gh,setMany:Mh,updateOne:Rh,updateMany:wh,deleteOne:vh,deleteMany:Eh,initialize:Fh});h(this,"selectors",{selectById:Bh,selectByIds:Vh})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=O({...e,author:this.select(d=>d.userReducer.currentUser.id),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.issue],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{setMany:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}class Hg extends E{constructor(){super(...arguments);h(this,"name","Issue");h(this,"url","/issues");h(this,"actions",{addOne:qh,addMany:bi,setOne:Ch,setMany:$h,updateOne:Uh,updateMany:Lh,deleteOne:kh,deleteMany:_i,initialize:jh});h(this,"selectors",{selectById:Gh,selectByIds:Hh})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=new Date().toISOString(),u=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),d=O({...e,submitted_at:c,created_by:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.project,d.issue_type,d.status],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Attempting to update an issue with uuid ${e.uuid} that doesn't exist in the store`);const c={...r,...e};this.dispatch(n(c));const u={};for(const p of[$.TITLE,$.DESCRIPTION,$.STATUS,$.PRIORITY,$.ASSIGNED_TO,$.DUE_DATE])if(p in e&&e[p]!==r[p])switch(p){case $.PRIORITY:u[p]=e.priority;break;case $.DUE_DATE:u[p]=e.due_date;break;case $.DESCRIPTION:u[p]=e.description??"";break;case $.TITLE:u[p]=e.title??"";break;case $.STATUS:{const f=e[p],I=this.select(Ni(f));if(!I)throw new Error(`Trying to update issue type status with ${f} which does not exist in store`);u[p]={name:I.name,color:I.color,uuid:I.uuid};break}case $.ASSIGNED_TO:{const f=e[p];if(f===null)u[p]=null;else{const I=this.select(Jt(f));if(!I)throw new Error(`Trying to update assigned to with ${f} which does not exist in store.`);u[p]={full_name:I.username,id:I.id}}break}}const d=O({created_by:this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),submitted_at:new Date().toISOString(),issue:r.uuid,changes:u});this.dispatch(Hi(d));const m=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return m.then(p=>{this.dispatch(n(p))}).catch(()=>{this.dispatch(n(r)),this.dispatch(Ki(d.uuid))}),[c,m]}bulkUpdate(e,n){const{updateMany:a}=this.actions,{selectByIds:r}=this.selectors,c=v(e).toSorted(zt);if(c.length!==e.length)throw new Error("payloads contains duplicate uuids.");const u=this.select(r(c)).toSorted(ls);if(c.length!=u.length)throw new Error(`Attempting to bulk update ${c.length-u.length} issues that dont exist in the store`);const d=[];for(let I=0;I<c.length;I++)d.push({...u[I],...e[I]});this.dispatch(a(d));const m=nt(e,Math.min(n??e.length,k)),p=[];let f=null;for(const I of m){const R=at.v4(),b=v(I),g=I.map(({status:w})=>w).filter(Boolean),_=this.enqueueRequest({description:A(o.PATCH,this.name,!0),method:o.PATCH,url:`${this.url}/bulk/`,payload:{payloads:I},blockers:(f?[f]:[]).concat(b).concat(g),blocks:[R].concat(b)});p.push(_),f=R}return Promise.all(p).then(I=>{this.dispatch(a(I.flat()))}).catch(()=>{this.dispatch(a(u))}),[d,p]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No issue with uuid ${e} found in the store`);const u=this.select(Ho(e)),d=this.select(nh(e)),m=this.select(Ay(e));this.dispatch(n(e)),this.dispatch(Si(v(d))),this.dispatch(Yi(v(m))),this.dispatch(mt(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(p){throw this.dispatch(a(c)),this.dispatch(fi(d)),this.dispatch(Wi(m)),this.dispatch(pt(u)),p}}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e)),u=this.select(Go(e));this.dispatch(a(e)),this.dispatch(mt(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(d){throw this.dispatch(n(c)),this.dispatch(pt(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class Wg extends j{constructor(){super(...arguments);h(this,"name","Issue Type Attachment");h(this,"url","/issue-type-attachments");h(this,"actions",{addOne:Jh,addMany:Xh,setOne:Qh,setMany:xh,updateOne:ep,updateMany:tp,deleteOne:sp,deleteMany:ip,initialize:Zh});h(this,"selectors",{selectById:ap,selectByIds:cp})}getId(e){return e.uuid}getBlockers(e){return[e.issue_type]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Kg extends j{constructor(){super(...arguments);h(this,"name","Issue Type Fields Attachment");h(this,"url","/issue-type-fields-attachments");h(this,"actions",{addOne:lp,addMany:op,setOne:hp,setMany:pp,updateOne:mp,updateMany:yp,deleteOne:fp,deleteMany:Sp,initialize:up});h(this,"selectors",{selectById:Ip,selectByIds:Tp})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Yg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Fields");h(this,"url","/issue-type-fields");h(this,"actions",{addOne:Cp,addMany:$p,setOne:Up,setMany:Lp,updateOne:kp,updateMany:Np,deleteOne:Gp,deleteMany:Hp,initialize:qp});h(this,"selectors",{selectById:Kp,selectByIds:Yp})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.issue_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Zg extends j{constructor(){super(...arguments);h(this,"name","Issue Type Field Values Attachment");h(this,"url","/issue-type-field-values-attachments");h(this,"actions",{addOne:Qp,addMany:Vi,setOne:xp,setMany:em,updateOne:tm,updateMany:sm,deleteOne:im,deleteMany:zi,initialize:Xp});h(this,"selectors",{selectById:am,selectByIds:cm})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Jg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Field Values");h(this,"url","/issue-type-field-values");h(this,"actions",{addOne:bp,addMany:_p,setOne:gp,setMany:Mp,updateOne:Rp,updateMany:wp,deleteOne:vp,deleteMany:Ep,initialize:Fp});h(this,"selectors",{selectById:Vp,selectByIds:zp})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected IssueTypeFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.fields_revision,c.issue],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(rm(e));this.dispatch(n(e)),this.dispatch(zi(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Vi(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class Xg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Identifier");h(this,"url","/issue-type-identifiers");h(this,"actions",{addOne:om,addMany:hm,setOne:pm,setMany:mm,updateOne:ym,updateMany:fm,deleteOne:Sm,deleteMany:Am,initialize:lm});h(this,"selectors",{selectById:Tm,selectByIds:Om})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.issue_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected issue type identifier with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected issue type identifier with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class Qg extends E{constructor(){super(...arguments);h(this,"name","Issue Type Identifier Value");h(this,"url","/issue-type-identifier-values");h(this,"actions",{addOne:_m,addMany:gm,setOne:Mm,setMany:Rm,updateOne:wm,updateMany:vm,deleteOne:Em,deleteMany:Bm,initialize:bm});h(this,"selectors",{selectById:zm,selectByIds:Dm})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue,e.issue_type_identifier],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected issue type identifier value with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class xg extends E{constructor(){super(...arguments);h(this,"name","Issue Type");h(this,"url","/issue-types");h(this,"actions",{addOne:$m,addMany:Um,setOne:Lm,setMany:km,updateOne:Nm,updateMany:Gm,deleteOne:Hm,deleteMany:Wm,initialize:Cm});h(this,"selectors",{selectById:Ym,selectByIds:Zm})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,submitted_at:u,created_by:c});this.dispatch(n(d));const m=this.enqueueRequest({method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`IssueType with uuid ${e.uuid} does not exist in the store.`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`IssueType with uuid ${e} does not exist in the store.`);const u=this.select(Wh(e));this.dispatch(n(e)),this.dispatch(_i(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(bi(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class eM extends E{constructor(){super(...arguments);h(this,"name","Issue Type Status");h(this,"url","/issue-type-statuses");h(this,"actions",{addOne:xm,addMany:ey,setOne:ty,setMany:sy,updateOne:iy,updateMany:ny,deleteOne:ay,deleteMany:cy,initialize:Qm});h(this,"selectors",{selectById:Ni,selectByIds:dy})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.issue_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected an existing issue type status with uuid ${e.uuid}`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No issue type status with uuid ${e} found in the store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{issue_type__organization:e}},n);return this.dispatch(a(r)),r}}class tM extends E{constructor(){super(...arguments);h(this,"name","Issue Update");h(this,"url","/issue-updates");h(this,"actions",{addOne:Hi,addMany:Wi,setOne:hy,setMany:py,updateOne:my,updateMany:yy,deleteOne:Ki,deleteMany:Yi,initialize:oy});h(this,"selectors",{selectById:fy,selectByIds:Sy})}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{issue__project:e}},n)).flat();return this.dispatch(a(c)),c}}const sM=1800;function iM(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 nM extends mg{constructor(){super(...arguments);h(this,"_getRenewedTokens",async e=>{const n=this.performRequest({method:o.POST,url:this.refreshTokensUrl,payload:{refresh:e},isAuthNeeded:!1,checkAuth:!1});let a;try{a=await n}catch(r){console.error("Could not renew tokens; clearing auth",r),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($d(!1)),this.clearTokens(),this.dispatch(T()),this.dispatch(T())}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=BF(e).exp??n}catch{a=n}return a-n<sM}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 U&&this.clearAuth(),e instanceof Error?Promise.reject(e):Promise.reject(new Error((e??At).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 U({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 U({message:"Incorrect username or password.",response:n,discard:!0})}async initAuth(e){const n=at.v4();return console.debug(this.constructor.name,"Initiating auth"),this.performRequest({uuid:n,method:o.POST,url:this.initTokensUrl,payload:e,isAuthNeeded:!1,checkAuth:!1}).then(a=>{this.setTokens(iM(a))})}}class aM extends lt{constructor(){super(...arguments);h(this,"name","Organization Access");h(this,"url","/organization-accesses");h(this,"actions",{addOne:Vy,addMany:zy,setOne:Dy,setMany:jy,updateOne:qy,updateMany:Cy,deleteOne:$y,deleteMany:Uy,initialize:By});h(this,"selectors",{selectById:ky,selectByIds:Ny})}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid)),c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e)),u=this.select(Jt(c.user));this.dispatch(n(c.uuid)),this.dispatch(xi(c.user));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${c.uuid}/`,blockers:[c.uuid],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Qi(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class cM extends lt{constructor(){super(...arguments);h(this,"name","Organization");h(this,"url","/organizations");h(this,"actions",{addOne:Jy,addMany:Zy,setOne:Yy,setMany:Ky,updateOne:Qy,updateMany:Xy,deleteOne:xy,deleteMany:ef,initialize:Wy});h(this,"selectors",{selectById:nf,selectByIds:af})}async add(e){const{addOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.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:A(o.PATCH,this.name,!1),method:o.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:A(o.POST,this.name,!1),method:o.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 rM extends E{constructor(){super(...arguments);h(this,"name","Project Access");h(this,"url","/project-accesses");h(this,"actions",{addOne:yf,addMany:ff,setOne:Sf,setMany:Af,updateOne:If,updateMany:Tf,deleteOne:Of,deleteMany:Pf,initialize:mf});h(this,"selectors",{selectById:bf,selectByIds:_f})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.organization_access,c.project],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(d=>{throw this.dispatch(r(c.uuid)),d}),[c,u]}bulkAdd(e){const{addMany:n,deleteMany:a,updateMany:r}=this.actions,c=this.select(m=>{var p;return((p=m.userReducer.currentUser)==null?void 0:p.id)??null}),u=e.map(m=>O({...m,created_by:c}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{project_accesses:u.map(m=>M(m))},blockers:u.flatMap(m=>[m.project,m.organization_access]),blocks:u.map(m=>m.uuid)});return d.then(m=>{this.dispatch(r(m))}).catch(m=>{throw this.dispatch(a(u.map(p=>p.uuid))),m}),[u,d]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid)),c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[e.uuid],blocks:[]});return u.then(d=>{this.dispatch(n(d))}).catch(d=>{throw this.dispatch(n(r)),d}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(r)),r}}class dM extends j{constructor(){super(...arguments);h(this,"name","Project Attachment");h(this,"url","/project-attachments");h(this,"actions",{addOne:Rf,addMany:wf,setOne:vf,setMany:Ef,updateOne:Bf,updateMany:Vf,deleteOne:zf,deleteMany:Df,initialize:Mf});h(this,"selectors",{selectById:qf,selectByIds:Cf})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,r=await this.list({queryParams:{project__organization:e}},n);return this.dispatch(a(r)),r}}class uM extends j{constructor(){super(...arguments);h(this,"name","Project File");h(this,"url","/project-files");h(this,"actions",{addOne:Gf,addMany:Hf,setOne:kf,setMany:Nf,updateOne:Wf,updateMany:Kf,deleteOne:Yf,deleteMany:Zf,initialize:Lf});h(this,"selectors",{selectById:Qf,selectByIds:xf})}getId(e){return e.uuid}getBlockers(e){return[e.project]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...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,r=this.select(a(e.uuid));if(!r)throw new Error(`${this.name} with uuid ${e.uuid} does not exist in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blocks:[e.uuid],blockers:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class lM extends lt{constructor(){super(...arguments);h(this,"name","Project");h(this,"url","/projects");h(this,"actions",{addOne:cS,addMany:aS,setOne:nS,setMany:iS,updateOne:dS,updateMany:rS,deleteOne:uS,deleteMany:lS,initialize:sS});h(this,"selectors",{selectById:pS,selectByIds:mS})}async add(e){const{addOne:n}=this.actions,a=await this.performRequest({method:o.POST,url:`${this.url}/`,payload:M(e)});return this.dispatch(n(a)),a}async update(e){const{updateOne:n}=this.actions,a=await this.performRequest({method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e)});return this.dispatch(n(a)),a}async delete(e){const{deleteOne:n}=this.actions,a=await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]});return this.dispatch(n(e)),a}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class oM extends E{constructor(){super(...arguments);h(this,"name","Procedure");h(this,"url","/procedures");h(this,"actions",{addOne:ES,addMany:ft,setOne:BS,setMany:VS,updateOne:zS,updateMany:DS,deleteOne:jS,deleteMany:St,initialize:vS});h(this,"selectors",{selectById:$S,selectByIds:US})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type,c.project,c.asset,...c.procedure_initiative?[c.procedure_initiative]:[]],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e,n){var b;const{store:a}=this.client,{addMany:r,updateMany:c,deleteMany:u}=this.actions,d=new Date().toISOString(),m=((b=a.getState().userReducer.currentUser)==null?void 0:b.id)??null,p=[],f=nt(e,Math.min(n??e.length,k)),I=[];for(const g of f){const _=[],w=[],B=[];for(const D of g){const z=O({...D,submitted_at:d,created_by:m});p.push(z),_.push(M(z)),w.push(z.procedure_type,z.project,z.asset,...z.procedure_initiative?[z.procedure_initiative]:[]),B.push(z.uuid)}const C={payload:{submitted_at:d,payloads:_},blockers:w,blocks:B};I.push(C)}this.dispatch(r(p));const R=I.map(g=>{const{payload:_,blocks:w,blockers:B}=g;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:_,blockers:B,blocks:w})});return Promise.all(R).then(g=>{this.dispatch(c(g.flat()))}).catch(()=>{this.dispatch(u(v(p)))}),[p,Promise.all(R).then(g=>g.flat())]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected procedure with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{addMany:n,deleteMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(a(v(c)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class hM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Assignee");h(this,"url","/procedure-step-assignees");h(this,"actions",{addOne:KS,addMany:YS,setOne:ZS,setMany:JS,updateOne:XS,updateMany:QS,deleteOne:xS,deleteMany:eA,initialize:WS});h(this,"selectors",{selectById:sA,selectByIds:iA})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(p=>O({...p,created_by:c,submitted_at:u}));this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_assignees:d.map(p=>M(p)),submitted_at:u},blockers:d.flatMap(p=>[p.procedure,p.procedure_step]),blocks:v(d)});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(v(d)))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class pM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Comment");h(this,"url","/procedure-step-comments");h(this,"actions",{addOne:rA,addMany:dA,setOne:uA,setMany:lA,updateOne:oA,updateMany:hA,deleteOne:pA,deleteMany:mA,initialize:cA});h(this,"selectors",{selectById:fA,selectByIds:SA})}add(e){const{addOne:n,updateOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Procedure step comment with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Procedure step comment with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class mM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Default Assignee");h(this,"url","/procedure-step-default-assignees");h(this,"actions",{addOne:OA,addMany:PA,setOne:FA,setMany:bA,updateOne:_A,updateMany:gA,deleteOne:MA,deleteMany:RA,initialize:TA});h(this,"selectors",{selectById:vA,selectByIds:EA})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step default assignee with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class yM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Default Reviewer");h(this,"url","/procedure-step-default-reviewers");h(this,"actions",{addOne:DA,addMany:jA,setOne:qA,setMany:CA,updateOne:$A,updateMany:UA,deleteOne:LA,deleteMany:kA,initialize:zA});h(this,"selectors",{selectById:GA,selectByIds:HA})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step default reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class fM extends lt{constructor(){super(...arguments);h(this,"name","Procedure Step Event");h(this,"url","/procedure-step-events");h(this,"actions",{addOne:ZA,addMany:JA,setOne:XA,setMany:QA,updateOne:xA,updateMany:eI,deleteOne:tI,deleteMany:sI,initialize:YA});h(this,"selectors",{selectById:nI,selectByIds:aI})}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class SM extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Fields Attachment");h(this,"url","/procedure-step-fields-attachments");h(this,"actions",{addOne:uI,addMany:On,setOne:lI,setMany:oI,updateOne:hI,updateMany:pI,deleteOne:mI,deleteMany:Pn,initialize:dI});h(this,"selectors",{selectById:SI,selectByIds:AI})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){return O({...e,created_by:this.select(n=>{var a;return((a=n.userReducer.currentUser)==null?void 0:a.id)??null}),submitted_at:new Date().toISOString()})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class AM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Fields");h(this,"url","/procedure-step-fields");h(this,"actions",{addOne:PI,addMany:FI,setOne:bI,setMany:_I,updateOne:gI,updateMany:MI,deleteOne:RI,deleteMany:wI,initialize:OI});h(this,"selectors",{selectById:vI,selectByIds:EI})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step fields with uuid ${e} to exist`);const u=this.select(fI(e));this.dispatch(n(e)),this.dispatch(Pn(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(On(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_step__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class IM extends j{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Attachment");h(this,"url","/procedure-step-field-values-attachments");h(this,"actions",{addOne:DI,addMany:Mn,setOne:jI,setMany:qI,updateOne:CI,updateMany:$I,deleteOne:UI,deleteMany:Rn,initialize:zI});h(this,"selectors",{selectById:kI,selectByIds:NI})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class TM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values Review");h(this,"url","/procedure-step-field-values-reviews");h(this,"actions",{addOne:dT,addMany:Bn,setOne:uT,setMany:lT,updateOne:oT,updateMany:hT,deleteOne:pT,deleteMany:Vn,initialize:rT});h(this,"selectors",{selectById:yT,selectByIds:fT})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.field_values],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Procedure step field values review with uuid ${e.uuid} not found in store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.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))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Procedure step field values review with uuid ${e} not found in store`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class OM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Field Values");h(this,"url","/procedure-step-field-values");h(this,"actions",{addOne:YI,addMany:ZI,setOne:JI,setMany:XI,updateOne:QI,updateMany:xI,deleteOne:eT,deleteMany:tT,initialize:KI});h(this,"selectors",{selectById:nT,selectByIds:aT})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.procedure,e.procedure_step,e.fields_revision],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(R=>{var b;return((b=R.userReducer.currentUser)==null?void 0:b.id)??null}),m=[],p=nt(e,Math.min(n??e.length,k)),f=[];for(const R of p){const b=[],g=[],_=[];for(const w of R){const B=O({...w,values:w.values,created_by:d,submitted_at:u});m.push(B),b.push(M(B)),g.push(B.procedure_step,B.procedure,B.fields_revision),_.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:g,blocks:_})}this.dispatch(a(m));const I=f.map(R=>{const{payload:b,blocks:g,blockers:_}=R;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:_,blocks:g})});return Promise.all(I).then(R=>{this.dispatch(r(R.flat()))}).catch(()=>{this.dispatch(c(v(m)))}),[m,Promise.all(I).then(R=>R.flat())]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.uuid,c.procedure,c.procedure_step,c.fields_revision],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected ProcedureStepFieldValues with uuid ${e} to exist`);const u=this.select(GI(e)),d=this.select(ST(e));this.dispatch(n(e)),this.dispatch(Rn(v(u))),this.dispatch(Vn(v(d)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(m){throw this.dispatch(a(c)),this.dispatch(Mn(u)),this.dispatch(Bn(d)),m}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class PM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step Reviewer");h(this,"url","/procedure-step-reviewers");h(this,"actions",{addOne:OT,addMany:PT,setOne:FT,setMany:bT,updateOne:_T,updateMany:gT,deleteOne:MT,deleteMany:RT,initialize:TT});h(this,"selectors",{selectById:vT,selectByIds:ET})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure,c.procedure_step],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=e.map(p=>O({...p,created_by:c,submitted_at:u}));this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{procedure_step_reviewers:d.map(p=>M(p)),submitted_at:u},blockers:d.flatMap(p=>[p.procedure,p.procedure_step]),blocks:d.map(p=>p.uuid)});return m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.map(p=>p.uuid)))}),[d,m]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure step reviewer with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e}},n)).flat();return this.dispatch(a(c)),c}}class FM extends E{constructor(){super(...arguments);h(this,"name","Procedure Initiative");h(this,"url","/procedure-initiatives");h(this,"actions",{addOne:SS,addMany:AS,setOne:IS,setMany:TS,updateOne:OS,updateMany:PS,deleteOne:FS,deleteMany:bS,initialize:fS});h(this,"selectors",{selectById:MS,selectByIds:RS})}add(e){var m;const{store:n}=this.client,{addOne:a,setOne:r,deleteOne:c}=this.actions,u=O({...e,created_by:((m=n.getState().userReducer.currentUser)==null?void 0:m.id)??null,submitted_at:new Date().toISOString()});this.dispatch(a(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(u),blockers:[u.procedure_type,u.project],blocks:[u.uuid]});return d.then(p=>{this.dispatch(r(p))}).catch(()=>{this.dispatch(c(u.uuid))}),[u,d]}update(e){const{updateOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ${this.name} with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected ${this.name} with uuid ${e} to exist`);const u=this.select(GS(e));this.dispatch(n(e)),this.dispatch(St(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ft(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{project:e}},n)).flat();return this.dispatch(a(c)),c}}class bM extends E{constructor(){super(...arguments);h(this,"name","Procedure Step");h(this,"url","/procedure-steps");h(this,"actions",{addOne:qT,addMany:CT,setOne:DT,setMany:jT,updateOne:$T,updateMany:UT,deleteOne:LT,deleteMany:kT,initialize:zT});h(this,"selectors",{selectById:GT,selectByIds:HT})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[c.procedure_type],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`No procedure step with uuid ${e.uuid} found in the store`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${r.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{addOne:n,deleteOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`No procedure step with uuid ${e} found in the store`);this.dispatch(a(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(u){throw this.dispatch(n(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class _M extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Attachment");h(this,"url","/procedure-type-attachments");h(this,"actions",{addOne:YT,addMany:ZT,setOne:JT,setMany:XT,updateOne:QT,updateMany:xT,deleteOne:eO,deleteMany:tO,initialize:KT});h(this,"selectors",{selectById:nO,selectByIds:aO})}getId(e){return e.uuid}getBlockers(e){return[e.procedure_type]}getBlocks(e){return[e.uuid]}buildModel(e){const{procedure_type:n,file_sha1:a,file_extension:r,file_name:c,file_type:u,file_url:d}=e,m=this.select(f=>{var I;return((I=f.userReducer.currentUser)==null?void 0:I.id)??null}),p=new Date().toISOString();return O({file_url:d,file_sha1:a,file_extension:r,file_name:c,file_type:u,created_by:m,submitted_at:p,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,procedure_type:e.procedure_type}}buildBulkPayload(e){return{uuid:e.uuid,file_name:e.file_name,file_sha1:e.file_sha1,file_extension:e.file_extension,procedure_type:e.procedure_type}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class gM extends j{constructor(){super(...arguments);h(this,"name","Procedure Type Fields Attachment");h(this,"url","/procedure-type-fields-attachments");h(this,"actions",{addOne:dO,addMany:uO,setOne:lO,setMany:oO,updateOne:hO,updateMany:pO,deleteOne:mO,deleteMany:yO,initialize:rO});h(this,"selectors",{selectById:AO,selectByIds:IO})}getId(e){return e.uuid}getBlockers(e){return[e.fields_revision]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,fields_revision:r,file_sha1:c,file_name:u,file_extension:d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{fields_revision__procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class MM extends E{constructor(){super(...arguments);h(this,"name","Procedure Type Fields");h(this,"url","/procedure-type-fields");h(this,"actions",{addOne:PO,addMany:FO,setOne:bO,setMany:_O,updateOne:gO,updateMany:MO,deleteOne:RO,deleteMany:wO,initialize:OO});h(this,"selectors",{selectById:BO,selectByIds:VO})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u});this.dispatch(n(d));const m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[d.procedure_type],blocks:[d.uuid]});return m.then(p=>{this.dispatch(a(p))}).catch(p=>{throw this.dispatch(r(d.uuid)),p}),[d,m]}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{procedure_type__organization:e}},n);return this.dispatch(a(r)),r}}class RM extends j{constructor(){super(...arguments);h(this,"name","Procedure Field Values Attachment");h(this,"url","/procedure-field-values-attachments");h(this,"actions",{addOne:jO,addMany:Gn,setOne:qO,setMany:CO,updateOne:$O,updateMany:UO,deleteOne:LO,deleteMany:Hn,initialize:DO});h(this,"selectors",{selectById:GO,selectByIds:HO})}getId(e){return e.uuid}getBlockers(e){return[e.field_values]}getBlocks(e){return[e.uuid]}buildModel(e){const n=this.select(r=>{var c;return((c=r.userReducer.currentUser)==null?void 0:c.id)??null}),a=new Date().toISOString();return O({...e,created_by:n,submitted_at:a})}buildPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,submitted_at:e.submitted_at,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}buildBulkPayload(e){const{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}=e;return{uuid:n,field_identifier:a,field_values:r,file_sha1:c,file_name:u,file_extension:d}}async bulkDelete(e){const{deleteMany:n,addMany:a}=this.actions,{selectByIds:r}=this.selectors,c=this.select(r(e));this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!0),method:o.DELETE,url:`${this.url}/bulk/`,payload:{uuids:e},blockers:e,blocks:[]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{field_values__procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class wM extends E{constructor(){super(...arguments);h(this,"name","Procedure Field Values");h(this,"url","/procedure-field-values");h(this,"actions",{addOne:ZO,addMany:JO,setOne:XO,setMany:QO,updateOne:xO,updateMany:eP,deleteOne:tP,deleteMany:sP,initialize:YO});h(this,"selectors",{selectById:aP,selectByIds:cP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=this.select(p=>{var f;return((f=p.userReducer.currentUser)==null?void 0:f.id)??null}),u=new Date().toISOString(),d=O({...e,created_by:c,submitted_at:u}),m=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(d),blockers:[e.fields_revision,e.procedure],blocks:[d.uuid]});return this.dispatch(n(d)),m.then(p=>{this.dispatch(a(p))}).catch(()=>{this.dispatch(r(d.uuid))}),[d,m]}bulkAdd(e,n){const{addMany:a,updateMany:r,deleteMany:c}=this.actions,u=new Date().toISOString(),d=this.select(R=>{var b;return((b=R.userReducer.currentUser)==null?void 0:b.id)??null}),m=[],p=nt(e,Math.min(n??e.length,k)),f=[];for(const R of p){const b=[],g=[],_=[];for(const w of R){const B=O({...w,values:w.values,created_by:d,submitted_at:u});m.push(B),b.push(M(B)),g.push(B.procedure,B.fields_revision),_.push(B.uuid)}f.push({payload:{payloads:b,submitted_at:u},blockers:g,blocks:_})}this.dispatch(a(m));const I=f.map(R=>{const{payload:b,blocks:g,blockers:_}=R;return this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:b,blockers:_,blocks:g})});return Promise.all(I).then(R=>{this.dispatch(r(R.flat()))}).catch(()=>{this.dispatch(c(v(m)))}),[m,Promise.all(I).then(R=>R.flat())]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected ProcedureFieldValues with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[c.fields_revision,c.procedure],blocks:[c.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected submission with uuid ${e} to exist`);const u=this.select(WO(e));this.dispatch(n(e)),this.dispatch(Hn(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(Gn(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,c=(await this.listPaginated({queryParams:{procedure__project:e,latest:!0}},n)).flat();return this.dispatch(a(c)),c}}class vM extends E{constructor(){super(...arguments);h(this,"name","Procedure Type");h(this,"url","/procedure-types");h(this,"actions",{addOne:uP,addMany:lP,setOne:oP,setMany:hP,updateOne:pP,updateMany:mP,deleteOne:yP,deleteMany:fP,initialize:dP});h(this,"selectors",{selectById:IP,selectByIds:TP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null}),submitted_at:new Date().toISOString()});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected procedure type with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:e,blockers:[r.uuid],blocks:[r.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,addOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected procedure type with uuid ${e} to exist`);const u=this.select(LS(e));this.dispatch(n(e)),this.dispatch(St(v(u)));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[]})}catch(d){throw this.dispatch(a(c)),this.dispatch(ft(u)),d}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class EM extends E{constructor(){super(...arguments);h(this,"name","Team Membership");h(this,"url","/team-memberships");h(this,"actions",{addOne:bP,addMany:_P,setOne:gP,setMany:MP,updateOne:RP,updateMany:wP,deleteOne:vP,deleteMany:EP,initialize:FP});h(this,"selectors",{selectById:zP,selectByIds:DP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[e.team],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}bulkAdd(e){const{addMany:n,setMany:a,deleteMany:r}=this.actions,c=this.select(m=>{var p;return((p=m.userReducer.currentUser)==null?void 0:p.id)??null}),u=e.map(m=>O({...m,created_by:c}));this.dispatch(n(u));const d=this.enqueueRequest({description:A(o.POST,this.name,!0),method:o.POST,url:`${this.url}/bulk/`,payload:{team_memberships:u.map(m=>M(m))},blockers:u.map(m=>m.team),blocks:u.map(m=>m.uuid)});return d.then(m=>{this.dispatch(a(m))}).catch(()=>{this.dispatch(r(u.map(m=>m.uuid)))}),[u,d]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected team membership with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{team__organization:e}},n);return this.dispatch(a(r)),r}}class BM extends E{constructor(){super(...arguments);h(this,"name","Team");h(this,"url","/teams");h(this,"actions",{addOne:CP,addMany:$P,setOne:UP,setMany:LP,updateOne:kP,updateMany:NP,deleteOne:GP,deleteMany:HP,initialize:qP});h(this,"selectors",{selectById:KP,selectByIds:YP})}add(e){const{addOne:n,setOne:a,deleteOne:r}=this.actions,c=O({...e,submitted_at:new Date().toISOString(),created_by:this.select(d=>{var m;return((m=d.userReducer.currentUser)==null?void 0:m.id)??null})});this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.POST,this.name,!1),method:o.POST,url:`${this.url}/`,payload:M(c),blockers:[],blocks:[c.uuid]});return u.then(d=>{this.dispatch(a(d))}).catch(()=>{this.dispatch(r(c.uuid))}),[c,u]}update(e){const{setOne:n}=this.actions,{selectById:a}=this.selectors,r=this.select(a(e.uuid));if(!r)throw new Error(`Expected team with uuid ${e.uuid} to exist`);const c={...r,...e};this.dispatch(n(c));const u=this.enqueueRequest({description:A(o.PATCH,this.name,!1),method:o.PATCH,url:`${this.url}/${e.uuid}/`,payload:M(e),blockers:[e.uuid],blocks:[e.uuid]});return u.then(d=>{this.dispatch(n(d))}).catch(()=>{this.dispatch(n(r))}),[c,u]}async delete(e){const{deleteOne:n,setOne:a}=this.actions,{selectById:r}=this.selectors,c=this.select(r(e));if(!c)throw new Error(`Expected team with uuid ${e} to exist`);this.dispatch(n(e));try{return await this.enqueueRequest({description:A(o.DELETE,this.name,!1),method:o.DELETE,url:`${this.url}/${e}/`,blockers:[e],blocks:[e]})}catch(u){throw this.dispatch(a(c)),u}}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({queryParams:{organization:e}},n);return this.dispatch(a(r)),r}}class VM extends lt{constructor(){super(...arguments);h(this,"name","User");h(this,"url","/user");h(this,"actions",{addOne:Qi,addMany:by,setOne:Fy,setMany:Py,updateOne:gy,updateMany:_y,deleteOne:xi,deleteMany:My,initialize:Oy});h(this,"selectors",{selectById:Jt,selectByIds:vy})}async list(e,n){const{organizationUuid:a,...r}=e,c=a?`/organizations/${a}${this.url}s/`:`/${this.url}`;return this.performRequest({method:o.GET,url:c,...r},n)}async refreshStore(e,n){const{initialize:a}=this.actions,r=await this.list({organizationUuid:e},n);return this.dispatch(a(r)),r}}async function na(t,s,e,n,a){const r=n instanceof ut;r&&s.checkAuth!==!1&&await n.auth.prepareAuth();const c={queryParams:"",isAuthNeeded:!0},{s3url:u,payload:d,headers:m,method:p,queryParams:f,attachmentHash:I,isExternalUrl:R,isAuthNeeded:b,isResponseBlob:g}={...c,...s};let _=s.url;const w=I?await e.files.fetchCache(I):void 0;if(I&&!w)throw new Error(`Cannot upload file ${I} because it's not cached.`);!R&&!_.startsWith("http")&&(!_.startsWith("/")&&!_.startsWith("blob:")&&(_="/"+_),_=t+_);const B=q=>{if(I){if(!u)throw new Error(`No S3 URL for file ${I}`);if("warning"in u)throw new Error(`S3 URL warning for file ${I}`);if(!w)throw new Error(`No file for file ${I}`);const N=u.fields["x-amz-checksum-sha1"];if(!N)throw new Error(`No checksum for file ${I}`);return q.set("x-amz-checksum-sha1",N).field({...d,...u.fields}).attach("file",w)}return q.send(d)},D={[o.GET]:()=>g?ht.get(_.toString()).responseType("blob"):ht.get(_.toString()),[o.POST]:()=>{const q=ht.post(_.toString());return B(q)},[o.PATCH]:()=>{const q=ht.patch(_.toString());return B(q)},[o.PUT]:()=>{const q=ht.put(_.toString());return B(q)},[o.DELETE]:()=>{const q=ht.delete(_.toString());return B(q)}}[p];let z=D();const Ot=()=>{console.debug("aborting request:",s.url),z.abort()};if(a==null||a.addEventListener("abort",Ot),b&&r){const q=n.auth.getAuthHeader();z=z.set("Authorization",q)}m&&(z=z.set(m));try{return await z.query(f)}catch(q){const N=hF(q),is=N==null?void 0:N.status;if(r&&is===401)return await n.auth.handleUnauthorized(z,N),z.query(f);throw new U({response:N,innerError:q,discard:sa.includes(is)})}finally{a==null||a.removeEventListener("abort",Ot)}}class zM{constructor(s){h(this,"store");this.store=s}_performRequest(s,e,n,a){const r=new as,c={...e,uuid:e.uuid??at.v4()};return na(s,c,this,n,a).then(u=>{r.resolve(u.body)}).catch(u=>{u instanceof Error?r.reject(u):r.reject(new Error((u??At).toString()))}),r}async performRequest(s,e,n,a){return this._performRequest(s,e,n,a).then(r=>{if(r instanceof U)throw r;return r})}async enqueueRequest(s,e,n){return this._enqueueRequest(s,e,n).then(a=>{if(a instanceof U)throw a;return a})}_enqueueRequest(s,e,n){const a=new as,r={...s,BASE_URL:e,serviceName:n},c=this.store.dispatch(uf(r)),u=m=>{if(m)a.resolve(m.body);else{const p=new U({message:"Could not get a response from the server.",response:m,discard:!0});a.reject(p)}},d=m=>{m instanceof U?m.options.discard=!0:(console.error("Received an unexpected error while processing a request:",m,`
14
+ Converting error to APIError and discarding.`),m=new U({message:"An error occurred while processing the request.",innerError:m,discard:!0})),a.reject(m)};return c.then(u,d),a}async performPagination(s,e,n,a,r){const c={...e,queryParams:{...e.queryParams,paginate:!0,limit:n}},{method:u}=c,d=[];let m=await this.performRequest(s,c,a,r);for(d.push(m.results);m.next;)m=await this.performRequest(s,{url:m.next,method:u},a,r),d.push(m.results);return d}}class It{constructor(){h(this,"graph");h(this,"requestAttemptCounter");this.graph=new VF.DepGraph,this.requestAttemptCounter={}}static _fromOutbox(s){const e=new It;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 r=0;r<n;r++){const c=s[r];if(!c){console.error("Previous outbox item was undefined");continue}c.payload.uuid!==a.payload.uuid&&c.payload.blocks.some(u=>a.payload.blockers.includes(u))&&It._addDependency(a.payload.uuid,c.payload.uuid,e.graph)}}return e}_addDependency(s,e){It._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(r=>a.has(r))&&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(r=>a.has(r))&&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 r=this.requestAttemptCounter[a]||0;r<e&&(e=r,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(r=>r.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,r=this.requestAttemptCounter[n.payload.uuid]||0;return a-r}),s}registerRetry(s){this.requestAttemptCounter[s]=(this.requestAttemptCounter[s]||0)+1}}let pF;function mF(t){pF=t}function Tt(){return pF}let yF;function fF(t){yF=t}function SF(){return yF}let aa=null;function ot(){const t=Tt();if(!t)return console.warn("Client store not set; cannot get outbox coordinator yet."),null;if(aa)return aa;const s=t.getState().offline.outbox,e=It._fromOutbox(s);return aa=e,e}const DM=(t,s)=>{const e=new s(t);return fF(e),mF(t),e};class jM{constructor(s){h(this,"_all");h(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 ca{constructor(){h(this,"next");this.next=null}then(s){return new jM(this).then(s)}async run(s){if(this.next)return this.next.run(s);{if(console.debug("Middleware finished. Performing request:",s.payload.url),!Tt())throw new Error("Client store not set");const n=SF();if(!n)throw new Error("Client SDK not set");return uF(s,n)}}}class AF extends ca{async run(s){return super.run(s)}}class IF extends ca{async run(s){return super.run(s)}}const TF=new AF().then(new IF).compile();function OF(t){var s;return(s=TF[0])==null?void 0:s.run(t)}var PF=(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))(PF||{});i.ALL_MIDDLEWARE=TF,i.APIError=U,i.AgentService=yg,i.AssetAttachmentService=fg,i.AssetCommentService=Sg,i.AssetService=Ag,i.AssetStatusType=pa,i.AssetTypeAttachmentService=Ig,i.AssetTypeFieldValuesAttachmentService=Pg,i.AssetTypeFieldValuesService=Fg,i.AssetTypeFieldsAttachmentService=Tg,i.AssetTypeFieldsService=Og,i.AssetTypeIdentifierService=bg,i.AssetTypeIdentifierValueService=_g,i.AssetTypeService=gg,i.AssetTypeStatusService=Mg,i.AttachmentModel=ma,i.BaseApiService=ut,i.BaseModelApiService=lt,i.BaseOfflineFileModelApiService=j,i.BaseOfflineModelApiService=E,i.BaseSDK=zM,i.COMMON_AUTO_FIELDS=_a,i.DEFAULT_ISSUE_PRIORITY=zF,i.DEFAULT_PAGE_SIZE=xP,i.DISCARD_HTTP_STATUSES=sa,i.DeferredPromise=as,i.DocumentAttachmentService=Rg,i.DocumentService=wg,i.EMPTY_ARRAY=la,i.EMPTY_OBJECT=oa,i.EmailDomainsService=vg,i.EmailVerificationService=Eg,i.FILE_MODEL_DEFAULT_PAGE_SIZE=eF,i.FileService=Bg,i.FormIdentifierService=Vg,i.FormIdentifierValueService=zg,i.FormRevisionAttachmentService=Dg,i.FormRevisionService=jg,i.FormService=qg,i.FormSubmissionAttachmentService=Cg,i.FormSubmissionService=$g,i.GeoImageService=Ug,i.HttpMethod=o,i.IssueAssociationService=Lg,i.IssueAttachmentService=kg,i.IssueCommentAttachmentService=Ng,i.IssueCommentService=Gg,i.IssuePriority=ns,i.IssueService=Hg,i.IssueStatusType=ya,i.IssueTypeAttachmentService=Wg,i.IssueTypeFieldValuesAttachmentService=Zg,i.IssueTypeFieldValuesService=Jg,i.IssueTypeFieldsAttachmentService=Kg,i.IssueTypeFieldsService=Yg,i.IssueTypeIdentifierService=Xg,i.IssueTypeIdentifierValueService=Qg,i.IssueTypeService=xg,i.IssueTypeStatusService=eM,i.IssueUpdateChange=$,i.IssueUpdateService=tM,i.JWTService=nM,i.MAX_SERVICE_BATCH_SIZE=k,i.OUTBOX_RETRY_DELAY=Aa,i.OfflineAnalyticsMiddleware=AF,i.OfflineMiddleware=ca,i.OrganizationAccessLevel=ha,i.OrganizationAccessService=aM,i.OrganizationService=cM,i.OutboxCoordinator=It,i.ProcdureInitiativeService=FM,i.ProcedureFieldValuesAttachmentService=RM,i.ProcedureFieldValuesService=wM,i.ProcedureService=oM,i.ProcedureStepAssigneeService=hM,i.ProcedureStepCommentService=pM,i.ProcedureStepDefaultAssigneeService=mM,i.ProcedureStepDefaultReviewerService=yM,i.ProcedureStepEventService=fM,i.ProcedureStepEventType=fa,i.ProcedureStepFieldValuesAttachmentService=IM,i.ProcedureStepFieldValuesReviewService=TM,i.ProcedureStepFieldValuesReviewType=Sa,i.ProcedureStepFieldValuesService=OM,i.ProcedureStepFieldsAttachmentService=SM,i.ProcedureStepFieldsService=AM,i.ProcedureStepReviewerService=PM,i.ProcedureStepService=bM,i.ProcedureTypeAttachmentService=_M,i.ProcedureTypeFieldsAttachmentService=gM,i.ProcedureTypeFieldsService=MM,i.ProcedureTypeService=vM,i.ProjectAccessService=rM,i.ProjectAttachmentService=dM,i.ProjectFileService=uM,i.ProjectService=lM,i.RESET_ORGANIZATION_STATE=F,i.RESET_PROJECT_STATE=V,i.RESET_STATE=T,i.RateLimitingMiddleware=IF,i.SelectorBuilder=sb,i.TeamMembershipService=EM,i.TeamService=BM,i.UNKNOWN_ERROR_MESSAGE=At,i.UserService=VM,i.VERSION_REDUCER_KEY=Ft,i.VerificationCodeType=PF,i._setLatestRetryTime=of,i.addAsset=oc,i.addAssetAttachment=Ca,i.addAssetAttachments=ms,i.addAssetComment=Xa,i.addAssetComments=Dt,i.addAssetType=md,i.addAssetTypeAttachment=bc,i.addAssetTypeAttachments=Ps,i.addAssetTypeFieldValues=br,i.addAssetTypeFieldValuesAttachment=or,i.addAssetTypeFieldValuesAttachments=ws,i.addAssetTypeFieldValuesMany=_r,i.addAssetTypeFields=Xc,i.addAssetTypeFieldsAttachment=qc,i.addAssetTypeFieldsAttachments=Cc,i.addAssetTypeFieldsMany=Qc,i.addAssetTypeIdentifier=Cr,i.addAssetTypeIdentifierValue=Qr,i.addAssetTypeIdentifierValues=xr,i.addAssetTypeIdentifiers=$r,i.addAssetTypeStatus=gd,i.addAssetTypeStatuses=Md,i.addAssetTypes=yd,i.addAssets=Is,i.addConversation=Ba,i.addConversations=ib,i.addDocument=iu,i.addDocumentAttachment=Nd,i.addDocumentAttachments=Gd,i.addDocuments=nu,i.addEmailDomain=Su,i.addEmailDomains=Au,i.addForm=Dl,i.addFormIdentifier=zu,i.addFormIdentifierValue=Yu,i.addFormIdentifierValues=Zu,i.addFormIdentifiers=Du,i.addFormRevision=Pl,i.addFormRevisionAttachment=dl,i.addFormRevisionAttachments=ul,i.addFormRevisions=Qs,i.addFormSubmission=lo,i.addFormSubmissionAttachment=Zl,i.addFormSubmissionAttachments=ii,i.addFormSubmissions=ui,i.addForms=jl,i.addGeoImage=Fo,i.addGeoImages=bo,i.addIssue=qh,i.addIssueAssociation=$o,i.addIssueAssociations=pt,i.addIssueAttachment=Xo,i.addIssueAttachments=fi,i.addIssueComment=bh,i.addIssueCommentAttachment=lh,i.addIssueCommentAttachments=oh,i.addIssueComments=_h,i.addIssueType=$m,i.addIssueTypeAttachment=Jh,i.addIssueTypeAttachments=Xh,i.addIssueTypeFieldValues=bp,i.addIssueTypeFieldValuesAttachment=Qp,i.addIssueTypeFieldValuesAttachments=Vi,i.addIssueTypeFieldValuesMany=_p,i.addIssueTypeFields=Cp,i.addIssueTypeFieldsAttachment=lp,i.addIssueTypeFieldsAttachments=op,i.addIssueTypeFieldsMany=$p,i.addIssueTypeIdentifier=om,i.addIssueTypeIdentifierValue=_m,i.addIssueTypeIdentifierValues=gm,i.addIssueTypeIdentifiers=hm,i.addIssueTypeStatus=xm,i.addIssueTypeStatuses=ey,i.addIssueTypes=Um,i.addIssueUpdate=Hi,i.addIssueUpdates=Wi,i.addIssues=bi,i.addOrganization=Jy,i.addOrganizationAccess=Vy,i.addOrganizationAccesses=zy,i.addOrganizations=Zy,i.addProcedure=ES,i.addProcedureFieldValues=ZO,i.addProcedureFieldValuesAttachment=jO,i.addProcedureFieldValuesAttachments=Gn,i.addProcedureFieldValuesMany=JO,i.addProcedureInitiative=SS,i.addProcedureInitiatives=AS,i.addProcedureStep=qT,i.addProcedureStepAssignee=KS,i.addProcedureStepAssignees=YS,i.addProcedureStepComment=rA,i.addProcedureStepComments=dA,i.addProcedureStepDefaultAssignee=OA,i.addProcedureStepDefaultAssignees=PA,i.addProcedureStepDefaultReviewer=DA,i.addProcedureStepDefaultReviewers=jA,i.addProcedureStepEvent=ZA,i.addProcedureStepEvents=JA,i.addProcedureStepFieldValues=YI,i.addProcedureStepFieldValuesAttachment=DI,i.addProcedureStepFieldValuesAttachments=Mn,i.addProcedureStepFieldValuesMany=ZI,i.addProcedureStepFieldValuesReview=dT,i.addProcedureStepFieldValuesReviews=Bn,i.addProcedureStepFields=PI,i.addProcedureStepFieldsAttachment=uI,i.addProcedureStepFieldsAttachments=On,i.addProcedureStepFieldsMany=FI,i.addProcedureStepReviewer=OT,i.addProcedureStepReviewers=PT,i.addProcedureSteps=CT,i.addProcedureType=uP,i.addProcedureTypeAttachment=YT,i.addProcedureTypeAttachments=ZT,i.addProcedureTypeFields=PO,i.addProcedureTypeFieldsAttachment=dO,i.addProcedureTypeFieldsAttachments=uO,i.addProcedureTypeFieldsMany=FO,i.addProcedureTypes=lP,i.addProcedures=ft,i.addProject=cS,i.addProjectAccess=yf,i.addProjectAccesses=ff,i.addProjectAttachment=Rf,i.addProjectAttachments=wf,i.addProjectFile=Gf,i.addProjectFiles=Hf,i.addProjects=aS,i.addTeam=CP,i.addTeamMembership=bP,i.addTeamMemberships=_P,i.addTeams=$P,i.addUser=Qi,i.addUsers=by,i.agentsReducer=Da,i.agentsSlice=os,i.areArraysEqual=CF,i.assetAttachmentReducer=Ya,i.assetAttachmentSlice=ps,i.assetCommentReducer=dc,i.assetCommentSlice=Ss,i.assetReducer=Oc,i.assetSlice=As,i.assetTypeAttachmentReducer=zc,i.assetTypeAttachmentSlice=Os,i.assetTypeFieldValuesAttachmentReducer=Or,i.assetTypeFieldValuesAttachmentSlice=Rs,i.assetTypeFieldValuesReducer=Dr,i.assetTypeFieldValuesSlice=Bs,i.assetTypeFieldsAttachmentReducer=Yc,i.assetTypeFieldsAttachmentSlice=_s,i.assetTypeFieldsReducer=dr,i.assetTypeFieldsSlice=Ms,i.assetTypeIdentifierReducer=Zr,i.assetTypeIdentifierSlice=Vs,i.assetTypeIdentifierValueReducer=ud,i.assetTypeIdentifierValueSlice=Ds,i.assetTypeReducer=Fd,i.assetTypeSlice=js,i.assetTypeStatusReducer=qd,i.assetTypeStatusSlice=Cs,i.assetTypeStatusSortFn=ga,i.authReducer=Ud,i.authSlice=Lt,i.baseReducer=eg,i.baseReducers=ta,i.clearTokens=Pb,i.createModelAdapter=P,i.createOfflineAction=rf,i.createPayload=M,i.createSelectionAdapter=DF,i.deleteAsset=mc,i.deleteAssetAttachment=Na,i.deleteAssetAttachments=ys,i.deleteAssetComment=sc,i.deleteAssetComments=jt,i.deleteAssetType=Ad,i.deleteAssetTypeAttachment=wc,i.deleteAssetTypeAttachments=Fs,i.deleteAssetTypeFieldValues=vr,i.deleteAssetTypeFieldValuesAttachment=fr,i.deleteAssetTypeFieldValuesAttachments=vs,i.deleteAssetTypeFieldValuesMany=Er,i.deleteAssetTypeFields=ir,i.deleteAssetTypeFieldsAttachment=Nc,i.deleteAssetTypeFieldsAttachments=Gc,i.deleteAssetTypeFieldsMany=nr,i.deleteAssetTypeIdentifier=Gr,i.deleteAssetTypeIdentifierValue=nd,i.deleteAssetTypeIdentifierValues=ad,i.deleteAssetTypeIdentifiers=Hr,i.deleteAssetTypeStatus=Bd,i.deleteAssetTypeStatuses=Vd,i.deleteAssetTypes=Id,i.deleteAssets=Ts,i.deleteConversation=cb,i.deleteConversations=rb,i.deleteDocument=uu,i.deleteDocumentAttachment=Zd,i.deleteDocumentAttachments=Jd,i.deleteDocuments=lu,i.deleteEmailDomain=Fu,i.deleteEmailDomains=bu,i.deleteForm=Ll,i.deleteFormIdentifier=Uu,i.deleteFormIdentifierValue=el,i.deleteFormIdentifierValues=tl,i.deleteFormIdentifiers=Lu,i.deleteFormRevision=Ml,i.deleteFormRevisionAttachment=ml,i.deleteFormRevisionAttachments=yl,i.deleteFormRevisions=xs,i.deleteFormSubmission=po,i.deleteFormSubmissionAttachment=eo,i.deleteFormSubmissionAttachments=ni,i.deleteFormSubmissions=li,i.deleteForms=kl,i.deleteGeoImage=Mo,i.deleteGeoImages=Ro,i.deleteIssue=kh,i.deleteIssueAssociation=Uo,i.deleteIssueAssociations=mt,i.deleteIssueAttachment=sh,i.deleteIssueAttachments=Si,i.deleteIssueComment=vh,i.deleteIssueCommentAttachment=fh,i.deleteIssueCommentAttachments=Sh,i.deleteIssueComments=Eh,i.deleteIssueType=Hm,i.deleteIssueTypeAttachment=sp,i.deleteIssueTypeAttachments=ip,i.deleteIssueTypeFieldValues=vp,i.deleteIssueTypeFieldValuesAttachment=im,i.deleteIssueTypeFieldValuesAttachments=zi,i.deleteIssueTypeFieldValuesMany=Ep,i.deleteIssueTypeFields=Gp,i.deleteIssueTypeFieldsAttachment=fp,i.deleteIssueTypeFieldsAttachments=Sp,i.deleteIssueTypeFieldsMany=Hp,i.deleteIssueTypeIdentifier=Sm,i.deleteIssueTypeIdentifierValue=Em,i.deleteIssueTypeIdentifierValues=Bm,i.deleteIssueTypeIdentifiers=Am,i.deleteIssueTypeStatus=ay,i.deleteIssueTypeStatuses=cy,i.deleteIssueTypes=Wm,i.deleteIssueUpdate=Ki,i.deleteIssueUpdates=Yi,i.deleteIssues=_i,i.deleteOrganization=xy,i.deleteOrganizationAccess=$y,i.deleteOrganizationAccesses=Uy,i.deleteOrganizations=ef,i.deleteProcedure=jS,i.deleteProcedureFieldValues=tP,i.deleteProcedureFieldValuesAttachment=LO,i.deleteProcedureFieldValuesAttachments=Hn,i.deleteProcedureFieldValuesMany=sP,i.deleteProcedureInitiative=FS,i.deleteProcedureInitiatives=bS,i.deleteProcedureStep=LT,i.deleteProcedureStepAssignee=xS,i.deleteProcedureStepAssignees=eA,i.deleteProcedureStepComment=pA,i.deleteProcedureStepComments=mA,i.deleteProcedureStepDefaultAssignee=MA,i.deleteProcedureStepDefaultAssignees=RA,i.deleteProcedureStepDefaultReviewer=LA,i.deleteProcedureStepDefaultReviewers=kA,i.deleteProcedureStepEvent=tI,i.deleteProcedureStepEvents=sI,i.deleteProcedureStepFieldValues=eT,i.deleteProcedureStepFieldValuesAttachment=UI,i.deleteProcedureStepFieldValuesAttachments=Rn,i.deleteProcedureStepFieldValuesMany=tT,i.deleteProcedureStepFieldValuesReview=pT,i.deleteProcedureStepFieldValuesReviews=Vn,i.deleteProcedureStepFields=RI,i.deleteProcedureStepFieldsAttachment=mI,i.deleteProcedureStepFieldsAttachments=Pn,i.deleteProcedureStepFieldsMany=wI,i.deleteProcedureStepReviewer=MT,i.deleteProcedureStepReviewers=RT,i.deleteProcedureSteps=kT,i.deleteProcedureType=yP,i.deleteProcedureTypeAttachment=eO,i.deleteProcedureTypeAttachments=tO,i.deleteProcedureTypeFields=RO,i.deleteProcedureTypeFieldsAttachment=mO,i.deleteProcedureTypeFieldsAttachments=yO,i.deleteProcedureTypeFieldsMany=wO,i.deleteProcedureTypes=fP,i.deleteProcedures=St,i.deleteProject=uS,i.deleteProjectAccess=Of,i.deleteProjectAccesses=Pf,i.deleteProjectAttachment=zf,i.deleteProjectAttachments=Df,i.deleteProjectFile=Yf,i.deleteProjectFiles=Zf,i.deleteProjects=lS,i.deleteTeam=GP,i.deleteTeamMembership=vP,i.deleteTeamMemberships=EP,i.deleteTeams=HP,i.deleteUser=xi,i.deleteUsers=My,i.dequeue=dF,i.discard=lF,i.documentAttachmentReducer=eu,i.documentAttachmentSlice=Us,i.documentSlice=ks,i.documentsReducer=ou,i.downloadFile=WF,i.emailDomainsReducer=Ru,i.emailDomainsSlice=Gs,i.emailRegex=eb,i.enqueue=rF,i.enqueueRequest=uf,i.extractResponseFromError=hF,i.fallbackToEmptyArray=S,i.fallbackToEmptyObject=ds,i.fetchBlobFromObjectUrl=Oa,i.fetchFileFromObjectUrl=Pa,i.fileReducer=Eu,i.fileSlice=Ws,i.formIdentifierReducer=Hu,i.formIdentifierSlice=Ks,i.formIdentifierValueReducer=al,i.formIdentifierValueSlice=Zs,i.formReducer=Nl,i.formRevisionAttachmentReducer=Il,i.formRevisionAttachmentSlice=Js,i.formRevisionReducer=Bl,i.formRevisionsSlice=Xs,i.formSlice=ei,i.formSubmissionAttachmentReducer=no,i.formSubmissionAttachmentSlice=si,i.formSubmissionReducer=Ao,i.formSubmissionSlice=di,i.geoImageReducer=Bo,i.geoImageSlice=hi,i.getClientSDK=SF,i.getClientStore=Tt,i.getDocumentSubTree=wa,i.getDocumentTrees=tb,i.getFileExtension=Ta,i.getLocalDateString=Ia,i.getLocalRelativeDateString=kF,i.getOutboxCoordinator=ot,i.getRenamedFile=HF,i.getRequestDescription=A,i.getS3FileKey=GF,i.hashFile=Vt,i.initSDK=DM,i.initializeAssetAttachments=qa,i.initializeAssetComments=Ja,i.initializeAssetTypeAttachments=Fc,i.initializeAssetTypeFieldValues=Fr,i.initializeAssetTypeFieldValuesAttachments=lr,i.initializeAssetTypeFields=Jc,i.initializeAssetTypeFieldsAttachments=jc,i.initializeAssetTypeIdentifierValues=Xr,i.initializeAssetTypeIdentifiers=qr,i.initializeAssetTypeStatuses=_d,i.initializeAssetTypes=od,i.initializeAssets=lc,i.initializeConversations=Ea,i.initializeDocumentAttachments=kd,i.initializeDocuments=su,i.initializeEmailDomains=fu,i.initializeFormIdentifierValues=Ku,i.initializeFormIdentifiers=Vu,i.initializeFormRevisionAttachments=rl,i.initializeFormRevisions=Ol,i.initializeFormSubmissionAttachments=Yl,i.initializeFormSubmissions=co,i.initializeForms=zl,i.initializeGeoImages=To,i.initializeIssueAssociations=zo,i.initializeIssueAttachments=Jo,i.initializeIssueCommentAttachments=uh,i.initializeIssueComments=Fh,i.initializeIssueTypeAttachments=Zh,i.initializeIssueTypeFieldValues=Fp,i.initializeIssueTypeFieldValuesAttachments=Xp,i.initializeIssueTypeFields=qp,i.initializeIssueTypeFieldsAttachments=up,i.initializeIssueTypeIdentifierValues=bm,i.initializeIssueTypeIdentifiers=lm,i.initializeIssueTypeStatuses=Qm,i.initializeIssueTypes=Cm,i.initializeIssueUpdates=oy,i.initializeIssues=jh,i.initializeOrganizationAccesses=By,i.initializeOrganizations=Wy,i.initializeProcedureFieldValues=YO,i.initializeProcedureFieldValuesAttachments=DO,i.initializeProcedureInitiatives=fS,i.initializeProcedureStepAssignees=WS,i.initializeProcedureStepComments=cA,i.initializeProcedureStepDefaultAssignees=TA,i.initializeProcedureStepDefaultReviewers=zA,i.initializeProcedureStepEvents=YA,i.initializeProcedureStepFieldValues=KI,i.initializeProcedureStepFieldValuesAttachments=zI,i.initializeProcedureStepFieldValuesReviews=rT,i.initializeProcedureStepFields=OI,i.initializeProcedureStepFieldsAttachments=dI,i.initializeProcedureStepReviewers=TT,i.initializeProcedureSteps=zT,i.initializeProcedureTypeAttachments=KT,i.initializeProcedureTypeFields=OO,i.initializeProcedureTypeFieldsAttachments=rO,i.initializeProcedureTypes=dP,i.initializeProcedures=vS,i.initializeProjectAccesses=mf,i.initializeProjectAttachments=Mf,i.initializeProjectFiles=Lf,i.initializeProjects=sS,i.initializeTeamMemberships=FP,i.initializeTeams=qP,i.initializeUsers=Oy,i.isImageFile=KF,i.isObjectUrl=Fa,i.isToday=LF,i.issueAssociationReducer=Yo,i.issueAssociationSlice=mi,i.issueAttachmentReducer=rh,i.issueAttachmentSlice=yi,i.issueCommentAttachmentReducer=Oh,i.issueCommentAttachmentSlice=Ii,i.issueCommentReducer=zh,i.issueCommentSlice=Oi,i.issueReducer=Kh,i.issueSlice=Fi,i.issueTypeAttachmentReducer=rp,i.issueTypeAttachmentSlice=gi,i.issueTypeFieldValuesAttachmentReducer=dm,i.issueTypeFieldValuesAttachmentSlice=Bi,i.issueTypeFieldValuesReducer=Dp,i.issueTypeFieldValuesSlice=vi,i.issueTypeFieldsAttachmentReducer=Op,i.issueTypeFieldsAttachmentSlice=Ri,i.issueTypeFieldsReducer=Zp,i.issueTypeFieldsSlice=Ei,i.issueTypeIdentifierReducer=Pm,i.issueTypeIdentifierSlice=ji,i.issueTypeIdentifierValueReducer=jm,i.issueTypeIdentifierValueSlice=Ci,i.issueTypeReducer=Jm,i.issueTypeSlice=$i,i.issueTypeStatusReducer=uy,i.issueTypeStatusSlice=Li,i.issueTypeStatusSortFn=Ma,i.issueUpdateReducer=Iy,i.issueUpdateSlice=Gi,i.logOnlyOnce=YF,i.markAsDeleted=lf,i.markForDeletion=a_,i.memoize=rs,i.organizationAccessReducer=Ly,i.organizationAccessSlice=tn,i.organizationReducer=cf,i.organizationSlice=sn,i.outboxReducer=hf,i.outboxSlice=nn,i.overmapEnhancer=ug,i.overmapReducer=tg,i.overmapReducers=QP,i.performRequest=na,i.performRequestFromAction=uF,i.procedureFieldValuesAttachmentReducer=kO,i.procedureFieldValuesAttachmentSlice=Nn,i.procedureFieldValuesReducer=iP,i.procedureFieldValuesSlice=Kn,i.procedureInitiativeReducer=_S,i.procedureInitiativeSlice=on,i.procedureReducer=qS,i.procedureSlice=hn,i.procedureStepAssigneeReducer=nA,i.procedureStepAssigneeSlice=pn,i.procedureStepCommentReducer=AA,i.procedureStepCommentSlice=mn,i.procedureStepDefaultAssigneeReducer=BA,i.procedureStepDefaultAssigneeSlice=yn,i.procedureStepDefaultReviewerReducer=WA,i.procedureStepDefaultReviewerSlice=Sn,i.procedureStepEventReducer=cI,i.procedureStepEventSlice=In,i.procedureStepFieldValuesAttachmentReducer=HI,i.procedureStepFieldValuesAttachmentSlice=gn,i.procedureStepFieldValuesReducer=sT,i.procedureStepFieldValuesReviewReducer=AT,i.procedureStepFieldValuesReviewSlice=En,i.procedureStepFieldValuesSlice=vn,i.procedureStepFieldsAttachmentReducer=II,i.procedureStepFieldsAttachmentSlice=Tn,i.procedureStepFieldsReducer=BI,i.procedureStepFieldsSlice=bn,i.procedureStepReducer=NT,i.procedureStepReviewerReducer=BT,i.procedureStepReviewerSlice=zn,i.procedureStepSlice=Dn,i.procedureTypeAttachmentReducer=sO,i.procedureTypeAttachmentSlice=Cn,i.procedureTypeFieldsAttachmentReducer=fO,i.procedureTypeFieldsAttachmentSlice=Un,i.procedureTypeFieldsReducer=vO,i.procedureTypeFieldsSlice=kn,i.procedureTypeReducer=SP,i.procedureTypeSlice=Zn,i.projectAccessReducer=Ff,i.projectAccessSlice=an,i.projectAttachmentReducer=$f,i.projectAttachmentSlice=rn,i.projectFileReducer=eS,i.projectFileSlice=un,i.projectReducer=oS,i.projectSlice=ln,i.rehydratedReducer=OP,i.rehydratedSlice=Xn,i.restructureSelectorWithArgs=y,i.runMiddleware=OF,i.selectAccessToken=Fb,i.selectAccessesByUserOfProject=r_,i.selectAccessibleProjects=l_,i.selectActiveOrganizationAccess=t_,i.selectAllDocumentAttachments=Ls,i.selectAssetAttachmentById=Ha,i.selectAssetAttachmentMapping=Ga,i.selectAssetAttachments=fs,i.selectAssetAttachmentsByIds=Wa,i.selectAssetById=Ic,i.selectAssetCommentById=nc,i.selectAssetCommentMapping=ic,i.selectAssetComments=qt,i.selectAssetCommentsByIds=ac,i.selectAssetTypeAttachmentById=Ec,i.selectAssetTypeAttachmentMapping=vc,i.selectAssetTypeAttachments=bs,i.selectAssetTypeAttachmentsByIds=Bc,i.selectAssetTypeById=Od,i.selectAssetTypeFieldValues=$t,i.selectAssetTypeFieldValuesAttachmentById=Ar,i.selectAssetTypeFieldValuesAttachments=Es,i.selectAssetTypeFieldValuesAttachmentsByIds=Ir,i.selectAssetTypeFieldValuesAttachmentsMapping=Sr,i.selectAssetTypeFieldValuesById=Vr,i.selectAssetTypeFieldValuesByIds=zr,i.selectAssetTypeFieldValuesMapping=Br,i.selectAssetTypeFieldValuesOfAsset=mb,i.selectAssetTypeFields=_t,i.selectAssetTypeFieldsAttachmentById=Wc,i.selectAssetTypeFieldsAttachments=gs,i.selectAssetTypeFieldsAttachmentsByIds=Kc,i.selectAssetTypeFieldsAttachmentsMapping=Hc,i.selectAssetTypeFieldsById=cr,i.selectAssetTypeFieldsByIds=rr,i.selectAssetTypeFieldsMapping=ar,i.selectAssetTypeFieldsOfAssetType=hb,i.selectAssetTypeIdentifierById=Kr,i.selectAssetTypeIdentifierMapping=Wr,i.selectAssetTypeIdentifierValueById=rd,i.selectAssetTypeIdentifierValueMapping=cd,i.selectAssetTypeIdentifierValues=Ut,i.selectAssetTypeIdentifierValuesByIds=dd,i.selectAssetTypeIdentifierValuesOfAsset=Sb,i.selectAssetTypeIdentifierValuesOfIdentifier=Ab,i.selectAssetTypeIdentifiers=zs,i.selectAssetTypeIdentifiersByIds=Yr,i.selectAssetTypeIdentifiersOfAssetType=fb,i.selectAssetTypeStatusById=Dd,i.selectAssetTypeStatusMapping=zd,i.selectAssetTypeStatuses=$s,i.selectAssetTypeStatusesByIds=jd,i.selectAssetTypeStatusesOfAssetType=Tb,i.selectAssetTypeValuesOfAssetType=yb,i.selectAssetTypes=qs,i.selectAssetTypesByIds=Pd,i.selectAssetTypesMapping=Td,i.selectAssetTypesOfOrganization=Ib,i.selectAssets=Ct,i.selectAssetsByIds=Tc,i.selectAssetsMapping=Sc,i.selectAssetsOfAssetType=Ac,i.selectAssetsOfProject=lb,i.selectAttachmentsOfAsset=Ka,i.selectAttachmentsOfAssetType=Vc,i.selectAttachmentsOfAssetTypeFieldValues=Tr,i.selectAttachmentsOfAssetTypeFields=ob,i.selectAttachmentsOfDocument=_b,i.selectAttachmentsOfFormRevision=Db,i.selectAttachmentsOfFormSubmission=io,i.selectAttachmentsOfIssue=nh,i.selectAttachmentsOfIssueComment=$b,i.selectAttachmentsOfIssueType=kb,i.selectAttachmentsOfIssueTypeFieldValues=rm,i.selectAttachmentsOfIssueTypeFields=Nb,i.selectAttachmentsOfProcedureFieldValues=WO,i.selectAttachmentsOfProcedureStepFieldValues=GI,i.selectAttachmentsOfProcedureStepFields=fI,i.selectAttachmentsOfProcedureType=L_,i.selectAttachmentsOfProcedureTypeFields=k_,i.selectAttachmentsOfProject=u_,i.selectCommentsOfAsset=cc,i.selectCommentsOfAssets=rc,i.selectCommentsOfIssue=Ub,i.selectConversation=ub,i.selectConversationMapping=hs,i.selectConversations=db,i.selectCurrentUser=wy,i.selectDeletedRequests=i_,i.selectDescendantsOfDocument=mu,i.selectDocumentAttachmentById=Qd,i.selectDocumentAttachmentMapping=Xd,i.selectDocumentAttachmentsByIds=xd,i.selectDocumentById=hu,i.selectDocuments=kt,i.selectDocumentsByIds=pu,i.selectDocumentsMapping=Ns,i.selectEmailDomainById=gu,i.selectEmailDomains=Hs,i.selectEmailDomainsAsMapping=_u,i.selectEmailDomainsByIds=Mu,i.selectEmailDomainsOfOrganization=Rb,i.selectFieldValuesOfProcedure=H_,i.selectFormById=Hl,i.selectFormIdentifierById=Nu,i.selectFormIdentifierMapping=ku,i.selectFormIdentifierValueById=il,i.selectFormIdentifierValueMapping=sl,i.selectFormIdentifierValues=Nt,i.selectFormIdentifierValuesByIds=nl,i.selectFormIdentifierValuesOfFormSubmission=Vb,i.selectFormIdentifierValuesOfIdentifier=zb,i.selectFormIdentifiers=Ys,i.selectFormIdentifiersByIds=Gu,i.selectFormIdentifiersOfForm=Bb,i.selectFormMapping=Gl,i.selectFormRevisionAttachmentById=Sl,i.selectFormRevisionAttachments=fl,i.selectFormRevisionAttachmentsByIds=Al,i.selectFormRevisionAttachmentsMapping=Gt,i.selectFormRevisionById=wl,i.selectFormRevisionMapping=Rl,i.selectFormRevisions=Ht,i.selectFormRevisionsByIds=vl,i.selectFormRevisionsOfForm=El,i.selectFormSubmissionAttachemntsByIds=ri,i.selectFormSubmissionAttachmentById=to,i.selectFormSubmissionAttachments=ci,i.selectFormSubmissionAttachmentsByIds=so,i.selectFormSubmissionAttachmentsMapping=ai,i.selectFormSubmissionById=yo,i.selectFormSubmissions=oi,i.selectFormSubmissionsByIds=fo,i.selectFormSubmissionsMapping=mo,i.selectFormSubmissionsOfForm=So,i.selectForms=ti,i.selectFormsByIds=Wl,i.selectFormsOfOrganization=qb,i.selectGeoImageById=vo,i.selectGeoImageMapping=wo,i.selectGeoImages=pi,i.selectGeoImagesByIds=Eo,i.selectGeoImagesOfProject=Cb,i.selectIsLoggedIn=bb,i.selectIssueAssociationById=ko,i.selectIssueAssociationMapping=Lo,i.selectIssueAssociations=yt,i.selectIssueAssociationsByIds=No,i.selectIssueAssociationsOfAsset=Wo,i.selectIssueAssociationsOfAssets=Ko,i.selectIssueAssociationsOfIssue=Ho,i.selectIssueAssociationsOfIssues=Go,i.selectIssueAttachmentById=ah,i.selectIssueAttachmentMapping=ih,i.selectIssueAttachments=Ai,i.selectIssueAttachmentsByIds=ch,i.selectIssueById=Gh,i.selectIssueCommentAttachmentById=Ih,i.selectIssueCommentAttachmentMapping=Ah,i.selectIssueCommentAttachments=Ti,i.selectIssueCommentAttachmentsByIds=Th,i.selectIssueCommentById=Bh,i.selectIssueCommentMapping=Pi,i.selectIssueCommentsByIds=Vh,i.selectIssueMapping=Nh,i.selectIssueTypeAttachmentById=ap,i.selectIssueTypeAttachmentMapping=np,i.selectIssueTypeAttachments=Mi,i.selectIssueTypeAttachmentsByIds=cp,i.selectIssueTypeById=Ym,i.selectIssueTypeFieldValues=Kt,i.selectIssueTypeFieldValuesAttachmentById=am,i.selectIssueTypeFieldValuesAttachments=Di,i.selectIssueTypeFieldValuesAttachmentsByIds=cm,i.selectIssueTypeFieldValuesAttachmentsMapping=nm,i.selectIssueTypeFieldValuesById=Vp,i.selectIssueTypeFieldValuesByIds=zp,i.selectIssueTypeFieldValuesMapping=Bp,i.selectIssueTypeFieldValuesOfIssue=Gb,i.selectIssueTypeFields=gt,i.selectIssueTypeFieldsAttachmentById=Ip,i.selectIssueTypeFieldsAttachments=wi,i.selectIssueTypeFieldsAttachmentsByIds=Tp,i.selectIssueTypeFieldsAttachmentsMapping=Ap,i.selectIssueTypeFieldsById=Kp,i.selectIssueTypeFieldsByIds=Yp,i.selectIssueTypeFieldsMapping=Wp,i.selectIssueTypeFieldsOfIssueType=Hb,i.selectIssueTypeIdentifierById=Tm,i.selectIssueTypeIdentifierMapping=Im,i.selectIssueTypeIdentifierValueById=zm,i.selectIssueTypeIdentifierValueMapping=Vm,i.selectIssueTypeIdentifierValues=Yt,i.selectIssueTypeIdentifierValuesByIds=Dm,i.selectIssueTypeIdentifierValuesOfIdentifier=Jb,i.selectIssueTypeIdentifierValuesOfIssue=Zb,i.selectIssueTypeIdentifiers=qi,i.selectIssueTypeIdentifiersByIds=Om,i.selectIssueTypeIdentifiersOfIssueType=Yb,i.selectIssueTypeMapping=Km,i.selectIssueTypeStatusById=Ni,i.selectIssueTypeStatusMapping=ry,i.selectIssueTypeStatuses=ki,i.selectIssueTypeStatusesByIds=dy,i.selectIssueTypeStatusesOfIssueType=Qb,i.selectIssueTypeValuesOfIssueType=Kb,i.selectIssueTypes=Ui,i.selectIssueTypesByIds=Zm,i.selectIssueTypesOfOrganization=Xb,i.selectIssueUpdateById=fy,i.selectIssueUpdateMapping=Zi,i.selectIssueUpdates=Ji,i.selectIssueUpdatesByIds=Sy,i.selectIssueUpdatesOfIssue=Ay,i.selectIssues=Wt,i.selectIssuesByIds=Hh,i.selectIssuesOfIssueType=Wh,i.selectIssuesOfProject=Lb,i.selectLatestAssetTypeFieldsOfAssetType=pb,i.selectLatestFieldsByProcedureStep=R_,i.selectLatestFormRevisionOfForm=jb,i.selectLatestIssueTypeFieldsOfIssueType=Wb,i.selectLatestProcedureStepFieldValuesReviewByProcedureStepFieldValues=D_,i.selectLatestProcedureStepFieldsOfProcedureStep=M_,i.selectLatestProcedureTypeFieldsOfProcedureType=G_,i.selectLatestRetryTime=n_,i.selectLatestReviewOfProcedureStepFieldValues=B_,i.selectMembershipsByUserOfTeam=J_,i.selectOrganizationAccessById=ky,i.selectOrganizationAccessMapping=Xt,i.selectOrganizationAccessUserMapping=Gy,i.selectOrganizationAccessesByIds=Ny,i.selectOrganizationById=nf,i.selectOrganizationDocuments=Mb,i.selectOrganizations=sf,i.selectOrganizationsByIds=af,i.selectOrganizationsMapping=tf,i.selectProcedureById=$S,i.selectProcedureFieldValues=Yn,i.selectProcedureFieldValuesAttachmentById=GO,i.selectProcedureFieldValuesAttachments=Wn,i.selectProcedureFieldValuesAttachmentsByIds=HO,i.selectProcedureFieldValuesAttachmentsMapping=NO,i.selectProcedureFieldValuesById=aP,i.selectProcedureFieldValuesByIds=cP,i.selectProcedureFieldValuesMapping=nP,i.selectProcedureInitiativeById=MS,i.selectProcedureInitiatives=xt,i.selectProcedureInitiativesByIds=RS,i.selectProcedureInitiativesMapping=gS,i.selectProcedureInitiativesOfProcedureType=p_,i.selectProcedureInitiativesOfProject=h_,i.selectProcedureStepAssigneeById=sA,i.selectProcedureStepAssignees=Rt,i.selectProcedureStepAssigneesByIds=iA,i.selectProcedureStepAssigneesMapping=tA,i.selectProcedureStepAssigneesOfProcedure=y_,i.selectProcedureStepAssigneesOfProcedureAndProcedureStep=S_,i.selectProcedureStepAssigneesOfProcedureStep=f_,i.selectProcedureStepById=GT,i.selectProcedureStepCommentById=fA,i.selectProcedureStepComments=wt,i.selectProcedureStepCommentsByIds=SA,i.selectProcedureStepCommentsMapping=yA,i.selectProcedureStepCommentsOfProcedure=A_,i.selectProcedureStepCommentsOfProcedureAndProcedureStep=T_,i.selectProcedureStepCommentsOfProcedureStep=I_,i.selectProcedureStepDefaultAssigneeById=vA,i.selectProcedureStepDefaultAssignees=fn,i.selectProcedureStepDefaultAssigneesByIds=EA,i.selectProcedureStepDefaultAssigneesMapping=wA,i.selectProcedureStepDefaultAssigneesOfProcedureStep=O_,i.selectProcedureStepDefaultReviewerById=GA,i.selectProcedureStepDefaultReviewers=An,i.selectProcedureStepDefaultReviewersByIds=HA,i.selectProcedureStepDefaultReviewersMapping=NA,i.selectProcedureStepDefaultReviewersOfProcedureStep=P_,i.selectProcedureStepEventById=nI,i.selectProcedureStepEvents=vt,i.selectProcedureStepEventsByIds=aI,i.selectProcedureStepEventsMapping=iI,i.selectProcedureStepEventsOfProcedure=F_,i.selectProcedureStepEventsOfProcedureAndProcedureStep=__,i.selectProcedureStepEventsOfProcedureStep=b_,i.selectProcedureStepFieldValues=rt,i.selectProcedureStepFieldValuesAttachmentById=kI,i.selectProcedureStepFieldValuesAttachments=wn,i.selectProcedureStepFieldValuesAttachmentsByIds=NI,i.selectProcedureStepFieldValuesAttachmentsMapping=LI,i.selectProcedureStepFieldValuesById=nT,i.selectProcedureStepFieldValuesByIds=aT,i.selectProcedureStepFieldValuesMapping=iT,i.selectProcedureStepFieldValuesOfProcedure=w_,i.selectProcedureStepFieldValuesOfProcedureAndProcedureStep=E_,i.selectProcedureStepFieldValuesOfProcedureStep=v_,i.selectProcedureStepFieldValuesReviewById=yT,i.selectProcedureStepFieldValuesReviews=dt,i.selectProcedureStepFieldValuesReviewsByIds=fT,i.selectProcedureStepFieldValuesReviewsMapping=mT,i.selectProcedureStepFieldValuesReviewsOfProcedure=V_,i.selectProcedureStepFieldValuesReviewsOfProcedureAndProcedureStep=z_,i.selectProcedureStepFields=es,i.selectProcedureStepFieldsAttachmentById=SI,i.selectProcedureStepFieldsAttachments=Fn,i.selectProcedureStepFieldsAttachmentsByIds=AI,i.selectProcedureStepFieldsAttachmentsMapping=yI,i.selectProcedureStepFieldsById=vI,i.selectProcedureStepFieldsByIds=EI,i.selectProcedureStepFieldsMapping=_n,i.selectProcedureStepFieldsOfProcedureStep=g_,i.selectProcedureStepReviewerById=vT,i.selectProcedureStepReviewers=Et,i.selectProcedureStepReviewersByIds=ET,i.selectProcedureStepReviewersMapping=wT,i.selectProcedureStepReviewersOfProcedure=j_,i.selectProcedureStepReviewersOfProcedureAndProcedureStep=C_,i.selectProcedureStepReviewersOfProcedureStep=q_,i.selectProcedureSteps=qn,i.selectProcedureStepsByIds=HT,i.selectProcedureStepsMapping=jn,i.selectProcedureStepsMappingOfProcedureType=$_,i.selectProcedureStepsOfProcedureType=U_,i.selectProcedureTypeAttachmentById=nO,i.selectProcedureTypeAttachmentMapping=iO,i.selectProcedureTypeAttachments=$n,i.selectProcedureTypeAttachmentsByIds=aO,i.selectProcedureTypeById=IP,i.selectProcedureTypeFields=ts,i.selectProcedureTypeFieldsAttachmentById=AO,i.selectProcedureTypeFieldsAttachments=Ln,i.selectProcedureTypeFieldsAttachmentsByIds=IO,i.selectProcedureTypeFieldsAttachmentsMapping=SO,i.selectProcedureTypeFieldsById=BO,i.selectProcedureTypeFieldsByIds=VO,i.selectProcedureTypeFieldsMapping=EO,i.selectProcedureTypeFieldsOfProcedureType=N_,i.selectProcedureTypes=Jn,i.selectProcedureTypesByIds=TP,i.selectProcedureTypesMapping=AP,i.selectProcedureTypesOfOrganization=W_,i.selectProcedures=ct,i.selectProceduresByIds=US,i.selectProceduresMapping=CS,i.selectProceduresOfAsset=kS,i.selectProceduresOfAssets=NS,i.selectProceduresOfProcedureInitiative=GS,i.selectProceduresOfProcedureType=LS,i.selectProceduresOfProject=m_,i.selectProjectAccessById=bf,i.selectProjectAccessMapping=cn,i.selectProjectAccesses=Mt,i.selectProjectAccessesByIds=_f,i.selectProjectAccessesOfProject=c_,i.selectProjectAttachmentById=qf,i.selectProjectAttachmentMapping=jf,i.selectProjectAttachments=dn,i.selectProjectAttachmentsByIds=Cf,i.selectProjectById=pS,i.selectProjectDocuments=gb,i.selectProjectFileById=Qf,i.selectProjectFileMapping=Jf,i.selectProjectFiles=Xf,i.selectProjectFilesByIds=xf,i.selectProjectMapping=hS,i.selectProjects=Qt,i.selectProjectsByIds=mS,i.selectProjectsOfOrganization=o_,i.selectRehydrated=Z_,i.selectReviewsOfProcedureStepFieldValues=ST,i.selectTeamById=KP,i.selectTeamMembershipById=zP,i.selectTeamMemberships=ss,i.selectTeamMembershipsByIds=DP,i.selectTeamMembershipsMapping=VP,i.selectTeams=ea,i.selectTeamsByIds=YP,i.selectTeamsMapping=WP,i.selectTeamsOfOrganization=Q_,i.selectUploadUrl=Eb,i.selectUserById=Jt,i.selectUsers=Zt,i.selectUsersByIds=vy,i.selectUsersMapping=en,i.selectUsersOfOrganization=s_,i.selectUsersOfProject=d_,i.selectUsersOfTeam=X_,i.setAsset=yc,i.setAssetAttachment=$a,i.setAssetAttachments=Ua,i.setAssetComment=Qa,i.setAssetComments=xa,i.setAssetType=hd,i.setAssetTypeAttachment=_c,i.setAssetTypeAttachments=gc,i.setAssetTypeFieldValues=gr,i.setAssetTypeFieldValuesAttachment=hr,i.setAssetTypeFieldValuesAttachments=pr,i.setAssetTypeFieldValuesMany=Mr,i.setAssetTypeFields=xc,i.setAssetTypeFieldsAttachment=$c,i.setAssetTypeFieldsAttachments=Uc,i.setAssetTypeFieldsMany=er,i.setAssetTypeIdentifier=Ur,i.setAssetTypeIdentifierValue=ed,i.setAssetTypeIdentifierValues=td,i.setAssetTypeIdentifiers=Lr,i.setAssetTypeStatus=Rd,i.setAssetTypeStatuses=wd,i.setAssetTypes=pd,i.setAssets=fc,i.setClientSDK=fF,i.setClientStore=mF,i.setConversation=Va,i.setConversations=nb,i.setCurrentUser=xb,i.setCurrentUserProfile=e_,i.setDocument=au,i.setDocumentAttachment=Hd,i.setDocumentAttachments=Wd,i.setDocuments=cu,i.setEmailDomain=Iu,i.setEmailDomains=Tu,i.setForm=ql,i.setFormIdentifier=ju,i.setFormIdentifierValue=Ju,i.setFormIdentifierValues=Xu,i.setFormIdentifiers=qu,i.setFormRevision=Fl,i.setFormRevisionAttachment=ll,i.setFormRevisionAttachments=ol,i.setFormRevisions=bl,i.setFormSubmission=ro,i.setFormSubmissionAttachment=Jl,i.setFormSubmissionAttachments=Xl,i.setFormSubmissions=uo,i.setForms=Cl,i.setGeoImage=Oo,i.setGeoImages=Po,i.setIssue=Ch,i.setIssueAssociation=jo,i.setIssueAssociations=Do,i.setIssueAttachment=Qo,i.setIssueAttachments=xo,i.setIssueComment=gh,i.setIssueCommentAttachment=hh,i.setIssueCommentAttachments=ph,i.setIssueComments=Mh,i.setIssueType=Lm,i.setIssueTypeAttachment=Qh,i.setIssueTypeAttachments=xh,i.setIssueTypeFieldValues=gp,i.setIssueTypeFieldValuesAttachment=xp,i.setIssueTypeFieldValuesAttachments=em,i.setIssueTypeFieldValuesMany=Mp,i.setIssueTypeFields=Up,i.setIssueTypeFieldsAttachment=hp,i.setIssueTypeFieldsAttachments=pp,i.setIssueTypeFieldsMany=Lp,i.setIssueTypeIdentifier=pm,i.setIssueTypeIdentifierValue=Mm,i.setIssueTypeIdentifierValues=Rm,i.setIssueTypeIdentifiers=mm,i.setIssueTypeStatus=ty,i.setIssueTypeStatuses=sy,i.setIssueTypes=km,i.setIssueUpdate=hy,i.setIssueUpdates=py,i.setIssues=$h,i.setLoggedIn=$d,i.setOrganization=Yy,i.setOrganizationAccess=Dy,i.setOrganizationAccesses=jy,i.setOrganizations=Ky,i.setProcedure=BS,i.setProcedureFieldValues=XO,i.setProcedureFieldValuesAttachment=qO,i.setProcedureFieldValuesAttachments=CO,i.setProcedureFieldValuesMany=QO,i.setProcedureInitiative=IS,i.setProcedureInitiatives=TS,i.setProcedureStep=DT,i.setProcedureStepAssignee=ZS,i.setProcedureStepAssignees=JS,i.setProcedureStepComment=uA,i.setProcedureStepComments=lA,i.setProcedureStepDefaultAssignee=FA,i.setProcedureStepDefaultAssignees=bA,i.setProcedureStepDefaultReviewer=qA,i.setProcedureStepDefaultReviewers=CA,i.setProcedureStepEvent=XA,i.setProcedureStepEvents=QA,i.setProcedureStepFieldValues=JI,i.setProcedureStepFieldValuesAttachment=jI,i.setProcedureStepFieldValuesAttachments=qI,i.setProcedureStepFieldValuesMany=XI,i.setProcedureStepFieldValuesReview=uT,i.setProcedureStepFieldValuesReviews=lT,i.setProcedureStepFields=bI,i.setProcedureStepFieldsAttachment=lI,i.setProcedureStepFieldsAttachments=oI,i.setProcedureStepFieldsMany=_I,i.setProcedureStepReviewer=FT,i.setProcedureStepReviewers=bT,i.setProcedureSteps=jT,i.setProcedureType=oP,i.setProcedureTypeAttachment=JT,i.setProcedureTypeAttachments=XT,i.setProcedureTypeFields=bO,i.setProcedureTypeFieldsAttachment=lO,i.setProcedureTypeFieldsAttachments=oO,i.setProcedureTypeFieldsMany=_O,i.setProcedureTypes=hP,i.setProcedures=VS,i.setProject=nS,i.setProjectAccess=Sf,i.setProjectAccesses=Af,i.setProjectAttachment=vf,i.setProjectAttachments=Ef,i.setProjectFile=kf,i.setProjectFiles=Nf,i.setProjects=iS,i.setRehydrated=Y_,i.setTeam=UP,i.setTeamMembership=gP,i.setTeamMemberships=MP,i.setTeams=LP,i.setTokens=Ob,i.setUploadUrl=vb,i.setUser=Fy,i.setUsers=Py,i.shallowEqual=qF,i.slugify=QF,i.spacesToDashesLower=XF,i.submittedAtModelSortFn=bt,i.teamMembershipReducer=BP,i.teamMembershipSlice=Qn,i.teamReducer=ZP,i.teamSlice=xn,i.toFileNameSafeString=JF,i.toUuidArray=v,i.toUuidIdRecord=ZF,i.truncate=xF,i.updateAsset=hc,i.updateAssetAttachment=La,i.updateAssetAttachments=ka,i.updateAssetComment=ec,i.updateAssetComments=tc,i.updateAssetType=fd,i.updateAssetTypeAttachment=Mc,i.updateAssetTypeAttachments=Rc,i.updateAssetTypeFieldValues=Rr,i.updateAssetTypeFieldValuesAttachment=mr,i.updateAssetTypeFieldValuesAttachments=yr,i.updateAssetTypeFieldValuesMany=wr,i.updateAssetTypeFields=tr,i.updateAssetTypeFieldsAttachment=Lc,i.updateAssetTypeFieldsAttachments=kc,i.updateAssetTypeFieldsMany=sr,i.updateAssetTypeIdentifier=kr,i.updateAssetTypeIdentifierValue=sd,i.updateAssetTypeIdentifierValues=id,i.updateAssetTypeIdentifiers=Nr,i.updateAssetTypeStatus=vd,i.updateAssetTypeStatuses=Ed,i.updateAssetTypes=Sd,i.updateAssets=pc,i.updateConversation=za,i.updateConversations=ab,i.updateDocument=ru,i.updateDocumentAttachment=Kd,i.updateDocumentAttachments=Yd,i.updateDocuments=du,i.updateEmailDomain=Ou,i.updateEmailDomains=Pu,i.updateForm=$l,i.updateFormIdentifier=Cu,i.updateFormIdentifierValue=Qu,i.updateFormIdentifierValues=xu,i.updateFormIdentifiers=$u,i.updateFormRevision=_l,i.updateFormRevisionAttachment=hl,i.updateFormRevisionAttachments=pl,i.updateFormRevisions=gl,i.updateFormSubmission=oo,i.updateFormSubmissionAttachment=Ql,i.updateFormSubmissionAttachments=xl,i.updateFormSubmissions=ho,i.updateForms=Ul,i.updateGeoImage=_o,i.updateGeoImages=go,i.updateIssue=Uh,i.updateIssueAssociation=qo,i.updateIssueAssociations=Co,i.updateIssueAttachment=eh,i.updateIssueAttachments=th,i.updateIssueComment=Rh,i.updateIssueCommentAttachment=mh,i.updateIssueCommentAttachments=yh,i.updateIssueComments=wh,i.updateIssueType=Nm,i.updateIssueTypeAttachment=ep,i.updateIssueTypeAttachments=tp,i.updateIssueTypeFieldValues=Rp,i.updateIssueTypeFieldValuesAttachment=tm,i.updateIssueTypeFieldValuesAttachments=sm,i.updateIssueTypeFieldValuesMany=wp,i.updateIssueTypeFields=kp,i.updateIssueTypeFieldsAttachment=mp,i.updateIssueTypeFieldsAttachments=yp,i.updateIssueTypeFieldsMany=Np,i.updateIssueTypeIdentifier=ym,i.updateIssueTypeIdentifierValue=wm,i.updateIssueTypeIdentifierValues=vm,i.updateIssueTypeIdentifiers=fm,i.updateIssueTypeStatus=iy,i.updateIssueTypeStatuses=ny,i.updateIssueTypes=Gm,i.updateIssueUpdate=my,i.updateIssueUpdates=yy,i.updateIssues=Lh,i.updateOrganization=Qy,i.updateOrganizationAccess=qy,i.updateOrganizationAccesses=Cy,i.updateOrganizations=Xy,i.updateProcedure=zS,i.updateProcedureFieldValues=xO,i.updateProcedureFieldValuesAttachment=$O,i.updateProcedureFieldValuesAttachments=UO,i.updateProcedureFieldValuesMany=eP,i.updateProcedureInitiative=OS,i.updateProcedureInitiatives=PS,i.updateProcedureStep=$T,i.updateProcedureStepAssignee=XS,i.updateProcedureStepAssignees=QS,i.updateProcedureStepComment=oA,i.updateProcedureStepComments=hA,i.updateProcedureStepDefaultAssignee=_A,i.updateProcedureStepDefaultAssignees=gA,i.updateProcedureStepDefaultReviewer=$A,i.updateProcedureStepDefaultReviewers=UA,i.updateProcedureStepEvent=xA,i.updateProcedureStepEvents=eI,i.updateProcedureStepFieldValues=QI,i.updateProcedureStepFieldValuesAttachment=CI,i.updateProcedureStepFieldValuesAttachments=$I,i.updateProcedureStepFieldValuesMany=xI,i.updateProcedureStepFieldValuesReview=oT,i.updateProcedureStepFieldValuesReviews=hT,i.updateProcedureStepFields=gI,i.updateProcedureStepFieldsAttachment=hI,i.updateProcedureStepFieldsAttachments=pI,i.updateProcedureStepFieldsMany=MI,i.updateProcedureStepReviewer=_T,i.updateProcedureStepReviewers=gT,i.updateProcedureSteps=UT,i.updateProcedureType=pP,i.updateProcedureTypeAttachment=QT,i.updateProcedureTypeAttachments=xT,i.updateProcedureTypeFields=gO,i.updateProcedureTypeFieldsAttachment=hO,i.updateProcedureTypeFieldsAttachments=pO,i.updateProcedureTypeFieldsMany=MO,i.updateProcedureTypes=mP,i.updateProcedures=DS,i.updateProject=dS,i.updateProjectAccess=If,i.updateProjectAccesses=Tf,i.updateProjectAttachment=Bf,i.updateProjectAttachments=Vf,i.updateProjectFile=Wf,i.updateProjectFiles=Kf,i.updateProjects=rS,i.updateTeam=kP,i.updateTeamMembership=RP,i.updateTeamMemberships=wP,i.updateTeams=NP,i.updateUser=gy,i.updateUsers=_y,i.useSelectorBuilder=jF,i.userReducer=Ry,i.userSlice=Xi,i.uuidObj=O,i.uuidObjSortFn=ls,i.uuidSortFn=zt,i.versioningReducer=XP,i.versioningSlice=JP,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});