Þ ¥bonds€¬cell_resultsˆÙ$885b1df2-08dd-11eb-22de-37bc45197a13Š¦queuedÂ¤logs�§runningÂ¦output†¤body®Main.jl_ShCVwv¤mimeªtext/plain¬rootassignee¡b²last_run_timestampËAÚ dqÎ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$885b1df2-08dd-11eb-22de-37bc45197a13¹depends_on_disabled_cellsÂ§runtimeÎýœµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$7ef95874-08dc-11eb-1b8c-c1a6b8412ddfŠ¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ,ingredients (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ Õ›A°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$7ef95874-08dc-11eb-1b8c-c1a6b8412ddf¹depends_on_disabled_cellsÂ§runtimeÎ 
{§µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$4841ed1c-08dd-11eb-3174-1be594eef903Š¦queuedÂ¤logs�§runningÂ¦output†¤body¯Main.unicode.jl¤mimeªtext/plain¬rootassignee¡a²last_run_timestampËAÚ P°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$4841ed1c-08dd-11eb-3174-1be594eef903¹depends_on_disabled_cellsÂ§runtimeÎ u�$µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$9f593720-08dd-11eb-1ba5-b37adc1d8095Š¦queuedÂ¤logs�§runningÂ¦output†¤body¥:ðŸ’©¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ dÌ°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$9f593720-08dd-11eb-1ba5-b37adc1d8095¹depends_on_disabled_cellsÂ§runtimeÍ11µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$7ae01e54-08dd-11eb-0b01-759f923ad6daŠ¦queuedÂ¤logs�§runningÂ¦output†¤body¥:ðŸ’©¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ ZL+°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$7ae01e54-08dd-11eb-0b01-759f923ad6da¹depends_on_disabled_cellsÂ§runtimeÍ5Šµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$b40daa62-08dc-11eb-3a53-b5d94f732889Š¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ-ingredients (generic function with 2 methods)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ Õâv°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$b40daa62-08dc-11eb-3a53-b5d94f732889¹depends_on_disabled_cellsÂ§runtimeÎ µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$51bb7074-08dc-11eb-121b-015c9c08d74eŠ¦queuedÂ¤logs�§runningÂ¦output†¤bodyÙ2local_ingredients (generic function with 1 method)¤mimeªtext/plain¬rootassigneeÀ²last_run_timestampËAÚ Â}k°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$51bb7074-08dc-11eb-121b-015c9c08d74e¹depends_on_disabled_cellsÂ§runtimeÎ …«µpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÂÙ$0055a89c-08de-11eb-112a-5fd7983694adŠ¦queuedÂ¤logs�§runningÂ¦output†¤body‚£msgÙWArgumentError: Not a URL. Use `ingredients(path="unicode.jl")` for local files instead.ªstacktrace’Œªcall_short¸ingredients(url::String)§inlinedÂ£urlÙ“https://github.com/fonsp/disorganised-mess/tree/6d5f6e46c196925a19e151358b6656510197d2e1//ingredients.jl#==#7ef95874-08dc-11eb-1b8c-c1a6b8412ddf#L1¤pathÙl/home/runner/work/disorganised-mess/disorganised-mess/ingredients.jl#==#7ef95874-08dc-11eb-1b8c-c1a6b8412ddf®source_packageÀ¤call¸ingredients(url::String)ªlinfo_type³Core.MethodInstance¤line¤fileÙ6ingredients.jl#==#7ef95874-08dc-11eb-1b8c-c1a6b8412ddf¤func«ingredients­parent_moduleÀ¦from_cÂŒªcall_short¯top-level scope§inlinedÃ£urlÀ¤pathÙl/home/runner/work/disorganised-mess/disorganised-mess/ingredients.jl#==#0055a89c-08de-11eb-112a-5fd7983694ad®source_packageÀ¤call¯top-level scopeªlinfo_type§Nothing¤line¤fileÙ6ingredients.jl#==#0055a89c-08de-11eb-112a-5fd7983694ad¤func»##function_wrapped_cell#300­parent_moduleÀ¦from_cÂ¤mimeÙ'application/vnd.pluto.stacktrace+object¬rootassignee¢a2²last_run_timestampËAÚ Cñ,°persist_js_stateÂ·has_pluto_hook_featuresÂ§cell_idÙ$0055a89c-08de-11eb-112a-5fd7983694ad¹depends_on_disabled_cellsÂ§runtimeÀµpublished_object_keys�¸depends_on_skipped_cellsÂ§erroredÃ±cell_dependenciesˆÙ$885b1df2-08dd-11eb-22de-37bc45197a13„´precedence_heuristic	§cell_idÙ$885b1df2-08dd-11eb-22de-37bc45197a13´downstream_cells_map�¡b‘Ù$9f593720-08dd-11eb-1ba5-b37adc1d8095²upstream_cells_map�«ingredients’Ù$7ef95874-08dc-11eb-1b8c-c1a6b8412ddfÙ$b40daa62-08dc-11eb-3a53-b5d94f732889Ù$7ef95874-08dc-11eb-1b8c-c1a6b8412ddf„´precedence_heuristic	§cell_idÙ$7ef95874-08dc-11eb-1b8c-c1a6b8412ddf´downstream_cells_map�«ingredients“Ù$0055a89c-08de-11eb-112a-5fd7983694adÙ$4841ed1c-08dd-11eb-3174-1be594eef903Ù$885b1df2-08dd-11eb-22de-37bc45197a13²upstream_cells_mapˆ¡!�¥throw�¨download�¦String�±local_ingredients‘Ù$51bb7074-08dc-11eb-121b-015c9c08d74eªstartswith�§rethrow�­ArgumentError�Ù$4841ed1c-08dd-11eb-3174-1be594eef903„´precedence_heuristic	§cell_idÙ$4841ed1c-08dd-11eb-3174-1be594eef903´downstream_cells_map�¡a‘Ù$7ae01e54-08dd-11eb-0b01-759f923ad6da²upstream_cells_map�«ingredients’Ù$7ef95874-08dc-11eb-1b8c-c1a6b8412ddfÙ$b40daa62-08dc-11eb-3a53-b5d94f732889Ù$9f593720-08dd-11eb-1ba5-b37adc1d8095„´precedence_heuristic	§cell_idÙ$9f593720-08dd-11eb-1ba5-b37adc1d8095´downstream_cells_map€²upstream_cells_map�¡b‘Ù$885b1df2-08dd-11eb-22de-37bc45197a13Ù$7ae01e54-08dd-11eb-0b01-759f923ad6da„´precedence_heuristic	§cell_idÙ$7ae01e54-08dd-11eb-0b01-759f923ad6da´downstream_cells_map€²upstream_cells_map�¡a‘Ù$4841ed1c-08dd-11eb-3174-1be594eef903Ù$b40daa62-08dc-11eb-3a53-b5d94f732889„´precedence_heuristic	§cell_idÙ$b40daa62-08dc-11eb-3a53-b5d94f732889´downstream_cells_map�«ingredients“Ù$0055a89c-08de-11eb-112a-5fd7983694adÙ$4841ed1c-08dd-11eb-3174-1be594eef903Ù$885b1df2-08dd-11eb-22de-37bc45197a13²upstream_cells_mapŠ£!==�§Nothing�£===�¥throw�¥Union�¨download�±local_ingredients‘Ù$51bb7074-08dc-11eb-121b-015c9c08d74e¦String�­ArgumentError�§nothing�Ù$51bb7074-08dc-11eb-121b-015c9c08d74e„´precedence_heuristic	§cell_idÙ$51bb7074-08dc-11eb-121b-015c9c08d74e´downstream_cells_map�±local_ingredients’Ù$7ef95874-08dc-11eb-1b8c-c1a6b8412ddfÙ$b40daa62-08dc-11eb-3a53-b5d94f732889²upstream_cells_map‡¦Module�¤Core�¨basename�¦String�¦Symbol�¤Expr�©Core.eval�Ù$0055a89c-08de-11eb-112a-5fd7983694ad„´precedence_heuristic	§cell_idÙ$0055a89c-08de-11eb-112a-5fd7983694ad´downstream_cells_map�¢a2�²upstream_cells_map�«ingredients’Ù$7ef95874-08dc-11eb-1b8c-c1a6b8412ddfÙ$b40daa62-08dc-11eb-3a53-b5d94f732889´cell_execution_order˜Ù$51bb7074-08dc-11eb-121b-015c9c08d74eÙ$7ef95874-08dc-11eb-1b8c-c1a6b8412ddfÙ$b40daa62-08dc-11eb-3a53-b5d94f732889Ù$0055a89c-08de-11eb-112a-5fd7983694adÙ$4841ed1c-08dd-11eb-3174-1be594eef903Ù$7ae01e54-08dd-11eb-0b01-759f923ad6daÙ$885b1df2-08dd-11eb-22de-37bc45197a13Ù$9f593720-08dd-11eb-1ba5-b37adc1d8095´last_hot_reload_timeË        ©shortpath®ingredients.jl®process_status¥ready¤pathÙD/home/runner/work/disorganised-mess/disorganised-mess/ingredients.jl­pluto_version¨v0.19.47®last_save_timeËAÚ èê–ªcell_order˜Ù$51bb7074-08dc-11eb-121b-015c9c08d74eÙ$7ef95874-08dc-11eb-1b8c-c1a6b8412ddfÙ$b40daa62-08dc-11eb-3a53-b5d94f732889Ù$0055a89c-08de-11eb-112a-5fd7983694adÙ$4841ed1c-08dd-11eb-3174-1be594eef903Ù$7ae01e54-08dd-11eb-0b01-759f923ad6daÙ$885b1df2-08dd-11eb-22de-37bc45197a13Ù$9f593720-08dd-11eb-1ba5-b37adc1d8095±published_objects€¥nbpkgŠ¯install_time_nsÎŸ±Ð(¬instantiatedÃ²installed_versions€°terminal_outputs�ªnbpkg_syncÚÇ
[0m[1mInstantiating...[22m
[90m===[39m
[32m[1m  No Changes[22m[39m to `/tmp/jl_ePXjNI/Project.toml`
[32m[1m  No Changes[22m[39m to `/tmp/jl_ePXjNI/Manifest.toml`

[0m[1mResolving...[22m
[90m===[39m
[32m[1m  No Changes[22m[39m to `/tmp/jl_ePXjNI/Project.toml`
[32m[1m  No Changes[22m[39m to `/tmp/jl_ePXjNI/Manifest.toml`

[0m[1mPrecompiling...[22m
[90m===[39m
[32m[1m  Activating[22m[39m new project at `/tmp/jl_ePXjNI`§enabledÃ·restart_recommended_msgÀ´restart_required_msgÀ­busy_packages�¶waiting_for_permissionÂÙ,waiting_for_permission_but_probably_disabledÂ«cell_inputsˆÙ$885b1df2-08dd-11eb-22de-37bc45197a13„§cell_idÙ$885b1df2-08dd-11eb-22de-37bc45197a13¤codeÙ^b = ingredients("https://raw.githubusercontent.com/fonsp/disorganised-mess/master/unicode.jl")¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$7ef95874-08dc-11eb-1b8c-c1a6b8412ddf„§cell_idÙ$7ef95874-08dc-11eb-1b8c-c1a6b8412ddf¤codeÙöfunction ingredients(url::String)
	try
		local_ingredients(download(url))
	catch e
		if !startswith(url, "http")
			throw(ArgumentError("Not a URL. Use `ingredients(path=\"$(url)\")` for local files instead."))
		else
			rethrow(e)
		end
	end
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$4841ed1c-08dd-11eb-3174-1be594eef903„§cell_idÙ$4841ed1c-08dd-11eb-3174-1be594eef903¤codeÙ"a = ingredients(path="unicode.jl")¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$9f593720-08dd-11eb-1ba5-b37adc1d8095„§cell_idÙ$9f593720-08dd-11eb-1ba5-b37adc1d8095¤code¦b.ðŸ’©¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$7ae01e54-08dd-11eb-0b01-759f923ad6da„§cell_idÙ$7ae01e54-08dd-11eb-0b01-759f923ad6da¤code¦a.ðŸ’©¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$b40daa62-08dc-11eb-3a53-b5d94f732889„§cell_idÙ$b40daa62-08dc-11eb-3a53-b5d94f732889¤codeÚ_function ingredients(;
		url::Union{String,Nothing}=nothing, 
		path::Union{String,Nothing}=nothing)
	
	if url === nothing && path !== nothing
		local_ingredients(path)
	elseif url !== nothing && path === nothing
		local_ingredients(download(url))
	else
		throw(ArgumentError("""Use `ingredients(url="...")` or `ingredients(path="...")`."""))
	end
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$51bb7074-08dc-11eb-121b-015c9c08d74e„§cell_idÙ$51bb7074-08dc-11eb-121b-015c9c08d74e¤codeÚfunction local_ingredients(path::String)
	# this is from the Julia source code (evalfile in base/loading.jl)
	# but with the modification that it returns the module instead of the last object
	name = Symbol(basename(path))
	m = Module(name)
	Core.eval(m,
        Expr(:toplevel,
             :(eval(x) = $(Expr(:core, :eval))($name, x)),
             :(include(x) = $(Expr(:top, :include))($name, x)),
             :(include(mapexpr::Function, x) = $(Expr(:top, :include))(mapexpr, $name, x)),
             :(include($path))))
	m
end¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂÙ$0055a89c-08de-11eb-112a-5fd7983694ad„§cell_idÙ$0055a89c-08de-11eb-112a-5fd7983694ad¤code¾a2 = ingredients("unicode.jl")¨metadataƒ©show_logsÃ¨disabledÂ®skip_as_scriptÂ«code_foldedÂ«notebook_idÙ$54825cc0-4aa5-11f0-2124-f7b25bc90b17«in_temp_dirÂ¨metadata€