!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(n="undefined"!=typeof globalThis?globalThis:n||self).Sandbox=e()}(this,(function(){"use strict";let n="";var e={init(e){n=e},process:e=>e.replace("ipfs://ipfs/","ipfs://").replace("ipfs://",n)};const t={all:o=o||new Map,on:function(n,e){var t=o.get(n);t&&t.push(e)||o.set(n,[e])},off:function(n,e){var t=o.get(n);t&&t.splice(t.indexOf(e)>>>0,1)},emit:function(n,e){(o.get(n)||[]).slice().map((function(n){n(e)})),(o.get("*")||[]).slice().map((function(t){t(n,e)}))}};var o,r={emitter:t,json:{},code:"",owner_properties:{},owner:"",async init(n,o,r,s,i,a){if(i&&e.init(i),"string"==typeof n)try{n=JSON.parse(n)}catch(o){n=e.process(n),await a(n).then((n=>n.json())).then((e=>n=e)).catch((e=>{t.emit("warning",new Error(`Error while fetching NFT's JSON at ${n}`)),n=null}))}n?(r&&"string"==typeof r&&await a(e.process(r)).then((n=>n.json())).then((n=>r=n)).catch((n=>{t.emit("warning",`Error while fetching owner_properties on ${r}.\n\t\t\t\t\t\tSetting owner_properties to default.`),r={}})),!o&&n.interactive_nft&&(n.interactive_nft.code?(o=n.interactive_nft.code,n.interactive_nft.code=null):n.interactive_nft.code_uri&&await a(e.process(n.interactive_nft.code_uri)).then((n=>n.text())).then((n=>o=n)).catch((e=>{t.emit("Error",new Error(`Error while fetching ${n.interactive_nft.code_uri}`))}))),o||t.emit("Error",new Error("You need to provide code for this NFT to run")),this.json=n,this.code=o,this.owner_properties=r,this.owner=s):t.emit("error",new Error("You need to provide a json property.\n\t\t\tEither a valid uri to the NFT JSON or the parsed NFT JSON."))},build(){return this.replaceCode("<!DOCTYPE html>\n<html>\n  <head>\n    <style>\n      \n    </style>\n\n    <script>\n      (function () {\n        const local_eval = eval;\n        eval = function () {};\n\n        function handle_message(ev) {\n          let { action, cmd_id } = ev.data;\n          const send_message = (payload) =>\n            parent.postMessage({ ...payload }, ev.origin);\n\n          const send_reply = (payload) => send_message({ ...payload, cmd_id });\n          const send_ok = (args) => send_reply({ action: 'cmd_ok', args });\n          const send_error = (message, stack) =>\n            send_reply({ action: 'cmd_error', message, stack });\n\n          if (action === 'size') {\n            send_ok({\n              width: document.body.offsetWidth,\n              height: document.body.offsetHeight,\n            });\n          }\n\n          if (action === 'eval') {\n            try {\n              const { script } = ev.data.args;\n              local_eval(script);\n              send_ok();\n            } catch (e) {\n              send_error(e.message, e.stack);\n            }\n          }\n\n          if (action === 'add_script') {\n            try {\n              const script = document.createElement('script');\n              script.src = ev.data.args;\n              script.onload = () => send_ok();\n              document.body.appendChild(script);\n            } catch (e) {\n              send_error(e.message, e.stack);\n            }\n          }\n\n          if (action === 'add_script_content') {\n            try {\n              const script = document.createElement('script');\n              script.text = ev.data.args;\n              script.type = 'text/javascript';\n              document.body.appendChild(script);\n              send_ok();\n            } catch (e) {\n              send_error(e.message, e.stack);\n            }\n          }\n\n          if (action === 'add_style') {\n            try {\n              const link = document.createElement('link');\n              link.rel = 'stylesheet';\n              link.href = ev.data.args;\n              link.onload = () => send_ok();\n              document.body.appendChild(link);\n            } catch (e) {\n              send_error(e.message, e.stack);\n            }\n          }\n\n          if (action === 'catch_clicks') {\n            try {\n              const top_origin = ev.origin;\n              document.body.addEventListener('click', (event) => {\n                if (event.which !== 1) return;\n                if (event.metaKey || event.ctrlKey || event.shiftKey) return;\n                if (event.defaultPrevented) return;\n\n                // ensure target is a link\n                let el = event.target;\n                while (el && el.nodeName !== 'A') el = el.parentNode;\n                if (!el || el.nodeName !== 'A') return;\n\n                if (\n                  el.hasAttribute('download') ||\n                  el.getAttribute('rel') === 'external' ||\n                  el.target\n                )\n                  return;\n\n                event.preventDefault();\n\n                if (el.href.startsWith(top_origin)) {\n                  const url = new URL(el.href);\n                  if (url.hash[0] === '#') {\n                    window.location.hash = url.hash;\n                    return;\n                  }\n                }\n\n                window.open(el.href, '_blank');\n              });\n              send_ok();\n            } catch (e) {\n              send_error(e.message, e.stack);\n            }\n          }\n        }\n\n        window.addEventListener('message', handle_message, false);\n\n        window.onerror = function (msg, url, lineNo, columnNo, error) {\n          try {\n            parent.postMessage({ action: 'error', value: error }, '*');\n          } catch (e) {\n            parent.postMessage({ action: 'error', value: msg }, '*');\n            parent.postMessage({ action: 'error', value: error }, '*');\n          }\n        };\n\n        window.addEventListener('unhandledrejection', (event) => {\n          parent.postMessage(\n            { action: 'unhandledrejection', value: event.reason },\n            '*'\n          );\n        });\n\n        let previous = { level: null, args: null };\n\n        ['clear', 'log', 'info', 'dir', 'warn', 'error', 'table'].forEach(\n          (level) => {\n            const original = console[level];\n            console[level] = (...args) => {\n              const stringifiedArgs = stringify(args);\n              if (\n                previous.level === level &&\n                previous.args &&\n                previous.args === stringifiedArgs\n              ) {\n                parent.postMessage(\n                  { action: 'console', level, duplicate: true },\n                  '*'\n                );\n              } else {\n                previous = { level, args: stringifiedArgs };\n\n                try {\n                  parent.postMessage({ action: 'console', level, args }, '*');\n                } catch (err) {\n                  parent.postMessage(\n                    { action: 'console', level: 'unclonable' },\n                    '*'\n                  );\n                }\n              }\n\n              original(...args);\n            };\n          }\n        );\n\n        [\n          { method: 'group', action: 'console_group' },\n          { method: 'groupEnd', action: 'console_group_end' },\n          { method: 'groupCollapsed', action: 'console_group_collapsed' },\n        ].forEach((group_action) => {\n          const original = console[group_action.method];\n          console[group_action.method] = (label) => {\n            parent.postMessage({ action: group_action.action, label }, '*');\n\n            original(label);\n          };\n        });\n\n        const timers = new Map();\n        const original_time = console.time;\n        const original_timelog = console.timeLog;\n        const original_timeend = console.timeEnd;\n\n        console.time = (label = 'default') => {\n          original_time(label);\n          timers.set(label, performance.now());\n        };\n        console.timeLog = (label = 'default') => {\n          original_timelog(label);\n          const now = performance.now();\n          if (timers.has(label)) {\n            parent.postMessage(\n              {\n                action: 'console',\n                level: 'system-log',\n                args: [`${label}: ${now - timers.get(label)}ms`],\n              },\n              '*'\n            );\n          } else {\n            parent.postMessage(\n              {\n                action: 'console',\n                level: 'system-warn',\n                args: [`Timer '${label}' does not exist`],\n              },\n              '*'\n            );\n          }\n        };\n        console.timeEnd = (label = 'default') => {\n          original_timeend(label);\n          const now = performance.now();\n          if (timers.has(label)) {\n            parent.postMessage(\n              {\n                action: 'console',\n                level: 'system-log',\n                args: [`${label}: ${now - timers.get(label)}ms`],\n              },\n              '*'\n            );\n          } else {\n            parent.postMessage(\n              {\n                action: 'console',\n                level: 'system-warn',\n                args: [`Timer '${label}' does not exist`],\n              },\n              '*'\n            );\n          }\n          timers.delete(label);\n        };\n\n        const original_assert = console.assert;\n        console.assert = (condition, ...args) => {\n          if (condition) {\n            const stack = new Error().stack;\n            parent.postMessage(\n              { action: 'console', level: 'assert', args, stack },\n              '*'\n            );\n          }\n          original_assert(condition, ...args);\n        };\n\n        const counter = new Map();\n        const original_count = console.count;\n        const original_countreset = console.countReset;\n\n        console.count = (label = 'default') => {\n          counter.set(label, (counter.get(label) || 0) + 1);\n          parent.postMessage(\n            {\n              action: 'console',\n              level: 'system-log',\n              args: `${label}: ${counter.get(label)}`,\n            },\n            '*'\n          );\n          original_count(label);\n        };\n\n        console.countReset = (label = 'default') => {\n          if (counter.has(label)) {\n            counter.set(label, 0);\n          } else {\n            parent.postMessage(\n              {\n                action: 'console',\n                level: 'system-warn',\n                args: `Count for '${label}' does not exist`,\n              },\n              '*'\n            );\n          }\n          original_countreset(label);\n        };\n\n        const original_trace = console.trace;\n\n        console.trace = (...args) => {\n          const stack = new Error().stack;\n          parent.postMessage(\n            { action: 'console', level: 'trace', args, stack },\n            '*'\n          );\n          original_trace(...args);\n        };\n\n        function stringify(args) {\n          try {\n            return JSON.stringify(args);\n          } catch (error) {\n            return null;\n          }\n        }\n      })(this);\n\n      // remove alert, set window context\n      (() => {\n        const original_alert = window.alert;\n        window.alert = function () {};\n\n        window.context = {\n          nft_json: {},\n          config: {},\n          owner: '0x0000000000000000000000000000000000000000',\n        };\n      })(this);\n    <\/script>\n    <style>\n      body,\n      html {\n        padding: 0;\n        margin: 0;\n        min-width: 100%;\n        min-height: 100%;\n      }\n\n      body {\n        position: absolute;\n        top: 0;\n        left: 0;\n      }\n    </style>\n  </head>\n  <body>\n    \x3c!-- NFTCODE --\x3e\n  </body>\n</html>\n")},makeDependencies(){return this.json.interactive_nft?function(n){let e="";if(Array.isArray(n))for(const t of n){const n=t.type;"script"===n?e+=`<script type="text/javascript" src="${t.url}"><\/script>`:"style"===n?e+=`<script type="text/javascript">\n\t\t\t\t\t\t(() => {\n\t\t\t\t\t\t\tconst link = document.createElement('link');\n\t\t\t\t\t\t\tlink.rel = 'stylesheet';\n\t\t\t\t\t\t\tlink.href = "${t.url}";\n\t\t\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\t\t})()\n\t\t\t\t\t<\/script>`:console.log(`Unknown dependency type ${n}`)}return e}(this.json.interactive_nft.dependencies):""},loadProps(){const n={};if(this.json.interactive_nft&&Array.isArray(this.json.interactive_nft.properties)){let e={};this.owner_properties&&"object"==typeof this.owner_properties&&(e=this.owner_properties);for(const t of this.json.interactive_nft.properties)n[t.name]=t.value,void 0!==e[t.name]&&(n[t.name]=e[t.name])}return n},replaceCode(n){let e=this.makeDependencies();const t=this.loadProps();return e+=`<script type="text/javascript">${`\n\t\t// specific p5 because it's causing troubles.\n\t\tif (typeof p5 !== 'undefined' && p5.disableFriendlyErrors) {\n\t\t\tp5.disableFriendlyErrors = true;\n\t\t\tnew p5();\n\t\t}\n\n    window.context = {\n      get owner() {\n        let owner = owner;\n        if (window.location?.search) {\n          const params =  new URLSearchParams(window.location.search);\n          owner = params.get('owner') || owner;\n        }\n        return owner;\n      },\n      nft_json: JSON.parse(${JSON.stringify(JSON.stringify(this.json))}),\n      properties: JSON.parse('${JSON.stringify(t)}'),\n    };\n\t`}<\/script>`,e+=this.code,n.replace("\x3c!-- NFTCODE --\x3e",e)}};function s(){}function i(n){return n()}function a(){return Object.create(null)}function c(n){n.forEach(i)}function l(n){return"function"==typeof n}function d(n,e){return n!=n?e==e:n!==e||n&&"object"==typeof n||"function"==typeof n}function p(n,e){n.appendChild(e)}function u(n,e,t){n.insertBefore(e,t||null)}function f(n){n.parentNode.removeChild(n)}function g(n){return document.createElement(n)}function h(n){return document.createTextNode(n)}function m(n,e,t){null==t?n.removeAttribute(e):n.getAttribute(e)!==t&&n.setAttribute(e,t)}function _(n,e,t){n.classList[t?"add":"remove"](e)}let w;function y(n){w=n}function v(){if(!w)throw new Error("Function called outside component initialization");return w}function b(n){v().$$.on_mount.push(n)}function $(){const n=v();return(e,t)=>{const o=n.$$.callbacks[e];if(o){const r=function(n,e){const t=document.createEvent("CustomEvent");return t.initCustomEvent(n,!1,!1,e),t}(e,t);o.slice().forEach((e=>{e.call(n,r)}))}}}function x(n,e){const t=n.$$.callbacks[e.type];t&&t.slice().forEach((n=>n(e)))}const k=[],E=[],j=[],N=[],M=Promise.resolve();let O=!1;function S(n){j.push(n)}let C=!1;const A=new Set;function T(){if(!C){C=!0;do{for(let n=0;n<k.length;n+=1){const e=k[n];y(e),L(e.$$)}for(y(null),k.length=0;E.length;)E.pop()();for(let n=0;n<j.length;n+=1){const e=j[n];A.has(e)||(A.add(e),e())}j.length=0}while(k.length);for(;N.length;)N.pop()();O=!1,C=!1,A.clear()}}function L(n){if(null!==n.fragment){n.update(),c(n.before_update);const e=n.dirty;n.dirty=[-1],n.fragment&&n.fragment.p(n.ctx,e),n.after_update.forEach(S)}}const F=new Set;let J;function P(n,e){n&&n.i&&(F.delete(n),n.i(e))}function D(n,e,t,o){if(n&&n.o){if(F.has(n))return;F.add(n),J.c.push((()=>{F.delete(n),o&&(t&&n.d(1),o())})),n.o(e)}}function z(n,e,t,o){const{fragment:r,on_mount:s,on_destroy:a,after_update:d}=n.$$;r&&r.m(e,t),o||S((()=>{const e=s.map(i).filter(l);a?a.push(...e):c(e),n.$$.on_mount=[]})),d.forEach(S)}function B(n,e){const t=n.$$;null!==t.fragment&&(c(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function G(n,e){-1===n.$$.dirty[0]&&(k.push(n),O||(O=!0,M.then(T)),n.$$.dirty.fill(0)),n.$$.dirty[e/31|0]|=1<<e%31}function R(n,e,t,o,r,i,l=[-1]){const d=w;y(n);const p=n.$$={fragment:null,ctx:null,props:i,update:s,not_equal:r,bound:a(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(d?d.$$.context:[]),callbacks:a(),dirty:l,skip_bound:!1};let u=!1;if(p.ctx=t?t(n,e.props||{},((e,t,...o)=>{const s=o.length?o[0]:t;return p.ctx&&r(p.ctx[e],p.ctx[e]=s)&&(!p.skip_bound&&p.bound[e]&&p.bound[e](s),u&&G(n,e)),t})):[],p.update(),u=!0,c(p.before_update),p.fragment=!!o&&o(p.ctx),e.target){if(e.hydrate){const n=function(n){return Array.from(n.childNodes)}(e.target);p.fragment&&p.fragment.l(n),n.forEach(f)}else p.fragment&&p.fragment.c();e.intro&&P(n.$$.fragment),z(n,e.target,e.anchor,e.customElement),T()}y(d)}class U{$destroy(){B(this,1),this.$destroy=s}$on(n,e){const t=this.$$.callbacks[n]||(this.$$.callbacks[n]=[]);return t.push(e),()=>{const n=t.indexOf(e);-1!==n&&t.splice(n,1)}}$set(n){var e;this.$$set&&(e=n,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(n),this.$$.skip_bound=!1)}}let W=1;function K(n){let e=n.action,t=n.cmd_id,o=this.pending_cmds.get(t);if(o){if(this.pending_cmds.delete(t),"cmd_error"===e){let{message:e,stack:t}=n,r=new Error(e);r.stack=t,o.reject(r)}"cmd_ok"===e&&o.resolve(n.args||"ok")}else console.error("command not found",t,n,[...this.pending_cmds.keys()])}function Y(n){if(n.source!==this.iframe.contentWindow)return;const{action:e,args:t}=n.data;switch(e){case"cmd_error":case"cmd_ok":return K.call(this,n.data);case"fetch_progress":return this.handlers.on_fetch_progress(t.remaining);case"error":return this.handlers.on_error(n.data);case"unhandledrejection":return this.handlers.on_unhandled_rejection(n.data);case"console":return this.handlers.on_console(n.data);case"console_group":return this.handlers.on_console_group(n.data);case"console_group_collapsed":return this.handlers.on_console_group_collapsed(n.data);case"console_group_end":return this.handlers.on_console_group_end(n.data);default:const o=`on_${e}`;"function"==typeof this.handlers[o]&&this.handlers[o](n.data)}}class H{constructor(n,e){this.iframe=n,this.handlers=e,this.pending_cmds=new Map,this.handle_event=Y.bind(this),window.addEventListener("message",this.handle_event,!1)}destroy(){window.removeEventListener("message",this.handle_event)}iframe_command(n,e){return new Promise(((t,o)=>{const r=W++;this.pending_cmds.set(r,{resolve:t,reject:o}),this.iframe.contentWindow.postMessage({action:n,cmd_id:r,args:e},"*")}))}size(){return this.iframe_command("size")}eval(n){return this.iframe_command("eval",{script:n})}add_script(n){return this.iframe_command("add_script",n)}add_script_content(n){return this.iframe_command("add_script_content",n)}add_style(n){return this.iframe_command("add_style",n)}add_asset(n){return this.iframe_command("add_asset",n)}handle_links(){return this.iframe_command("catch_clicks",{})}}function q(n){let e;return{c(){e=g("strong"),e.innerHTML="<em>Sorry, an error occured while executing the NFT.</em>",m(e,"class","beyondnft__sandbox__error svelte-uaiew6")},m(n,t){u(n,e,t)},d(n){n&&f(e)}}}function I(n){let e,t,o,r,i=n[4]&&q();return{c(){e=g("div"),t=g("iframe"),r=h(" "),i&&i.c(),m(t,"title","Sandbox"),m(t,"sandbox",o=`allow-scripts allow-pointer-lock allow-popups allow-downloads ${n[1]}`),m(t,"allow","accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; camera; microphone; xr-spatial-tracking; geolocation; fullscreen; magnetometer; midi; vr;"),m(t,"srcdoc",n[0]),m(t,"class","svelte-uaiew6"),_(t,"greyed-out",n[4]||Q||n[3]),m(e,"class","beyondnft__sandbox svelte-uaiew6")},m(o,s){u(o,e,s),p(e,t),n[6](t),p(e,r),i&&i.m(e,null)},p(n,[r]){2&r&&o!==(o=`allow-scripts allow-pointer-lock allow-popups allow-downloads ${n[1]}`)&&m(t,"sandbox",o),1&r&&m(t,"srcdoc",n[0]),24&r&&_(t,"greyed-out",n[4]||Q||n[3]),n[4]?i||(i=q(),i.c(),i.m(e,null)):i&&(i.d(1),i=null)},i:s,o:s,d(t){t&&f(e),n[6](null),i&&i.d()}}}let Q=!1;function V(n,e,t){let{proxy:o}=e,{src:r}=e,{sandbox_props:s=""}=e;const i=$();let a,c,l,d=0,p=[],u=[],f=p;function g(n){t(4,c=n),i("error",n)}function h(n){f.push(l=n),p=p}function m(n,e){const t={level:"group",label:n,collapsed:e,logs:[]};f.push(t),u.push(f),f=t.logs,p=p}return b((()=>(t(5,o=new H(a,{on_fetch_progress:n=>{t(3,d=n)},on_error:n=>{h({level:"error",args:[n.value]}),g(n.value)},on_unhandled_rejection:n=>{let e=n.value;"string"==typeof e&&(e={message:e}),e.message="Uncaught (in promise): "+e.message,h({level:"error",args:[e]}),g(e)},on_console:n=>{"clear"===n.level?(f=p=[],h(n)):n.duplicate?function(){const n=f[f.length-1];n?(n.count=(n.count||1)+1,p=p):(l.count=1,h(l))}():h(n)},on_console_group:n=>{m(n.label,!1)},on_console_group_end:()=>{f=u.pop()},on_console_group_collapsed:n=>{m(n.label,!0)}})),a.addEventListener("load",(()=>{o.handle_links(),!c&&i("loaded")})),()=>{o.destroy()}))),n.$$set=n=>{"proxy"in n&&t(5,o=n.proxy),"src"in n&&t(0,r=n.src),"sandbox_props"in n&&t(1,s=n.sandbox_props)},[r,s,a,d,c,o,function(n){E[n?"unshift":"push"]((()=>{a=n,t(2,a)}))}]}class X extends U{constructor(n){var e;super(),document.getElementById("svelte-uaiew6-style")||((e=g("style")).id="svelte-uaiew6-style",e.textContent=".beyondnft__sandbox.svelte-uaiew6{background-color:white;border:none;width:100%;height:100%;position:relative}iframe.svelte-uaiew6{min-width:100%;min-height:100%;border:none;display:block}.greyed-out.svelte-uaiew6{filter:grayscale(50%) blur(1px);opacity:0.25}.beyondnft__sandbox__error.svelte-uaiew6{font-size:0.9em;position:absolute;top:0;left:0;padding:5px}",p(document.head,e)),R(this,n,V,I,d,{proxy:5,src:0,sandbox_props:1})}}function Z(n){let e;return{c(){e=h("Loading...")},m(n,t){u(n,e,t)},p:s,i:s,o:s,d(n){n&&f(e)}}}function nn(n){let e,t,o;function s(e){n[11](e)}let i={src:r.build(),sandbox_props:n[0]};return void 0!==n[1]&&(i.proxy=n[1]),e=new X({props:i}),E.push((()=>function(n,e,t){const o=n.$$.props[e];void 0!==o&&(n.$$.bound[o]=t,t(n.$$.ctx[o]))}(e,"proxy",s))),e.$on("loaded",n[12]),e.$on("error",n[13]),e.$on("warning",n[14]),{c(){var n;(n=e.$$.fragment)&&n.c()},m(n,t){z(e,n,t),o=!0},p(n,o){const r={};var s;1&o&&(r.sandbox_props=n[0]),!t&&2&o&&(t=!0,r.proxy=n[1],s=()=>t=!1,N.push(s)),e.$set(r)},i(n){o||(P(e.$$.fragment,n),o=!0)},o(n){D(e.$$.fragment,n),o=!1},d(n){B(e,n)}}}function en(n){let e,t,o,r;const s=[nn,Z],i=[];function a(n,e){return n[2]?0:1}return e=a(n),t=i[e]=s[e](n),{c(){t.c(),o=h("")},m(n,t){i[e].m(n,t),u(n,o,t),r=!0},p(n,[r]){let l=e;e=a(n),e===l?i[e].p(n,r):(J={r:0,c:[],p:J},D(i[l],1,1,(()=>{i[l]=null})),J.r||c(J.c),J=J.p,t=i[e],t?t.p(n,r):(t=i[e]=s[e](n),t.c()),P(t,1),t.m(o.parentNode,o))},i(n){r||(P(t),r=!0)},o(n){D(t),r=!1},d(n){i[e].d(n),n&&f(o)}}}function tn(){return builder}function on(n,e,t){const o=$();let{data:s={}}=e,{code:i=""}=e,{owner_properties:a={}}=e,{owner:c="0x0000000000000000000000000000000000000000"}=e,{sandbox_props:l=""}=e,{ipfsGateway:d="https://gateway.ipfs.io/ipfs/"}=e;let p=null,u=!1;return r.emitter.on("warning",(n=>o("warning",n.detail))),r.emitter.on("error",(n=>o("error",n.detail))),b((async()=>{await r.init(s,i,a,c,d,fetch),t(2,u=!0)})),n.$$set=n=>{"data"in n&&t(3,s=n.data),"code"in n&&t(4,i=n.code),"owner_properties"in n&&t(5,a=n.owner_properties),"owner"in n&&t(6,c=n.owner),"sandbox_props"in n&&t(0,l=n.sandbox_props),"ipfsGateway"in n&&t(7,d=n.ipfsGateway)},[l,p,u,s,i,a,c,d,"0.0.16",function(){return p},tn,function(n){p=n,t(1,p)},function(e){x(n,e)},function(e){x(n,e)},function(e){x(n,e)}]}class rn extends U{constructor(n){super(),R(this,n,on,en,d,{data:3,code:4,owner_properties:5,owner:6,sandbox_props:0,ipfsGateway:7,version:8,getProxy:9,getBuilder:10})}get version(){return this.$$.ctx[8]}get getProxy(){return this.$$.ctx[9]}get getBuilder(){return tn}}return rn.Builder=r,rn}));
