{ "cells": [ { "cell_type": "markdown", "source": [ "# Drawing wiring diagrams in Compose.jl\n", "\n", "\n", "Catlab can draw wiring diagrams using the Julia package\n", "[Compose.jl](https://github.com/GiovineItalia/Compose.jl).\n", "\n", "For best results, it is recommended to load the packages\n", "[Convex.j](https://github.com/JuliaOpt/Convex.jl) and\n", "[SCS.jl](https://github.com/JuliaOpt/SCS.jl). When available they are used to\n", "optimize the layout of the outer ports." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "using Catlab.WiringDiagrams, Catlab.Graphics\n", "\n", "import Convex, SCS" ], "metadata": {}, "execution_count": 1 }, { "cell_type": "markdown", "source": [ "## Examples" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "### Symmetric monoidal category" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "using Catlab.Theories\n", "\n", "A, B, C, D = Ob(FreeSymmetricMonoidalCategory, :A, :B, :C, :D)\n", "f, g = Hom(:f, A, B), Hom(:g, B, A);" ], "metadata": {}, "execution_count": 2 }, { "cell_type": "markdown", "source": [ "To start, here are a few very simple examples." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.0, -2.0, 6.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 0.0cy), (2.0cx, 0.0cy), (2.0cx, 0.0cy), (3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 0.0cy), (-2.0cx, 0.0cy), (-2.0cx, 0.0cy), (-1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 24.0mm, 16.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 3 } ], "cell_type": "code", "source": [ "to_composejl(f)" ], "metadata": {}, "execution_count": 3 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, 0.0cy), (1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.0cy), (-4.0cx, 0.0cy), (-4.0cx, 0.0cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 16.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 4 } ], "cell_type": "code", "source": [ "to_composejl(f⋅g)" ], "metadata": {}, "execution_count": 4 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.0, -3.5, 6.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.0cx, 1.5cy), (2.0cx, 1.5000589618661695cy), (3.0cx, 1.5000589618661695cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.0cx, -1.5cy), (2.0cx, -1.5000589618661706cy), (3.0cx, -1.5000589618661706cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 1.5000589618661695cy), (-2.0cx, 1.5000589618661695cy), (-2.0cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5000589618661706cy), (-2.0cx, -1.5000589618661706cy), (-2.0cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 24.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 5 } ], "cell_type": "code", "source": [ "to_composejl(f⊗g)" ], "metadata": {}, "execution_count": 5 }, { "cell_type": "markdown", "source": [ "Here is a more complex example, involving generators with compound domains and\n", "codomains." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-11.0, -6.5, 22.0, 13.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, 4.5cy), (10.0cx, 4.5cy), (10.0cx, 4.50064026947076cy), (11.0cx, 4.50064026947076cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, 1.5cy), (10.0cx, 1.5cy), (10.0cx, 1.5002620050762812cy), (11.0cx, 1.5002620050762812cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, -1.5cy), (10.0cx, -1.5cy), (10.0cx, -1.5002620050762807cy), (11.0cx, -1.5002620050762807cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((9.0cx, -4.5cy), (10.0cx, -4.5cy), (10.0cx, -4.500640269470758cy), (11.0cx, -4.500640269470758cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, -1.5cy), (-6.0cx, -1.5cy), (-6.0cx, -1.5cy), (-5.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, 1.5cy), (-6.0cx, 1.5cy), (-6.0cx, 1.5cy), (-5.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, -4.5cy), (-6.0cx, -4.5cy), (-6.0cx, -4.5cy), (-5.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-7.0cx, 4.5cy), (-6.0cx, 4.5cy), (-6.0cx, 4.5cy), (-5.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (-2.0cx, -1.5cy), (-2.0cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 1.5cy), (-2.0cx, 1.5cy), (-2.0cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -4.5cy), (-2.0cx, -4.5cy), (-2.0cx, -4.5cy), (-1.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 4.5cy), (-2.0cx, 4.5cy), (-2.0cx, 4.5cy), (-1.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.0cx, -1.5cy), (2.0cx, -1.5cy), (3.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.0cx, 1.5cy), (2.0cx, 1.5cy), (3.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -4.5cy), (2.0cx, -4.5cy), (2.0cx, -4.5cy), (3.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 4.5cy), (2.0cx, 4.5cy), (2.0cx, 4.5cy), (3.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, -1.5cy), (6.0cx, -1.5cy), (6.0cx, -1.5cy), (7.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, 1.5cy), (6.0cx, 1.5cy), (6.0cx, 1.5cy), (7.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, -4.5cy), (6.0cx, -4.5cy), (6.0cx, -4.5cy), (7.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.0cx, 4.5cy), (6.0cx, 4.5cy), (6.0cx, 4.5cy), (7.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, 4.50064026947076cy), (-10.0cx, 4.50064026947076cy), (-10.0cx, 4.5cy), (-9.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, 1.5002620050762812cy), (-10.0cx, 1.5002620050762812cy), (-10.0cx, 1.5cy), (-9.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, -1.5002620050762807cy), (-10.0cx, -1.5002620050762807cy), (-10.0cx, -1.5cy), (-9.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-11.0cx, -4.500640269470758cy), (-10.0cx, -4.500640269470758cy), (-10.0cx, -4.5cy), (-9.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, 3.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"k\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((7.0cx, -5.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"h\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"m\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, -5.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"n\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -5.5cy), (2.0cx, 11.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"l\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"n\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, -5.5cy), (2.0cx, 5.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"m\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, 3.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"k\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"h\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-9.0cx, -5.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 88.0mm, 52.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " k\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " h\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " m\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " n\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " l\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " n\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " m\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " k\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " h\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " k\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " h\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " m\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " n\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " l\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " n\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " m\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " k\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " h\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 6 } ], "cell_type": "code", "source": [ "h, k = Hom(:h, C, D), Hom(:k, D, C)\n", "m, n = Hom(:m, B⊗A, A⊗B), Hom(:n, D⊗C, C⊗D)\n", "q = Hom(:l, A⊗B⊗C⊗D, D⊗C⊗B⊗A)\n", "\n", "to_composejl((f⊗g⊗h⊗k)⋅(m⊗n)⋅q⋅(n⊗m)⋅(h⊗k⊗f⊗g))" ], "metadata": {}, "execution_count": 6 }, { "cell_type": "markdown", "source": [ "Identities and braidings appear as wires." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -2.0, 4.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (1.0cx, 0.0cy), (1.0cx, 0.0cy), (2.0cx, 0.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 0.0cy), (-1.0cx, 0.0cy), (-1.0cx, 0.0cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 16.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 7 } ], "cell_type": "code", "source": [ "to_composejl(id(A))" ], "metadata": {}, "execution_count": 7 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -3.5, 4.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.8750038889448125cx, -0.8750038889448125cy), (1.0cx, -1.500015555779251cy), (2.0cx, -1.500015555779251cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 1.5000155557792667cy), (-1.0cx, 1.5000155557792667cy), (-0.8750038889448166cx, 0.8750038889448166cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.8750038889448166cx, 0.8750038889448166cy), (1.0cx, 1.5000155557792667cy), (2.0cx, 1.5000155557792667cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.500015555779251cy), (-1.0cx, -1.500015555779251cy), (-0.8750038889448125cx, -0.8750038889448125cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 8 } ], "cell_type": "code", "source": [ "to_composejl(braid(A,B))" ], "metadata": {}, "execution_count": 8 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -3.5, 10.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (3.875003888944817cx, 0.8750038889448166cy), (4.0cx, 1.5000155557792667cy), (5.0cx, 1.5000155557792667cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.0cx, -1.5cy), (2.125cx, -0.8749999999999998cy), (3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (3.8750038889448124cx, -0.8750038889448125cy), (4.0cx, -1.500015555779251cy), (5.0cx, -1.500015555779251cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.0cx, 1.5cy), (2.125cx, 0.8749999999999998cy), (3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 0.0cy), (-2.125cx, 0.8749999999999998cy), (-2.0cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, -1.500015555779251cy), (-4.0cx, -1.500015555779251cy), (-3.8750038889448124cx, -0.8750038889448125cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 0.0cy), (-2.125cx, -0.8749999999999998cy), (-2.0cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 1.5000155557792667cy), (-4.0cx, 1.5000155557792667cy), (-3.875003888944817cx, 0.8750038889448166cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 9 } ], "cell_type": "code", "source": [ "to_composejl(braid(A,B) ⋅ (g⊗f) ⋅ braid(A,B))" ], "metadata": {}, "execution_count": 9 }, { "cell_type": "markdown", "source": [ "The isomorphism $A \\otimes B \\otimes C \\to C \\otimes B \\otimes A$ induced by\n", "the permutation $(3\\ 2\\ 1)$ is a composite of braidings and identities." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-4.0, -5.0, 8.0, 10.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, 3.0cy), (3.0cx, 3.0cy), (3.0cx, 2.99999966707687cy), (4.0cx, 2.99999966707687cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 1.5cy), (0.8749999999999998cx, 2.375cy), (1.0cx, 3.0cy), (2.0cx, 3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.5cy), (-0.7500000000000002cx, -0.2500000000000002cy), (-1.2499999999999998cx, 0.2500000000000002cy), (0.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, -2.99999297949005cy), (-3.0cx, -2.99999297949005cy), (-2.874998244872512cx, -2.374998244872512cy), (-2.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, -1.5cy), (2.874998244872512cx, -2.374998244872512cy), (3.0cx, -2.99999297949005cy), (4.0cx, -2.99999297949005cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 1.5cy), (1.2499999999999998cx, 0.2500000000000002cy), (0.7500000000000002cx, -0.2500000000000002cy), (2.0cx, -1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 3.0cy), (-1.0cx, 3.0cy), (-0.8749999999999998cx, 2.375cy), (0.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, 2.99999966707687cy), (-3.0cx, 2.99999966707687cy), (-3.0cx, 3.0cy), (-2.0cx, 3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, -1.5cy), (2.8749983394243235cx, -0.6250016605756766cy), (3.0cx, -6.642302705899161e-6cy), (4.0cx, -6.642302705899161e-6cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, -3.0cy), (1.0cx, -3.0cy), (1.1250000000000002cx, -2.375cy), (2.0cx, -1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.5cy), (-1.1250000000000002cx, -2.375cy), (-1.0cx, -3.0cy), (0.0cx, -3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, -6.642302705899161e-6cy), (-3.0cx, -6.642302705899161e-6cy), (-2.8749983394243235cx, -0.6250016605756766cy), (-2.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 32.0mm, 40.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 10 } ], "cell_type": "code", "source": [ "σ = (braid(A,B) ⊗ id(C)) ⋅ (id(B) ⊗ braid(A,C) ⋅ (braid(B,C) ⊗ id(A)))\n", "\n", "to_composejl(σ)" ], "metadata": {}, "execution_count": 10 }, { "cell_type": "markdown", "source": [ "By default, anchor points are added along identity and braiding wires to\n", "reproduce the expression structure in the layout. The anchors can be disabled\n", "to get a more \"unbiased\" layout." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-4.0, -5.0, 8.0, 10.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, -3.0000041877605965cy), (0.0cx, -3.0000041877605965cy), (0.0cx, 3.000004187760613cy), (4.0cx, 3.000004187760613cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, 3.000004187760613cy), (0.0cx, 3.000004187760613cy), (0.0cx, -3.0000041877605965cy), (4.0cx, -3.0000041877605965cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.0cx, 1.2648767443384688e-14cy), (0.0cx, 1.2648767443384688e-14cy), (0.0cx, 1.2648767443384688e-14cy), (4.0cx, 1.2648767443384688e-14cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 32.0mm, 40.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 11 } ], "cell_type": "code", "source": [ "to_composejl(σ, anchor_wires=false)" ], "metadata": {}, "execution_count": 11 }, { "cell_type": "markdown", "source": [ "### Biproduct category" ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.25, -3.5, 4.5, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.21650635094610968cx, 0.12499999999999999cy), (1.2767621203212867cx, 0.7371389538586121cy), (1.233253175473055cx, 1.4999973138389233cy), (2.25cx, 1.4999973138389233cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.21650635094610968cx, -0.12499999999999999cy), (1.2767621203212867cx, -0.7371389538586121cy), (1.233253175473055cx, -1.499997313838923cy), (2.25cx, -1.499997313838923cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.25cx, 0.0cy), (-1.25cx, 0.0cy), (-1.25cx, -1.5308084989341916e-16cy), (-0.25cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.25cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 18.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 12 } ], "cell_type": "code", "source": [ "A, B, C = Ob(FreeBiproductCategory, :A, :B, :C)\n", "f = Hom(:f, A, B)\n", "\n", "to_composejl(mcopy(A))" ], "metadata": {}, "execution_count": 12 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.25, -2.0, 4.5, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.25cx, -1.2414991528529186e-16cy), (-1.25cx, -1.2414991528529186e-16cy), (-1.25cx, -1.5308084989341916e-16cy), (-0.25cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.25cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 18.0mm, 16.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 13 } ], "cell_type": "code", "source": [ "to_composejl(delete(A))" ], "metadata": {}, "execution_count": 13 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.5, -3.5, 11.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.5cx, 0.0cy), (4.5cx, 0.0cy), (4.5cx, 0.0cy), (5.5cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.03349364905389cx, -0.12499999999999999cy), (-1.9732372981077804cx, -0.7371392896287466cy), (-2.016746824526945cx, -1.5cy), (-1.0cx, -1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.03349364905389cx, 0.12499999999999999cy), (-1.9732372981077804cx, 0.7371392896287466cy), (-2.016746824526945cx, 1.5cy), (-1.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.5cy), (2.016746824526945cx, -1.5cy), (1.9732372981077804cx, -0.7371392896287466cy), (3.03349364905389cx, -0.12499999999999999cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 1.5cy), (2.016746824526945cx, 1.5cy), (1.9732372981077804cx, 0.7371392896287463cy), (3.03349364905389cx, 0.12499999999999993cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.5cx, 0.0cy), (-4.5cx, 0.0cy), (-4.5cx, -1.5308084989341916e-16cy), (-3.5cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -2.5cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 44.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 14 } ], "cell_type": "code", "source": [ "to_composejl(mcopy(A)⋅(f⊗f)⋅mmerge(B))" ], "metadata": {}, "execution_count": 14 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-6.5, -3.25, 13.0, 6.5, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.875cx, -0.7834936490538904cy), (-1.4548501467898378cx, 1.676278051067593cy), (1.4999828935135653cx, 1.2332531754730547cy), (1.4999828935135653cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.875cx, -0.7834936490538903cy), (1.4548501467898274cx, 1.6762780510676132cy), (-1.4999828935136592cx, 1.2332531754730547cy), (-1.4999828935136592cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.125cx, -0.7834936490538903cy), (-4.170162874627257cx, 1.0267815519852612cy), (-4.500087064850334cx, 1.2332531754730547cy), (-4.500087064850334cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.125cx, -0.7834936490538904cy), (4.170162874627258cx, 1.0267815519852612cy), (4.5000870648503355cx, 1.2332531754730547cy), (4.5000870648503355cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0000106240063342cx, -3.25cy), (3.0000106240063342cx, -2.25cy), (3.0cx, -2.25cy), (3.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0000106240063333cx, -3.25cy), (-3.0000106240063333cx, -2.25cy), (-3.0cx, -2.25cy), (-3.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.75cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.25cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 52.0mm, 26.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 15 } ], "cell_type": "code", "source": [ "to_composejl(mcopy(A⊗B), orientation=TopToBottom)" ], "metadata": {}, "execution_count": 15 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-9.5, -3.25, 19.0, 6.5, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.12499999999999994cx, -0.7834936490538903cy), (-1.5451352659903432cx, 1.6762527852617275cy), (-4.499866195755023cx, 1.2332531754730547cy), (-4.499866195755023cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((6.125cx, -0.7834936490538904cy), (7.170137380873187cx, 1.0267373955079335cy), (7.499883114817764cx, 1.2332531754730547cy), (7.499883114817764cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.875cx, -0.7834936490538904cy), (-4.079860986011653cx, 2.3257783298230237cy), (1.4998961797390424cx, 1.2332531754730547cy), (1.4998961797390424cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.12500000000000003cx, -0.7834936490538904cy), (1.5451352659903328cx, 1.6762527852617073cy), (4.49986619575493cx, 1.2332531754730547cy), (4.49986619575493cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-6.125cx, -0.7834936490538903cy), (-7.170137380873186cx, 1.0267373955079329cy), (-7.49988311481776cx, 1.2332531754730547cy), (-7.49988311481776cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.875cx, -0.7834936490538903cy), (4.079860986011613cx, 2.3257783298230956cy), (-1.4998961797393786cx, 1.2332531754730547cy), (-1.4998961797393786cx, 3.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.999999232401809cx, -3.25cy), (5.999999232401809cx, -2.25cy), (6.0cx, -2.25cy), (6.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.9312251057323754e-15cx, -3.25cy), (-1.9312251057323754e-15cx, -2.25cy), (7.654042494670958e-17cx, -2.25cy), (1.5308084989341915e-17cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.999999232401812cx, -3.25cy), (-5.999999232401812cx, -2.25cy), (-6.0cx, -2.25cy), (-6.0cx, -1.25cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((5.75cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-0.25cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-6.25cx, -1.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 76.0mm, 26.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 16 } ], "cell_type": "code", "source": [ "to_composejl(mcopy(A⊗B⊗C), orientation=TopToBottom)" ], "metadata": {}, "execution_count": 16 }, { "cell_type": "markdown", "source": [ "### Compact closed category" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "The unit and co-unit of a compact closed category appear as caps and cups." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -3.5, 4.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (4.592473122640793e-17cx, 0.7500077778896335cy), (1.0cx, 1.5000155557792667cy), (2.0cx, 1.5000155557792667cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (4.592473122640745e-17cx, -0.7500077778896256cy), (1.0cx, -1.500015555779251cy), (2.0cx, -1.500015555779251cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 17 } ], "cell_type": "code", "source": [ "A, B = Ob(FreeCompactClosedCategory, :A, :B)\n", "\n", "to_composejl(dunit(A))" ], "metadata": {}, "execution_count": 17 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-2.0, -3.5, 4.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, 1.5000155557792667cy), (-1.0cx, 1.5000155557792667cy), (-1.377741936792238e-16cx, 0.7500077778896336cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.0cx, -1.500015555779251cy), (-1.0cx, -1.500015555779251cy), (4.592473122640744e-17cx, -0.7500077778896254cy), (0.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 0.0cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 16.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 18 } ], "cell_type": "code", "source": [ "to_composejl(dcounit(A))" ], "metadata": {}, "execution_count": 18 }, { "cell_type": "markdown", "source": [ "In a self-dual compact closed category, such as a bicategory of relations,\n", "every morphism $f: A \\to B$ has a transpose $f^\\dagger: B \\to A$ given by\n", "bending wires:" ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -5.0, 10.0, 10.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, -3.0cy), (4.0cx, -3.0cy), (4.0cx, -3.000000006980003cy), (5.0cx, -3.000000006980003cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, -3.0cy), (1.5cx, -3.0cy), (1.5cx, -3.0cy), (3.0cx, -3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (-3.0cx, -2.25cy), (-1.5cx, -3.0cy), (0.0cx, -3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, 0.0cy), (2.0cx, 0.0cy), (3.0cx, 0.7500000000000001cy), (3.0cx, 1.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (-3.0cx, -0.7499999999999999cy), (-2.0cx, 0.0cy), (-1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 3.0cy), (1.5cx, 3.0cy), (3.0cx, 2.25cy), (3.0cx, 1.5cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, 3.0cy), (-1.5cx, 3.0cy), (-1.5cx, 3.0cy), (0.0cx, 3.0cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 3.0000000069800072cy), (-4.0cx, 3.0000000069800072cy), (-4.0cx, 3.0cy), (-3.0cx, 3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 1.5cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.5cy), (0.0cx, 0.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 40.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 19 } ], "cell_type": "code", "source": [ "A, B = Ob(FreeBicategoryRelations, :A, :B)\n", "f = Hom(:f, A, B)\n", "\n", "to_composejl((dunit(A) ⊗ id(B)) ⋅ (id(A) ⊗ f ⊗ id(B)) ⋅ (id(A) ⊗ dcounit(B)))" ], "metadata": {}, "execution_count": 19 }, { "cell_type": "markdown", "source": [ "### Abelian bicategory of relations" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "In an abelian bicategory of relations, such as the category of linear\n", "relations, the duplication morphisms $\\Delta_X: X \\to X \\oplus X$ and addition\n", "morphisms $\\blacktriangledown_X: X \\oplus X \\to X$ belong to a bimonoid. Among\n", "other things, this means that the following two morphisms are equal." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.5, -3.5, 7.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, 0.12499999999999999cy), (2.526762120321287cx, 0.7371389538586121cy), (2.4832531754730547cx, 1.4999973138389233cy), (3.5cx, 1.4999973138389233cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, -0.12499999999999999cy), (2.526762120321287cx, -0.7371389538586121cy), (2.4832531754730547cx, -1.499997313838923cy), (3.5cx, -1.499997313838923cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, -1.5308084989341916e-16cy), (1.0cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, 1.4999973138389233cy), (-2.483253175473055cx, 1.4999973138389233cy), (-2.526762120321287cx, 0.7371389538586117cy), (-1.4665063509461098cx, 0.12499999999999993cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, -1.499997313838923cy), (-2.4832531754730547cx, -1.499997313838923cy), (-2.526762120321287cx, -0.7371389538586121cy), (-1.4665063509461096cx, -0.12499999999999999cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.5cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 28.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 20 } ], "cell_type": "code", "source": [ "X = Ob(FreeAbelianBicategoryRelations, :X)\n", "\n", "to_composejl(plus(X) ⋅ mcopy(X))" ], "metadata": {}, "execution_count": 20 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-4.5, -6.5, 9.0, 13.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.5cx, 3.0cy), (3.5cx, 3.0cy), (3.5cx, 3.0000106240063342cy), (4.5cx, 3.0000106240063342cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.5cx, -3.0cy), (3.5cx, -3.0cy), (3.5cx, -3.0000106240063333cy), (4.5cx, -3.0000106240063333cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, 2.875cy), (0.7365381056766584cx, 1.2757214207425067cy), (-0.7365381056766584cx, -1.2757214207425076cy), (2.03349364905389cx, -2.875cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, -2.875cy), (0.7365381056766584cx, -1.2757214207425067cy), (-0.7365381056766584cx, 1.2757214207425067cy), (2.03349364905389cx, 2.875cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, -4.5cy), (1.016746824526945cx, -4.5cy), (0.9732372981077804cx, -3.7371392896287468cy), (2.03349364905389cx, -3.125cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, -3.125cy), (-0.9732372981077804cx, -3.7371392896287468cy), (-1.016746824526945cx, -4.5cy), (0.0cx, -4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((0.0cx, 4.5cy), (1.016746824526945cx, 4.5cy), (0.9732372981077804cx, 3.7371392896287463cy), (2.03349364905389cx, 3.125cy))], Symbol(\"\")), Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.03349364905389cx, 3.125cy), (-0.9732372981077804cx, 3.7371392896287468cy), (-1.016746824526945cx, 4.5cy), (0.0cx, 4.5cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.5cx, 3.0000106240063342cy), (-3.5cx, 3.0000106240063342cy), (-3.5cx, 3.0cy), (-2.5cx, 3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-4.5cx, -3.0000106240063333cy), (-3.5cx, -3.0000106240063333cy), (-3.5cx, -3.0cy), (-2.5cx, -3.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, 2.75cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((2.0cx, -3.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.5cx, 2.75cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-2.5cx, -3.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 36.0mm, 52.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 21 } ], "cell_type": "code", "source": [ "to_composejl((mcopy(X)⊕mcopy(X)) ⋅ (id(X)⊕swap(X,X)⊕id(X)) ⋅ (plus(X)⊕plus(X)))" ], "metadata": {}, "execution_count": 21 }, { "cell_type": "markdown", "source": [ "## Custom styles" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "The visual appearance of wiring diagrams can be customized by passing Compose\n", "[properties](http://giovineitalia.github.io/Compose.jl/latest/gallery/properties/)." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, 0.0cy), (1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.0cy), (-4.0cx, 0.0cy), (-4.0cx, 0.0cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.9019607843137255,0.9019607843137255,0.9803921568627451,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.9019607843137255,0.9019607843137255,0.9803921568627451,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 16.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 22 } ], "cell_type": "code", "source": [ "using Compose: fill, stroke\n", "\n", "A, B, = Ob(FreeSymmetricMonoidalCategory, :A, :B)\n", "f, g = Hom(:f, A, B), Hom(:g, B, A)\n", "\n", "to_composejl(f⋅g, props=Dict(\n", " :box => [fill(\"lavender\"), stroke(\"black\")],\n", "))" ], "metadata": {}, "execution_count": 22 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-3.5, -3.5, 7.0, 7.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, 0.12499999999999999cy), (2.526762120321287cx, 0.7371389538586121cy), (2.4832531754730547cx, 1.4999973138389233cy), (3.5cx, 1.4999973138389233cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.4665063509461096cx, -0.12499999999999999cy), (2.526762120321287cx, -0.7371389538586121cy), (2.4832531754730547cx, -1.499997313838923cy), (3.5cx, -1.499997313838923cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, -1.5308084989341916e-16cy), (1.0cx, -3.061616997868383e-17cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, 1.4999973138389233cy), (-2.483253175473055cx, 1.4999973138389233cy), (-2.526762120321287cx, 0.7371389538586117cy), (-1.4665063509461098cx, 0.12499999999999993cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.5cx, -1.499997313838923cy), (-2.4832531754730547cx, -1.499997313838923cy), (-2.526762120321287cx, -0.7371389538586121cy), (-1.4665063509461096cx, -0.12499999999999999cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(1.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.5cx, -0.25cy), (0.5cx, 0.5cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,1.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 28.0mm, 28.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 23 } ], "cell_type": "code", "source": [ "X = Ob(FreeAbelianBicategoryRelations, :X)\n", "\n", "to_composejl(plus(X) ⋅ mcopy(X), props=Dict(\n", " :junction => [fill(\"red\"), stroke(\"black\")],\n", " :variant_junction => [fill(\"blue\"), stroke(\"black\")],\n", "))" ], "metadata": {}, "execution_count": 23 }, { "cell_type": "markdown", "source": [ "The background color can also be changed." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}((0.0w, 0.0h), 1.0w, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.8274509803921568,0.8274509803921568,0.8274509803921568,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, 0.0cy), (1.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, 0.0cy), (-4.0cx, 0.0cy), (-4.0cx, 0.0cy), (-3.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(1.0,1.0,1.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, false)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, false)], Symbol(\"\")), Compose.Form{Compose.LinePrimitive}(Compose.LinePrimitive[Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 0.0h), (1.0w + -1.0mm, 0.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(0.0w, 1.0mm), (0.0w, 1.0h + -1.0mm)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0mm, 1.0h), (1.0w + -1.0mm, 1.0h)]), Compose.LinePrimitive{Tuple{Measures.Measure, Measures.Measure}}(Tuple{Measures.Measure, Measures.Measure}[(1.0w, 1.0mm), (1.0w, 1.0h + -1.0mm)])], Symbol(\"\"))]), List([]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0h + -1.0mm), 1.0mm, 0.0, 1.5707963267948966, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}}, Measures.AbsoluteLength}((1.0mm, 1.0h + -1.0mm), 1.0mm, 1.5707963267948966, 3.141592653589793, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0w + -1.0mm, 1.0mm), 1.0mm, 4.71238898038469, 0.0, true)], Symbol(\"\")), Compose.Form{Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}}(Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}[Compose.ArcPrimitive{Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}, Measures.AbsoluteLength}((1.0mm, 1.0mm), 1.0mm, 3.141592653589793, 4.71238898038469, true)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}}(Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}[Compose.RectanglePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.Length{:w, Float64}, Measures.Add{Measures.Add{Measures.Length{:h, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}}((0.0w, 0.7354497354497354mm), 1.0w, 1.0h + -2.0mm + 0.5291005291005292mm)], Symbol(\"\")), Compose.Form{Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}}(Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}[Compose.RectanglePrimitive{Tuple{Measures.AbsoluteLength, Measures.Length{:h, Float64}}, Measures.Add{Measures.Add{Measures.Length{:w, Float64}, Measures.AbsoluteLength}, Measures.AbsoluteLength}, Measures.Length{:h, Float64}}((0.7354497354497354mm, 0.0h), 1.0w + -2.0mm + 0.5291005291005292mm, 1.0h)], Symbol(\"\"))]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))]), Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(1.0,1.0,1.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), 40.0mm, 16.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 24 } ], "cell_type": "code", "source": [ "to_composejl(f⋅g, background_color=\"lightgray\", props=Dict(\n", " :box => [fill(\"white\"), stroke(\"black\")],\n", "))" ], "metadata": {}, "execution_count": 24 }, { "cell_type": "markdown", "source": [ "By default, the boxes are rectangular (`:rectangle`). Other available shapes\n", "include circles (`:circle`) and ellipses (`:ellipse`)." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "ComposePicture(Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), Compose.UnitBox{Float64, Float64, Float64, Float64}(-5.0, -2.0, 10.0, 4.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((3.0cx, 0.0cy), (4.0cx, 0.0cy), (4.0cx, 0.0cy), (5.0cx, 0.0cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-1.0cx, 0.0cy), (0.0cx, 0.0cy), (0.0cx, -2.4492935982947064e-16cy), (1.0cx, -1.2246467991473532e-16cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}}(Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}[Compose.CurvePrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-5.0cx, -2.505409509418133e-16cy), (-4.0cx, -2.505409509418133e-16cy), (-4.0cx, -2.4492935982947064e-16cy), (-3.0cx, -1.2246467991473532e-16cy))], Symbol(\"\"))]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 0, false, false, false, false, nothing, nothing, 0.0, :wire)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :wires), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((1.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"g\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}}((-3.0cx, -1.0cy), (2.0cx, 2.0cy)), Compose.UnitBox{Float64, Float64, Float64, Float64}(0.0, 0.0, 1.0, 1.0, 0.0mm, 0.0mm, 0.0mm, 0.0mm), nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}}(Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}[Compose.TextPrimitive{Tuple{Measures.Length{:cx, Float64}, Measures.Length{:cy, Float64}}, Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}, Tuple{Measures.AbsoluteLength, Measures.AbsoluteLength}}((0.5cx, 0.5cy), \"f\", Compose.HCenter(), Compose.VCenter(), Compose.Rotation{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}(0.0, (0.5w, 0.5h)), (0.0mm, 0.0mm))], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 2, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\")), Compose.Context(Measures.BoundingBox{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}}((0.0w, 0.0h), (1.0w, 1.0h)), nothing, nothing, nothing, nothing, List([]), List([Compose.Form{Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}}(Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}[Compose.CirclePrimitive{Tuple{Measures.Length{:w, Float64}, Measures.Length{:h, Float64}}, Measures.Length{:w, Float64}}((0.5w, 0.5h), 0.5w)], Symbol(\"\"))]), List([Compose.Property{Compose.FillPrimitive}(Compose.FillPrimitive[Compose.FillPrimitive(RGBA{Float64}(0.0,0.0,0.0,0.0))]), Compose.Property{Compose.StrokePrimitive}(Compose.StrokePrimitive[Compose.StrokePrimitive(RGBA{Float64}(0.0,0.0,0.0,1.0))])]), 1, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, Symbol(\"\"))]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :box)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :boxes)]), List([]), List([]), 0, false, false, false, false, nothing, nothing, 0.0, :diagram), 40.0mm, 16.0mm)", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " g\n", " \n", " \n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", " \n", " \n", " f\n", " \n", " \n", "\n", "\n" ] }, "metadata": {}, "execution_count": 25 } ], "cell_type": "code", "source": [ "to_composejl(f⋅g, default_box_shape=:circle)" ], "metadata": {}, "execution_count": 25 }, { "cell_type": "markdown", "source": [ "## Output formats" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "The function `to_composejl` returns a `ComposePicture` object, which contains\n", "a Compose.jl context as well as a recommended width and height. When displayed\n", "interactively, this object is rendered using Compose's SVG backend." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Any backend can be used by calling Compose's `draw` function. The SVG and\n", "[PGF](https://ctan.org/pkg/pgf) (LaTeX) backends are always available. To use\n", "the PNG or PDF backends, the extra packages\n", "[Cairo.jl](https://github.com/JuliaGraphics/Cairo.jl) and\n", "[Fontconfig.jl](https://github.com/JuliaGraphics/Fontconfig.jl) must be\n", "installed." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "For example, here is how to use the PGF backend." ], "metadata": {} }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\\begin{tikzpicture}[x=1mm,y=-1mm]\n", "\\definecolor{mycolor000000}{rgb}{0,0,0}\n", "\\begin{scope}\n", "\\path [fill=mycolor000000,draw=mycolor000000] (32,8) .. controls (36,8) and (36,8) .. (40,8);\n", "\\end{scope}\n", "\\begin{scope}\n", "\\path [fill=mycolor000000,draw=mycolor000000] (16,8) .. controls (20,8) and (20,8) .. (24,8);\n", "\\end{scope}\n", "\\begin{scope}\n", "\\path [fill=mycolor000000,draw=mycolor000000] (0,8) .. controls (4,8) and (4,8) .. (8,8);\n", "\\end{scope}\n", "\\begin{scope}\n", "\\path [fill=mycolor000000,fill opacity=0,draw=mycolor000000] (24,4) rectangle +(8,8);\n", "\\end{scope}\n", "\\begin{scope}\n", "\\draw (28,8) node [text=mycolor000000,rotate around={-0: (0,0)},inner sep=0.0]{\\fontsize{12mm}{14.4mm}\\selectfont $\\text{g}$};\n", "\\end{scope}\n", "\\begin{scope}\n", "\\path [fill=mycolor000000,fill opacity=0,draw=mycolor000000] (8,4) rectangle +(8,8);\n", "\\end{scope}\n", "\\begin{scope}\n", "\\draw (12,8) node [text=mycolor000000,rotate around={-0: (0,0)},inner sep=0.0]{\\fontsize{12mm}{14.4mm}\\selectfont $\\text{f}$};\n", "\\end{scope}\n", "\\end{tikzpicture}\n", "\n" ] } ], "cell_type": "code", "source": [ "using Compose: draw, PGF\n", "\n", "pic = to_composejl(f⋅g, rounded_boxes=false)\n", "pgf = sprint() do io\n", " pgf_backend = PGF(io, pic.width, pic.height,\n", " false, # emit_on_finish\n", " true, # only_tikz\n", " texfonts=true)\n", " draw(pgf_backend, pic.context)\n", "end\n", "println(pgf)" ], "metadata": {}, "execution_count": 26 } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.10.2" }, "kernelspec": { "name": "julia-1.10", "display_name": "Julia 1.10.2", "language": "julia" } }, "nbformat": 4 }