Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Last active November 26, 2017 15:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/3853501894e65f8d158bb4459daae377 to your computer and use it in GitHub Desktop.
Save kenwebb/3853501894e65f8d158bb4459daae377 to your computer and use it in GitHub Desktop.
Operad Builder - example 1
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/gwt/ MIT License, Copyright (C) Ken Webb, Sun Nov 26 2017 10:23:16 GMT-0500 (EST)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: Operad Builder - example 1
Description:
Url: http://www.primordion.com/Xholon/gwt/
InternalName: 3853501894e65f8d158bb4459daae377
Keywords:
My Notes
--------
November 20, 2017
This is an example of how to use OperadBuilder.js
November 22, 2017
I've used Xholon2TexWirDiaO.java to automatically generate LaTeX and tikz code, that latex and dvisvgm will then convert into SVG.
------------------------------------------------------------------------------
% Operad Builder - example 1
% latex Operad02
% dvisvgm Operad02
\begin{equation}\label{Operad_Builder_-_example_1}\tag{Operad Builder - example 1}
\begin{tikzpicture}[oriented WD, bbx=1em, bby=1ex]
% nodes
\node[bb={0}{3}] (P1) {$P1$}; % P1:pack_60
\node[bb={0}{4}, right=of P1] (P2) {$P2$}; % P2:pack_64
\node[bb={0}{2}, right=of P2] (P3) {$P3$}; % P3:pack_69
\node[bb={0}{2}, right=of P3] (Q) {$Q$}; % Q:pack_72
\node[bb={2}{0}, below=of P1] (1) {$1$}; % 1:cable_79
\node[bb={2}{0}, right=of 1] (2) {$2$}; % 2:cable_80
\node[bb={1}{0}, right=of 2] (3) {$3$}; % 3:cable_81
\node[bb={2}{0}, right=of 3] (4) {$4$}; % 4:cable_82
\node[bb={2}{0}, right=of 4] (5) {$5$}; % 5:cable_83
\node[bb={3}{0}, right=of 5] (6) {$6$}; % 6:cable_84
\node[bb={2}{0}, right=of 6] (7) {$7$}; % 7:cable_85
\node[bb={3}{0}, fit={(P1) (P2) (P3) (Q) (1) (2) (3) (4) (5) (6) (7)}, bb name = $R$] (R) {}; % R:pack_75
% links
\draw[ar] (P1_out1) to (1_in2); % a1
\draw[ar] (P1_out2) to (2_in2); % b1
\draw[ar] (P1_out3) to (6_in3); % f1
\draw[ar] (P2_out1) to (2_in1); % b2
\draw[ar] (P2_out2) to (3_in1); % c2
\draw[ar] (P2_out3) to (4_in2); % d2
\draw[ar] (P2_out4) to (5_in2); % e2
\draw[ar] (P3_out1) to (5_in1); % e3
\draw[ar] (P3_out2) to (6_in2); % f3
\draw[ar] (Q_out1) to (4_in1); % ddd
\draw[ar] (Q_out2) to (7_in2); % ggg
\draw[ar] (R_in1') to (1_in1); % aR
\draw[ar] (R_in2') to (6_in1); % fR
\draw[ar] (R_in3') to (7_in1); % gR
\end{tikzpicture}
\end{equation}
]]></Notes>
<_-.XholonClass>
<PhysicalSystem/>
<OperadExample/>
<OperadBuilder/>
<ExampleHelper/>
<Pack/>
<Packs/>
<Cable/>
<Cables/>
</_-.XholonClass>
<xholonClassDetails>
<Pack xhType="XhtypePureActiveObject"><Color>orange</Color></Pack>
<Cable><Color>indigo</Color></Cable>
<Avatar><Color>rgba(220,20,60,0.5)</Color></Avatar>
<OperadBuilder implName="org.primordion.xholon.base.Behavior_gwtjs"><DefaultContent><![CDATA[
var me, beh = {
postConfigure: function() {
me = this.cnode;
$wnd.xh.require("xhOperadBuilder");
var dslContentNode = me.xpath("./Attribute_String");
if (dslContentNode != null) {
var dslContent = dslContentNode.text();
if (dslContent) {
//$wnd.alert(dslContent);
var div = $doc.querySelector("div#xhappspecific");
div.innerHTML = "<pre><span style='font-size: 16px'>" + dslContent + "</span></pre>";
}
}
},
act: function() {
if ($wnd.xh.OperadBuilder) {
$wnd.xh.OperadBuilder(me);
var exportNode = $wnd.xh.root().parent().xpath("Chameleon/PhysicalSystem/OperadExample/Pack");
$wnd.xh.xport("_other,ChapNetwork", exportNode, '{"showNetwork":true,"showTree":false,"maxTreeLevels":1,"width":"600px","height":"600px","nameTemplate":"R^^^^^","maxChars":2,"linksLength":100,"showPortName":true,"nodesStyle":"circle,Cable:dot","linksStyle":"line","stabilize":"false","jsLibName":"network-min"}');
// export XML, YAML
$wnd.xh.xport("XML", exportNode, '{}');
$wnd.xh.xport("YAML", exportNode, '{"shouldWriteLinks":true}');
$wnd.xh.xport("_tex,TexWirDiaO", exportNode, '{"scale":1,"nameTemplate":"r:c_i","bbNameTemplate":"R^^^^^","maxChars":-1,"showPortName":false,"nodesStyle":"rectangle","linksStyle":"default","siblingsPosition":"right=of","diffXhtypePosition":"below=of","bipartite":false,"intermedDashing":"loosely dotted","includePreamble":true,"documentclass":"[10pt,oneside,article,landscape]{memoir}","preambleFileName":"texWirDiaOpreamble.tex","includeBeginEndDoc":true,"title":"default","author":"default","includeBeginEndEqu":true}');
me.remove();
}
}
}
//# sourceURL=OperadBuilder.js
]]></DefaultContent></OperadBuilder>
</xholonClassDetails>
<PhysicalSystem>
<!-- Example Operad -->
<OperadExample roleName="Example Operad">
<Annotation>Example Operad</Annotation>
<OperadBuilder>
<Attribute_String><![CDATA[
# Example Operad
#
pack P1 = {a1,b1,f1}
pack P2 = {b2,c2,d2,e2}
pack P3 = {e3,f3}
pack Q = {ddd, ggg}
pack R = {aR, fR, gR}
#
bindings # dummy bindings
morphism comp: (P1, P2, P3, Q) -> R := {a1=aR, b1=b2, c2, d2=ddd, e2=e3, f1=f3=fR, ggg=gR}
]]></Attribute_String>
</OperadBuilder>
</OperadExample>
<!-- Example Operad - using an Avatar to build the Operad, one timestep at a time -->
<OperadExample roleName="Example Operad - Avatar">
<Annotation>Example Operad - Avatar</Annotation>
<Avatar>
<Attribute_String><![CDATA[
build Pack role P1
set P1 a1 null
set P1 b1 null
set P1 f1 null
build Pack role P2
set P2 b2 null
set P2 c2 null
set P2 d2 null
set P2 e2 null
build Pack role P3
set P3 e3 null
set P3 f3 null
build Pack role Q
set Q ddd null
set Q ggg null
build Pack role R
set R aR null
set R fR null
set R gR null
build Cable role 1
set P1 a1 xpath(Cable[1])
set R aR xpath(Cable[1])
build Cable role 2
set P1 b1 xpath(Cable[2])
set P2 b2 xpath(Cable[2])
build Cable role 3
set P2 c2 xpath(Cable[3])
build Cable role 4
set P2 d2 xpath(Cable[4])
set Q dddd xpath(Cable[4])
build Cable role 5
set P2 e2 xpath(Cable[5])
set P3 e3 xpath(Cable[5])
build Cable role 6
set P1 f1 xpath(Cable[6])
set P3 f3 xpath(Cable[6])
set R fR xpath(Cable[6])
build Cable role 7
set Q ggg xpath(Cable[7])
set R gR xpath(Cable[7])
take P1; put P1 in R
take P2; put P2 in R
take P3; put P3 in R
take Q; put Q in R
take 1; put 1 in R
take 2; put 2 in R
take 3; put 3 in R
take 4; put 4 in R
take 5; put 5 in R
take 6; put 6 in R
take 7; put 7 in R
vanish
]]></Attribute_String>
</Avatar>
</OperadExample>
<OperadExample roleName="Operad with multiple levels">
<Pack roleName="A">
<Pack roleName="B">
<Pack roleName="C"/>
<Pack roleName="D"/>
<Pack roleName="E"/>
</Pack>
<Pack roleName="F">
<Pack roleName="G"/>
<Pack roleName="H"/>
<Pack roleName="I">
<Pack roleName="J"/>
</Pack>
</Pack>
</Pack>
</OperadExample>
<ExampleHelper/>
<Animate duration="2" selection="#xhgraph" xpath="./PhysicalSystem" efParams="{&quot;selection&quot;:&quot;#xhgraph&quot;,&quot;sort&quot;:&quot;disable&quot;,&quot;labelContainers&quot;:true,&quot;width&quot;:800,&quot;height&quot;:800,&quot;mode&quot;:&quot;tween&quot;,&quot;maxChars&quot;:2}"/>
</PhysicalSystem>
<ExampleHelperbehavior implName="org.primordion.xholon.base.Behavior_gwtjs"><![CDATA[
var me, beh = {
postConfigure: function() {
"use strict";
me = this.cnode.parent();
//var div = $doc.querySelector("div#xhappspecific");
//div.innerHTML = "<pre><span style='font-size: 16px'># Example Operad\n# source: Spivak email\npack P1 = {a1,b1,f1}\npack P2 = {b2,c2,d2,e2}\npack P3 = {e3,f3}\npack Q = {ddd, ggg}\npack R = {aR, fR, gR}\n# \nbindings # dummy bindings\nmorphism comp: (P1, P2, P3, Q) -> R := {a1=aR, b1=b2, c2, d2=ddd, e2=e3, f1=f3=fR, ggg=gR}</span></pre>";
me.remove();
}
}
]]></ExampleHelperbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<!-- generated using Xholon2TexWirDiaO.java, latex, dvisvgm, and Inkscape (to clip) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
id="svg2"
width="290.08398pt"
viewBox="23.9103 -20.3238 290.08398 93.866404"
version="1.1"
height="93.866402pt">
<metadata
id="metadata224">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs4">
<font
vert-adv-y="90"
vert-origin-y="90"
vert-origin-x="45"
horiz-origin-y="0"
horiz-origin-x="0"
id="rpxpplri"
horiz-adv-x="0">
<font-face
id="font-face7"
units-per-em="1000"
font-family="rpxpplri"
descent="-305"
ascent="941" />
<glyph
id="glyph9"
vert-adv-y="611"
unicode="P"
horiz-adv-x="611"
glyph-name="P"
d="M105 664L160 662C184 661 195 653 195 635C195 621 191 590 186 559L112 125C95 34 94 31 54 28L13 25L9 -3L51 -2C92 -1 123 0 141 0C158 0 187 -1 227 -2L280 -3L283 25L218 28C192 29 182 37 182 58C182 67 183 74 186 93L268 580C268 581 272 601 277 620C278 625 281 635 284 648C320 654 336 656 355 656C457 656 506 612 506 519C506 411 434 323 346 323C324 323 304 328 267 342L269 311C306 293 326 288 355 288C484 288 594 405 594 541C594 642 531 695 412 692L274 689L161 691L108 692L105 664Z" />
<glyph
id="glyph11"
vert-adv-y="778"
unicode="Q"
horiz-adv-x="778"
glyph-name="Q"
d="M151 -172C151 -95 175 -59 228 -59C257 -59 285 -67 324 -88L469 -164C529 -195 547 -201 587 -201C662 -201 698 -158 708 -61H683C677 -115 655 -140 615 -140C598 -140 579 -135 553 -125L317 -29C292 -19 274 -15 251 -15C177 -15 126 -66 126 -142C126 -144 126 -151 127 -159L151 -172ZM464 706C227 706 53 523 53 272C53 83 147 -18 323 -18C408 -18 479 1 544 42C670 120 748 267 748 425C748 603 644 706 464 706ZM433 664C481 664 530 652 563 632C628 594 660 519 660 409C660 283 620 170 552 100C503 50 438 24 360 24C216 24 141 110 141 277C141 407 181 524 250 593C297 641 357 664 433 664Z" />
<glyph
id="glyph13"
vert-adv-y="667"
unicode="R"
horiz-adv-x="667"
glyph-name="R"
d="M105 664L161 662C185 661 196 653 196 635C196 621 192 589 187 559L112 125C96 34 94 32 54 28L13 25L9 -3L51 -2C98 0 117 0 141 0L238 -3H264L267 25L218 28C191 30 182 38 182 58C182 67 183 76 186 93L271 580C271 582 276 602 280 620C282 628 284 635 287 648C316 654 336 656 363 656C450 656 496 617 496 543C496 448 418 378 314 378H270L267 367C401 172 432 124 507 -3L573 0H581H592C593 0 607 -1 626 -3H639V24C599 29 588 37 559 79L375 354C430 364 459 376 495 402C553 444 584 499 584 560C584 646 520 694 409 692L259 689C244 689 226 689 108 692L105 664Z" />
</font>
<font
vert-adv-y="90"
vert-origin-y="90"
vert-origin-x="45"
horiz-origin-y="0"
horiz-origin-x="0"
id="zpl-Regular-tlf-ot1"
horiz-adv-x="0">
<font-face
id="font-face16"
units-per-em="1000"
font-family="zpl-Regular-tlf-ot1"
descent="-283"
ascent="1098" />
<glyph
id="glyph18"
vert-adv-y="500"
unicode="1"
horiz-adv-x="500"
glyph-name="one"
d="M418 -3V27L366 30C311 33 301 44 301 96V689L287 694C222 660 151 630 60 598L67 555H77L206 613L209 614C215 614 217 605 217 581V96C217 44 206 33 152 30L96 27V-3C151 -1 206 0 261 0C313 0 366 -1 418 -3Z" />
<glyph
id="glyph20"
vert-adv-y="500"
unicode="2"
horiz-adv-x="500"
glyph-name="two"
d="M468 -3C466 18 466 28 466 42C466 55 466 65 468 87L122 77L304 270C401 373 431 428 431 503C431 618 353 689 226 689C154 689 105 669 56 619L39 483H68L81 529C97 587 133 612 200 612C286 612 341 558 341 473C341 398 299 324 186 204L16 23V-3C90 -1 165 0 239 0C315 0 392 -1 468 -3Z" />
<glyph
id="glyph22"
vert-adv-y="500"
unicode="3"
horiz-adv-x="500"
glyph-name="three"
d="M462 224C462 272 442 314 406 339C381 357 358 365 308 374C388 436 418 482 418 541C418 630 344 689 233 689C165 689 120 670 72 622L43 498H74L92 554C103 588 166 622 218 622C283 622 336 569 336 506C336 431 277 368 206 368C198 368 159 371 159 371L147 318L154 312C192 329 211 334 238 334C321 334 369 281 369 190C369 88 308 21 215 21C169 21 128 36 98 64C74 86 61 109 42 163L15 153C36 92 44 56 50 6C103 -12 147 -20 184 -20C264 -20 356 25 411 92C445 133 462 177 462 224Z" />
<glyph
id="glyph24"
vert-adv-y="500"
unicode="4"
horiz-adv-x="500"
glyph-name="four"
d="M472 -3V27L424 30C375 33 364 46 364 106V181C423 181 444 180 472 177V248C472 248 423 245 391 245H364V384C364 562 366 648 371 689L359 694L285 667L2 204L13 181H280V106C280 46 269 32 220 30L158 27V-3C212 -1 265 0 319 0C370 0 421 -1 472 -3ZM280 245H65L280 597V245Z" />
<glyph
id="glyph26"
vert-adv-y="500"
unicode="5"
horiz-adv-x="500"
glyph-name="five"
d="M459 253C459 366 378 446 264 446C216 446 180 433 118 396L127 605L432 600L437 605C435 623 435 629 435 644C435 660 435 666 437 684C437 684 432 689 432 689S326 684 258 684S84 689 84 689S79 684 79 684L81 547C81 459 78 366 75 322L95 316C142 363 169 377 218 377C314 377 374 309 374 201C374 90 310 25 201 25C147 25 97 43 83 69L37 151L13 137C36 80 48 48 62 4C90 -11 130 -20 173 -20C240 -20 311 9 366 57C427 111 459 179 459 253Z" />
<glyph
id="glyph28"
vert-adv-y="500"
unicode="6"
horiz-adv-x="500"
glyph-name="six"
d="M468 219C468 334 399 409 293 409C234 409 197 385 131 331C152 512 236 610 416 664V672L379 689C283 657 242 637 191 593C88 506 32 384 32 247C32 82 112 -20 241 -20C371 -20 468 83 468 219ZM382 184C382 80 331 13 254 13C169 13 123 86 123 220C123 255 127 274 138 291C160 325 207 349 255 349C331 349 382 283 382 184Z" />
<glyph
id="glyph30"
vert-adv-y="500"
unicode="7"
horiz-adv-x="500"
glyph-name="seven"
d="M497 659V689C389 685 380 684 273 684C168 684 151 685 54 689L44 684C44 684 47 620 47 579C47 539 44 477 44 477H74L81 533C89 595 96 603 142 603H409C369 521 338 463 300 402L56 10L65 -3C65 -3 93 0 111 0S157 -3 157 -3C199 106 225 171 314 330L497 659Z" />
</font>
<font
vert-adv-y="90"
vert-origin-y="90"
vert-origin-x="45"
horiz-origin-y="0"
horiz-origin-x="0"
id="zpl-Regular-tlf-t1"
horiz-adv-x="0">
<font-face
id="font-face33"
units-per-em="1000"
font-family="zpl-Regular-tlf-t1"
descent="-283"
ascent="1098" />
<glyph
id="glyph35"
vert-adv-y="333"
unicode="("
horiz-adv-x="333"
glyph-name="parenleft"
d="M301 -194C229 -105 203 -57 177 33C156 105 146 181 146 266C146 349 155 420 175 485C200 568 228 615 301 700L282 726C178 633 137 578 99 480C73 413 60 342 60 266C60 159 85 58 133 -32C168 -99 200 -138 282 -215L301 -194Z" />
<glyph
id="glyph37"
vert-adv-y="333"
unicode=")"
horiz-adv-x="333"
glyph-name="parenright"
d="M273 265C273 342 260 413 234 480C196 577 155 632 51 726L32 700C105 614 132 567 157 485C177 420 187 349 187 266C187 181 177 105 156 33C130 -57 104 -105 32 -194L51 -215C120 -150 149 -117 180 -68C241 29 273 145 273 265Z" />
<glyph
id="glyph39"
vert-adv-y="333"
unicode="-"
horiz-adv-x="333"
glyph-name="hyphen"
d="M312 282L307 287H44L17 220L22 215H282L312 282Z" />
<glyph
id="glyph41"
vert-adv-y="500"
unicode="1"
horiz-adv-x="500"
glyph-name="one"
d="M418 -3V27L366 30C311 33 301 44 301 96V689L287 694C222 660 151 630 60 598L67 555H77L206 613L209 614C215 614 217 605 217 581V96C217 44 206 33 152 30L96 27V-3C151 -1 206 0 261 0C313 0 366 -1 418 -3Z" />
<glyph
id="glyph43"
vert-adv-y="611"
unicode="B"
horiz-adv-x="611"
glyph-name="B"
d="M576 228C576 279 556 320 518 347C480 375 446 384 369 390C418 400 441 409 469 428C517 461 542 504 542 556C542 644 484 692 363 692C303 692 244 689 184 689C131 689 79 690 26 692V662L62 659C109 655 113 648 113 569V95C113 58 105 35 91 30L65 20V-3C101 -1 138 0 174 0C215 0 257 -3 298 -3C372 -3 437 15 482 48C541 90 576 158 576 228ZM473 208C473 102 404 39 285 39C256 39 233 41 208 47V362C247 364 256 364 275 364C410 364 473 315 473 208ZM443 533C443 446 383 399 269 399C252 399 239 399 208 401V644C234 650 257 652 289 652C396 652 443 616 443 533Z" />
<glyph
id="glyph45"
vert-adv-y="786"
unicode="O"
horiz-adv-x="786"
glyph-name="O"
d="M764 367C764 577 624 709 402 709C174 709 22 561 22 341C22 131 168 -20 370 -20C594 -20 764 147 764 367ZM657 337C657 139 565 22 410 22C242 22 129 164 129 378C129 563 221 667 385 667C556 667 657 545 657 337Z" />
<glyph
id="glyph47"
vert-adv-y="500"
unicode="a"
horiz-adv-x="500"
glyph-name="a"
d="M471 -3V27L432 29C408 30 404 38 404 87V270C404 416 362 469 246 469C203 469 163 458 125 435L72 403V338L98 331L111 362C131 409 142 416 188 416C282 416 321 379 324 288L225 270C89 245 32 198 32 111C32 33 79 -12 158 -12C176 -12 193 -9 200 -4L324 82L319 -3C345 -1 371 0 397 0C422 0 446 -1 471 -3ZM324 124C295 83 232 45 193 45C153 45 118 82 118 125C118 162 138 197 168 216C193 231 248 245 324 256V124Z" />
<glyph
id="glyph49"
vert-adv-y="611"
unicode="d"
horiz-adv-x="611"
glyph-name="d"
d="M579 -3V27L533 30C499 32 496 39 496 102V718L487 726C443 709 410 701 331 689V661H387C405 661 412 650 412 620V437C356 461 328 469 293 469C266 469 242 463 217 450L129 404C72 374 35 301 35 216C35 136 62 70 111 30C145 1 192 -12 257 -12C277 -12 300 -8 305 -4L416 89L411 -3C437 -1 462 0 488 0C518 0 549 -1 579 -3ZM412 221C412 156 410 146 397 123C369 76 320 45 273 45C185 45 122 130 122 249C122 358 176 422 266 422C304 422 344 409 379 385C400 371 412 358 412 350V221Z" />
<glyph
id="glyph51"
vert-adv-y="479"
unicode="e"
horiz-adv-x="479"
glyph-name="e"
d="M448 279C448 394 374 469 262 469C225 469 182 456 141 432C59 385 26 323 26 219C26 156 40 102 68 64C107 11 175 -20 250 -20C287 -20 324 -12 365 6C392 17 413 30 417 36L437 70L424 80C360 42 337 33 294 33C229 33 175 62 147 111C128 144 121 172 119 230H265C334 230 377 233 446 244C447 258 448 267 448 279ZM359 267L247 264C201 264 175 265 121 270C121 317 125 339 138 365C159 409 202 436 250 436C283 436 309 423 327 396C349 363 359 334 359 267Z" />
<glyph
id="glyph53"
vert-adv-y="291"
unicode="i"
horiz-adv-x="291"
glyph-name="i"
d="M271 -3V27L225 30C191 32 188 39 188 102V465L179 469C128 448 76 434 23 428V400H60C100 400 104 393 104 327V102C104 39 101 32 67 30L21 27V-3C63 -1 104 0 146 0S229 -1 271 -3ZM196 592C196 621 176 642 147 642C116 642 96 622 96 592S116 542 146 542S196 562 196 592Z" />
<glyph
id="glyph55"
vert-adv-y="291"
unicode="l"
horiz-adv-x="291"
glyph-name="l"
d="M271 -3V27L225 30C191 32 188 39 188 102V718L179 726C135 709 102 701 23 689V661H79C97 661 104 650 104 620V102C104 39 101 32 67 30L21 27V-3C63 -1 104 0 146 0S229 -1 271 -3Z" />
<glyph
id="glyph57"
vert-adv-y="883"
unicode="m"
horiz-adv-x="883"
glyph-name="m"
d="M869 -3V27L822 30C788 32 785 39 785 102V308C785 407 727 469 635 469C600 469 571 460 553 444L477 376C445 442 404 469 335 469C298 469 270 460 252 444L183 380V465L174 469C123 448 71 434 18 428V400H55C95 400 99 393 99 327V102C99 39 96 32 62 30L16 27V-3C58 -1 101 0 143 0C183 0 222 -1 262 -3V27L220 30C186 32 183 39 183 102V314C183 359 249 408 309 408C363 408 400 357 400 281V102C400 39 397 32 363 30L317 27V-3C359 -1 400 0 442 0S525 -1 567 -3V27L521 30C487 32 484 39 484 102V314C484 359 550 408 610 408C664 408 701 357 701 281V-3C727 -1 754 0 780 0C810 0 839 -1 869 -3Z" />
<glyph
id="glyph59"
vert-adv-y="601"
unicode="p"
horiz-adv-x="601"
glyph-name="p"
d="M554 271C554 382 462 469 346 469C309 469 273 459 257 444L175 369V465L166 469C115 448 63 434 10 428V400H47C87 400 91 393 91 327V-176C91 -239 88 -246 54 -248L8 -251V-281C50 -279 91 -278 133 -278S216 -279 258 -281V-251L212 -248C178 -246 175 -239 175 -176V13C205 -5 237 -12 282 -12C311 -12 337 -6 353 4L467 78C507 104 554 207 554 271ZM467 234C467 122 400 39 310 39C255 39 214 57 175 98V306C175 320 180 331 193 348C222 385 263 404 313 404C407 404 467 338 467 234Z" />
<glyph
id="glyph61"
vert-adv-y="395"
unicode="r"
horiz-adv-x="395"
glyph-name="r"
d="M374 458C363 465 345 469 327 469C297 469 265 453 244 428L188 362V465L179 469C128 448 76 434 23 428V400H60C100 400 104 393 104 327V102C104 39 101 32 67 30L21 27V-3C62 -1 103 0 144 0C192 0 239 -1 287 -3V27L235 30C190 33 188 36 188 102V274C188 334 228 384 277 384C307 384 328 370 344 338H365L374 458Z" />
<glyph
id="glyph63"
vert-adv-y="603"
unicode="u"
horiz-adv-x="603"
glyph-name="u"
d="M581 -3V27L540 30C506 32 503 38 503 102V465L494 469C443 448 391 434 338 428V400H375C415 400 419 393 419 327V164C419 142 405 114 382 91C354 63 322 49 283 49C248 49 220 60 204 79C190 95 183 126 183 170V465L174 469C123 448 71 434 18 428V400H55C95 400 99 393 99 327V159C99 89 105 58 123 33C145 3 183 -12 240 -12C285 -12 325 2 352 27L419 89C419 60 418 44 415 -3C443 -1 470 0 498 0S553 -1 581 -3Z" />
<glyph
id="glyph65"
vert-adv-y="516"
unicode="x"
horiz-adv-x="516"
glyph-name="x"
d="M496 -3V27L471 30C459 31 447 39 436 54L288 254L430 420C436 427 447 431 464 431H478V459H396L272 284L196 400C181 422 170 435 136 469L20 449L25 423L46 421C64 419 86 406 96 392L216 218L67 42C60 33 47 27 37 27H20V0H106C106 0 113 23 166 94L240 192L373 -3C393 -1 414 0 434 0C455 0 475 -1 496 -3Z" />
</font>
</defs>
<style
id="style67"
type="text/css">
text.f3 {font-family:rpxpplri;font-size:10.8277px}
text.f5 {font-family:zpl-Regular-tlf-ot1;font-size:10.9091px}
text.f6 {font-family:zpl-Regular-tlf-t1;font-size:10.9091px}
</style>
<g
id="g4428">
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199"
id="path72"
d="m 63.164299,-0.33009963 7.969,0 m -7.969,9.79690003 7.969,0 m -7.969,9.7968996 7.969,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path74"
stroke-miterlimit="10.0375"
d="m 65.156299,-10.127 -24.359,0 c -1.102,0 -1.992,0.8946004 -1.992,1.9922004 l 0,35.2031996 c 0,1.1015 0.89,1.9921 1.992,1.9921 l 24.359,0 c 1.102,0 1.992,-0.8906 1.992,-1.9921 l 0,-35.2031996 c 0,-1.0976 -0.89,-1.9922004 -1.992,-1.9922004 z m -26.351,39.1875" />
<text
style="font-size:10.82769966px;font-family:rpxpplri"
id="text76"
y="13.1846"
x="46.698303"
class="f3">P</text>
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text78"
y="13.1846"
x="53.884293"
class="f5">1</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path80"
stroke-miterlimit="10.0375"
d="m 102.4223,-5.2284996 7.969,0 m -7.969,9.7969 7.969,0 m -7.969,9.7967996 7.969,0 m -7.969,9.7969 7.969,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path82"
stroke-miterlimit="10.0375"
d="m 104.4143,-15.0254 -24.363001,0 c -1.102,0 -1.992,0.8945 -1.992,1.9922 l 0,45 c 0,1.1016 0.89,1.9922 1.992,1.9922 l 24.363001,0 c 1.098,0 1.992,-0.8906 1.992,-1.9922 l 0,-45 c 0,-1.0977 -0.894,-1.9922 -1.992,-1.9922 z M 78.059299,33.959" />
<text
style="font-size:10.82769966px;font-family:rpxpplri"
id="text84"
y="13.1846"
x="85.954308"
class="f3">P</text>
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text86"
y="13.1846"
x="93.140297"
class="f5">2</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path88"
stroke-miterlimit="10.0375"
d="m 141.6763,4.5684004 7.972,0 m -7.972,9.7967996 7.972,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path90"
stroke-miterlimit="10.0375"
d="m 143.6683,-5.2284996 -24.359,0 c -1.102,0 -1.993,0.8945 -1.993,1.9922 l 0,25.4061996 c 0,1.1016 0.891,1.9922 1.993,1.9922 l 24.359,0 c 1.101,0 1.992,-0.8906 1.992,-1.9922 l 0,-25.4061996 c 0,-1.0977 -0.891,-1.9922 -1.992,-1.9922 z M 117.3163,24.1621" />
<text
style="font-size:10.82769966px;font-family:rpxpplri"
id="text92"
y="13.105498"
x="125.2103"
class="f3">P</text>
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text94"
y="13.105498"
x="132.39629"
class="f5">3</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path96"
stroke-miterlimit="10.0375"
d="m 180.9333,4.5684004 7.969,0 m -7.969,9.7967996 7.969,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path98"
stroke-miterlimit="10.0375"
d="m 182.9263,-5.2284996 -24.364,0 c -1.101,0 -1.992,0.8945 -1.992,1.9922 l 0,25.4061996 c 0,1.1016 0.891,1.9922 1.992,1.9922 l 24.364,0 c 1.101,0 1.992,-0.8906 1.992,-1.9922 l 0,-25.4061996 c 0,-1.0977 -0.891,-1.9922 -1.992,-1.9922 z M 156.5703,24.1621" />
<text
style="font-size:10.82769966px;font-family:rpxpplri"
id="text100"
y="12.205501"
x="166.2823"
class="f3">Q</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path102"
stroke-miterlimit="10.0375"
d="m 34.816299,43.7559 7.973,0 m -7.973,9.7968 7.973,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path104"
stroke-miterlimit="10.0375"
d="m 65.156299,33.959 -24.359,0 c -1.102,0 -1.992,0.8906 -1.992,1.9922 l 0,25.4023 c 0,1.1016 0.89,1.9961 1.992,1.9961 l 24.359,0 c 1.102,0 1.992,-0.8945 1.992,-1.9961 l 0,-25.4023 c 0,-1.1016 -0.89,-1.9922 -1.992,-1.9922 z m -26.351,29.3906" />
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text106"
y="52.386902"
x="50.249313"
class="f5">1</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path108"
stroke-miterlimit="10.0375"
d="m 74.074299,43.7559 7.969,0 m -7.969,9.7968 7.969,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path110"
stroke-miterlimit="10.0375"
d="m 104.4143,33.959 -24.363001,0 c -1.102,0 -1.992,0.8906 -1.992,1.9922 l 0,25.4023 c 0,1.1016 0.89,1.9961 1.992,1.9961 l 24.363001,0 c 1.098,0 1.992,-0.8945 1.992,-1.9961 l 0,-25.4023 c 0,-1.1016 -0.894,-1.9922 -1.992,-1.9922 z M 78.059299,63.3496" />
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text112"
y="52.386902"
x="89.505302"
class="f5">2</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path114"
stroke-miterlimit="10.0375"
d="m 113.3283,48.6543 7.973,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path116"
stroke-miterlimit="10.0375"
d="m 143.6683,38.8574 -24.359,0 c -1.102,0 -1.993,0.8906 -1.993,1.9922 l 0,15.6094 c 0,1.0976 0.891,1.9922 1.993,1.9922 l 24.359,0 c 1.101,0 1.992,-0.8946 1.992,-1.9922 l 0,-15.6094 c 0,-1.1016 -0.891,-1.9922 -1.992,-1.9922 z m -26.352,19.5938" />
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text118"
y="52.291504"
x="128.76129"
class="f5">3</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path120"
stroke-miterlimit="10.0375"
d="m 152.5863,43.7559 7.969,0 m -7.969,9.7968 7.969,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path122"
stroke-miterlimit="10.0375"
d="m 182.9263,33.959 -24.364,0 c -1.101,0 -1.992,0.8906 -1.992,1.9922 l 0,25.4023 c 0,1.1016 0.891,1.9961 1.992,1.9961 l 24.364,0 c 1.101,0 1.992,-0.8945 1.992,-1.9961 l 0,-25.4023 c 0,-1.1016 -0.891,-1.9922 -1.992,-1.9922 z m -26.356,29.3906" />
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text124"
y="52.386902"
x="168.01729"
class="f5">4</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path126"
stroke-miterlimit="10.0375"
d="m 191.8403,43.7559 7.972,0 m -7.972,9.7968 7.972,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path128"
stroke-miterlimit="10.0375"
d="m 222.1803,33.959 -24.36,0 c -1.101,0 -1.992,0.8906 -1.992,1.9922 l 0,25.4023 c 0,1.1016 0.891,1.9961 1.992,1.9961 l 24.36,0 c 1.101,0 1.992,-0.8945 1.992,-1.9961 l 0,-25.4023 c 0,-1.1016 -0.891,-1.9922 -1.992,-1.9922 z m -26.352,29.3906" />
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text130"
y="52.291504"
x="207.2733"
class="f5">5</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path132"
stroke-miterlimit="10.0375"
d="m 231.0983,38.8574 7.968,0 m -7.968,9.7969 7.968,0 m -7.968,9.7969 7.968,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path134"
stroke-miterlimit="10.0375"
d="m 261.4373,29.0605 -24.363,0 c -1.098,0 -1.992,0.8907 -1.992,1.9922 l 0,35.1992 c 0,1.1016 0.894,1.9957 1.992,1.9957 l 24.363,0 c 1.102,0 1.993,-0.8941 1.993,-1.9957 l 0,-35.1992 c 0,-1.1015 -0.891,-1.9922 -1.993,-1.9922 z m -26.355,39.1871" />
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text136"
y="52.291504"
x="246.52928"
class="f5">6</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path138"
stroke-miterlimit="10.0375"
d="m 270.3553,43.7559 7.969,0 m -7.969,9.7968 7.969,0" />
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path140"
stroke-miterlimit="10.0375"
d="m 300.6913,33.959 -24.359,0 c -1.102,0 -1.992,0.8906 -1.992,1.9922 l 0,25.4023 c 0,1.1016 0.89,1.9961 1.992,1.9961 l 24.359,0 c 1.102,0 1.996,-0.8945 1.996,-1.9961 l 0,-25.4023 c 0,-1.1016 -0.894,-1.9922 -1.996,-1.9922 z m -26.351,29.3906" />
<text
style="font-size:10.90909958px;font-family:zpl-Regular-tlf-ot1"
id="text142"
y="52.386902"
x="285.78531"
class="f5">7</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path144"
stroke-miterlimit="10.0375"
d="m 23.910299,3.3457004 7.969,0 m -7.969,23.2655996 7.969,0 m -7.969,23.2656 7.969,0" />
<text
style="font-size:10.82769966px;font-family:rpxpplri"
id="text146"
y="-8.4816999"
x="167.05229"
class="f3">R</text>
<path
style="fill:none;stroke:#000000;stroke-width:0.799999;stroke-miterlimit:10.03750038"
id="path148"
stroke-miterlimit="10.0375"
d="m 311.6013,-19.9238 -281.714001,0 c -1.102,0 -1.9926,0.8945 -1.9926,1.9961 l 0,89.0783 c 0,1.101 0.8906,1.992 1.9926,1.992 l 281.714001,0 c 1.102,0 1.993,-0.891 1.993,-1.992 l 0,-89.0783 c 0,-1.1016 -0.891,-1.9961 -1.993,-1.9961 z M 27.894699,73.1426" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path150"
stroke-miterlimit="10.0375"
d="m 71.133299,-0.33009963 c 25.355,0 -61.6682997,53.88279963 -36.317,53.88279963" />
<path
id="path152"
d="m 52.965299,26.6191 3.976,-1.0312 -2.246,-0.4805 -0.172,-2.2891" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path154"
stroke-miterlimit="10.0375"
d="m 71.133299,9.4668004 c 17.261,0 -14.317,44.0858996 2.941,44.0858996" />
<path
id="path156"
d="m 72.601299,31.5176 2.879,-2.9258 -2.172,0.7422 -1.32,-1.875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path158"
stroke-miterlimit="10.0375"
d="m 71.133299,19.2637 c 64.386001,0 95.578001,39.1875 159.965001,39.1875" />
<path
id="path160"
d="m 151.1173,38.8574 -2.707,-3.0976 0.578,2.2265 -1.973,1.1758" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path162"
stroke-miterlimit="10.0375"
d="m 110.3913,-5.2284996 c 23.831,0 -60.149001,48.9843996 -36.317001,48.9843996" />
<path
id="path164"
d="m 92.223299,19.2715 4.007,-0.8946 -2.226,-0.5547 -0.094,-2.2968" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path166"
stroke-miterlimit="10.0375"
d="m 110.3913,4.5684004 c 17.257,0 -14.321001,44.0858996 2.937,44.0858996" />
<path
id="path168"
d="m 111.8593,26.6192 2.879,-2.9258 -2.172,0.7422 -1.32,-1.875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path170"
stroke-miterlimit="10.0375"
d="m 110.3913,14.3652 c 22.374,0 19.82,39.1875 42.195,39.1875" />
<path
id="path172"
d="m 131.4883,33.9629 -0.016,-4.1094 -1.019,2.0586 -2.262,-0.3984" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path174"
stroke-miterlimit="10.0375"
d="m 110.3913,24.1621 c 33.871,0 47.578,29.3906 81.449,29.3906" />
<path
id="path176"
d="m 151.1173,38.8574 -2.164,-3.5 0.207,2.2929 -2.141,0.8399" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path178"
stroke-miterlimit="10.0375"
d="m 149.6483,4.5684004 c 22.375,0 19.817,39.1874996 42.192,39.1874996" />
<path
id="path180"
d="m 170.7463,24.166 -0.02,-4.1094 -1.015,2.0586 -2.262,-0.3984" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path182"
stroke-miterlimit="10.0375"
d="m 149.6483,14.3652 c 34.59,0 46.86,34.2891 81.45,34.2891" />
<path
id="path184"
d="m 190.3743,31.5097 -1.878,-3.6445 0.027,2.293 -2.195,0.6679" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path186"
stroke-miterlimit="10.0375"
d="m 188.9023,4.5684004 c 20.781,0 -57.097,39.1874996 -36.316,39.1874996" />
<path
id="path188"
d="m 170.7383,24.166 4.074,-0.5664 -2.175,-0.7344 0.093,-2.2968" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path190"
stroke-miterlimit="10.0375"
d="m 188.9023,14.3652 c 35.34,0 46.113,39.1875 81.453,39.1875" />
<path
id="path192"
d="m 229.6293,33.9589 -1.613,-3.789 -0.141,2.3007 -2.246,0.5078" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path194"
stroke-miterlimit="10.0375"
d="m 31.879299,3.3457004 c 15.82,0 -12.883,40.4101996 2.937,40.4101996" />
<path
id="path196"
d="m 33.348299,23.5567 2.867,-2.9453 -2.172,0.7539 -1.332,-1.8711" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path198"
stroke-miterlimit="10.0375"
d="m 31.879299,26.6113 c 77.992001,0 121.226001,12.2461 199.219001,12.2461" />
<path
id="path200"
d="m 131.4883,32.7324 -3.465,-2.1914 1.184,1.961 -1.551,1.6875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.60000199;stroke-miterlimit:10.03750038"
id="path202"
stroke-miterlimit="10.0375"
d="m 31.879299,49.8769 c 93.363001,0 145.113001,-6.121 238.476001,-6.121" />
<path
id="path204"
d="m 151.1173,46.8145 -3.743,-1.6758 1.454,1.7734 -1.297,1.8907" />
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment