arch_comparison.svg 63.1 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="0.7.1" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1667 982"><svg class="d2-3076236447 d2-svg" width="1667" height="982" viewBox="-19 -19 1667 982"><rect x="-19.000000" y="-19.000000" width="1667.000000" height="982.000000" rx="0.000000" fill="transparent" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3076236447 .text {
	font-family: "d2-3076236447-font-regular";
}
@font-face {
	font-family: d2-3076236447-font-regular;
	src: url("data:application/font-woff;base64,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");
}
@font-face {
	font-family: d2-3076236447-font-semibold;
	src: url("data:application/font-woff;base64,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");
}
.d2-3076236447 .text-mono {
	font-family: "d2-3076236447-font-mono";
}
@font-face {
	font-family: d2-3076236447-font-mono;
	src: url("data:application/font-woff;base64,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");
}
.d2-3076236447 .text-mono-bold {
	font-family: "d2-3076236447-font-mono-bold";
}
@font-face {
	font-family: d2-3076236447-font-mono-bold;
	src: url("data:application/font-woff;base64,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");
}
.d2-3076236447 .text-mono-italic {
	font-family: "d2-3076236447-font-mono-italic";
}
@font-face {
	font-family: d2-3076236447-font-mono-italic;
	src: url("data:application/font-woff;base64,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");
}
    @media (prefers-color-scheme: dark) {
      .d2-3076236447 .fill-N1 { fill: #E8E8E8; }
      .d2-3076236447 .fill-N2 { fill: #CCCCCC; }
      .d2-3076236447 .fill-N3 { fill: #999999; }
      .d2-3076236447 .fill-B1 { fill: #E8E8E8; }
      .d2-3076236447 .fill-B2 { fill: #7BACFF; }
      .d2-3076236447 .fill-B3 { fill: #6AAFDC; }
      .d2-3076236447 .fill-N4 { fill: #3A3A44; }
      .d2-3076236447 .fill-N5 { fill: #2E2E38; }
      .d2-3076236447 .fill-N6 { fill: #252530; }
      .d2-3076236447 .fill-N7 { fill: transparent; }
      .d2-3076236447 .fill-B4 { fill: #2A2A34; }
      .d2-3076236447 .fill-B5 { fill: #1E1E28; }
      .d2-3076236447 .fill-B6 { fill: #16161E; }
      .d2-3076236447 .stroke-N1 { stroke: #E8E8E8; }
      .d2-3076236447 .stroke-N2 { stroke: #CCCCCC; }
      .d2-3076236447 .stroke-N3 { stroke: #999999; }
      .d2-3076236447 .stroke-N4 { stroke: #555555; }
      .d2-3076236447 .stroke-N5 { stroke: #444444; }
      .d2-3076236447 .stroke-N6 { stroke: #333333; }
      .d2-3076236447 .stroke-N7 { stroke: transparent; }
      .d2-3076236447 .stroke-B1 { stroke: #E8E8E8; }
      .d2-3076236447 .stroke-B2 { stroke: #7BACFF; }
      .d2-3076236447 .stroke-B3 { stroke: #6AAFDC; }
      .d2-3076236447 .stroke-B4 { stroke: #3A3A44; }
      .d2-3076236447 .stroke-B5 { stroke: #2E2E38; }
      .d2-3076236447 .stroke-B6 { stroke: #252530; }
      .d2-3076236447 .color-N1 { color: #E8E8E8; }
      .d2-3076236447 .color-N2 { color: #CCCCCC; }
      .d2-3076236447 .color-N3 { color: #999999; }
      .d2-3076236447 .connection.fill-B1 { fill: #E8E8E8; }
    }
    ]]></style><style type="text/css"><![CDATA[.shape {
  shape-rendering: geometricPrecision;
  stroke-linejoin: round;
}
.connection {
  stroke-linecap: round;
  stroke-linejoin: round;
}
.blend {
  mix-blend-mode: multiply;
  opacity: 0.5;
}

		.d2-3076236447 .fill-N1{fill:#000410;}
		.d2-3076236447 .fill-N2{fill:#0000B8;}
		.d2-3076236447 .fill-N3{fill:#9499AB;}
		.d2-3076236447 .fill-N4{fill:#CFD2DD;}
		.d2-3076236447 .fill-N5{fill:#C3DEF3;}
		.d2-3076236447 .fill-N6{fill:#EEF1F8;}
		.d2-3076236447 .fill-N7{fill:#FFFFFF;}
		.d2-3076236447 .fill-B1{fill:#000410;}
		.d2-3076236447 .fill-B2{fill:#0000E4;}
		.d2-3076236447 .fill-B3{fill:#5AA4DC;}
		.d2-3076236447 .fill-B4{fill:#E7E9EE;}
		.d2-3076236447 .fill-B5{fill:#F5F6F9;}
		.d2-3076236447 .fill-B6{fill:#FFFFFF;}
		.d2-3076236447 .fill-AA2{fill:#008566;}
		.d2-3076236447 .fill-AA4{fill:#45BBA5;}
		.d2-3076236447 .fill-AA5{fill:#7ACCBD;}
		.d2-3076236447 .fill-AB4{fill:#F1C759;}
		.d2-3076236447 .fill-AB5{fill:#F9E088;}
		.d2-3076236447 .stroke-N1{stroke:#000410;}
		.d2-3076236447 .stroke-N2{stroke:#0000B8;}
		.d2-3076236447 .stroke-N3{stroke:#9499AB;}
		.d2-3076236447 .stroke-N4{stroke:#CFD2DD;}
		.d2-3076236447 .stroke-N5{stroke:#C3DEF3;}
		.d2-3076236447 .stroke-N6{stroke:#EEF1F8;}
		.d2-3076236447 .stroke-N7{stroke:#FFFFFF;}
		.d2-3076236447 .stroke-B1{stroke:#000410;}
		.d2-3076236447 .stroke-B2{stroke:#0000E4;}
		.d2-3076236447 .stroke-B3{stroke:#5AA4DC;}
		.d2-3076236447 .stroke-B4{stroke:#E7E9EE;}
		.d2-3076236447 .stroke-B5{stroke:#F5F6F9;}
		.d2-3076236447 .stroke-B6{stroke:#FFFFFF;}
		.d2-3076236447 .stroke-AA2{stroke:#008566;}
		.d2-3076236447 .stroke-AA4{stroke:#45BBA5;}
		.d2-3076236447 .stroke-AA5{stroke:#7ACCBD;}
		.d2-3076236447 .stroke-AB4{stroke:#F1C759;}
		.d2-3076236447 .stroke-AB5{stroke:#F9E088;}
		.d2-3076236447 .background-color-N1{background-color:#000410;}
		.d2-3076236447 .background-color-N2{background-color:#0000B8;}
		.d2-3076236447 .background-color-N3{background-color:#9499AB;}
		.d2-3076236447 .background-color-N4{background-color:#CFD2DD;}
		.d2-3076236447 .background-color-N5{background-color:#C3DEF3;}
		.d2-3076236447 .background-color-N6{background-color:#EEF1F8;}
		.d2-3076236447 .background-color-N7{background-color:#FFFFFF;}
		.d2-3076236447 .background-color-B1{background-color:#000410;}
		.d2-3076236447 .background-color-B2{background-color:#0000E4;}
		.d2-3076236447 .background-color-B3{background-color:#5AA4DC;}
		.d2-3076236447 .background-color-B4{background-color:#E7E9EE;}
		.d2-3076236447 .background-color-B5{background-color:#F5F6F9;}
		.d2-3076236447 .background-color-B6{background-color:#FFFFFF;}
		.d2-3076236447 .background-color-AA2{background-color:#008566;}
		.d2-3076236447 .background-color-AA4{background-color:#45BBA5;}
		.d2-3076236447 .background-color-AA5{background-color:#7ACCBD;}
		.d2-3076236447 .background-color-AB4{background-color:#F1C759;}
		.d2-3076236447 .background-color-AB5{background-color:#F9E088;}
		.d2-3076236447 .color-N1{color:#000410;}
		.d2-3076236447 .color-N2{color:#0000B8;}
		.d2-3076236447 .color-N3{color:#9499AB;}
		.d2-3076236447 .color-N4{color:#CFD2DD;}
		.d2-3076236447 .color-N5{color:#C3DEF3;}
		.d2-3076236447 .color-N6{color:#EEF1F8;}
		.d2-3076236447 .color-N7{color:#FFFFFF;}
		.d2-3076236447 .color-B1{color:#000410;}
		.d2-3076236447 .color-B2{color:#0000E4;}
		.d2-3076236447 .color-B3{color:#5AA4DC;}
		.d2-3076236447 .color-B4{color:#E7E9EE;}
		.d2-3076236447 .color-B5{color:#F5F6F9;}
		.d2-3076236447 .color-B6{color:#FFFFFF;}
		.d2-3076236447 .color-AA2{color:#008566;}
		.d2-3076236447 .color-AA4{color:#45BBA5;}
		.d2-3076236447 .color-AA5{color:#7ACCBD;}
		.d2-3076236447 .color-AB4{color:#F1C759;}
		.d2-3076236447 .color-AB5{color:#F9E088;}.appendix text.text{fill:#000410}.md{--color-fg-default:#000410;--color-fg-muted:#0000B8;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#000410;--color-border-muted:#0000E4;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0000E4;--color-accent-emphasis:#0000E4;--color-attention-subtle:#0000B8;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3076236447);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3076236447);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3076236447);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3076236447);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3076236447);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3076236447);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-AA5{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-AB4{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-AB5{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3076236447);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-darker-d2-3076236447);mix-blend-mode:lighten}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-normal-d2-3076236447);mix-blend-mode:color-burn}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3076236447);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3076236447);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}
    @media (prefers-color-scheme: dark) {
      .d2-3076236447 .fill-N1 { fill: #E8E8E8; }
      .d2-3076236447 .fill-N2 { fill: #CCCCCC; }
      .d2-3076236447 .fill-N3 { fill: #999999; }
      .d2-3076236447 .fill-B1 { fill: #E8E8E8; }
      .d2-3076236447 .fill-B2 { fill: #7BACFF; }
      .d2-3076236447 .fill-B3 { fill: #6AAFDC; }
      .d2-3076236447 .fill-N4 { fill: #3A3A44; }
      .d2-3076236447 .fill-N5 { fill: #2E2E38; }
      .d2-3076236447 .fill-N6 { fill: #252530; }
      .d2-3076236447 .fill-N7 { fill: transparent; }
      .d2-3076236447 .fill-B4 { fill: #2A2A34; }
      .d2-3076236447 .fill-B5 { fill: #1E1E28; }
      .d2-3076236447 .fill-B6 { fill: #16161E; }
      .d2-3076236447 .stroke-N1 { stroke: #E8E8E8; }
      .d2-3076236447 .stroke-N2 { stroke: #CCCCCC; }
      .d2-3076236447 .stroke-N3 { stroke: #999999; }
      .d2-3076236447 .stroke-N4 { stroke: #555555; }
      .d2-3076236447 .stroke-N5 { stroke: #444444; }
      .d2-3076236447 .stroke-N6 { stroke: #333333; }
      .d2-3076236447 .stroke-N7 { stroke: transparent; }
      .d2-3076236447 .stroke-B1 { stroke: #E8E8E8; }
      .d2-3076236447 .stroke-B2 { stroke: #7BACFF; }
      .d2-3076236447 .stroke-B3 { stroke: #6AAFDC; }
      .d2-3076236447 .stroke-B4 { stroke: #3A3A44; }
      .d2-3076236447 .stroke-B5 { stroke: #2E2E38; }
      .d2-3076236447 .stroke-B6 { stroke: #252530; }
      .d2-3076236447 .color-N1 { color: #E8E8E8; }
      .d2-3076236447 .color-N2 { color: #CCCCCC; }
      .d2-3076236447 .color-N3 { color: #999999; }
      .d2-3076236447 .connection.fill-B1 { fill: #E8E8E8; }
    }
    ]]></style><style type="text/css">.d2-3076236447 .md em,
.d2-3076236447 .md dfn {
  font-family: "d2-3076236447-font-italic";
}

.d2-3076236447 .md b,
.d2-3076236447 .md strong {
  font-family: "d2-3076236447-font-bold";
}

.d2-3076236447 .md code,
.d2-3076236447 .md kbd,
.d2-3076236447 .md pre,
.d2-3076236447 .md samp {
  font-family: "d2-3076236447-font-mono";
  font-size: 1em;
}

.d2-3076236447 .md {
  tab-size: 4;
}

/* variables are provided in d2renderers/d2svg/d2svg.go */

.d2-3076236447 .md {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  background-color: transparent; /* we don't want to define the background color */
  font-family: "d2-3076236447-font-regular";
  font-size: 16px;
  line-height: 1.5;
  word-wrap: break-word;
}

.d2-3076236447 .md details,
.d2-3076236447 .md figcaption,
.d2-3076236447 .md figure {
  display: block;
}

.d2-3076236447 .md summary {
  display: list-item;
}

.d2-3076236447 .md [hidden] {
  display: none !important;
}

.d2-3076236447 .md a {
  background-color: transparent;
  color: var(--color-accent-fg);
  text-decoration: none;
}

.d2-3076236447 .md a:active,
.d2-3076236447 .md a:hover {
  outline-width: 0;
}

.d2-3076236447 .md abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted;
}

.d2-3076236447 .md dfn {
  font-style: italic;
}

.d2-3076236447 .md h1 {
  margin: 0.67em 0;
  padding-bottom: 0.3em;
  font-size: 2em;
  border-bottom: 1px solid var(--color-border-muted);
}

.d2-3076236447 .md mark {
  background-color: var(--color-attention-subtle);
  color: var(--color-text-primary);
}

.d2-3076236447 .md small {
  font-size: 90%;
}

.d2-3076236447 .md sub,
.d2-3076236447 .md sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

.d2-3076236447 .md sub {
  bottom: -0.25em;
}

.d2-3076236447 .md sup {
  top: -0.5em;
}

.d2-3076236447 .md img {
  border-style: none;
  max-width: 100%;
  box-sizing: content-box;
  background-color: var(--color-canvas-default);
}

.d2-3076236447 .md figure {
  margin: 1em 40px;
}

.d2-3076236447 .md hr {
  box-sizing: content-box;
  overflow: hidden;
  background: transparent;
  border-bottom: 1px solid var(--color-border-muted);
  height: 0.25em;
  padding: 0;
  margin: 24px 0;
  background-color: var(--color-border-default);
  border: 0;
}

.d2-3076236447 .md input {
  font: inherit;
  margin: 0;
  overflow: visible;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.d2-3076236447 .md [type="button"],
.d2-3076236447 .md [type="reset"],
.d2-3076236447 .md [type="submit"] {
  -webkit-appearance: button;
}

.d2-3076236447 .md [type="button"]::-moz-focus-inner,
.d2-3076236447 .md [type="reset"]::-moz-focus-inner,
.d2-3076236447 .md [type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

.d2-3076236447 .md [type="button"]:-moz-focusring,
.d2-3076236447 .md [type="reset"]:-moz-focusring,
.d2-3076236447 .md [type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

.d2-3076236447 .md [type="checkbox"],
.d2-3076236447 .md [type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

.d2-3076236447 .md [type="number"]::-webkit-inner-spin-button,
.d2-3076236447 .md [type="number"]::-webkit-outer-spin-button {
  height: auto;
}

.d2-3076236447 .md [type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

.d2-3076236447 .md [type="search"]::-webkit-search-cancel-button,
.d2-3076236447 .md [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

.d2-3076236447 .md ::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

.d2-3076236447 .md ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

.d2-3076236447 .md a:hover {
  text-decoration: underline;
}

.d2-3076236447 .md hr::before {
  display: table;
  content: "";
}

.d2-3076236447 .md hr::after {
  display: table;
  clear: both;
  content: "";
}

.d2-3076236447 .md table {
  border-spacing: 0;
  border-collapse: collapse;
  display: block;
  width: max-content;
  max-width: 100%;
  overflow: auto;
}

.d2-3076236447 .md td,
.d2-3076236447 .md th {
  padding: 0;
}

.d2-3076236447 .md details summary {
  cursor: pointer;
}

.d2-3076236447 .md details:not([open]) > *:not(summary) {
  display: none !important;
}

.d2-3076236447 .md kbd {
  display: inline-block;
  padding: 3px 5px;
  color: var(--color-fg-default);
  vertical-align: middle;
  background-color: var(--color-canvas-subtle);
  border: solid 1px var(--color-neutral-muted);
  border-bottom-color: var(--color-neutral-muted);
  border-radius: 6px;
  box-shadow: inset 0 -1px 0 var(--color-neutral-muted);
}

.d2-3076236447 .md h1,
.d2-3076236447 .md h2,
.d2-3076236447 .md h3,
.d2-3076236447 .md h4,
.d2-3076236447 .md h5,
.d2-3076236447 .md h6 {
  margin-top: 24px;
  margin-bottom: 16px;
  font-weight: 400;
  line-height: 1.25;
  font-family: "d2-3076236447-font-semibold";
}

.d2-3076236447 .md h2 {
  padding-bottom: 0.3em;
  font-size: 1.5em;
  border-bottom: 1px solid var(--color-border-muted);
}

.d2-3076236447 .md h3 {
  font-size: 1.25em;
}

.d2-3076236447 .md h4 {
  font-size: 1em;
}

.d2-3076236447 .md h5 {
  font-size: 0.875em;
}

.d2-3076236447 .md h6 {
  font-size: 0.85em;
  color: var(--color-fg-muted);
}

.d2-3076236447 .md p {
  margin-top: 0;
  margin-bottom: 10px;
}

.d2-3076236447 .md blockquote {
  margin: 0;
  padding: 0 1em;
  color: var(--color-fg-muted);
  border-left: 0.25em solid var(--color-border-default);
}

.d2-3076236447 .md ul,
.d2-3076236447 .md ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}

.d2-3076236447 .md ol ol,
.d2-3076236447 .md ul ol {
  list-style-type: lower-roman;
}

.d2-3076236447 .md ul ul ol,
.d2-3076236447 .md ul ol ol,
.d2-3076236447 .md ol ul ol,
.d2-3076236447 .md ol ol ol {
  list-style-type: lower-alpha;
}

.d2-3076236447 .md dd {
  margin-left: 0;
}

.d2-3076236447 .md pre {
  margin-top: 0;
  margin-bottom: 0;
  word-wrap: normal;
}

.d2-3076236447 .md ::placeholder {
  color: var(--color-fg-subtle);
  opacity: 1;
}

.d2-3076236447 .md input::-webkit-outer-spin-button,
.d2-3076236447 .md input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
}

.d2-3076236447 .md::before {
  display: table;
  content: "";
}

.d2-3076236447 .md::after {
  display: table;
  clear: both;
  content: "";
}

.d2-3076236447 .md > *:first-child {
  margin-top: 0 !important;
}

.d2-3076236447 .md > *:last-child {
  margin-bottom: 0 !important;
}

.d2-3076236447 .md a:not([href]) {
  color: inherit;
  text-decoration: none;
}

.d2-3076236447 .md .absent {
  color: var(--color-danger-fg);
}

.d2-3076236447 .md .anchor {
  float: left;
  padding-right: 4px;
  margin-left: -20px;
  line-height: 1;
}

.d2-3076236447 .md .anchor:focus {
  outline: none;
}

.d2-3076236447 .md p,
.d2-3076236447 .md blockquote,
.d2-3076236447 .md ul,
.d2-3076236447 .md ol,
.d2-3076236447 .md dl,
.d2-3076236447 .md table,
.d2-3076236447 .md pre,
.d2-3076236447 .md details {
  margin-top: 0;
  margin-bottom: 16px;
}

.d2-3076236447 .md blockquote > :first-child {
  margin-top: 0;
}

.d2-3076236447 .md blockquote > :last-child {
  margin-bottom: 0;
}

.d2-3076236447 .md sup > a::before {
  content: "[";
}

.d2-3076236447 .md sup > a::after {
  content: "]";
}

.d2-3076236447 .md h1:hover .anchor,
.d2-3076236447 .md h2:hover .anchor,
.d2-3076236447 .md h3:hover .anchor,
.d2-3076236447 .md h4:hover .anchor,
.d2-3076236447 .md h5:hover .anchor,
.d2-3076236447 .md h6:hover .anchor {
  text-decoration: none;
}

.d2-3076236447 .md h1 tt,
.d2-3076236447 .md h1 code,
.d2-3076236447 .md h2 tt,
.d2-3076236447 .md h2 code,
.d2-3076236447 .md h3 tt,
.d2-3076236447 .md h3 code,
.d2-3076236447 .md h4 tt,
.d2-3076236447 .md h4 code,
.d2-3076236447 .md h5 tt,
.d2-3076236447 .md h5 code,
.d2-3076236447 .md h6 tt,
.d2-3076236447 .md h6 code {
  padding: 0 0.2em;
  font-size: inherit;
}

.d2-3076236447 .md ul.no-list,
.d2-3076236447 .md ol.no-list {
  padding: 0;
  list-style-type: none;
}

.d2-3076236447 .md ol[type="1"] {
  list-style-type: decimal;
}

.d2-3076236447 .md ol[type="a"] {
  list-style-type: lower-alpha;
}

.d2-3076236447 .md ol[type="i"] {
  list-style-type: lower-roman;
}

.d2-3076236447 .md div > ol:not([type]) {
  list-style-type: decimal;
}

.d2-3076236447 .md ul ul,
.d2-3076236447 .md ul ol,
.d2-3076236447 .md ol ol,
.d2-3076236447 .md ol ul {
  margin-top: 0;
  margin-bottom: 0;
}

.d2-3076236447 .md li > p {
  margin-top: 16px;
}

.d2-3076236447 .md li + li {
  margin-top: 0.25em;
}

.d2-3076236447 .md dl {
  padding: 0;
}

.d2-3076236447 .md dl dt {
  padding: 0;
  margin-top: 16px;
  font-size: 1em;
  font-style: italic;
  font-family: "d2-3076236447-font-semibold";
}

.d2-3076236447 .md dl dd {
  padding: 0 16px;
  margin-bottom: 16px;
}

.d2-3076236447 .md table th {
  font-family: "d2-3076236447-font-semibold";
}

.d2-3076236447 .md table th,
.d2-3076236447 .md table td {
  padding: 6px 13px;
  border: 1px solid var(--color-border-default);
}

.d2-3076236447 .md table tr {
  background-color: var(--color-canvas-default);
  border-top: 1px solid var(--color-border-muted);
}

.d2-3076236447 .md table tr:nth-child(2n) {
  background-color: var(--color-canvas-subtle);
}

.d2-3076236447 .md table img {
  background-color: transparent;
}

.d2-3076236447 .md img[align="right"] {
  padding-left: 20px;
}

.d2-3076236447 .md img[align="left"] {
  padding-right: 20px;
}

.d2-3076236447 .md span.frame {
  display: block;
  overflow: hidden;
}

.d2-3076236447 .md span.frame > span {
  display: block;
  float: left;
  width: auto;
  padding: 7px;
  margin: 13px 0 0;
  overflow: hidden;
  border: 1px solid var(--color-border-default);
}

.d2-3076236447 .md span.frame span img {
  display: block;
  float: left;
}

.d2-3076236447 .md span.frame span span {
  display: block;
  padding: 5px 0 0;
  clear: both;
  color: var(--color-fg-default);
}

.d2-3076236447 .md span.align-center {
  display: block;
  overflow: hidden;
  clear: both;
}

.d2-3076236447 .md span.align-center > span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: center;
}

.d2-3076236447 .md span.align-center span img {
  margin: 0 auto;
  text-align: center;
}

.d2-3076236447 .md span.align-right {
  display: block;
  overflow: hidden;
  clear: both;
}

.d2-3076236447 .md span.align-right > span {
  display: block;
  margin: 13px 0 0;
  overflow: hidden;
  text-align: right;
}

.d2-3076236447 .md span.align-right span img {
  margin: 0;
  text-align: right;
}

.d2-3076236447 .md span.float-left {
  display: block;
  float: left;
  margin-right: 13px;
  overflow: hidden;
}

.d2-3076236447 .md span.float-left span {
  margin: 13px 0 0;
}

.d2-3076236447 .md span.float-right {
  display: block;
  float: right;
  margin-left: 13px;
  overflow: hidden;
}

.d2-3076236447 .md span.float-right > span {
  display: block;
  margin: 13px auto 0;
  overflow: hidden;
  text-align: right;
}

.d2-3076236447 .md code,
.d2-3076236447 .md tt {
  padding: 0.2em 0.4em;
  margin: 0;
  font-size: 85%;
  background-color: var(--color-neutral-muted);
  border-radius: 6px;
}

.d2-3076236447 .md code br,
.d2-3076236447 .md tt br {
  display: none;
}

.d2-3076236447 .md del code {
  text-decoration: inherit;
}

.d2-3076236447 .md pre code {
  font-size: 100%;
}

.d2-3076236447 .md pre > code {
  padding: 0;
  margin: 0;
  word-break: normal;
  white-space: pre;
  background: transparent;
  border: 0;
}

.d2-3076236447 .md .highlight {
  margin-bottom: 16px;
}

.d2-3076236447 .md .highlight pre {
  margin-bottom: 0;
  word-break: normal;
}

.d2-3076236447 .md .highlight pre,
.d2-3076236447 .md pre {
  padding: 16px;
  overflow: auto;
  font-size: 85%;
  line-height: 1.45;
  background-color: var(--color-canvas-subtle);
  border-radius: 6px;
}

.d2-3076236447 .md pre code,
.d2-3076236447 .md pre tt {
  display: inline;
  max-width: auto;
  padding: 0;
  margin: 0;
  overflow: visible;
  line-height: inherit;
  word-wrap: normal;
  background-color: transparent;
  border: 0;
}

.d2-3076236447 .md .csv-data td,
.d2-3076236447 .md .csv-data th {
  padding: 5px;
  overflow: hidden;
  font-size: 12px;
  line-height: 1;
  text-align: left;
  white-space: nowrap;
}

.d2-3076236447 .md .csv-data .blob-num {
  padding: 10px 8px 9px;
  text-align: right;
  background: var(--color-canvas-default);
  border: 0;
}

.d2-3076236447 .md .csv-data tr {
  border-top: 0;
}

.d2-3076236447 .md .csv-data th {
  font-family: "d2-3076236447-font-semibold";
  background: var(--color-canvas-subtle);
  border-top: 0;
}

.d2-3076236447 .md .footnotes {
  font-size: 12px;
  color: var(--color-fg-muted);
  border-top: 1px solid var(--color-border-default);
}

.d2-3076236447 .md .footnotes ol {
  padding-left: 16px;
}

.d2-3076236447 .md .footnotes li {
  position: relative;
}

.d2-3076236447 .md .footnotes li:target::before {
  position: absolute;
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -24px;
  pointer-events: none;
  content: "";
  border: 2px solid var(--color-accent-emphasis);
  border-radius: 6px;
}

.d2-3076236447 .md .footnotes li:target {
  color: var(--color-fg-default);
}

.d2-3076236447 .md .task-list-item {
  list-style-type: none;
}

.d2-3076236447 .md .task-list-item label {
  font-weight: 400;
}

.d2-3076236447 .md .task-list-item.enabled label {
  cursor: pointer;
}

.d2-3076236447 .md .task-list-item + .task-list-item {
  margin-top: 3px;
}

.d2-3076236447 .md .task-list-item .handle {
  display: none;
}

.d2-3076236447 .md .task-list-item-checkbox {
  margin: 0 0.2em 0.25em -1.6em;
  vertical-align: middle;
}

.d2-3076236447 .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
  margin: 0 -1.6em 0.25em 0.2em;
}
</style><style type="text/css"><![CDATA[
.dots-overlay {
	fill: url(#dots-d2-3076236447);
	mix-blend-mode: multiply;
}
    @media (prefers-color-scheme: dark) {
      .d2-3076236447 .fill-N1 { fill: #E8E8E8; }
      .d2-3076236447 .fill-N2 { fill: #CCCCCC; }
      .d2-3076236447 .fill-N3 { fill: #999999; }
      .d2-3076236447 .fill-B1 { fill: #E8E8E8; }
      .d2-3076236447 .fill-B2 { fill: #7BACFF; }
      .d2-3076236447 .fill-B3 { fill: #6AAFDC; }
      .d2-3076236447 .fill-N4 { fill: #3A3A44; }
      .d2-3076236447 .fill-N5 { fill: #2E2E38; }
      .d2-3076236447 .fill-N6 { fill: #252530; }
      .d2-3076236447 .fill-N7 { fill: transparent; }
      .d2-3076236447 .fill-B4 { fill: #2A2A34; }
      .d2-3076236447 .fill-B5 { fill: #1E1E28; }
      .d2-3076236447 .fill-B6 { fill: #16161E; }
      .d2-3076236447 .stroke-N1 { stroke: #E8E8E8; }
      .d2-3076236447 .stroke-N2 { stroke: #CCCCCC; }
      .d2-3076236447 .stroke-N3 { stroke: #999999; }
      .d2-3076236447 .stroke-N4 { stroke: #555555; }
      .d2-3076236447 .stroke-N5 { stroke: #444444; }
      .d2-3076236447 .stroke-N6 { stroke: #333333; }
      .d2-3076236447 .stroke-N7 { stroke: transparent; }
      .d2-3076236447 .stroke-B1 { stroke: #E8E8E8; }
      .d2-3076236447 .stroke-B2 { stroke: #7BACFF; }
      .d2-3076236447 .stroke-B3 { stroke: #6AAFDC; }
      .d2-3076236447 .stroke-B4 { stroke: #3A3A44; }
      .d2-3076236447 .stroke-B5 { stroke: #2E2E38; }
      .d2-3076236447 .stroke-B6 { stroke: #252530; }
      .d2-3076236447 .color-N1 { color: #E8E8E8; }
      .d2-3076236447 .color-N2 { color: #CCCCCC; }
      .d2-3076236447 .color-N3 { color: #999999; }
      .d2-3076236447 .connection.fill-B1 { fill: #E8E8E8; }
    }
    ]]></style><defs><pattern id="dots-d2-3076236447" x="0" y="0" width="15" height="15" patternUnits="userSpaceOnUse">
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="2" y="2" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="12" y="2" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="12" y="12" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="2" y="12" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="2" y="7" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="12" y="7" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="7" y="2" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="7" y="12" width="1" height="1" fill="#0A0F25"/>
</g>
<g style="mix-blend-mode:multiply" opacity="0.1">
<rect x="7" y="7" width="1" height="1" fill="#0A0F25"/>
</g>
</pattern>
</defs><g class="YWdncmVnYXRlZA=="><g class="shape" ><rect x="246.000000" y="12.000000" width="1136.000000" height="450.000000" stroke="#000410" fill="#E7E9EE" class=" stroke-B1 fill-B4" style="stroke-width:2;" /><rect x="246.000000" y="12.000000" width="1136.000000" height="450.000000" class="dots-overlay" style="stroke-width:2;" /><rect x="251.000000" y="17.000000" width="1126.000000" height="440.000000" stroke="#000410" fill="transparent" class=" stroke-B1" style="stroke-width:2;" /></g><text x="814.000000" y="41.000000" fill="#000410" class="text-mono fill-N1" style="text-anchor:middle;font-size:24px">AGGREGATED</text></g><g class="ZGlzYWdncmVnYXRlZA=="><g class="shape" ><rect x="12.000000" y="482.000000" width="1605.000000" height="450.000000" stroke="#000410" fill="#E7E9EE" class=" stroke-B1 fill-B4" style="stroke-width:2;" /><rect x="12.000000" y="482.000000" width="1605.000000" height="450.000000" class="dots-overlay" style="stroke-width:2;" /><rect x="17.000000" y="487.000000" width="1595.000000" height="440.000000" stroke="#000410" fill="transparent" class=" stroke-B1" style="stroke-width:2;" /></g><text x="814.500000" y="511.000000" fill="#000410" class="text-mono fill-N1" style="text-anchor:middle;font-size:24px">DISAGGREGATED</text></g><g class="YWdncmVnYXRlZC5mcm9udGVuZA=="><g class="shape" ><rect x="592.000000" y="207.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="682.000000" y="244.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">FRONTEND</text></g><g class="YWdncmVnYXRlZC5yb3V0ZXI="><g class="shape" ><rect x="842.000000" y="207.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="932.000000" y="244.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">ROUTER</text></g><g class="YWdncmVnYXRlZC53MQ=="><g class="shape" ><rect x="1152.000000" y="87.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1242.000000" y="124.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">W1 (TP2)</text></g><g class="YWdncmVnYXRlZC53Mg=="><g class="shape" ><rect x="1152.000000" y="167.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1242.000000" y="204.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">W2 (TP2)</text></g><g class="YWdncmVnYXRlZC53Mw=="><g class="shape" ><rect x="1152.000000" y="247.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1242.000000" y="284.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">W3 (TP2)</text></g><g class="YWdncmVnYXRlZC53NA=="><g class="shape" ><rect x="1152.000000" y="327.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1242.000000" y="364.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">W4 (TP2)</text></g><g class="YWdncmVnYXRlZC5ub3Rl"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="296.000000" y="287.000000" width="476" height="27"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="font-size:18px"><p>EACH WORKER HANDLES BOTH PREFILL AND DECODE.</p>
</div></foreignObject></g></g><g class="ZGlzYWdncmVnYXRlZC5mcm9udGVuZA=="><g class="shape" ><rect x="304.000000" y="673.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="394.000000" y="710.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">FRONTEND</text></g><g class="ZGlzYWdncmVnYXRlZC5yb3V0ZXI="><g class="shape" ><rect x="554.000000" y="673.000000" width="180.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="644.000000" y="710.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">ROUTER</text></g><g class="ZGlzYWdncmVnYXRlZC5wMQ=="><g class="shape" ><rect x="814.000000" y="633.000000" width="220.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="924.000000" y="670.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">PREFILL 1 (TP2)</text></g><g class="ZGlzYWdncmVnYXRlZC5wMg=="><g class="shape" ><rect x="814.000000" y="713.000000" width="220.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="924.000000" y="750.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">PREFILL 2 (TP2)</text></g><g class="ZGlzYWdncmVnYXRlZC5kZWNvZGU="><g class="shape" ><rect x="1347.000000" y="673.000000" width="220.000000" height="60.000000" stroke="#000410" fill="#F5F6F9" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="1457.000000" y="710.000000" fill="#000410" class="text-mono-bold fill-N1" style="text-anchor:middle;font-size:20px">DECODE (TP4)</text></g><g class="ZGlzYWdncmVnYXRlZC5ub3Rl"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="62.000000" y="753.000000" width="422" height="27"><div xmlns="http://www.w3.org/1999/xhtml" class="md color-N1" style="font-size:18px"><p>PREFILL AND DECODE ON SEPARATE WORKERS.</p>
</div></foreignObject></g></g><g class="YWdncmVnYXRlZC4oZnJvbnRlbmQgLSZndDsgcm91dGVyKVswXQ=="><marker id="mk-d2-3076236447-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#000410" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 774.500000 237.000000 L 838.500000 237.000000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="YWdncmVnYXRlZC4ocm91dGVyIC0mZ3Q7IHcxKVswXQ=="><path d="M 1024.500000 219.000000 L 1062.500000 219.000000 S 1062.500000 219.000000 1062.500000 219.000000 L 1062.500000 117.000000 S 1062.500000 117.000000 1062.500000 117.000000 L 1148.500000 117.000000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="YWdncmVnYXRlZC4ocm91dGVyIC0mZ3Q7IHcyKVswXQ=="><path d="M 1024.500000 231.000000 L 1112.500000 231.000000 S 1112.500000 231.000000 1112.500000 231.000000 L 1112.500000 197.000000 S 1112.500000 197.000000 1112.500000 197.000000 L 1148.500000 197.000000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="YWdncmVnYXRlZC4ocm91dGVyIC0mZ3Q7IHczKVswXQ=="><path d="M 1024.500000 243.000000 L 1112.500000 243.000000 S 1112.500000 243.000000 1112.500000 243.000000 L 1112.500000 277.000000 S 1112.500000 277.000000 1112.500000 277.000000 L 1148.500000 277.000000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="YWdncmVnYXRlZC4ocm91dGVyIC0mZ3Q7IHc0KVswXQ=="><path d="M 1024.500000 255.000000 L 1062.500000 255.000000 S 1062.500000 255.000000 1062.500000 255.000000 L 1062.500000 357.000000 S 1062.500000 357.000000 1062.500000 357.000000 L 1148.500000 357.000000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="ZGlzYWdncmVnYXRlZC4oZnJvbnRlbmQgLSZndDsgcm91dGVyKVswXQ=="><path d="M 486.000000 703.500000 L 550.000000 703.500000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="ZGlzYWdncmVnYXRlZC4ocm91dGVyIC0mZ3Q7IHAxKVswXQ=="><path d="M 736.000000 693.500000 L 774.000000 693.500000 S 774.000000 693.500000 774.000000 693.500000 L 774.000000 663.500000 S 774.000000 663.500000 774.000000 663.500000 L 810.000000 663.500000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="ZGlzYWdncmVnYXRlZC4ocm91dGVyIC0mZ3Q7IHAyKVswXQ=="><path d="M 736.000000 713.500000 L 774.000000 713.500000 S 774.000000 713.500000 774.000000 713.500000 L 774.000000 743.500000 S 774.000000 743.500000 774.000000 743.500000 L 810.000000 743.500000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /></g><g class="ZGlzYWdncmVnYXRlZC4ocDEgLSZndDsgZGVjb2RlKVswXQ=="><path d="M 1036.000000 663.500000 L 1307.000000 663.500000 S 1307.000000 663.500000 1307.000000 663.500000 L 1307.000000 693.500000 S 1307.000000 693.500000 1307.000000 693.500000 L 1343.000000 693.500000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /><text x="1205.500000" y="669.000000" fill="#0000B8" class="text-mono-italic fill-N2" style="text-anchor:middle;font-size:16px">KV CACHE VIA RDMA</text></g><g class="ZGlzYWdncmVnYXRlZC4ocDIgLSZndDsgZGVjb2RlKVswXQ=="><path d="M 1036.000000 743.500000 L 1307.000000 743.500000 S 1307.000000 743.500000 1307.000000 743.500000 L 1307.000000 713.500000 S 1307.000000 713.500000 1307.000000 713.500000 L 1343.000000 713.500000" stroke="#000410" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3076236447-3488378134)" mask="url(#d2-3076236447)" /><text x="1205.500000" y="749.000000" fill="#0000B8" class="text-mono-italic fill-N2" style="text-anchor:middle;font-size:16px">KV CACHE VIA RDMA</text></g><mask id="d2-3076236447" maskUnits="userSpaceOnUse" x="-19" y="-19" width="1667" height="982">
<rect x="-19" y="-19" width="1667" height="982" fill="white"></rect>
<rect x="1122.000000" y="653.000000" width="167" height="21" fill="black"></rect>
<rect x="1122.000000" y="733.000000" width="167" height="21" fill="black"></rect>
</mask></svg></svg>