-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdesign.drawio
624 lines (624 loc) · 70.9 KB
/
design.drawio
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
<mxfile host="Electron" modified="2024-03-17T09:11:29.757Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/22.0.0 Chrome/114.0.5735.289 Electron/25.8.3 Safari/537.36" etag="JsgEcGqft_IGeBU_nzDq" version="22.0.0" type="device" pages="3">
<diagram name="ui-paging-pattern" id="ZmrRxo0YvTK6VMkyR6jQ">
<mxGraphModel dx="3379" dy="2465" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="7UQRA5uPHEDkm_vgEr-e-1" value="androidx.lifecycle" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fontColor=#808080;" parent="1" vertex="1">
<mxGeometry x="50" y="-140" width="160" height="34" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-1" value="PagingViewModel&lt;T&gt;" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="10" y="30" width="240" height="104" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-2" value="# pageSize: int<br>- flow: Flow&lt;PagingData&lt;T&gt;&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-1" vertex="1">
<mxGeometry y="26" width="240" height="44" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-3" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="aWPPbig2Lj9Z5ZD_FSY8-1" vertex="1">
<mxGeometry y="70" width="240" height="8" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-4" value="+ getFlow(): Flow&lt;PagingData&lt;T&gt;&gt;&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-1" vertex="1">
<mxGeometry y="78" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-5" value="PagingSource" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="320" y="-34" width="190" height="110" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-6" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-5" vertex="1">
<mxGeometry y="26" width="190" height="26" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-7" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="aWPPbig2Lj9Z5ZD_FSY8-5" vertex="1">
<mxGeometry y="52" width="190" height="8" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-8" value="+load(...)<br>+ getRefreshKey(...)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-5" vertex="1">
<mxGeometry y="60" width="190" height="50" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.011;entryY=0.84;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-2" target="aWPPbig2Lj9Z5ZD_FSY8-6" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-11" value="pagingDataSource" style="text;whiteSpace=wrap;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="195" y="-20" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-12" value="ViewModel" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="50" y="-100" width="160" height="56" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-13" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-12" vertex="1">
<mxGeometry y="26" width="160" height="10" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-14" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="aWPPbig2Lj9Z5ZD_FSY8-12" vertex="1">
<mxGeometry y="36" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-15" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-12" vertex="1">
<mxGeometry y="44" width="160" height="12" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-18" value="<font color="#808080">@Composable<br></font>Screen" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="-230" y="53" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-22" value="" style="endArrow=open;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-18" target="aWPPbig2Lj9Z5ZD_FSY8-2" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-69.36000000000013" y="77.952" as="sourcePoint" />
<mxPoint x="125" y="-39" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-23" value="<font color="#808080">@Composable<br></font>ItemsView" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="-230" y="200" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-27" value="" style="endArrow=diamondThin;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;endSize=20;endFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-23" target="aWPPbig2Lj9Z5ZD_FSY8-18" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-100" y="160" as="sourcePoint" />
<mxPoint x="-149.51999999999998" y="86.27999999999997" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1.008;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-23" target="aWPPbig2Lj9Z5ZD_FSY8-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-70" y="262" as="sourcePoint" />
<mxPoint x="362" y="88" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-29" value="initialises" style="text;whiteSpace=wrap;fontSize=14;" parent="1" vertex="1">
<mxGeometry x="-60" y="80" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-30" value="uses" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" parent="1" vertex="1">
<mxGeometry y="232" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-31" value="Flow" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="320" y="140" width="210" height="70" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-32" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-31" vertex="1">
<mxGeometry y="26" width="210" height="10" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-33" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="aWPPbig2Lj9Z5ZD_FSY8-31" vertex="1">
<mxGeometry y="36" width="210" height="8" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-34" value="+&nbsp;collectAsLazyPagingItems()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="aWPPbig2Lj9Z5ZD_FSY8-31" vertex="1">
<mxGeometry y="44" width="210" height="26" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1.007;exitY=0.269;exitDx=0;exitDy=0;exitPerimeter=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-4" target="aWPPbig2Lj9Z5ZD_FSY8-32" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="230" y="88" as="sourcePoint" />
<mxPoint x="332" y="-32" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-37" value="<font color="#808080">@Composable<br></font>ItemView" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="-230" y="310" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-38" value="" style="endArrow=diamondThin;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;endSize=20;endFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-37" target="aWPPbig2Lj9Z5ZD_FSY8-23" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-140" y="210" as="sourcePoint" />
<mxPoint x="-140" y="115" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-39" value="<font color="#808080">@data<br></font>Item" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="1" vertex="1">
<mxGeometry x="35" y="310" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-40" value="" style="endArrow=open;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-37" target="aWPPbig2Lj9Z5ZD_FSY8-39" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-60" y="89" as="sourcePoint" />
<mxPoint x="20" y="88" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-41" value="presents" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" parent="1" vertex="1">
<mxGeometry x="-50" y="342" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="aWPPbig2Lj9Z5ZD_FSY8-17" value="" style="endArrow=block;html=1;rounded=0;entryX=0.499;entryY=1.083;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;" parent="1" source="aWPPbig2Lj9Z5ZD_FSY8-1" target="aWPPbig2Lj9Z5ZD_FSY8-15" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="200" as="sourcePoint" />
<mxPoint x="410" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="7UQRA5uPHEDkm_vgEr-e-2" value="androidx.paging" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fontColor=#808080;" parent="1" vertex="1">
<mxGeometry x="320" y="-78" width="190" height="34" as="geometry" />
</mxCell>
<mxCell id="7UQRA5uPHEDkm_vgEr-e-3" value="kotlinx.coroutines.flow" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fontColor=#808080;" parent="1" vertex="1">
<mxGeometry x="320" y="100" width="210" height="34" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="ui-paging-pattern-collab" id="Sj5Rz0xdVwtuHFku1yu2">
<mxGraphModel dx="2650" dy="2095" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="UBLpLGOIg3nhkriK8gAO-0" />
<mxCell id="UBLpLGOIg3nhkriK8gAO-1" parent="UBLpLGOIg3nhkriK8gAO-0" />
<mxCell id="UBLpLGOIg3nhkriK8gAO-2" value=":PagingViewModel&lt;T&gt;" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="10" y="30" width="240" height="120" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-3" value="# pageSize: int<br>- flow: Flow&lt;PagingData&lt;T&gt;&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-2" vertex="1">
<mxGeometry y="26" width="240" height="44" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-4" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="UBLpLGOIg3nhkriK8gAO-2" vertex="1">
<mxGeometry y="70" width="240" height="8" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-5" value="+ setDataSource(ds: PagingSource)<br>+ getFlow(): Flow&lt;PagingData&lt;T&gt;&gt;&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-2" vertex="1">
<mxGeometry y="78" width="240" height="42" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-6" value=":PagingSource" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="320" y="-94" width="200" height="110" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-7" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-6" vertex="1">
<mxGeometry y="26" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-8" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="UBLpLGOIg3nhkriK8gAO-6" vertex="1">
<mxGeometry y="52" width="200" height="8" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-9" value="+load(...)<br>+ getRefreshKey(...)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-6" vertex="1">
<mxGeometry y="60" width="200" height="50" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-17" value="<font color="#808080">@Composable<br></font>:Screen" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-300" y="30" width="160" height="100" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-18" value="" style="endArrow=open;html=1;rounded=0;entryX=-0.006;entryY=-0.023;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryPerimeter=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-17" target="UBLpLGOIg3nhkriK8gAO-3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-69.36000000000013" y="77.952" as="sourcePoint" />
<mxPoint x="125" y="-39" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-19" value="<font color="#808080">@Composable<br></font>:ItemsView" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-300" y="201" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-20" value="" style="endArrow=diamondThin;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;endSize=20;endFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;startArrow=open;startFill=0;startSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-19" target="UBLpLGOIg3nhkriK8gAO-17" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-170" y="160" as="sourcePoint" />
<mxPoint x="-219.51999999999998" y="86.27999999999997" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1.008;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-19" target="UBLpLGOIg3nhkriK8gAO-5" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-70" y="262" as="sourcePoint" />
<mxPoint x="362" y="88" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-22" value="1:new()" style="text;whiteSpace=wrap;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-90" y="20" width="30" height="20" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-23" value="5:getFlow()" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="35" y="200" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-24" value=":Flow" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="320" y="183" width="200" height="70" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-25" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-24" vertex="1">
<mxGeometry y="26" width="200" height="10" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-26" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" parent="UBLpLGOIg3nhkriK8gAO-24" vertex="1">
<mxGeometry y="36" width="200" height="8" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-27" value="+&nbsp;collectAsLazyPagingItems()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-24" vertex="1">
<mxGeometry y="44" width="200" height="26" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1.007;exitY=0.269;exitDx=0;exitDy=0;exitPerimeter=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-5" target="UBLpLGOIg3nhkriK8gAO-25" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="230" y="88" as="sourcePoint" />
<mxPoint x="332" y="-32" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-29" value="<font color="#808080">@Composable<br></font>:ItemView" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-300" y="310" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-30" value="" style="endArrow=diamondThin;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;endSize=20;endFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;startArrow=open;startFill=0;startSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-29" target="UBLpLGOIg3nhkriK8gAO-19" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-210" y="210" as="sourcePoint" />
<mxPoint x="-210" y="115" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-31" value="<font color="#808080">@data<br></font>Item" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="35" y="310" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="UBLpLGOIg3nhkriK8gAO-33" value="7:new()" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="420" y="310" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-1" value="4:invokes" style="text;whiteSpace=wrap;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-210" y="140" width="30" height="20" as="geometry" />
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-19" target="UBLpLGOIg3nhkriK8gAO-27" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-60" y="236" as="sourcePoint" />
<mxPoint x="140" y="144" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-6" value="6:collectAsLazyPagingItems()" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="35" y="240" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-29" target="UBLpLGOIg3nhkriK8gAO-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-70" y="336" as="sourcePoint" />
<mxPoint x="40" y="336" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-8" value="8.1:getX()" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-50" y="310" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-9" value="3.1: new()" style="text;whiteSpace=wrap;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="290" y="150" width="65" height="20" as="geometry" />
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-17" target="UBLpLGOIg3nhkriK8gAO-7" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="260" y="88" as="sourcePoint" />
<mxPoint x="332" y="24" as="targetPoint" />
<Array as="points">
<mxPoint x="-220" y="-55" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-12" value="2:new()" style="text;whiteSpace=wrap;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-90" y="-90" width="30" height="20" as="geometry" />
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-13" value="" style="endArrow=open;html=1;rounded=0;entryX=0.007;entryY=1.141;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryPerimeter=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-17" target="UBLpLGOIg3nhkriK8gAO-3" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-60" y="65" as="sourcePoint" />
<mxPoint x="19" y="65" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-14" value="3:setDataSource()" style="text;whiteSpace=wrap;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-120" y="68" width="30" height="20" as="geometry" />
</mxCell>
<mxCell id="YcS4dsHcb4QeF_HGzv6e-15" value="8:invokes" style="text;whiteSpace=wrap;fontSize=14;" parent="UBLpLGOIg3nhkriK8gAO-1" vertex="1">
<mxGeometry x="-210" y="270" width="30" height="20" as="geometry" />
</mxCell>
<mxCell id="m2FpE_qiNvYC79_ATBnd-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="UBLpLGOIg3nhkriK8gAO-1" source="UBLpLGOIg3nhkriK8gAO-7" target="UBLpLGOIg3nhkriK8gAO-31" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-210" y="40" as="sourcePoint" />
<mxPoint x="330" y="-45" as="targetPoint" />
<Array as="points">
<mxPoint x="570" y="-55" />
<mxPoint x="570" y="336" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="ui-realtime-pattern" id="yJ59Ej_-ZaPq3aq3n_3d">
<mxGraphModel dx="3129" dy="2609" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-0" />
<mxCell id="Lat4ahHNa3CYQeFtQRpb-1" parent="Lat4ahHNa3CYQeFtQRpb-0" />
<mxCell id="6uc2USkAb0pUY0unJteK-0" value="Push-based Real-time App<br style="font-size: 30px;">(processing large real-time IoT datasets)" style="rounded=1;whiteSpace=wrap;html=1;arcSize=3;fillColor=none;fontSize=30;fontStyle=1;verticalAlign=bottom;align=right;spacingRight=20;strokeWidth=6;strokeColor=#6c8ebf;dashed=1;fontColor=#0000FF;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="560" y="-450" width="830" height="760" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-22" value="Internet" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;align=center;fontSize=20;fontStyle=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="940" y="-230" width="320" height="270" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-2" value="androidx.lifecycle" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fontColor=#808080;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="50" y="-140" width="160" height="34" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-3" value="PagingViewModel&lt;T&gt;" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="10" y="30" width="240" height="104" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-4" value="# pageSize: int<br>- flow: Flow&lt;PagingData&lt;T&gt;&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-3">
<mxGeometry y="26" width="240" height="44" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-5" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-3">
<mxGeometry y="70" width="240" height="8" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-6" value="+ getFlow(): Flow&lt;PagingData&lt;T&gt;&gt;&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-3">
<mxGeometry y="78" width="240" height="26" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-7" value="PagingSource" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="320" y="-34" width="190" height="110" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-8" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-7">
<mxGeometry y="26" width="190" height="26" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-9" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-7">
<mxGeometry y="52" width="190" height="8" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-10" value="+load(...)<br>+ getRefreshKey(...)" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-7">
<mxGeometry y="60" width="190" height="50" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.011;entryY=0.84;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-4" target="Lat4ahHNa3CYQeFtQRpb-8">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-12" value="pagingDataSource" style="text;whiteSpace=wrap;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="195" y="-20" width="100" height="20" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-13" value="ViewModel" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="50" y="-100" width="160" height="56" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-14" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-13">
<mxGeometry y="26" width="160" height="10" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-15" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-13">
<mxGeometry y="36" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-16" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-13">
<mxGeometry y="44" width="160" height="12" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-17" value="<font color="#808080">@Composable<br></font>Screen" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="-230" y="53" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-18" value="" style="endArrow=open;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-17" target="Lat4ahHNa3CYQeFtQRpb-4">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-69.36000000000013" y="77.952" as="sourcePoint" />
<mxPoint x="125" y="-39" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-19" value="<font color="#808080">@Composable<br></font>ItemsView" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="-230" y="150" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-20" value="" style="endArrow=diamondThin;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;endSize=20;endFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-19" target="Lat4ahHNa3CYQeFtQRpb-17">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-100" y="160" as="sourcePoint" />
<mxPoint x="-149.51999999999998" y="86.27999999999997" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.5;entryY=1.008;entryDx=0;entryDy=0;entryPerimeter=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-19" target="Lat4ahHNa3CYQeFtQRpb-6">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-70" y="262" as="sourcePoint" />
<mxPoint x="362" y="88" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-22" value="initialises" style="text;whiteSpace=wrap;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="-60" y="80" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-23" value="uses" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry y="182" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-24" value="Flow" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="320" y="140" width="210" height="70" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-25" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-24">
<mxGeometry y="26" width="210" height="10" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-26" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-24">
<mxGeometry y="36" width="210" height="8" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-27" value="+&nbsp;collectAsLazyPagingItems()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-24">
<mxGeometry y="44" width="210" height="26" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-28" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;startSize=12;strokeWidth=2;endSize=12;sourcePerimeterSpacing=0;exitX=1.007;exitY=0.269;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-6" target="Lat4ahHNa3CYQeFtQRpb-25">
<mxGeometry relative="1" as="geometry">
<mxPoint x="230" y="88" as="sourcePoint" />
<mxPoint x="332" y="-32" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-29" value="<font color="#808080">@Composable<br></font>ItemView" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="-230" y="250" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-30" value="" style="endArrow=diamondThin;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;endSize=20;endFill=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-29" target="Lat4ahHNa3CYQeFtQRpb-19">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-140" y="160" as="sourcePoint" />
<mxPoint x="-140" y="65" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-31" value="<font color="#808080">@data<br></font>Item" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=52;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="35" y="250" width="160" height="52" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-32" value="" style="endArrow=open;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-29" target="Lat4ahHNa3CYQeFtQRpb-31">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="-60" y="29" as="sourcePoint" />
<mxPoint x="20" y="28" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-33" value="presents" style="text;whiteSpace=wrap;fontSize=14;verticalAlign=middle;align=center;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="-50" y="282" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-34" value="" style="endArrow=block;html=1;rounded=0;entryX=0.499;entryY=1.083;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="Lat4ahHNa3CYQeFtQRpb-3" target="Lat4ahHNa3CYQeFtQRpb-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="360" y="200" as="sourcePoint" />
<mxPoint x="410" y="150" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-35" value="androidx.paging" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fontColor=#808080;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="320" y="-78" width="190" height="34" as="geometry" />
</mxCell>
<mxCell id="Lat4ahHNa3CYQeFtQRpb-36" value="kotlinx.coroutines.flow" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fontColor=#808080;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="320" y="100" width="210" height="34" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-0" value="MqttService" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="1100" y="-310" width="170" height="80" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-1" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-0">
<mxGeometry y="26" width="170" height="14" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-2" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-0">
<mxGeometry y="40" width="170" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-3" value="+ push()&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-0">
<mxGeometry y="48" width="170" height="32" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-4" value="" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=0;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="1260" y="10" width="94.6" height="120" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-51" value="IoTNode" style="sketch=0;outlineConnect=0;fontColor=#232F3E;gradientColor=none;strokeColor=#232F3E;fillColor=none;dashed=0;verticalLabelPosition=top;verticalAlign=bottom;align=center;html=1;fontSize=16;fontStyle=1;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.sensor;labelPosition=center;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-4">
<mxGeometry width="94.6" height="86" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-6" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-4">
<mxGeometry y="86" width="94.6" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-7" value="+ publish()&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-4">
<mxGeometry y="94" width="94.6" height="26" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-8" value="KMqttClient" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="823" y="-214" width="110" height="130" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-9" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-8">
<mxGeometry y="26" width="110" height="14" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-10" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-8">
<mxGeometry y="40" width="110" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-11" value="+ connect()&nbsp;<br>+ subscribe()<br>+ disconnect()<br>+ waitLoop()" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-8">
<mxGeometry y="48" width="110" height="82" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-12" value="PagingDynamicFileSource" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="599" y="80" width="221" height="60" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-13" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-12">
<mxGeometry y="26" width="221" height="14" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-14" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-12">
<mxGeometry y="40" width="221" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-15" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-12">
<mxGeometry y="48" width="221" height="12" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-16" value="sensorA.dat" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=7.857230050223109;strokeWidth=2;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="599" y="-34" width="75" height="48" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-17" value="PagingMqttSource" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="600" y="-176" width="170" height="80" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-18" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-17">
<mxGeometry y="26" width="170" height="14" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-19" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-17">
<mxGeometry y="40" width="170" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-20" value="+ saveData()&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-17">
<mxGeometry y="48" width="170" height="32" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-23" value="" style="endArrow=block;html=1;rounded=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" target="Lat4ahHNa3CYQeFtQRpb-8">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="600" y="-143" as="sourcePoint" />
<mxPoint x="140" y="-33" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-24" value="" style="endArrow=block;html=1;rounded=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1.004;entryY=0.328;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-58" target="Lat4ahHNa3CYQeFtQRpb-10">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610" y="-133" as="sourcePoint" />
<mxPoint x="510" y="30" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-25" value="save" style="endArrow=open;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;exitX=0.462;exitY=0.978;exitDx=0;exitDy=0;exitPerimeter=0;entryPerimeter=0;strokeColor=#808080;dashed=1;fontSize=16;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-20" target="xvYa_qrz77CCZSfdi8zZ-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="610" y="123" as="sourcePoint" />
<mxPoint x="520" y="61" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-26" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="770" y="-143" as="sourcePoint" />
<mxPoint x="823" y="-143" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-27" value="MqttClient" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="900" y="-350" width="110" height="70" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-28" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-27">
<mxGeometry y="26" width="110" height="14" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-29" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-27">
<mxGeometry y="40" width="110" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-30" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-27">
<mxGeometry y="48" width="110" height="22" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-31" value="MqttCallback" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="730" y="-350" width="110" height="70" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-32" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-31">
<mxGeometry y="26" width="110" height="14" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-33" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-31">
<mxGeometry y="40" width="110" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-34" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-31">
<mxGeometry y="48" width="110" height="22" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-35" value="org.eclipse.paho.client.mqttv3" style="shape=folder;fontStyle=1;spacingTop=10;tabWidth=40;tabHeight=14;tabPosition=left;html=1;whiteSpace=wrap;labelPosition=center;verticalLabelPosition=middle;align=center;verticalAlign=top;fontColor=#808080;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="730" y="-430" width="280" height="64" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-37" value="implementation(
 "org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5")" style="text;fontSize=10;whiteSpace=wrap;fontColor=#808080;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="737" y="-399" width="270" height="20" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-38" value="" style="endArrow=open;html=1;rounded=0;entryX=0.521;entryY=1.003;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;exitX=0.25;exitY=0;exitDx=0;exitDy=0;entryPerimeter=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-8" target="xvYa_qrz77CCZSfdi8zZ-34">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="730" y="-133" as="sourcePoint" />
<mxPoint x="834" y="-133" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-41" value="" style="endArrow=open;html=1;rounded=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.535;entryY=1.006;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-8" target="xvYa_qrz77CCZSfdi8zZ-30">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="888" y="-204" as="sourcePoint" />
<mxPoint x="727" y="-310" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-42" value="page-aware loads" style="endArrow=open;html=1;rounded=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;entryPerimeter=0;strokeColor=#808080;dashed=1;fontSize=16;exitX=0.286;exitY=-0.005;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-12" target="xvYa_qrz77CCZSfdi8zZ-16">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="679" y="81" as="sourcePoint" />
<mxPoint x="688" y="-34" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-47" value="<font style="font-size: 14px;">uses</font>" style="endArrow=open;html=1;rounded=0;entryX=0.623;entryY=-0.017;entryDx=0;entryDy=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;entryPerimeter=0;strokeColor=#000000;exitX=0.798;exitY=1.068;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-20" target="xvYa_qrz77CCZSfdi8zZ-12">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="689" y="91" as="sourcePoint" />
<mxPoint x="647" y="24" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-49" value="connect" style="endArrow=open;html=1;rounded=1;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;exitX=1.022;exitY=0.838;exitDx=0;exitDy=0;entryX=0.549;entryY=1.104;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;fontSize=16;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-11" target="xvYa_qrz77CCZSfdi8zZ-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="916" y="-204" as="sourcePoint" />
<mxPoint x="969" y="-270" as="targetPoint" />
<Array as="points">
<mxPoint x="990" y="-80" />
<mxPoint x="1170" y="-170" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-50" value="" style="endArrow=open;html=1;rounded=1;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;exitX=-0.008;exitY=0.583;exitDx=0;exitDy=0;entryX=0.863;entryY=1.063;entryDx=0;entryDy=0;entryPerimeter=0;exitPerimeter=0;fontSize=16;dashed=1;strokeColor=#808080;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-51" target="xvYa_qrz77CCZSfdi8zZ-3">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="945" y="-137" as="sourcePoint" />
<mxPoint x="1244" y="-237" as="targetPoint" />
<Array as="points">
<mxPoint x="1200" y="-10" />
<mxPoint x="1210" y="-170" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-56" value="push" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=16;" vertex="1" connectable="0" parent="xvYa_qrz77CCZSfdi8zZ-50">
<mxGeometry x="0.0484" y="3" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-54" value="push" style="endArrow=open;html=1;rounded=1;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;fontSize=16;exitX=0.27;exitY=1.084;exitDx=0;exitDy=0;exitPerimeter=0;entryX=1.016;entryY=0.212;entryDx=0;entryDy=0;entryPerimeter=0;dashed=1;strokeColor=#808080;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-3" target="xvYa_qrz77CCZSfdi8zZ-11">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1070" y="60" as="sourcePoint" />
<mxPoint x="1203" y="-217" as="targetPoint" />
<Array as="points">
<mxPoint x="1120" y="-190" />
<mxPoint x="1000" y="-130" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-57" value="PagingFileSource" style="swimlane;fontStyle=1;align=center;verticalAlign=middle;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;fontSize=16;" vertex="1" parent="Lat4ahHNa3CYQeFtQRpb-1">
<mxGeometry x="635" y="190" width="150" height="60" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-58" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-57">
<mxGeometry y="26" width="150" height="14" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-59" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-57">
<mxGeometry y="40" width="150" height="8" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-60" value="&nbsp;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;fontSize=14;" vertex="1" parent="xvYa_qrz77CCZSfdi8zZ-57">
<mxGeometry y="48" width="150" height="12" as="geometry" />
</mxCell>
<mxCell id="xvYa_qrz77CCZSfdi8zZ-61" value="" style="endArrow=block;html=1;rounded=0;strokeWidth=2;endSize=16;endFill=0;labelBorderColor=none;targetPerimeterSpacing=0;shadow=0;exitX=0.501;exitY=1.004;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitPerimeter=0;" edge="1" parent="Lat4ahHNa3CYQeFtQRpb-1" source="xvYa_qrz77CCZSfdi8zZ-15" target="xvYa_qrz77CCZSfdi8zZ-57">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="609" y="123" as="sourcePoint" />
<mxPoint x="521" y="52" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>