<snapdata remixID="12329127"><project name="HTML Web View" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="HTML Web View"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="display html content %&apos;content&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>htmlContent</l><l>mode</l></list><l>let world = document.getElementById(&apos;world&apos;)&#xD;world.setAttribute(&apos;style&apos;,&apos;position: absolute; left: 0px; right: 0px; width: 100%; height: 100%; z-index: 1;&apos;)&#xD;let topLoc, leftLoc;&#xD;if(!document.getElementById(&apos;content&apos;)){&#xD;let content = document.createElement(&apos;div&apos;)&#xD;content.setAttribute(&apos;id&apos;, &apos;content&apos;)&#xD;content.setAttribute(&apos;style&apos;,&apos;z-index: 2; top: &apos;+topLoc+&apos;; left: &apos;+leftLoc+&apos;; position: absolute&apos;)&#xD;document.body.appendChild(content)&#xD;content.innerHTML = htmlContent;&#xD;}</l></block><list><block var="content"/><custom-block s="setting %s"><l>Presentation mode</l></custom-block></list></block></script></block-definition><block-definition s="delete html content" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>try {&#xD;document.getElementById(&apos;content&apos;).parentNode.removeChild(document.getElementById(&apos;content&apos;))&#xD;}&#xD;catch(err){&#xD;console.log(&apos;No content to remove&apos;)&#xD;}</l></block><list></list></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows reading global settings programmatically.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return !!this.scripts.focus;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        return Process.prototype.enableHyperOps;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="HTML Code: %&apos;Code&apos;" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>code</l><l>style</l></list><l>let frame = document.createElement("iframe");&#xD;    frame.setAttribute("id", "HTML");&#xD;    frame.setAttribute("srcdoc", code);&#xD;    frame.setAttribute("style", style);&#xD;    document.body.innerHTML += "&lt;div id = \"div\"&gt;&lt;/div&gt;";&#xD;    document.getElementById("div").appendChild(frame);&#xD;    code = document.getElementById("div").innerHTML&#xD;    document.head.innerHTML = "";&#xD;    document.body.innerHTML = code;</l></block><list><block var="Code"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return document.getElementById("world").getAttribute("style")</l></block><list></list></block></list></block></script></block-definition><block-definition s="listify %&apos;jsonString&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:os dados JSON _ em formato de lista&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="jsonString"/><l><option>json</option></l></block></block></script></block-definition><block-definition s="value at key %&apos;key&apos; of %&apos;lst&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o valor com chave _ em _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>each item</l><block var="lst"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="each item"/></block><block var="key"/></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="each item"/></block></block></script></block></script></block></script></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="%&apos;method&apos; url: %&apos;url&apos; send: %&apos;payload&apos; headers: %&apos;headers&apos;" type="reporter" category="sensing"><header></header><code></code><translations>pt:a resposta a _ de _ enviando _ e cabeçalhos _&#xD;</translations><inputs><input type="%s" readonly="true">GET<options>GET&#xD;POST&#xD;PUT&#xD;DELETE</options></input><input type="%s">https://snap.berkeley.edu</input><input type="%s"></input><input type="%mult%l" readonly="true"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>xhr_request(mth, url, dta, hdrs)</l><list><block var="method"/><block var="url"/><block var="payload"/><block var="headers"/></list></block></block></script></block-definition><block-definition s="key: %&apos;key&apos; value: %&apos;value&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:um par (chave: _ , valor: _ )&#xD;</translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="key"/><block var="value"/></list></block></block></script></block-definition><block-definition s="current location" type="reporter" category="sensing"><comment x="0" y="0" w="200" collapsed="false">Reports a three-item list containing the latitude and longitude of the user, and the precision of the measurements.  Works only if the user allows snap.berkeley.edu access to location data.  Some browsers also require an HTTPS connection to Snap!.</comment><header></header><code></code><translations>pt:a localização actual do dispositivo&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>geo_location(acc?)</l><list><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></block><block s="doWaitUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="evaluate"><block var="callback"/><list></list></block></block><l>3</l></list></block></block><block s="doReport"><block s="evaluate"><block var="callback"/><list></list></block></block></script></block-definition><block-definition s="safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="control"><comment x="0" y="0" w="276" collapsed="false">Catch errors.&#xD;&#xD;Runs the first script.  If it succeeds, nothing else happens.&#xD;But if it has an error (something that would otherwise result&#xD;in a red halo around the block), then the second script is run,&#xD;with the text of the error message that would have been shown in the variable ERROR.</comment><header></header><code></code><translations>pt:tenta executar _ e, em caso de erro _ , executa _&#xD;ca:prova de forma segura _ i si _ _&#xD;</translations><inputs><input type="%cs"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block var="action"/><block var="handler"/><block var="error"/></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><comment x="0" y="0" w="268.6666666666667" collapsed="false">Throw an error.&#xD;&#xD;Makes a red halo appear around the script that runs it,&#xD;with the input text shown in a speech balloon next to&#xD;the script, just like any Snap! error.&#xD;&#xD;This is useful to put in the second script of SAFELY TRY&#xD;after some other instructions to undo the partial work of&#xD;the first script.</comment><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="safely try reporting %&apos;this&apos; then if %&apos;error&apos; report %&apos;that&apos;" type="reporter" category="control"><comment x="0" y="0" w="316.6666666666667" collapsed="false">Catch errors in a reporter.&#xD;&#xD;Evaluates its first input.  If that expression successfully reports a value, this block reports that value.  If the expression causes a Snap! error,&#xD;then the final input slot is evaluated with the text of what would have&#xD;been the error message in variable ERROR.  SAFELY TRY then reports the value of that final expression.&#xD;&#xD;Sometimes you&apos;ll want to throw an error in the final expression.  You&#xD;can put an ERROR block inside a CALL block to do that.</comment><header></header><code></code><translations>ca:prova de forma segura reportant _ i si _ reportant _&#xD;</translations><inputs><input type="%anyUE"></input><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doDeclareVariables"><list><l>value</l></list></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>value</l><block s="evaluate"><block var="this"/><list></list></block></block></script><l>err</l><script><block s="doSetVar"><l>error</l><block var="err"/></block><block s="doSetVar"><l>value</l><block s="evaluate"><block var="that"/><list></list></block></block></script></custom-block><block s="doReport"><block var="value"/></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="211"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="212"></list></costumes><sounds><list struct="atomic" id="213"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="218"><costumes><list struct="atomic" id="219"></list></costumes><sounds><list struct="atomic" id="220"></list></sounds><blocks></blocks><variables></variables><scripts><script x="121.54296875000023" y="30.000000000000114"><block s="receiveGo"></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doAsk"><l>URL or HTML</l></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="getLastAnswer"></block><l>1</l></list></block><block s="reportVariadicEquals"><list><block s="getLastAnswer"></block><l>URL</l></list></block></list></block><script><block s="doAsk"><l>Enter Valid URL</l></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doRun"><block s="reportJSFunction"><list><l>code</l><l>style</l></list><l>let frame = document.createElement("iframe");&#xD;    frame.setAttribute("id", "HTML");&#xD;    frame.setAttribute("srcdoc", code);&#xD;    frame.setAttribute("style", style);&#xD;    document.body.innerHTML += "&lt;div id = \"div\"&gt;&lt;/div&gt;";&#xD;    document.getElementById("div").appendChild(frame);&#xD;    code = document.getElementById("div").innerHTML&#xD;    document.head.innerHTML = "";&#xD;    document.body.innerHTML = code;</l></block><list><block s="reportJoinWords"><list><l>&lt;a href="</l><block s="getLastAnswer"></block><l>"&gt;</l><block s="getLastAnswer"></block><l>&lt;/a&gt;</l></list></block><block s="evaluate"><block s="reportJSFunction"><list></list><l>return document.getElementById("world").getAttribute("style")</l></block><list></list></block></list></block></script><l>error</l><script><block s="doSayFor"><l>Something Went Wrong! Try again!</l><l>2</l></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block></script></custom-block></script><script><block s="doAsk"><l>Enter Valid HTML</l></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="getLastAnswer"></block><l></l></list></block><script><block s="doSayFor"><l>Something Went Wrong! Try again!</l><l>2</l></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>code</l><l>style</l></list><l>let frame = document.createElement("iframe");&#xD;    frame.setAttribute("id", "HTML");&#xD;    frame.setAttribute("srcdoc", code);&#xD;    frame.setAttribute("style", style);&#xD;    document.body.innerHTML += "&lt;div id = \"div\"&gt;&lt;/div&gt;";&#xD;    document.getElementById("div").appendChild(frame);&#xD;    code = document.getElementById("div").innerHTML&#xD;    document.head.innerHTML = "";&#xD;    document.body.innerHTML = code;</l></block><list><block s="getLastAnswer"></block><block s="evaluate"><block s="reportJSFunction"><list></list><l>return document.getElementById("world").getAttribute("style")</l></block><list></list></block></list></block></script><l>error</l><script><block s="doSayFor"><l>Something Went Wrong! Try again!</l><l>2</l></block><block s="doBroadcast"><l><option>__shout__go__</option></l><list></list></block></script></custom-block></script></block></script><script x="114.54296875" y="1088.3333333333335"><block s="receiveKey"><l><option>-</option></l><list></list></block><block s="doRun"><block s="reportJSFunction"><list><l>code</l><l>style</l></list><l>let frame = document.createElement("iframe");&#xD;    frame.setAttribute("id", "HTML");&#xD;    frame.setAttribute("srcdoc", code);&#xD;    frame.setAttribute("style", style);&#xD;    document.body.innerHTML += "&lt;div id = \"div\"&gt;&lt;/div&gt;";&#xD;    document.getElementById("div").appendChild(frame);&#xD;    code = document.getElementById("div").innerHTML&#xD;    document.head.innerHTML = "";&#xD;    document.body.innerHTML = code;</l></block><list><block s="reportURL"><l>https://snap.berkeley.edu/snap/snap.html#present:Username=trumpy.b&amp;ProjectName=HTML%20Web%20View</l></block><block s="evaluate"><block s="reportJSFunction"><list></list><l>return document.getElementById("world").getAttribute("style")</l></block><list></list></block></list></block></script><script x="10" y="1188.3333333333344"><block s="getLastAnswer"></block></script></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="HTML Web View" app="Snap! 8.2, https://snap.berkeley.edu" version="2"></media></snapdata>