 bondscell_results $9c68e30b-1e07-484d-9fa8-2eef6aa57c52queued¤logsrunning¦outputbody.with_counter (generic function with 2 methods)mimetext/plainrootassigneelast_run_timestampAI<persist_js_state·has_pluto_hook_features§cell_id$9c68e30b-1e07-484d-9fa8-2eef6aa57c52depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$f17d1d75-9080-42e8-9e3a-0cea4262d22aqueued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAFspersist_js_state·has_pluto_hook_features§cell_id$f17d1d75-9080-42e8-9e3a-0cea4262d22adepends_on_disabled_cells§runtime@Mpublished_object_keysdepends_on_skipped_cells§errored$cd475c0f-4171-49fb-b598-2c52a909a8c9queued¤logsrunning¦outputbody123mimetext/plainrootassigneexlast_run_timestampAIpersist_js_state·has_pluto_hook_features§cell_id$cd475c0f-4171-49fb-b598-2c52a909a8c9depends_on_disabled_cells§runtime+Hpublished_object_keysdepends_on_skipped_cells§errored$9705bc7c-57e7-4141-8e9e-d5bb77ff331dqueued¤logsrunning¦outputbody
<script id='id_A36au3YWNtk_1'>
</script>



<script id='id_A36au3YWNtk_2'>
</script>


<div>
<script id='id_A36au3YWNtk_3,aa,1'>
</script>


<script id='id_A36au3YWNtk_3,aa&apos;bb,1'>
</script>

</div>

<script id='id_A36au3YWNtk_4'>
</script>


mimetext/plainrootassigneelast_run_timestampAI!persist_js_state·has_pluto_hook_features§cell_id$9705bc7c-57e7-4141-8e9e-d5bb77ff331ddepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$07a6a296-a148-11ec-2e74-79c8e4f396b4queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAH;\persist_js_state·has_pluto_hook_features§cell_id$07a6a296-a148-11ec-2e74-79c8e4f396b4depends_on_disabled_cells§runtimeempublished_object_keysdepends_on_skipped_cells§errored$e8c820f2-4511-4243-932c-9496648e02dfqueued¤logsrunning¦outputbody
<script id='id_JmryABLhgWu_-8751178260570632227'>
let node
if(this == null) {
	node = html`<span style='color: green'></span>`
	node.val = {current: 0}
} else {
	node = this
}
const val = node.val
val.current += 1
node.innerText = val.current

return node
</script>
mimetext/plainrootassigneelast_run_timestampAIWpersist_js_state·has_pluto_hook_features§cell_id$e8c820f2-4511-4243-932c-9496648e02dfdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$280a1cfd-3507-47ce-8ddd-5ea9aacbd112queued¤logsrunning¦outputbodyPlutoUI.ExperimentalLayoutmimetext/plainrootassigneeconst Layoutlast_run_timestampAIȰpersist_js_state·has_pluto_hook_features§cell_id$280a1cfd-3507-47ce-8ddd-5ea9aacbd112depends_on_disabled_cells§runtime 34published_object_keysdepends_on_skipped_cells§errored$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8queued¤logsrunning¦outputbody)counter1 (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAI~Rpersist_js_state·has_pluto_hook_features§cell_id$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$4216cc8a-0b40-479a-93e9-8ad8c0896f1cqueued¤logsrunning¦outputbodyUnion{Int64, Symbol}mimetext/plainrootassigneeconst StackElementlast_run_timestampAI#*persist_js_state·has_pluto_hook_features§cell_id$4216cc8a-0b40-479a-93e9-8ad8c0896f1cdepends_on_disabled_cells§runtime 7published_object_keysdepends_on_skipped_cells§errored$a5404f55-2f87-4e9b-b7ba-11c591327b72queued¤logsrunning¦outputbody;get_and_increment_counter! (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAI2persist_js_state·has_pluto_hook_features§cell_id$a5404f55-2f87-4e9b-b7ba-11c591327b72depends_on_disabled_cells§runtime Wܵpublished_object_keysdepends_on_skipped_cells§errored$812c5dd0-7f18-4ab0-bccf-0f373f14559dqueued¤logsrunning¦outputbody
<script id='id_A36au3YWNtk_1'>
</script>



<script id='id_A36au3YWNtk_2'>
</script>


<div>
<script id='id_A36au3YWNtk_3,1,1'>
</script>


<script id='id_A36au3YWNtk_3,2,1'>
</script>

</div>

<script id='id_A36au3YWNtk_4'>
</script>


mimetext/plainrootassigneelast_run_timestampAI#persist_js_state·has_pluto_hook_features§cell_id$812c5dd0-7f18-4ab0-bccf-0f373f14559ddepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$4342f39f-0b79-472f-8b1b-766401c564ebqueued¤logsrunning¦outputbody>render_like_plutorunner_would (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAI\̅persist_js_state·has_pluto_hook_features§cell_id$4342f39f-0b79-472f-8b1b-766401c564ebdepends_on_disabled_cells§runtime 8published_object_keysdepends_on_skipped_cells§errored$c1b22768-672b-4a29-a542-2417d87985c5queued¤logsrunning¦outputbodyX
<script id='id_A36au3YWNtk_1'>
</script>



<script id='id_A36au3YWNtk_2'>
</script>


mimetext/plainrootassigneelast_run_timestampAIο°persist_js_state·has_pluto_hook_features§cell_id$c1b22768-672b-4a29-a542-2417d87985c5depends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579queued¤logsrunning¦outputbody(@give_me_script_id (macro with 1 method)mimetext/plainrootassigneelast_run_timestampAIrpersist_js_state·has_pluto_hook_features§cell_id$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579depends_on_disabled_cells§runtime Ƶpublished_object_keysdepends_on_skipped_cells§errored$3315fe51-0577-4f96-973d-8f055a0ab19cqueued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAIRڰpersist_js_state·has_pluto_hook_features§cell_id$3315fe51-0577-4f96-973d-8f055a0ab19cdepends_on_disabled_cells§runtime )1!published_object_keysdepends_on_skipped_cells§errored$b36fe7c3-e7bb-4890-ad59-5c7072151c1bqueued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAHRpersist_js_state·has_pluto_hook_features§cell_id$b36fe7c3-e7bb-4890-ad59-5c7072151c1bdepends_on_disabled_cells§runtime%εpublished_object_keysdepends_on_skipped_cells§errored$50e27110-0501-49a2-9d8a-10e717d3e282queued¤logsrunning¦outputbody><div class="markdown"><h2>What the HTML looks like</h2>
</div>mimetext/htmlrootassigneelast_run_timestampAFTpersist_js_state·has_pluto_hook_features§cell_id$50e27110-0501-49a2-9d8a-10e717d3e282depends_on_disabled_cells§runtime )published_object_keysdepends_on_skipped_cells§errored$01189d5c-938d-44a8-80e0-37a3f1958849queued¤logsrunning¦outputbody2give_me_script_id (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAIf6persist_js_state·has_pluto_hook_features§cell_id$01189d5c-938d-44a8-80e0-37a3f1958849depends_on_disabled_cells§runtime  published_object_keysdepends_on_skipped_cells§errored$c8a6ec37-1001-47f2-a57b-1e188b7433b4queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAH(persist_js_state·has_pluto_hook_features§cell_id$c8a6ec37-1001-47f2-a57b-1e188b7433b4depends_on_disabled_cells§runtime fpublished_object_keysdepends_on_skipped_cells§errored$8ad38fc1-ff49-4773-801d-9d866fb88245queued¤logsrunning¦outputbody3<div class="markdown"><h1>Counter stack</h1>
</div>mimetext/htmlrootassigneelast_run_timestampAFðpersist_js_state·has_pluto_hook_features§cell_id$8ad38fc1-ff49-4773-801d-9d866fb88245depends_on_disabled_cells§runtime Ԛpublished_object_keysdepends_on_skipped_cells§errored$9ba89501-32ee-402b-8954-7d52c8aa79f4queued¤logsrunning¦outputbody.<div class="markdown"><h1>Examples</h1>
</div>mimetext/htmlrootassigneelast_run_timestampAFdpersist_js_state·has_pluto_hook_features§cell_id$9ba89501-32ee-402b-8954-7d52c8aa79f4depends_on_disabled_cells§runtime 	published_object_keysdepends_on_skipped_cells§errored$c86006c1-fbb3-4c9b-8782-ec5426c73d86queued¤logsrunning¦outputbodyScriptIDGivermimetext/plainrootassigneelast_run_timestampAIO8persist_js_state·has_pluto_hook_features§cell_id$c86006c1-fbb3-4c9b-8782-ec5426c73d86depends_on_disabled_cells§runtime ȵpublished_object_keysdepends_on_skipped_cells§errored$cdd3254e-57e4-48f9-898c-b675c7b1edd1queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAIRpersist_js_state·has_pluto_hook_features§cell_id$cdd3254e-57e4-48f9-898c-b675c7b1edd1depends_on_disabled_cells§runtime Opublished_object_keysdepends_on_skipped_cells§errored$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fqueued¤logsrunning¦outputbody<div><script id='id_JmryABLhgWu_1,1'>
let node
if(this == null) {
	node = html`<span style='color: green'></span>`
	node.val = {current: 0}
} else {
	node = this
}
const val = node.val
val.current += 1
node.innerText = val.current

return node
</script>
<script id='id_AA3XklOUFir_2,1'>
let node
if(this == null) {
	node = html`<span style='color: red'></span>`
	node.val = {current: 0}
} else {
	node = this
}
const val = node.val
val.current += 1
node.innerText = val.current

return node
</script>
</div>mimetext/htmlrootassigneelast_run_timestampAI.persist_js_state·has_pluto_hook_features§cell_id$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fdepends_on_disabled_cells§runtimeZ]published_object_keysdepends_on_skipped_cells§errored$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAH[persist_js_state·has_pluto_hook_features§cell_id$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8depends_on_disabled_cells§runtime 2published_object_keysdepends_on_skipped_cells§errored$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1queued¤logsrunning¦outputbodyH<div class="markdown"><h1>Macro that uses it for a script ID</h1>
</div>mimetext/htmlrootassigneelast_run_timestampAF
persist_js_state·has_pluto_hook_features§cell_id$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$49e90b1a-7c3e-49e0-b5fb-580d2c317d4equeued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAFpersist_js_state·has_pluto_hook_features§cell_id$49e90b1a-7c3e-49e0-b5fb-580d2c317d4edepends_on_disabled_cells§runtime 	kpublished_object_keysdepends_on_skipped_cells§errored$74dd3ae7-daa3-4da1-8674-37278d94702bqueued¤logsrunning¦outputbody)counter2 (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAIopersist_js_state·has_pluto_hook_features§cell_id$74dd3ae7-daa3-4da1-8674-37278d94702bdepends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$b8f33885-3b01-4858-bc99-9475f36d2adcqueued¤logsrunning¦outputbodymsgGsyntax: extra token after end of expression

Boundaries: [96, 209, 366]stacktracesource_packagefilesyntax error.jlfuncthrow_syntax_errorcall_short#throw_syntax_error(syntax_err::Any)inlined£urlbfile:///home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/display/syntax error.jlpath[/home/runner/.julia/packages/Pluto/6smog/src/runner/PlutoRunner/src/display/syntax error.jlcall#throw_syntax_error(syntax_err::Any)linfo_typeCore.MethodInstanceline̲parent_modulefrom_csource_packagefile<give_me_script_id.jl#==#b8f33885-3b01-4858-bc99-9475f36d2adcfunc##function_wrapped_cell#4483call_shorttop-level scopeinlinedãurlpathr/home/runner/work/disorganised-mess/disorganised-mess/give_me_script_id.jl#==#b8f33885-3b01-4858-bc99-9475f36d2adccalltop-level scopelinfo_typeNothinglineparent_modulefrom_c¤mime'application/vnd.pluto.stacktrace+objectrootassigneelast_run_timestampAF:persist_js_state·has_pluto_hook_features§cell_id$b8f33885-3b01-4858-bc99-9475f36d2adcdepends_on_disabled_cells§runtimepublished_object_keysdepends_on_skipped_cells§errored$6098cc79-89f5-4cc5-ba41-ca7c08d750f7queued¤logsrunning¦outputbodymimetext/plainrootassigneelast_run_timestampAF9persist_js_state·has_pluto_hook_features§cell_id$6098cc79-89f5-4cc5-ba41-ca7c08d750f7depends_on_disabled_cells§runtime published_object_keysdepends_on_skipped_cells§errored$fa1a618e-88fe-4809-9a8b-68a321b82629queued¤logsrunning¦outputbody,just_script (generic function with 1 method)mimetext/plainrootassigneelast_run_timestampAIȓ6persist_js_state·has_pluto_hook_features§cell_id$fa1a618e-88fe-4809-9a8b-68a321b82629depends_on_disabled_cells§runtime Upublished_object_keysdepends_on_skipped_cells§errored±cell_dependencies $9c68e30b-1e07-484d-9fa8-2eef6aa57c52precedence_heuristic	cell_id$9c68e30b-1e07-484d-9fa8-2eef6aa57c52downstream_cells_mapwith_counter$3315fe51-0577-4f96-973d-8f055a0ab19c$cdd3254e-57e4-48f9-898c-b675c7b1edd1$4342f39f-0b79-472f-8b1b-766401c564ebupstream_cells_mapIONothingStackElement$4216cc8a-0b40-479a-93e9-8ad8c0896f1cIOContext=>getFunctionnothingVector===Union$f17d1d75-9080-42e8-9e3a-0cea4262d22aprecedence_heuristic	cell_id$f17d1d75-9080-42e8-9e3a-0cea4262d22adownstream_cells_mapupstream_cells_map$cd475c0f-4171-49fb-b598-2c52a909a8c9precedence_heuristic	cell_id$cd475c0f-4171-49fb-b598-2c52a909a8c9downstream_cells_mapx$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fupstream_cells_map$9705bc7c-57e7-4141-8e9e-d5bb77ff331dprecedence_heuristic	cell_id$9705bc7c-57e7-4141-8e9e-d5bb77ff331ddownstream_cells_mapupstream_cells_mapjust_script$fa1a618e-88fe-4809-9a8b-68a321b82629HypertextLiteral.Bypass|>PlutoKeyedDiv$cdd3254e-57e4-48f9-898c-b675c7b1edd1HypertextLiteral.content=>Symbol@htlTextrender_like_plutorunner_would$4342f39f-0b79-472f-8b1b-766401c564ebHypertextLiteral.ResultHypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4$07a6a296-a148-11ec-2e74-79c8e4f396b4precedence_heuristiccell_id$07a6a296-a148-11ec-2e74-79c8e4f396b4downstream_cells_mapHypertextLiteral$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8$c8a6ec37-1001-47f2-a57b-1e188b7433b4$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8$74dd3ae7-daa3-4da1-8674-37278d94702b$fa1a618e-88fe-4809-9a8b-68a321b82629$c1b22768-672b-4a29-a542-2417d87985c5$812c5dd0-7f18-4ab0-bccf-0f373f14559d$9705bc7c-57e7-4141-8e9e-d5bb77ff331dupstream_cells_map$e8c820f2-4511-4243-932c-9496648e02dfprecedence_heuristic	cell_id$e8c820f2-4511-4243-932c-9496648e02dfdownstream_cells_mapupstream_cells_mapBasecounter1$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8|>@MIME_strreprText$280a1cfd-3507-47ce-8ddd-5ea9aacbd112precedence_heuristic	cell_id$280a1cfd-3507-47ce-8ddd-5ea9aacbd112downstream_cells_mapLayoutupstream_cells_mapPlutoUI$b36fe7c3-e7bb-4890-ad59-5c7072151c1b$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8precedence_heuristic	cell_id$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8downstream_cells_mapcounter1$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8f$e8c820f2-4511-4243-932c-9496648e02dfupstream_cells_map@give_me_script_id$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579HypertextLiteral.attribute_pairHypertextLiteral.BypassHypertextLiteral.ResultHypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4@htl$4216cc8a-0b40-479a-93e9-8ad8c0896f1cprecedence_heuristic	cell_id$4216cc8a-0b40-479a-93e9-8ad8c0896f1cdownstream_cells_mapStackElement$a5404f55-2f87-4e9b-b7ba-11c591327b72$9c68e30b-1e07-484d-9fa8-2eef6aa57c52upstream_cells_mapIntUnionSymbol$a5404f55-2f87-4e9b-b7ba-11c591327b72precedence_heuristic	cell_id$a5404f55-2f87-4e9b-b7ba-11c591327b72downstream_cells_mapget_and_increment_counter!$c86006c1-fbb3-4c9b-8782-ec5426c73d86$3315fe51-0577-4f96-973d-8f055a0ab19c$cdd3254e-57e4-48f9-898c-b675c7b1edd1upstream_cells_mapstringIOStackElement$4216cc8a-0b40-479a-93e9-8ad8c0896f1crandendgetVectorjoinlength>=Int+$812c5dd0-7f18-4ab0-bccf-0f373f14559dprecedence_heuristic	cell_id$812c5dd0-7f18-4ab0-bccf-0f373f14559ddownstream_cells_mapupstream_cells_maprender_like_plutorunner_would$4342f39f-0b79-472f-8b1b-766401c564ebjust_script$fa1a618e-88fe-4809-9a8b-68a321b82629HypertextLiteral.BypassHypertextLiteral.Result|>HypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4PlutoDiv$3315fe51-0577-4f96-973d-8f055a0ab19cHypertextLiteral.content@htlText$4342f39f-0b79-472f-8b1b-766401c564ebprecedence_heuristic	cell_id$4342f39f-0b79-472f-8b1b-766401c564ebdownstream_cells_maprender_like_plutorunner_would$c1b22768-672b-4a29-a542-2417d87985c5$812c5dd0-7f18-4ab0-bccf-0f373f14559d$9705bc7c-57e7-4141-8e9e-d5bb77ff331dupstream_cells_mapwith_counter$9c68e30b-1e07-484d-9fa8-2eef6aa57c52BaseshowHTMLsprint|>@MIME_str$c1b22768-672b-4a29-a542-2417d87985c5precedence_heuristic	cell_id$c1b22768-672b-4a29-a542-2417d87985c5downstream_cells_mapupstream_cells_maprender_like_plutorunner_would$4342f39f-0b79-472f-8b1b-766401c564ebjust_script$fa1a618e-88fe-4809-9a8b-68a321b82629HypertextLiteral.BypassHypertextLiteral.Result|>HypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4HypertextLiteral.content@htlText$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579precedence_heuristic	cell_id$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579downstream_cells_map@give_me_script_id$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8$74dd3ae7-daa3-4da1-8674-37278d94702b$fa1a618e-88fe-4809-9a8b-68a321b82629upstream_cells_map__source__give_me_script_id$01189d5c-938d-44a8-80e0-37a3f1958849$3315fe51-0577-4f96-973d-8f055a0ab19cprecedence_heuristic	cell_id$3315fe51-0577-4f96-973d-8f055a0ab19cdownstream_cells_mapBase.showPlutoDiv$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8f$812c5dd0-7f18-4ab0-bccf-0f373f14559d$3315fe51-0577-4f96-973d-8f055a0ab19cupstream_cells_mapwith_counter$9c68e30b-1e07-484d-9fa8-2eef6aa57c52BaseIOenumerateget_and_increment_counter!$a5404f55-2f87-4e9b-b7ba-11c591327b72writePlutoDiv$3315fe51-0577-4f96-973d-8f055a0ab19c@MIME_strVector$b36fe7c3-e7bb-4890-ad59-5c7072151c1bprecedence_heuristiccell_id$b36fe7c3-e7bb-4890-ad59-5c7072151c1bdownstream_cells_mapPlutoUI$280a1cfd-3507-47ce-8ddd-5ea9aacbd112upstream_cells_map$50e27110-0501-49a2-9d8a-10e717d3e282precedence_heuristic	cell_id$50e27110-0501-49a2-9d8a-10e717d3e282downstream_cells_mapupstream_cells_map@md_strgetindex$01189d5c-938d-44a8-80e0-37a3f1958849precedence_heuristic	cell_id$01189d5c-938d-44a8-80e0-37a3f1958849downstream_cells_mapgive_me_script_id$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579upstream_cells_mapScriptIDGiver$c86006c1-fbb3-4c9b-8782-ec5426c73d86LineNumberNode$c8a6ec37-1001-47f2-a57b-1e188b7433b4precedence_heuristic	cell_id$c8a6ec37-1001-47f2-a57b-1e188b7433b4downstream_cells_mapupstream_cells_map@assertthrowHypertextLiteral.EscapeProxyHypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4IOContextAssertionError=>==getdevnull$8ad38fc1-ff49-4773-801d-9d866fb88245precedence_heuristic	cell_id$8ad38fc1-ff49-4773-801d-9d866fb88245downstream_cells_mapupstream_cells_map@md_strgetindex$9ba89501-32ee-402b-8954-7d52c8aa79f4precedence_heuristic	cell_id$9ba89501-32ee-402b-8954-7d52c8aa79f4downstream_cells_mapupstream_cells_map@md_strgetindex$c86006c1-fbb3-4c9b-8782-ec5426c73d86precedence_heuristic	cell_id$c86006c1-fbb3-4c9b-8782-ec5426c73d86downstream_cells_mapScriptIDGiver$c86006c1-fbb3-4c9b-8782-ec5426c73d86$01189d5c-938d-44a8-80e0-37a3f1958849Base.showupstream_cells_mapstringBaseScriptIDGiver$c86006c1-fbb3-4c9b-8782-ec5426c73d86IOget_and_increment_counter!$a5404f55-2f87-4e9b-b7ba-11c591327b72writeLineNumberNodehash$cdd3254e-57e4-48f9-898c-b675c7b1edd1precedence_heuristic	cell_id$cdd3254e-57e4-48f9-898c-b675c7b1edd1downstream_cells_mapBase.showPlutoKeyedDiv$9705bc7c-57e7-4141-8e9e-d5bb77ff331d$cdd3254e-57e4-48f9-898c-b675c7b1edd1upstream_cells_mapIOget_and_increment_counter!$a5404f55-2f87-4e9b-b7ba-11c591327b72PlutoKeyedDiv$cdd3254e-57e4-48f9-898c-b675c7b1edd1@MIME_strAnySymbolVectorwith_counter$9c68e30b-1e07-484d-9fa8-2eef6aa57c52PairBasewrite$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fprecedence_heuristic	cell_id$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fdownstream_cells_mapupstream_cells_mapcounter2$74dd3ae7-daa3-4da1-8674-37278d94702bcounter1$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8PlutoDiv$3315fe51-0577-4f96-973d-8f055a0ab19cx$cd475c0f-4171-49fb-b598-2c52a909a8c9$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8precedence_heuristic	cell_id$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8downstream_cells_mapBase.getupstream_cells_mapBaseHypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1precedence_heuristic	cell_id$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1downstream_cells_mapupstream_cells_map@md_strgetindex$49e90b1a-7c3e-49e0-b5fb-580d2c317d4eprecedence_heuristic	cell_id$49e90b1a-7c3e-49e0-b5fb-580d2c317d4edownstream_cells_mapupstream_cells_map$74dd3ae7-daa3-4da1-8674-37278d94702bprecedence_heuristic	cell_id$74dd3ae7-daa3-4da1-8674-37278d94702bdownstream_cells_mapcounter2$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fupstream_cells_map@give_me_script_id$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579HypertextLiteral.attribute_pairHypertextLiteral.BypassHypertextLiteral.ResultHypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4@htl$b8f33885-3b01-4858-bc99-9475f36d2adcprecedence_heuristic	cell_id$b8f33885-3b01-4858-bc99-9475f36d2adcdownstream_cells_mapupstream_cells_mapPlutoRunnerPlutoRunner.throw_syntax_error$6098cc79-89f5-4cc5-ba41-ca7c08d750f7precedence_heuristic	cell_id$6098cc79-89f5-4cc5-ba41-ca7c08d750f7downstream_cells_mapupstream_cells_map$fa1a618e-88fe-4809-9a8b-68a321b82629precedence_heuristic	cell_id$fa1a618e-88fe-4809-9a8b-68a321b82629downstream_cells_mapjust_script$c1b22768-672b-4a29-a542-2417d87985c5$812c5dd0-7f18-4ab0-bccf-0f373f14559d$9705bc7c-57e7-4141-8e9e-d5bb77ff331dupstream_cells_map@give_me_script_id$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579HypertextLiteral.attribute_pairHypertextLiteral.BypassHypertextLiteral.ResultHypertextLiteral$07a6a296-a148-11ec-2e74-79c8e4f396b4@htlcell_execution_order $07a6a296-a148-11ec-2e74-79c8e4f396b4$b36fe7c3-e7bb-4890-ad59-5c7072151c1b$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8$c8a6ec37-1001-47f2-a57b-1e188b7433b4$280a1cfd-3507-47ce-8ddd-5ea9aacbd112$6098cc79-89f5-4cc5-ba41-ca7c08d750f7$9ba89501-32ee-402b-8954-7d52c8aa79f4$cd475c0f-4171-49fb-b598-2c52a909a8c9$50e27110-0501-49a2-9d8a-10e717d3e282$8ad38fc1-ff49-4773-801d-9d866fb88245$4216cc8a-0b40-479a-93e9-8ad8c0896f1c$a5404f55-2f87-4e9b-b7ba-11c591327b72$9c68e30b-1e07-484d-9fa8-2eef6aa57c52$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1$c86006c1-fbb3-4c9b-8782-ec5426c73d86$3315fe51-0577-4f96-973d-8f055a0ab19c$cdd3254e-57e4-48f9-898c-b675c7b1edd1$49e90b1a-7c3e-49e0-b5fb-580d2c317d4e$f17d1d75-9080-42e8-9e3a-0cea4262d22a$4342f39f-0b79-472f-8b1b-766401c564eb$01189d5c-938d-44a8-80e0-37a3f1958849$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8$e8c820f2-4511-4243-932c-9496648e02df$74dd3ae7-daa3-4da1-8674-37278d94702b$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8f$fa1a618e-88fe-4809-9a8b-68a321b82629$c1b22768-672b-4a29-a542-2417d87985c5$812c5dd0-7f18-4ab0-bccf-0f373f14559d$9705bc7c-57e7-4141-8e9e-d5bb77ff331d$b8f33885-3b01-4858-bc99-9475f36d2adclast_hot_reload_time        shortpathgive_me_script_id.jlprocess_statusreadypathJ/home/runner/work/disorganised-mess/disorganised-mess/give_me_script_id.jlpluto_versionv0.19.47last_save_timeAF2cell_order $07a6a296-a148-11ec-2e74-79c8e4f396b4$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8$c8a6ec37-1001-47f2-a57b-1e188b7433b4$b36fe7c3-e7bb-4890-ad59-5c7072151c1b$280a1cfd-3507-47ce-8ddd-5ea9aacbd112$6098cc79-89f5-4cc5-ba41-ca7c08d750f7$9ba89501-32ee-402b-8954-7d52c8aa79f4$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8$74dd3ae7-daa3-4da1-8674-37278d94702b$cd475c0f-4171-49fb-b598-2c52a909a8c9$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8f$fa1a618e-88fe-4809-9a8b-68a321b82629$50e27110-0501-49a2-9d8a-10e717d3e282$c1b22768-672b-4a29-a542-2417d87985c5$812c5dd0-7f18-4ab0-bccf-0f373f14559d$8ad38fc1-ff49-4773-801d-9d866fb88245$4216cc8a-0b40-479a-93e9-8ad8c0896f1c$a5404f55-2f87-4e9b-b7ba-11c591327b72$9c68e30b-1e07-484d-9fa8-2eef6aa57c52$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1$c86006c1-fbb3-4c9b-8782-ec5426c73d86$9705bc7c-57e7-4141-8e9e-d5bb77ff331d$3315fe51-0577-4f96-973d-8f055a0ab19c$cdd3254e-57e4-48f9-898c-b675c7b1edd1$49e90b1a-7c3e-49e0-b5fb-580d2c317d4e$f17d1d75-9080-42e8-9e3a-0cea4262d22a$e8c820f2-4511-4243-932c-9496648e02df$4342f39f-0b79-472f-8b1b-766401c564eb$01189d5c-938d-44a8-80e0-37a3f1958849$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579$b8f33885-3b01-4858-bc99-9475f36d2adcpublished_objectsnbpkginstall_time_nsά.instantiatedòinstalled_versionsPlutoUI0.7.37HypertextLiteral0.9.3terminal_outputsnbpkg_syncm
[0m[1mInstantiating...[22m
[90m===[39m

[0m[1mResolving...[22m
[90m===[39m
[32m[1m  No Changes[22m[39m to `/tmp/jl_3IDmKg/Project.toml`
[32m[1m    Updating[22m[39m `/tmp/jl_3IDmKg/Manifest.toml`
 [90m [7b1f6079] [39m[92m+ FileWatching[39m

[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m  Activating[22m[39m project at `/tmp/jl_3IDmKg`PlutoUIm
[0m[1mInstantiating...[22m
[90m===[39m

[0m[1mResolving...[22m
[90m===[39m
[32m[1m  No Changes[22m[39m to `/tmp/jl_3IDmKg/Project.toml`
[32m[1m    Updating[22m[39m `/tmp/jl_3IDmKg/Manifest.toml`
 [90m [7b1f6079] [39m[92m+ FileWatching[39m

[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m  Activating[22m[39m project at `/tmp/jl_3IDmKg`HypertextLiteralm
[0m[1mInstantiating...[22m
[90m===[39m

[0m[1mResolving...[22m
[90m===[39m
[32m[1m  No Changes[22m[39m to `/tmp/jl_3IDmKg/Project.toml`
[32m[1m    Updating[22m[39m `/tmp/jl_3IDmKg/Manifest.toml`
 [90m [7b1f6079] [39m[92m+ FileWatching[39m

[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m  Activating[22m[39m project at `/tmp/jl_3IDmKg`enabled÷restart_recommended_msgrestart_required_msgbusy_packageswaiting_for_permission,waiting_for_permission_but_probably_disabled«cell_inputs $9c68e30b-1e07-484d-9fa8-2eef6aa57c52cell_id$9c68e30b-1e07-484d-9fa8-2eef6aa57c52codeXfunction with_counter(f::Function, io::IO, addkey::Union{StackElement,Nothing}=nothing)
	oldstack = get(io, :script_id_counter, StackElement[])::Vector{StackElement}
	
	newstack = if addkey === nothing
		StackElement[oldstack..., 0]
	else
		StackElement[oldstack..., addkey, 0]
	end
	
	f(IOContext(io, 
		:script_id_counter => newstack,
	))
endmetadatashow_logsèdisabled®skip_as_script«code_folded$f17d1d75-9080-42e8-9e3a-0cea4262d22acell_id$f17d1d75-9080-42e8-9e3a-0cea4262d22acodef# begin
# 	Base.get(io::HypertextLiteral.EscapeProxy, args...) = Base.get(io.io, args...)
# 	Base.get!(io::HypertextLiteral.EscapeProxy, args...) = Base.get!(io.io, args...)
# 	Base.get!(f, io::HypertextLiteral.EscapeProxy, args...) = Base.get!(f, io.io, args...)
# 	Base.get(io::HypertextLiteral.EscapeProxy, args...) = Base.get(io.io, args...)
# 	IOContextmetadatashow_logsèdisabled®skip_as_script«code_folded$cd475c0f-4171-49fb-b598-2c52a909a8c9cell_id$cd475c0f-4171-49fb-b598-2c52a909a8c9codex = 123metadatashow_logsèdisabled®skip_as_script«code_folded$9705bc7c-57e7-4141-8e9e-d5bb77ff331dcell_id$9705bc7c-57e7-4141-8e9e-d5bb77ff331dcodeپrender_like_plutorunner_would(@htl """
$(just_script())
$(just_script())
$(PlutoKeyedDiv([
	:aa => just_script(),
	Symbol("aa'bb") => just_script(),
]))
$(just_script())
""").content |> Textmetadatashow_logsèdisabled®skip_as_script«code_folded$07a6a296-a148-11ec-2e74-79c8e4f396b4cell_id$07a6a296-a148-11ec-2e74-79c8e4f396b4codeusing HypertextLiteralmetadatashow_logsèdisabled®skip_as_script«code_folded$e8c820f2-4511-4243-932c-9496648e02dfcell_id$e8c820f2-4511-4243-932c-9496648e02dfcode+repr(MIME"text/html"(), counter1()) |> Textmetadatashow_logsèdisabled®skip_as_script«code_folded$280a1cfd-3507-47ce-8ddd-5ea9aacbd112cell_id$280a1cfd-3507-47ce-8ddd-5ea9aacbd112code)const Layout = PlutoUI.ExperimentalLayoutmetadatashow_logsèdisabled®skip_as_script«code_folded$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8cell_id$fecb1c3f-a9a0-4c2c-8451-a1f83711acd8codecounter1() = @htl """
<script id=$(@give_me_script_id())>
let node
if(this == null) {
	node = html`<span style='color: green'></span>`
	node.val = {current: 0}
} else {
	node = this
}
const val = node.val
val.current += 1
node.innerText = val.current

return node
</script>
"""metadatashow_logsèdisabled®skip_as_script«code_folded$4216cc8a-0b40-479a-93e9-8ad8c0896f1ccell_id$4216cc8a-0b40-479a-93e9-8ad8c0896f1ccode&const StackElement = Union{Symbol,Int}metadatashow_logsèdisabled®skip_as_script«code_folded$a5404f55-2f87-4e9b-b7ba-11c591327b72cell_id$a5404f55-2f87-4e9b-b7ba-11c591327b72code;function get_and_increment_counter!(io::IO)
	stack = get(io, :script_id_counter, StackElement[])::Vector{StackElement}

	if length(stack) >= 1
		stack[end] += 1
		return join(stack, ",")
	else
		# Some fallback for when you use GiveMeScriptID inside an IO that never received a counter:
		string(rand(Int))
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$812c5dd0-7f18-4ab0-bccf-0f373f14559dcell_id$812c5dd0-7f18-4ab0-bccf-0f373f14559dcodeٟrender_like_plutorunner_would(@htl """
$(just_script())
$(just_script())
$(PlutoDiv([
	just_script(),
	just_script(),
]))
$(just_script())
""").content |> Textmetadatashow_logsèdisabled®skip_as_script«code_folded$4342f39f-0b79-472f-8b1b-766401c564ebcell_id$4342f39f-0b79-472f-8b1b-766401c564ebcodeكrender_like_plutorunner_would(x) = sprint() do io_raw
	with_counter(io_raw) do io
		show(io, MIME"text/html"(), x)
	end
end |> HTMLmetadatashow_logsèdisabled®skip_as_script«code_folded$c1b22768-672b-4a29-a542-2417d87985c5cell_id$c1b22768-672b-4a29-a542-2417d87985c5code]render_like_plutorunner_would(@htl """
$(just_script())
$(just_script())
""").content |> Textmetadatashow_logsèdisabled®skip_as_script«code_folded$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579cell_id$8b1ebbaa-c64d-4d97-a063-ba8e6ab7c579code\begin
	give_me_script_id
	macro give_me_script_id()
		give_me_script_id(__source__)
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$3315fe51-0577-4f96-973d-8f055a0ab19ccell_id$3315fe51-0577-4f96-973d-8f055a0ab19ccode#begin
	struct PlutoDiv
		contents::Vector
	end

	function Base.show(io::IO, m::MIME"text/html", p::PlutoDiv)
		get_and_increment_counter!(io)
		write(io, "<div>")
		for (i,e) in enumerate(p.contents)
			with_counter(io, i) do io
				show(io, m, e)
			end
		end
		write(io, "</div>")
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$b36fe7c3-e7bb-4890-ad59-5c7072151c1bcell_id$b36fe7c3-e7bb-4890-ad59-5c7072151c1bcodeusing PlutoUImetadatashow_logsèdisabled®skip_as_script«code_folded$50e27110-0501-49a2-9d8a-10e717d3e282cell_id$50e27110-0501-49a2-9d8a-10e717d3e282code%md"""
## What the HTML looks like
"""metadatashow_logsèdisabled®skip_as_script«code_folded$01189d5c-938d-44a8-80e0-37a3f1958849cell_id$01189d5c-938d-44a8-80e0-37a3f1958849code7give_me_script_id(s::LineNumberNode) = ScriptIDGiver(s)metadatashow_logsèdisabled®skip_as_script«code_folded$c8a6ec37-1001-47f2-a57b-1e188b7433b4cell_id$c8a6ec37-1001-47f2-a57b-1e188b7433b4code[@assert :b == get(
	HypertextLiteral.EscapeProxy(IOContext(devnull, :a => :b)),
	:a,
	123
)metadatashow_logsèdisabled®skip_as_script«code_folded$8ad38fc1-ff49-4773-801d-9d866fb88245cell_id$8ad38fc1-ff49-4773-801d-9d866fb88245codemd"""
# Counter stack
"""metadatashow_logsèdisabled®skip_as_script«code_folded$9ba89501-32ee-402b-8954-7d52c8aa79f4cell_id$9ba89501-32ee-402b-8954-7d52c8aa79f4codemd"""
# Examples
"""metadatashow_logsèdisabled®skip_as_script«code_folded$c86006c1-fbb3-4c9b-8782-ec5426c73d86cell_id$c86006c1-fbb3-4c9b-8782-ec5426c73d86codebegin
	struct ScriptIDGiver
		source::LineNumberNode
	end

	function Base.show(io::IO, g::ScriptIDGiver)
		
		
		name = "id_$(
			string(hash(g.source), base=62)
		)_$(
			get_and_increment_counter!(io)
		)"

		write(io, name)
	end

	ScriptIDGiver
endmetadatashow_logsèdisabled®skip_as_script«code_folded$cdd3254e-57e4-48f9-898c-b675c7b1edd1cell_id$cdd3254e-57e4-48f9-898c-b675c7b1edd1code4begin
	struct PlutoKeyedDiv
		contents::Vector{Pair{Symbol,Any}}
	end

	function Base.show(io::IO, m::MIME"text/html", p::PlutoKeyedDiv)
		get_and_increment_counter!(io)
		write(io, "<div>")
		for (i,e) in p.contents
			with_counter(io, i) do io
				show(io, m, e)
			end
		end
		write(io, "</div>")
	end
endmetadatashow_logsèdisabled®skip_as_script«code_folded$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fcell_id$1a67c72f-fa43-4e86-8c97-dbe98a7a8f8fcode8let
	x
	
	PlutoDiv([
		counter1(),
		counter2(),
	])
endmetadatashow_logsèdisabled®skip_as_script«code_folded$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8cell_id$fd9be947-b78b-440a-9bc8-96a8b0d5b7e8codel# little patch for HTL
Base.get(ep::HypertextLiteral.EscapeProxy, name, default) = get(ep.io, name, default)metadatashow_logsèdisabled®skip_as_script«code_folded$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1cell_id$a19d3e4f-9a1b-43a9-be09-a3e9f92d0fc1code.md"""
# Macro that uses it for a script ID
"""metadatashow_logsèdisabled®skip_as_script«code_folded$49e90b1a-7c3e-49e0-b5fb-580d2c317d4ecell_id$49e90b1a-7c3e-49e0-b5fb-580d2c317d4ecodemetadatashow_logsèdisabled®skip_as_script«code_folded$74dd3ae7-daa3-4da1-8674-37278d94702bcell_id$74dd3ae7-daa3-4da1-8674-37278d94702bcodecounter2() = @htl """
<script id=$(@give_me_script_id())>
let node
if(this == null) {
	node = html`<span style='color: red'></span>`
	node.val = {current: 0}
} else {
	node = this
}
const val = node.val
val.current += 1
node.innerText = val.current

return node
</script>
"""metadatashow_logsèdisabled®skip_as_script«code_folded$b8f33885-3b01-4858-bc99-9475f36d2adccell_id$b8f33885-3b01-4858-bc99-9475f36d2adccodem# hier maken wij automatisch keys: 1,2,3,...

PlutoLayout.hbox([
	thing,
	ook_thing,
	hello
])

# maar dit is bv een probleem in dit geval:

PlutoLayout.hbox(cool ? [
	first,
	second
] : [
	second,
	first
])

# hierom kan je zelf keys aangeven:
# (API bestaat nog niet)

PlutoLayout.hbox(cool ? [
	:e1 => first,
	:e2 => second
] : [
	:e2 => second,
	:e1 => first
])metadatashow_logsèdisabled®skip_as_script«code_folded$6098cc79-89f5-4cc5-ba41-ca7c08d750f7cell_id$6098cc79-89f5-4cc5-ba41-ca7c08d750f7codemetadatashow_logsèdisabled®skip_as_script«code_folded$fa1a618e-88fe-4809-9a8b-68a321b82629cell_id$fa1a618e-88fe-4809-9a8b-68a321b82629codeLjust_script() = @htl """

<script id=$(@give_me_script_id())>
</script>

"""metadatashow_logsèdisabled®skip_as_script«code_folded«notebook_id$2645c198-4aa8-11f0-06d3-954908f646cein_temp_dir¨metadata