"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5541],{57979:function(t,e,n){n.d(e,{BS:function(){return r},UU:function(){return i},pk:function(){return u},sr:function(){return c},w6:function(){return a},z7:function(){return o}});let r={mode:n(85270).Gt.Style,decoration:"",furniture:"",creature:"",landscape:"",street_furniture:""},o={mask:"",img:"",bbox:[0,0,0,0],prompt:"",prompt_refined:"",neg_prompt:"",neg_prompt_refined:"",misc:{image_info:{category:"architectural_photo",background_detail_level:"medium",camera_distance:"medium"},daylight:"",season:"",sky:"",landscape:"",material:"",street:"",mode:"change",texture:"",color:"",keep_outline:!1,furniture:"",is_refined:!1}},a="no-type",i="no-style",u="v3",c={_id:"",uid:"",key:"",key_history:[],outputs:[],phase:"",tool:"",main_image:"",width:0,height:0,masks:[],model:"",type:a,style:i,tags:[],lighting:"",color:"",texture:"",num_upscale:0,is_sketch:!1,is_detailed:!1,is_furnish:!1,is_upscale:!1,is_fix:!1,is_plus:!1,is_public:!1,output_index:0,version:6,updated_at:"",created_at:""}},85270:function(t,e,n){var r,o,a,i,u,c,l,s;n.d(e,{ED:function(){return o},Gt:function(){return i},Qe:function(){return r},g1:function(){return f},qf:function(){return a}}),(u=r||(r={})).None="none",u.Top="top",u.Right="right",u.Bottom="bottom",u.Left="left",u.TopLeft="top-left",u.TopRight="top-right",u.BottomRight="bottom-right",u.BottomLeft="bottom-left",u.RotateTL="rotate-tl",u.RotateTR="rotate-tr",u.RotateBL="rotate-bl",u.RotateBR="rotate-br",u.Drag="drag",(c=o||(o={})).None="none",c.PaintBrush="paintBrush",c.Eraser="eraser",c.PointPrompt="pointPrompt",c.BoxPrompt="boxPrompt",c.Rectangle="rectangle",c.Polyline="polyline",c.MaskInversion="maskInversion",c.Lasso="lasso",c.MagicWand="magicWand",(l=a||(a={})).None="none",l.ZoomIn="zoom in",l.ZoomOut="zoom out",l.Pan="pan",l.Panning="panning";let f={none:"default","zoom in":"zoom-in","zoom out":"zoom-out",pan:"grab",panning:"grabbing"};(s=i||(i={})).Style="style",s.Change="change",s.Remove="remove",s.EmptyMyRoom="empty_my_room"},4009:function(t,e,n){n.d(e,{D4:function(){return l},GN:function(){return g},Jr:function(){return _},Nr:function(){return m},P2:function(){return h},Sy:function(){return d},WX:function(){return s},YQ:function(){return y},a1:function(){return c},aq:function(){return f},cn:function(){return u},lH:function(){return T},sg:function(){return p},yc:function(){return w}});var r=n(75504),o=n(2265),a=n(51367),i=n(2599);function u(){for(var t=arguments.length,e=Array(t),n=0;n<t;n++)e[n]=arguments[n];return(0,a.m6)((0,r.W)(e))}function c(t){return t.replace(/([A-Z])/g,function(t){return"_"+t.toLowerCase()})}let l=()=>{let t=new Date;return Math.floor((new Date(Date.UTC(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()+1)).getTime()-t.getTime())/1e3)},s=t=>{let{seconds:e}=t;return{hours:Math.floor(e/3600),minutes:Math.floor(e%3600/60),seconds:Math.floor(e%60)}};function f(t){let e=Math.floor((new Date().getTime()-t.getTime())/1e3),n=Math.floor(e/60),r=Math.floor(n/60),o=Math.floor(r/24),a=Math.floor(o/30),i=Math.floor(a/12);return e<60?"".concat(e,"s ago"):n<60?"".concat(n,"m ago"):r<24?"".concat(r,"hr ago"):o<30?"".concat(o," day").concat(o>1?"s":""," ago"):a<12?"".concat(a," month").concat(a>1?"s":""," ago"):"".concat(i," year").concat(i>1?"s":""," ago")}function m(t,e){let n=(0,o.useRef)();return(0,o.useEffect)(()=>{n.current=t},[t]),(0,o.useMemo)(()=>{let t=null;return function(){for(var r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];t&&clearTimeout(t),t=setTimeout(()=>{var t;null===(t=n.current)||void 0===t||t.apply(this,o)},e)}},[e])}function h(t,e){let n,r,o;return function(){for(var a=arguments.length,i=Array(a),u=0;u<a;u++)i[u]=arguments[u];let c=this,l=Date.now();n?(clearTimeout(r),r=setTimeout(()=>{l-o>=e&&(t.apply(c,i),o=l)},Math.max(e-(l-o),0))):(n=!0,o=l,setTimeout(()=>{n=!1},e),t.apply(c,i))}}let p=t=>{let e=t.match(/built-in-prompt:<([^>]*)>/),n=t.match(/built-in-prompt:<[^>]*> (.*?) - (.*?);/),r=t.match(/user-input-prompt:(.*)$/);return{texture:e?e[1]:"",obj:n?n[1]:"",description:n?n[2]:"",prompt:r?r[1]:""}},g=async(t,e)=>{let n=await fetch(t),r=await n.blob();(0,i.saveAs)(r,e)};function d(t){for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*(e+1));[t[e],t[n]]=[t[n],t[e]]}return t}let y=()=>{let[t,e]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{let t=()=>{e("ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0)};return t(),window.addEventListener("touchstart",t),()=>{window.removeEventListener("touchstart",t)}},[]),t},w=async t=>new Promise((e,n)=>{let r=new Image;r.crossOrigin="Anonymous",r.onload=()=>{let t=document.createElement("canvas"),n=t.getContext("2d");t.width=r.width,t.height=r.height,n.drawImage(r,0,0),e(n.getImageData(0,0,t.width,t.height))},r.onerror=n,r.src=t}),_=(t,e)=>{let n=atob(t.split(",")[1]),r=Array(n.length);for(let t=0;t<n.length;t++)r[t]=n.charCodeAt(t);let o=new Uint8Array(r);return new Blob([o],{type:e})},T=async t=>{let e=new FileReader;return new Promise((n,r)=>{e.onload=()=>n(e.result),e.onerror=r,e.readAsDataURL(t)})}},15927:function(t,e,n){n.d(e,{$X:function(){return a},Gg:function(){return r},Gn:function(){return u},fQ:function(){return i},tR:function(){return o}});let r=async t=>{let{settings:e}=t;try{let t=await fetch("/api/rooms",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)}),n=await t.json();if(!t.ok)return{err:n.err||n,res:null};return{err:null,res:n}}catch(t){return{err:t,res:null}}},o=async t=>{let{_id:e}=t;try{let t=await fetch("/api/rooms/".concat(e),{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store"}),n=await t.json();if(!t.ok)return{err:n.err||n,res:null};return{err:null,res:n}}catch(t){return{err:t,res:null}}},a=async t=>{let{_id:e,submission:n}=t;try{let t=await fetch("/api/rooms/".concat(e,"/resubmit"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),r=await t.json();if(!t.ok)return{err:r.err||r,res:null};return{err:null,res:r}}catch(t){return{err:t,res:null}}},i=async t=>{let{_id:e}=t;try{let t=await fetch("/api/rooms/".concat(e,"/lab"),{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store"}),n=await t.json();if(!t.ok)return{err:n.err||n,res:null};return{err:null,res:n}}catch(t){return{err:t,res:null}}},u=async t=>{let{_id:e}=t;try{let t=await fetch("/api/rooms/".concat(e,"/stats-download"),{method:"POST",headers:{"Content-Type":"application/json"}}),n=await t.json();if(!t.ok)return{err:n.err||n,result:null};return{err:null,res:n}}catch(t){return{err:t,res:null}}}}}]);