ty:e,value:r})):r}function l(e,t){if(!(!e||!t))try{return Reflect.getOwnPropertyDescriptor(e,t)}catch{return}}function s(e){return e.startsWith("//")&&/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/g.test(`${location.protocol}:${e}`)&&(e=`${location.protocol}${e}`),!e.startsWith("http")||new URL(e).hostname===location.hostname}function u(e){if("string"!=typeof e)return e;try{return decodeURIComponent(e).toLowerCase().trim()}catch{return e.toLowerCase().trim()}}function p(e,t){return e instanceof Headers?e.forEach((r,o)=>{f(o,t)||e.delete(o)}):Object.keys(e).forEach(r=>{f(r,t)||delete e[r]}),e}function f(e,t){return!t.has(u(e)||"")}function d(e,t){let r=!0,o=u(function(e){let t,r;if(globalThis.Request&&e instanceof Request)t=e.url;else if("function"==typeof e?.toString)t=e.toString();else throw Error("Unsupported type for url");try{return new URL(t).pathname}catch{return(r=t.replace(/#.+/gi,"").split("?").shift()).startsWith("/")?r:`/${r}`}}(e));return o&&t.some(e=>o.includes(e))&&(r=!1),r}var y=["true","b","c","new","enabled"];let b=[],g=(e,t)=>{let r;return b.includes(t)||!0===(r=e[t])||"string"==typeof r&&y.includes(r.toLowerCase())};performance.mark("overrideGlobals started");let{experiments:m}=window.viewerModel,v=g(m,"specs.thunderbolt.securityExperiments");try{let e,t;!function(){let e=globalThis.open,t=document.open;function r(t,r,o){let n="string"!=typeof t,i=e.call(window,t,r,o);return n||t&&s(t)?{}:i}o({property:"open",value:r,context:globalThis,enumerable:!0}),o({property:"open",value:function(e,o,n){return e?r(e,o,n):t.call(document,e||"",o||"",n||"")},context:document,enumerable:!0})}(),v&&function(){let e=document.createElement,t=Element.prototype.setAttribute,r=Element.prototype.setAttributeNS,n=Element.prototype.removeAttribute,i=(Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"contentWindow")?.get,Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"src")),c=i?.get,a=i?.set,l=Object.getOwnPropertyDescriptor(HTMLIFrameElement.prototype,"sandbox")?.get,s=DOMTokenList.prototype.add,p=DOMTokenList.prototype.remove,f=DOMTokenList.prototype.toggle,d=DOMTokenList.prototype.replace,y=Object.getOwnPropertyDescriptor(DOMTokenList.prototype,"value"),b=y?.get,g=y?.set,m=new WeakSet;o({property:"createElement",context:document,value:function(n,i){let c=e.call(document,n,i);return"iframe"===u(n)&&(o({property:"srcdoc",context:c,get:()=>"",set:()=>{console.warn("`srcdoc` is not allowed in iframe elements.")}}),o({property:"setAttribute",context:c,value:function(e,r){if("srcdoc"===e.toLowerCase())return void console.warn("`srcdoc` attribute is not allowed to be set.");t.call(c,e,r);e.toLowerCase()},enumerable:!1}),o({property:"setAttributeNS",context:c,value:function(e,t,o){if("srcdoc"===t.toLowerCase())return void console.warn("`srcdoc` attribute is not allowed to be set.");r.call(c,e,t,o);t.toLowerCase()},enumerable:!1})),c},enumerable:!0})}(),g(m,"specs.thunderbolt.hardenFetchAndXHR")&&v&&function(e,t,r){let n=fetch,i=XMLHttpRequest,c=new Set(t);function a(){let t=new i,o=t.open,n=t.setRequestHeader;return t.open=function(){let n=Array.from(arguments),i=n[1];if(n.length<2||d(i,e))return o.apply(t,n);throw Error(r||`Request not allowed for path ${i}`)},t.setRequestHeader=function(e,r){f(decodeURIComponent(e),c)&&n.call(t,e,r)},t}o({property:"fetch",value:function(){var t;let o=(t=arguments,globalThis.Request&&t[0]instanceof Request&&t[0]?.headers?p(t[0].headers,c):t[1]?.headers&&p(t[1].headers,c),t);return d(arguments[0],e)?n.apply(globalThis,Array.from(o)):new Promise((e,t)=>{let o=Error(r||`Request not allowed for path ${arguments[0]}`);t(o)})},enumerable:!0}),o({property:"XMLHttpRequest",value:a,enumerable:!0}),Object.keys(i).forEach(e=>{a[e]=i[e]})}(["/_api/v1/access-tokens","/_api/v2/dynamicmodel","/_api/one-app-session-web/v3/businesses"],["client-binding"]),function(){if(navigator&&"serviceWorker"in navigator)navigator.serviceWorker.register,o({context:navigator.serviceWorker,property:"register",value:function(){console.log("Service worker registration is not allowed")},enumerable:!0})}(),e=[],t=(t=[]).concat(["TextEncoder","TextDecoder"]),v&&(t=t.concat(["XMLHttpRequestEventTarget","EventTarget"])),t=t.concat(["URL","JSON"]),v&&(e=e.concat(["addEventListener","removeEventListener"])),e=e.concat(["encodeURI","encodeURIComponent","decodeURI","decodeURIComponent"]),t=t.concat(["String","Number"]),v&&t.push("Object"),t=t.concat(["Reflect"]),e.forEach(e=>{a(e),["addEventListener","removeEventListener"].includes(e)&&a(e,document)}),t.forEach(e=>{c({property:e})}),v&&function(){return e("setTimeout",0,globalThis),e("setInterval",0,globalThis);function e(e,t,r){let n=r||globalThis,i=n[e];if(!i||"function"!=typeof i)throw Error(`Function ${e} not found or is not a function`);o({property:e,value:function(){let r=Array.from(arguments);if("string"!=typeof r[t])return i.apply(n,r);console.warn(`Calling ${e} with a String Argument at index ${t} is not allowed`)},context:r,enumerable:!0})}}()}catch(t){window?.viewerModel?.mode.debug&&console.error(t);let e=Error("TB006");window.fedops?.reportError(e,"security_overrideGlobals"),window.Sentry?window.Sentry.captureException(e):globalThis.defineStrictProperty("sentryBuffer",[e],window,!1)}performance.mark("overrideGlobals ended")})();
//# sourceMappingURL=https://static.parastorage.com/services/wix-thunderbolt/dist/overrideGlobals.inline.b271af7d.bundle.min.js.map
Greenpeace is a global, independent campaigning organization that uses peaceful protest and creative communication to expose global environmental problems and promote solutions that are essential to a green and peaceful future. Today, we have grown from a small group of dedicated activists to an international organization with offices in more than 50 countries. But our spirit and our mission remain the same. Our fight to save the planet has grown more serious—the threat of global warming, destruction of ancient forests, deterioration of our oceans, and the threat of a nuclear disaster loom large. Greenpeace is actively working to address these and other threats.
At Take my survey!, we empower students to ask insightful questions, explore disciplinary boundaries and confront conventional ways of thinking. Check out our site to learn more about all that we have to offer.