-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdb.vuerd.json
2554 lines (2554 loc) · 115 KB
/
db.vuerd.json
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
991
992
993
994
995
996
997
998
999
1000
{
"canvas": {
"version": "2.2.11",
"width": 2000,
"height": 2000,
"scrollTop": -481,
"scrollLeft": 0,
"zoomLevel": 0.8,
"show": {
"tableComment": true,
"columnComment": true,
"columnDataType": true,
"columnDefault": true,
"columnAutoIncrement": false,
"columnPrimaryKey": true,
"columnUnique": false,
"columnNotNull": true,
"relationship": true
},
"database": "MySQL",
"databaseName": "HiveLInkDb",
"canvasType": "ERD",
"language": "GraphQL",
"tableCase": "pascalCase",
"columnCase": "camelCase",
"highlightTheme": "VS2015",
"bracketType": "none",
"setting": {
"relationshipDataTypeSync": true,
"relationshipOptimization": false,
"columnOrder": [
"columnName",
"columnDataType",
"columnNotNull",
"columnUnique",
"columnAutoIncrement",
"columnDefault",
"columnComment"
]
},
"pluginSerializationMap": {
"@vuerd/plugin-generate-template": "eyJkYXRhVHlwZXMiOlt7Im5hbWUiOiJiZmlsZSIsInByaW1pdGl2ZVR5cGUiOiJsb2IiLCJ1dWlkIjoiNjA3NjM3NTYtOGRhMS00NWI5LTg5MGYtNjc1N2Y0ZmY0ZDMwIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ2LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDZ9LHsibmFtZSI6ImJpZ2ludCIsInByaW1pdGl2ZVR5cGUiOiJsb25nIiwidXVpZCI6ImM3ZDNmYjdlLTFkMjEtNGRiMC1iODdkLTgwYmE4MDExM2VlNyIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJiaWdzZXJpYWwiLCJwcmltaXRpdmVUeXBlIjoibG9uZyIsInV1aWQiOiI5MmQ1YWYxMC03N2Q1LTQ0MjctYWM3OC0yMDc1OGU4MmNiMTQiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiYmluYXJ5IiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiIzZmEwMWY5Ni1iZGEwLTQ2MjQtOTU2Zi1hNDk0YTFjZjFjNzIiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiYmluYXJ5X2RvdWJsZSIsInByaW1pdGl2ZVR5cGUiOiJkb3VibGUiLCJ1dWlkIjoiYzc1OTQ1MGItNjUyZS00YWMwLThmM2QtMTU0YjY0NmY5YmM4IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImJpbmFyeV9mbG9hdCIsInByaW1pdGl2ZVR5cGUiOiJmbG9hdCIsInV1aWQiOiIzYTU2Nzg3Yy1lNWJhLTQ5MDYtOGYzMS0xYjg5Mjc4ODA2MGEiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiYml0IiwicHJpbWl0aXZlVHlwZSI6ImludCIsInV1aWQiOiJkYTU2OWE1NS01NTIxLTQ2OTItYTAwYi1lMjI0ZTk1NmMyZGMiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiYml0IHZhcnlpbmciLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6IjJmNjNmNGVmLWE1YjctNGQxMy1iZTUyLTkwYTA1NTI2YTg3YSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJibG9iIiwicHJpbWl0aXZlVHlwZSI6ImxvYiIsInV1aWQiOiI2ZjZjOGUyNC03OThkLTQyZGYtOWVkNy03ZmUyNmNhNmEwNzUiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiYm9vbCIsInByaW1pdGl2ZVR5cGUiOiJib29sZWFuIiwidXVpZCI6IjRiNDA1ZWM4LTNlZDQtNDU4NS05ODgwLTU3NTMwYWQ5Y2I5OCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJib29sZWFuIiwicHJpbWl0aXZlVHlwZSI6ImJvb2xlYW4iLCJ1dWlkIjoiYmI0MDBjZTQtNWM0OC00YTllLWI2YzMtYjVmMjcwZTk4NTdjIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImJveCIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiYTc3NDNmNzctMzdhNC00NWYyLThiYjctNmJhNWVlYjgyMjFhIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImJ5dGVhIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiJkMWIxMGQ4OC1jNGY1LTRjYWUtYjY3Mi04Njc0MTQyYjQxYjciLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiY2hhciIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiMDZhMDc4YjQtNjQ2Mi00MWEwLWJjNjMtYWI1MTFhMDZmMzg0IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImNoYXJhY3RlciIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiYWJiNzE4ZjMtMjcxNi00MDNkLWJmZTItOTg4MjAwZjQ5ZjUxIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImNoYXJhY3RlciB2YXJ5aW5nIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiI3ZmJhZDcyOC00NTAzLTQwMWItYWQ1Yy03ZDdhMTlkMjIyNzIiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiY2lkciIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiZTJlMDJiZmMtMDVlNy00ZGQxLWIzODgtOWM0M2RmMjkwZTgzIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImNpcmNsZSIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiYjczNzhjYTAtYzAxYy00NTMyLThhYTQtNGQ3ZWU1YmJjNjQwIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImNsb2IiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6IjgxYzQyYmM0LTBjYzktNGQ5MS04MTEzLTJjZmIzOTM0MzdmYSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJkYXRlIiwicHJpbWl0aXZlVHlwZSI6ImRhdGUiLCJ1dWlkIjoiYmI0N2E2NjMtOWZjMS00NGQ5LTkwMDYtMDQwNzU5NjRmNTJjIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImRhdGV0aW1lIiwicHJpbWl0aXZlVHlwZSI6ImRhdGV0aW1lIiwidXVpZCI6IjZhMzNhZmFkLWU5MzgtNGRlYS04ZTM4LTcxZDkzMTc5ZmFlMiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJkYXRldGltZTIiLCJwcmltaXRpdmVUeXBlIjoiZGF0ZXRpbWUiLCJ1dWlkIjoiNTY1NzBlOGUtZjk0My00MTlhLWJjMmItNDhkNTQ2ZmNlN2NmIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImRhdGV0aW1lb2Zmc2V0IiwicHJpbWl0aXZlVHlwZSI6ImRhdGV0aW1lIiwidXVpZCI6IjRjZWJlZGViLWViNWYtNGRjNi1hMDMyLTFlNjY0ZDYxMjI3YiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJkZWMiLCJwcmltaXRpdmVUeXBlIjoiZGVjaW1hbCIsInV1aWQiOiJhM2Y3YzY0MC1jMzdhLTRiYmItOTU0NS01Y2Q2YmNlNjQ0NzciLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiZGVjaW1hbCIsInByaW1pdGl2ZVR5cGUiOiJkZWNpbWFsIiwidXVpZCI6IjM2MjM4OTRhLWQxYmEtNDAzNi1hY2U4LWRkZTVmYjZjYzc5ZiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJkb3VibGUiLCJwcmltaXRpdmVUeXBlIjoiZG91YmxlIiwidXVpZCI6ImE4Y2U1ZGZjLTA0NzMtNGE5Mi1hZGUwLTQxMGU5Y2ZiY2VjOSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJkb3VibGUgcHJlY2lzaW9uIiwicHJpbWl0aXZlVHlwZSI6ImRvdWJsZSIsInV1aWQiOiJlNDVjMmNhNy05YmMwLTRlOTUtYTY5MC00M2FiZmRmMWVkMjQiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiZW51bSIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiYmYyNzI1Y2MtOWEwYi00ZjEwLWI3NDYtYWQ1ZTY4YzBiNzlmIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImZpeGVkIiwicHJpbWl0aXZlVHlwZSI6ImRlY2ltYWwiLCJ1dWlkIjoiNjkwYmY5MTQtNjJmNy00ZTA5LWJhMDEtM2JhYjhlYzYxOTM1IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImZsb2F0IiwicHJpbWl0aXZlVHlwZSI6ImZsb2F0IiwidXVpZCI6IjM5NWFhNTJlLWUwNmQtNGRhZi1hOGE1LTJjMDgyOGQ5YmZhMCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0NywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3fSx7Im5hbWUiOiJmbG9hdDQiLCJwcmltaXRpdmVUeXBlIjoiZmxvYXQiLCJ1dWlkIjoiZjEzMGY4ZGUtZTM3NC00NDM4LWJmZDktMDY3Mjk1ODQ5YTdkIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6ImZsb2F0OCIsInByaW1pdGl2ZVR5cGUiOiJkb3VibGUiLCJ1dWlkIjoiYjE1MDE0NzMtOWMwZi00NGM0LTg0YmUtMTA1MTkzNDNhYWQ3IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6Imdlb2dyYXBoeSIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiZWZmODhkOTUtODMzZC00YmQ5LWI5NDUtOTA0YTY4MzUyZmZhIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ3LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDd9LHsibmFtZSI6Imdlb21ldHJ5IiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiI0NjNiZDZiMi1mODExLTRmZDEtOGRlNi00OTkzZDI2ZjkwNzAiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDcsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0N30seyJuYW1lIjoiZ2VvbWV0cnljb2xsZWN0aW9uIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiIxNzNkNzMzNS1hMjNjLTRhY2ItOGQ3YS1jYThjYWYyMDY1NjUiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoiaW1hZ2UiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6ImNjMWNlYTdhLTQzOGQtNDE1MC1iYjJhLTVjZWQ3ODBmMTRkZiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJpbmV0IiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiJmNDg3ZWUzMC0zNWE4LTQ2NTctOGFmZi1mMzFjYTUxYmM3OTMiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoiaW50IiwicHJpbWl0aXZlVHlwZSI6ImludCIsInV1aWQiOiIxOWNjZjllMS00OTA0LTRlOGQtOTc0YS0wMzU2MjRlZTk4ZDkiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoiaW50MiIsInByaW1pdGl2ZVR5cGUiOiJpbnQiLCJ1dWlkIjoiMDI3OTNiMWMtMjc3Ny00NDYwLWFhZTQtM2Y5MDdjZjA0YTQzIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6ImludDQiLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6ImE2ZDhlMDc2LWQ0MzQtNGM1MC04OGU5LWRiYjljYWQwMmY0ZiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJpbnQ4IiwicHJpbWl0aXZlVHlwZSI6ImxvbmciLCJ1dWlkIjoiMWY5MmM1NWQtODIxNi00MjIzLTk3NDYtZWE5MzUwMGVlNzI2IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6ImludGVnZXIiLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6ImEyMTU2ZTRiLTAwOWEtNDE2OC04ZDVkLTZjMDMyM2I2NjA3MCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJpbnRlcnZhbCIsInByaW1pdGl2ZVR5cGUiOiJ0aW1lIiwidXVpZCI6ImVkMzQ1ZTY0LTY0NzUtNDVlMC1hMTlkLWVkOTdkZmNkNWUwZiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJqc29uIiwicHJpbWl0aXZlVHlwZSI6ImxvYiIsInV1aWQiOiIyNWJiNWYwMS1jZTEyLTQ4YWMtYWEzYS1lNDFlZmEyZjI2MzkiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoianNvbmIiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6ImY0MWNlMTU2LTIwZmMtNGRkYi1hZmVmLTg2YWQ4NTM4YmIzNyIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJsaW5lIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiI5NjA5ODQyYi1hNDFlLTRkZGYtYWRkMC00ZWJhNjNjODFmZTciLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoibGluZXN0cmluZyIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiNzE5M2MzMmEtOWVjZC00OTExLTkzOTYtN2U3YjRiYjhiM2VkIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6ImxvbmciLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6ImM1MTJlODBiLWE1OWUtNDc3My1iMWVlLTI3ODcwZjE2ODhmYSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJsb25nIHJhdyIsInByaW1pdGl2ZVR5cGUiOiJsb2IiLCJ1dWlkIjoiMzVhYTMxZWQtMjAyYy00MDRlLTg3ZGYtNjgyMGJhNGQwMWMxIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6ImxvbmdibG9iIiwicHJpbWl0aXZlVHlwZSI6ImxvYiIsInV1aWQiOiIzNTdkMjkxNC02ZDU0LTQwYWEtYjE4YS1mMDIwZDQxNjU4YjciLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoibG9uZ3RleHQiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6IjU2YzVmOTdiLTgwOTQtNDM0Yi05NzM4LTI1NDlkMjJhNzc0ZSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJsc2VnIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiIwOTI4NWJhMC1kNTZkLTRhZTUtYjFiZi02MDAyMzU1MmM0NDAiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoibWFjYWRkciIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiMDgyZDMxZGQtYTEyYS00ZThhLTllZjktNjA1NjVjN2I5YzQ4IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6Im1hY2FkZHI4IiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiI1ZjRhNTMwMC00ZTljLTQ4MWItOGJjZC02N2Y1MGFkMzMyZjgiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoibWVkaXVtYmxvYiIsInByaW1pdGl2ZVR5cGUiOiJsb2IiLCJ1dWlkIjoiM2NmNTNkMzEtMDI3OS00MTRlLTk3NjktYTYyOWM1M2QyZDgyIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6Im1lZGl1bWludCIsInByaW1pdGl2ZVR5cGUiOiJpbnQiLCJ1dWlkIjoiMDkzMjA5ZTgtMzg2OC00OWM3LWFkMTUtNTM0M2Q1NzUxZDBkIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6Im1lZGl1bXRleHQiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6ImMwNmU2NGQ3LWUzNTQtNDQyYi1hY2M1LTMyMjg5OWYwNGEwMCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJtb25leSIsInByaW1pdGl2ZVR5cGUiOiJkb3VibGUiLCJ1dWlkIjoiNWZjMjgxYmUtM2UwYS00NzdjLTk2OTMtMTU0ZGRjYjJjMWU0IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6Im11bHRpbGluZXN0cmluZyIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiMGM2MjA2NTEtM2RlZS00ZmNlLWJhZmItZGExODc5ZTIwZTdjIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6Im11bHRpcG9pbnQiLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6ImVlMjI0ODRiLTBmMDUtNDdlZi1hMjRiLTFjYmFjMTg3YTZhMCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJtdWx0aXBvbHlnb24iLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6ImMxYmYwNzg2LTZkZDQtNGQ3Zi05YThkLTk5YmM3NDY2ZWFmOSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJuY2hhciIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiMDU1ZWNkMzItNDAxNy00N2Q0LWJjOWEtOGQxN2I4Mjc1YmMzIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6Im5jbG9iIiwicHJpbWl0aXZlVHlwZSI6ImxvYiIsInV1aWQiOiI0YjYwMTJhMi0zOWVhLTRhNDItOTJiMC0xMjk1OTQwZDlkNzgiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoibnRleHQiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6ImVkYmQ3OGIzLWNlZmMtNGVmMC05MGNmLTE5MTg2NzE2ZjJlZCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJudW1iZXIiLCJwcmltaXRpdmVUeXBlIjoibG9uZyIsInV1aWQiOiIwZGI1YjZkZC05MjZjLTQxODQtODc0Zi03ZmQwOWI4YWE2YjEiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoibnVtZXJpYyIsInByaW1pdGl2ZVR5cGUiOiJkZWNpbWFsIiwidXVpZCI6ImIzZTg5OWMwLWI4OTktNDU0My05NGM1LTdkNjM5YmFjMGFkOSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJudmFyY2hhciIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiZDAyMzExOTEtZjliOC00ZDk1LWJmMWItMjliNTkyZGE1MjE5IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6Im52YXJjaGFyMiIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiYjllZWY4ZmYtZGIzNi00MWM1LThhNzgtZjRlMmQxMmM1NmUyIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6InBhdGgiLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6IjcxYTFjNGM3LWM2YzYtNDZhNC1hOWE4LTFlMjQ2NDI4MDM3NSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJwZ19sc24iLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6IjZjZmE2MjM4LWUxZjAtNGY1NS04MmU1LWRiZjE4YjAxNmVhNSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJwb2ludCIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiMjljY2ZmOTYtNDY0Yi00OGI4LThjNGItZjdjMTQ4MjU5MTE4IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDh9LHsibmFtZSI6InBvbHlnb24iLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6ImM2NzE5OTAzLTVjMDEtNGNiMC1iYTVjLTEzMGYxYTFlYjJjNSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJyYXciLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6IjFlOTYxNTcwLTVjMTUtNDg1ZS05YzVjLTcyNmY0NmM2ZjdlMyIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OCwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ4fSx7Im5hbWUiOiJyZWFsIiwicHJpbWl0aXZlVHlwZSI6ImRvdWJsZSIsInV1aWQiOiI3Zjk2YjUwNi0wMzZlLTRmOTAtOTZhOS1jYTg2NTBkYzFiZjIiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDgsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OH0seyJuYW1lIjoic2VyaWFsIiwicHJpbWl0aXZlVHlwZSI6ImludCIsInV1aWQiOiJiODI2MmEyZi1lZTc5LTRjYjktYjQ2YS1lZjU2Y2RlNGE3ODEiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoic2VyaWFsMiIsInByaW1pdGl2ZVR5cGUiOiJpbnQiLCJ1dWlkIjoiNjgyMDU5YzktYjEzYy00NDgxLWE5ZmUtZDlmMzdhZTliNTNjIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InNlcmlhbDQiLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6IjgyYWM4MWY3LTdkYWYtNDhiZi05OWY3LTQ5MTUxNDRjOWQwZSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJzZXJpYWw4IiwicHJpbWl0aXZlVHlwZSI6ImxvbmciLCJ1dWlkIjoiNjQ2NWM1ZTYtZmQ3NC00OGQwLThiNmEtMTI2ZjAyNTdmMDJlIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InNldCIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiZDZmYWZlNzMtOWMzZC00YjQ4LWI4MGMtZWUxZjFkM2Q2ZDQ0IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InNtYWxsZGF0ZXRpbWUiLCJwcmltaXRpdmVUeXBlIjoiZGF0ZXRpbWUiLCJ1dWlkIjoiZjUyN2QyYTQtMGU1Yi00MmRiLTlhYTctOWQwMDg3YzZhMTdiIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InNtYWxsaW50IiwicHJpbWl0aXZlVHlwZSI6ImludCIsInV1aWQiOiI1NGUwN2IxMS0xYmEyLTRmNWMtOWE5NS00MmFkNmQ1ZDY3M2EiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoic21hbGxtb25leSIsInByaW1pdGl2ZVR5cGUiOiJmbG9hdCIsInV1aWQiOiI1NDZhNzRjYi1iZDIyLTQ1YjctOTYwOC01M2I5YjdjYWVjZmEiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoic21hbGxzZXJpYWwiLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6IjcwZGYzZGU5LWJhOTgtNDM1Ny04OGQwLWVkMTVmOTdlZTllOSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJzcWxfdmFyaWFudCIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiMDQ0ODVlNWItMTdiZi00MmY4LThmZjQtNTI3M2NiYjk3ZmJiIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InRleHQiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6ImNjNjkyZjFhLTFkYzktNGFiMy05ODIxLWY0ZTkxNmQ5YmJjNiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ0aW1lIiwicHJpbWl0aXZlVHlwZSI6InRpbWUiLCJ1dWlkIjoiZmFhNTlhM2QtMWU2ZC00M2U3LWE1NTktYWRhODQ4NTE4MTNlIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InRpbWUgd2l0aCB0aW1lIHpvbmUiLCJwcmltaXRpdmVUeXBlIjoidGltZSIsInV1aWQiOiJhN2I0ZTc4My1jNjEwLTRjYmMtYWJlYi01NjcxZTY5Nzk1YzEiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoidGltZXN0YW1wIiwicHJpbWl0aXZlVHlwZSI6ImRhdGV0aW1lIiwidXVpZCI6IjBjMWQ2YjAxLWUxNzAtNDBhMC1hYjZmLWVlMmE4ZjE5MTVjNiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ0aW1lc3RhbXAgd2l0aCBsb2NhbCB0aW1lIHpvbmUiLCJwcmltaXRpdmVUeXBlIjoiZGF0ZXRpbWUiLCJ1dWlkIjoiNmFmYmZjYjMtNDcxNC00ZjRhLThiZDUtYjdmNWNkZTY1YWRmIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSIsInByaW1pdGl2ZVR5cGUiOiJkYXRldGltZSIsInV1aWQiOiI3Y2NkZTFmNC05OWJmLTQ2NzctYmM3Mi1iOTQwOWM0OTAyMDYiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoidGltZXN0YW1wdHoiLCJwcmltaXRpdmVUeXBlIjoiZGF0ZXRpbWUiLCJ1dWlkIjoiYjUwZDk5MWMtOTMwNy00ZDU5LWI1YzItYTM4ZTg5YWQ0YjkwIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InRpbWV0eiIsInByaW1pdGl2ZVR5cGUiOiJ0aW1lIiwidXVpZCI6IjNhZDkzMmZmLTJkMGQtNGM4Yi1hYWZmLWYwOGQ2MzFlZGY5MSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ0aW55YmxvYiIsInByaW1pdGl2ZVR5cGUiOiJsb2IiLCJ1dWlkIjoiNTViOGU1YjctODRmOS00ZjczLWE4MDctZjMwMmRiOWFlNjYzIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InRpbnlpbnQiLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6IjhjNzAwZGI4LTY1MWItNGY2OS1iZmE0LWU2NWY5ZTg0ZmY1NSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ0aW55dGV4dCIsInByaW1pdGl2ZVR5cGUiOiJsb2IiLCJ1dWlkIjoiZTNkNTk3MWMtYzVhNS00OWVjLThmYjktY2E4MTFjODFiMmQ0IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InRzcXVlcnkiLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6ImU4OTk2YmUwLWZkMTgtNDcyZS1iODg1LTIzZDg1OTE1MWQ1NSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ0c3ZlY3RvciIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiZGU4MThmOTctZWQzNC00N2ZhLWI1OTEtOGJmMGZmYWUzMjE4IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InR4aWRfc25hcHNob3QiLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6IjA4OTU2NDc4LTE0NDctNDk3Ni1hMzI2LThmOTBhNDhmMGM5ZSIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ1bmlxdWVpZGVudGlmaWVyIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiI0M2NjMWM0Ny1iMzYwLTRhODgtODdlZC03NmU1ODRiZTBjZDIiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoidXJpdHlwZSIsInByaW1pdGl2ZVR5cGUiOiJzdHJpbmciLCJ1dWlkIjoiMTIyZjcyMTYtNGYwMi00YjRjLWI5MGItNDljZDZmNzA3ZjM4IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6InV1aWQiLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6ImNkNzcwNTYyLTc0YjMtNDZkOS05Njk3LThlMjE1ODdlYzFlMCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ2YXJiaW5hcnkiLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6IjYyMjkzZGE2LWYzMTYtNDFiNy04OWRhLWNlNjdhZTMwYzZkMCIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ2YXJiaXQiLCJwcmltaXRpdmVUeXBlIjoiaW50IiwidXVpZCI6IjkzYTU3MTg2LTVhNDMtNDI1Yi1hMjY2LWU0YTk5NTkzMTA2NyIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ2YXJjaGFyIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiIxNzE2NmNlMS1jNzVmLTQ5MmYtYWVmYy04OTNkNTVmMmNmYTIiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoidmFyY2hhcjIiLCJwcmltaXRpdmVUeXBlIjoic3RyaW5nIiwidXVpZCI6IjJiZTZiZjA4LWZmNmUtNGY2NC1iYjU3LTZjZDc2MzYwODAzNyIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ4bWwiLCJwcmltaXRpdmVUeXBlIjoibG9iIiwidXVpZCI6IjdkMzkwMjJmLTA1MDAtNDJjYi04M2VjLWQ2ODBhZTlkMzgyYiIsInVwZGF0ZWRBdCI6MTY5MzU0NjA4NTQ0OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJ4bWx0eXBlIiwicHJpbWl0aXZlVHlwZSI6InN0cmluZyIsInV1aWQiOiI5NjI1NGVkMi0wMTc3LTQwMDQtOWZlNy03YjE0MzVjOGM1YmEiLCJ1cGRhdGVkQXQiOjE2OTM1NDYwODU0NDksImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoieWVhciIsInByaW1pdGl2ZVR5cGUiOiJpbnQiLCJ1dWlkIjoiNjMwNzMzNWYtODg2ZC00ZGU5LWI3MzMtOTI1Mjk3OTljYjdjIiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9XSwidGVtcGxhdGVzIjpbeyJuYW1lIjoiQyMiLCJ2YWx1ZSI6IltEQVRBXS5yZWR1Y2UoKGJ1ZmZlciwgZGF0YSkgPT4ge1xuICBjb25zdCBzdGF0ZSA9IGRhdGEuc3RhdGU7XG4gIGNvbnN0IGhlbHBlciA9IGRhdGEuaGVscGVyO1xuICBjb25zdCBkYXRhVHlwZXMgPSBkYXRhLmRhdGFUeXBlcztcblxuICBjb25zdCB0YWJsZVN0YXRlID0gc3RhdGUudGFibGVTdGF0ZTtcbiAgY29uc3QgY2FudmFzU3RhdGUgPSBzdGF0ZS5jYW52YXNTdGF0ZTtcblxuICBjb25zdCBjb252ZXJ0VHlwZU1hcCA9IHtcbiAgICBpbnQ6ICdpbnQnLFxuICAgIGxvbmc6ICdsb25nJyxcbiAgICBmbG9hdDogJ2Zsb2F0JyxcbiAgICBkb3VibGU6ICdkb3VibGUnLFxuICAgIGRlY2ltYWw6ICdkZWNpbWFsJyxcbiAgICBib29sZWFuOiAnYm9vbCcsXG4gICAgc3RyaW5nOiAnc3RyaW5nJyxcbiAgICBsb2I6ICdzdHJpbmcnLFxuICAgIGRhdGU6ICdEYXRlVGltZScsXG4gICAgZGF0ZVRpbWU6ICdEYXRlVGltZScsXG4gICAgdGltZTogJ1RpbWVTcGFuJyxcbiAgfTtcblxuICBjb25zdCBnZXRUeXBlID0gbmFtZSA9PiB7XG4gICAgY29uc3QgZGF0YVR5cGUgPSBkYXRhVHlwZXMuZmluZChkYXRhVHlwZSA9PiBuYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihkYXRhVHlwZS5uYW1lLnRvTG93ZXJDYXNlKCkpID09PSAwKTtcbiAgICByZXR1cm4gZGF0YVR5cGUgPyBkYXRhVHlwZS50eXBlIDogJ3N0cmluZyc7XG4gIH07XG5cbiAgY29uc3QgZ2V0TmFtZUNhc2UgPSAobmFtZSwgbmFtZUNhc2UpID0+IHtcbiAgICBsZXQgY2hhbmdlTmFtZSA9IG5hbWU7XG4gICAgc3dpdGNoIChuYW1lQ2FzZSkge1xuICAgICAgY2FzZSAnY2FtZWxDYXNlJzpcbiAgICAgICAgY2hhbmdlTmFtZSA9IGhlbHBlci5jYW1lbENhc2UobmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFzY2FsQ2FzZSc6XG4gICAgICAgIGNoYW5nZU5hbWUgPSBoZWxwZXIucGFzY2FsQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbmFrZUNhc2UnOlxuICAgICAgICBjaGFuZ2VOYW1lID0gaGVscGVyLnNuYWtlQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBjaGFuZ2VOYW1lO1xuICB9O1xuXG4gIGNvbnN0IG9yZGVyQnlOYW1lQVNDID0gdGFibGVzID0+XG4gICAgdGFibGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVBID0gYS5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBuYW1lQiA9IGIubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfSBlbHNlIGlmIChuYW1lQSA+IG5hbWVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gZm9ybWF0VGFibGUodGFibGUpIHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBnZXROYW1lQ2FzZSh0YWJsZS5uYW1lLCBjYW52YXNTdGF0ZS50YWJsZUNhc2UpO1xuICAgIGlmICh0YWJsZS5jb21tZW50LnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGJ1ZmZlci5wdXNoKGAvLyAke3RhYmxlLmNvbW1lbnR9YCk7XG4gICAgfVxuICAgIGJ1ZmZlci5wdXNoKGBwdWJsaWMgY2xhc3MgJHt0YWJsZU5hbWV9IHtgKTtcbiAgICB0YWJsZS5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgIGZvcm1hdENvbHVtbihjb2x1bW4pO1xuICAgIH0pO1xuICAgIGJ1ZmZlci5wdXNoKGB9YCk7XG4gIH1cblxuICBmdW5jdGlvbiBmb3JtYXRDb2x1bW4oY29sdW1uKSB7XG4gICAgY29uc3QgY29sdW1uTmFtZSA9IGdldE5hbWVDYXNlKGNvbHVtbi5uYW1lLCBjYW52YXNTdGF0ZS5jb2x1bW5DYXNlKTtcbiAgICBjb25zdCB0eXBlTmFtZSA9IGdldFR5cGUoY29sdW1uLmRhdGFUeXBlKTtcbiAgICBpZiAoY29sdW1uLmNvbW1lbnQudHJpbSgpICE9PSAnJykge1xuICAgICAgYnVmZmVyLnB1c2goYCAgLy8gJHtjb2x1bW4uY29tbWVudH1gKTtcbiAgICB9XG4gICAgYnVmZmVyLnB1c2goXG4gICAgICBgICBwdWJsaWMgJHtjb252ZXJ0VHlwZU1hcFt0eXBlTmFtZV19ICR7XG4gICAgICAgIGNvbHVtbk5hbWUuY2hhckF0KDApLnRvTG9jYWxlVXBwZXJDYXNlKCkgKyBjb2x1bW5OYW1lLnNsaWNlKDEpXG4gICAgICB9IHsgZ2V0OyBzZXQ7IH1gXG4gICAgKTtcbiAgfVxuXG4gIG9yZGVyQnlOYW1lQVNDKHRhYmxlU3RhdGUudGFibGVzKTtcblxuICB0YWJsZVN0YXRlLnRhYmxlcy5mb3JFYWNoKHRhYmxlID0+IHtcbiAgICBmb3JtYXRUYWJsZSh0YWJsZSk7XG4gICAgYnVmZmVyLnB1c2goJycpO1xuICB9KTtcblxuICByZXR1cm4gYnVmZmVyO1xufSwgW10pLmpvaW4oJ1xcbicpOyIsInV1aWQiOiI1MDU4Yzc1Ny02NzVkLTQyNjctYWMyZS1jMWUwYmM0ODhmMTIiLCJ1cGRhdGVkQXQiOjE2OTM1NTA4MzI1NjYsImNyZWF0ZWRBdCI6MTY5MzU0NjA4NTQ0OX0seyJuYW1lIjoiR3JhcGhRTCIsInZhbHVlIjoiW0RBVEFdLnJlZHVjZSgoYnVmZmVyLCBkYXRhKSA9PiB7XG4gIGNvbnN0IHN0YXRlID0gZGF0YS5zdGF0ZTtcbiAgY29uc3QgaGVscGVyID0gZGF0YS5oZWxwZXI7XG4gIGNvbnN0IGRhdGFUeXBlcyA9IGRhdGEuZGF0YVR5cGVzO1xuXG4gIGNvbnN0IHRhYmxlU3RhdGUgPSBzdGF0ZS50YWJsZVN0YXRlO1xuICBjb25zdCBjYW52YXNTdGF0ZSA9IHN0YXRlLmNhbnZhc1N0YXRlXG4gIGNvbnN0IHJlbGF0aW9uc2hpcFN0YXRlID0gc3RhdGUucmVsYXRpb25zaGlwU3RhdGU7XG5cbiAgY29uc3QgY29udmVydFR5cGVNYXAgPSB7XG4gICAgaW50OiAnSW50JyxcbiAgICBsb25nOiAnSW50JyxcbiAgICBmbG9hdDogJ0Zsb2F0JyxcbiAgICBkb3VibGU6ICdGbG9hdCcsXG4gICAgZGVjaW1hbDogJ0Zsb2F0JyxcbiAgICBib29sZWFuOiAnQm9vbGVhbicsXG4gICAgc3RyaW5nOiAnU3RyaW5nJyxcbiAgICBsb2I6ICdTdHJpbmcnLFxuICAgIGRhdGU6ICdTdHJpbmcnLFxuICAgIGRhdGVUaW1lOiAnU3RyaW5nJyxcbiAgICB0aW1lOiAnU3RyaW5nJyxcbiAgfTtcblxuICBjb25zdCBnZXRUeXBlID0gbmFtZSA9PiB7XG4gICAgY29uc3QgZGF0YVR5cGUgPSBkYXRhVHlwZXMuZmluZChkYXRhVHlwZSA9PiBuYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihkYXRhVHlwZS5uYW1lLnRvTG93ZXJDYXNlKCkpID09PSAwKTtcbiAgICByZXR1cm4gZGF0YVR5cGUgPyBkYXRhVHlwZS50eXBlIDogJ3N0cmluZyc7XG4gIH07XG5cbiAgY29uc3QgZ2V0TmFtZUNhc2UgPSAobmFtZSwgbmFtZUNhc2UpID0+IHtcbiAgICBsZXQgY2hhbmdlTmFtZSA9IG5hbWU7XG4gICAgc3dpdGNoIChuYW1lQ2FzZSkge1xuICAgICAgY2FzZSAnY2FtZWxDYXNlJzpcbiAgICAgICAgY2hhbmdlTmFtZSA9IGhlbHBlci5jYW1lbENhc2UobmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFzY2FsQ2FzZSc6XG4gICAgICAgIGNoYW5nZU5hbWUgPSBoZWxwZXIucGFzY2FsQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbmFrZUNhc2UnOlxuICAgICAgICBjaGFuZ2VOYW1lID0gaGVscGVyLnNuYWtlQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBjaGFuZ2VOYW1lO1xuICB9O1xuXG4gIGNvbnN0IG9yZGVyQnlOYW1lQVNDID0gdGFibGVzID0+XG4gICAgdGFibGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVBID0gYS5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBuYW1lQiA9IGIubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfSBlbHNlIGlmIChuYW1lQSA+IG5hbWVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gZm9ybWF0VGFibGUodGFibGUpIHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBnZXROYW1lQ2FzZSh0YWJsZS5uYW1lLCBjYW52YXNTdGF0ZS50YWJsZUNhc2UpO1xuICAgIGlmICh0YWJsZS5jb21tZW50LnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGJ1ZmZlci5wdXNoKGAjICR7dGFibGUuY29tbWVudH1gKTtcbiAgICB9XG4gICAgYnVmZmVyLnB1c2goYHR5cGUgJHt0YWJsZU5hbWV9IHtgKTtcbiAgICB0YWJsZS5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcbiAgICAgIGZvcm1hdENvbHVtbihjb2x1bW4pO1xuICAgIH0pO1xuICAgIGZvcm1hdFJlbGF0aW9uKHRhYmxlKTtcbiAgICBidWZmZXIucHVzaChgfWApO1xuICB9XG5cbiAgZnVuY3Rpb24gZm9ybWF0Q29sdW1uKGNvbHVtbikge1xuICAgIGlmICghY29sdW1uLnVpLmZrKSB7XG4gICAgICBjb25zdCBjb2x1bW5OYW1lID0gZ2V0TmFtZUNhc2UoY29sdW1uLm5hbWUsIGNhbnZhc1N0YXRlLmNvbHVtbkNhc2UpO1xuICAgICAgaWYgKGNvbHVtbi5jb21tZW50LnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgYnVmZmVyLnB1c2goYCAgIyAke2NvbHVtbi5jb21tZW50fWApO1xuICAgICAgfVxuICAgICAgY29uc3QgaWRUeXBlID0gY29sdW1uLm9wdGlvbi5wcmltYXJ5S2V5IHx8IGNvbHVtbi51aS5maztcbiAgICAgIGlmIChpZFR5cGUpIHtcbiAgICAgICAgYnVmZmVyLnB1c2goYCAgJHtjb2x1bW5OYW1lfTogSUQke2NvbHVtbi5vcHRpb24ubm90TnVsbCA/ICchJyA6ICcnfWApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdHlwZU5hbWUgPSBnZXRUeXBlKGNvbHVtbi5kYXRhVHlwZSk7XG4gICAgICAgIGJ1ZmZlci5wdXNoKFxuICAgICAgICAgIGAgICR7Y29sdW1uTmFtZX06ICR7Y29udmVydFR5cGVNYXBbdHlwZU5hbWVdfSR7XG4gICAgICAgICAgICBjb2x1bW4ub3B0aW9uLm5vdE51bGwgPyAnIScgOiAnJ1xuICAgICAgICAgIH1gXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gZm9ybWF0UmVsYXRpb24odGFibGUpIHtcbiAgICByZWxhdGlvbnNoaXBTdGF0ZS5yZWxhdGlvbnNoaXBzXG4gICAgICAuZmlsdGVyKHJlbGF0aW9uc2hpcCA9PiByZWxhdGlvbnNoaXAuZW5kLnRhYmxlSWQgPT09IHRhYmxlLmlkKVxuICAgICAgLmZvckVhY2gocmVsYXRpb25zaGlwID0+IHtcbiAgICAgICAgY29uc3Qgc3RhcnRUYWJsZSA9IHRhYmxlU3RhdGUudGFibGVzLmZpbmQodGFibGUgPT4gdGFibGUuaWQgPT09IHJlbGF0aW9uc2hpcC5zdGFydC50YWJsZUlkKTtcbiAgICAgICAgaWYgKHN0YXJ0VGFibGUpIHtcbiAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGdldE5hbWVDYXNlKHN0YXJ0VGFibGUubmFtZSwgY2FudmFzU3RhdGUudGFibGVDYXNlKTtcbiAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBnZXROYW1lQ2FzZShzdGFydFRhYmxlLm5hbWUsIGNhbnZhc1N0YXRlLmNvbHVtbkNhc2UpO1xuICAgICAgICAgIGlmIChzdGFydFRhYmxlLmNvbW1lbnQudHJpbSgpICE9PSAnJykge1xuICAgICAgICAgICAgYnVmZmVyLnB1c2goYCAgIyAke3N0YXJ0VGFibGUuY29tbWVudH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnVmZmVyLnB1c2goYCAgJHtmaWVsZE5hbWV9OiAke3R5cGVOYW1lfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZWxhdGlvbnNoaXBTdGF0ZS5yZWxhdGlvbnNoaXBzXG4gICAgICAuZmlsdGVyKHJlbGF0aW9uc2hpcCA9PiByZWxhdGlvbnNoaXAuc3RhcnQudGFibGVJZCA9PT0gdGFibGUuaWQpXG4gICAgICAuZm9yRWFjaChyZWxhdGlvbnNoaXAgPT4ge1xuICAgICAgICBjb25zdCBlbmRUYWJsZSA9IHRhYmxlU3RhdGUudGFibGVzLmZpbmQodGFibGUgPT4gdGFibGUuaWQgPT09IHJlbGF0aW9uc2hpcC5lbmQudGFibGVJZCk7XG4gICAgICAgIGlmIChlbmRUYWJsZSkge1xuICAgICAgICAgIGNvbnN0IHR5cGVOYW1lID0gZ2V0TmFtZUNhc2UoZW5kVGFibGUubmFtZSwgY2FudmFzU3RhdGUudGFibGVDYXNlKTtcbiAgICAgICAgICBjb25zdCBmaWVsZE5hbWUgPSBnZXROYW1lQ2FzZShlbmRUYWJsZS5uYW1lLCBjYW52YXNTdGF0ZS5jb2x1bW5DYXNlKTtcbiAgICAgICAgICBpZiAoZW5kVGFibGUuY29tbWVudC50cmltKCkgIT09ICcnKSB7XG4gICAgICAgICAgICBidWZmZXIucHVzaChgICAjICR7ZW5kVGFibGUuY29tbWVudH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFsnWmVyb09uZScsICdPbmVPbmx5JywgJ09uZSddLmluY2x1ZGVzKHJlbGF0aW9uc2hpcC5yZWxhdGlvbnNoaXBUeXBlKSkge1xuICAgICAgICAgICAgYnVmZmVyLnB1c2goYCAgJHtmaWVsZE5hbWV9OiAke3R5cGVOYW1lfWApO1xuICAgICAgICAgIH0gZWxzZSBpZiAoWydaZXJvT25lTicsICdaZXJvTicsICdPbmVOJywgJ04nXS5pbmNsdWRlcyhyZWxhdGlvbnNoaXAucmVsYXRpb25zaGlwVHlwZSkpIHtcbiAgICAgICAgICAgIGJ1ZmZlci5wdXNoKFxuICAgICAgICAgICAgICBgICAke2dldE5hbWVDYXNlKGAke2ZpZWxkTmFtZX1MaXN0YCwgY2FudmFzU3RhdGUuY29sdW1uQ2FzZSl9OiBbJHt0eXBlTmFtZX0hXSFgXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBvcmRlckJ5TmFtZUFTQyh0YWJsZVN0YXRlLnRhYmxlcyk7XG5cbiAgdGFibGVTdGF0ZS50YWJsZXMuZm9yRWFjaCh0YWJsZSA9PiB7XG4gICAgZm9ybWF0VGFibGUodGFibGUpO1xuICAgIGJ1ZmZlci5wdXNoKCcnKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGJ1ZmZlcjtcbn0sIFtdKS5qb2luKCdcXG4nKTsiLCJ1dWlkIjoiNTk1NTMzYmUtNzM3My00NjEyLTgxOGMtMDYzNmE5NjNkYmI1IiwidXBkYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5LCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9LHsibmFtZSI6IkphdmEiLCJ2YWx1ZSI6IltEQVRBXS5yZWR1Y2UoKGJ1ZmZlciwgZGF0YSkgPT4ge1xuICBjb25zdCBzdGF0ZSA9IGRhdGEuc3RhdGU7XG4gIGNvbnN0IGhlbHBlciA9IGRhdGEuaGVscGVyO1xuICBjb25zdCBkYXRhVHlwZXMgPSBkYXRhLmRhdGFUeXBlcztcblxuICBjb25zdCB0YWJsZVN0YXRlID0gc3RhdGUudGFibGVTdGF0ZTtcbiAgY29uc3QgY2FudmFzU3RhdGUgPSBzdGF0ZS5jYW52YXNTdGF0ZTtcblxuICBjb25zdCBjb252ZXJ0VHlwZU1hcCA9IHtcbiAgICBpbnQ6ICdJbnRlZ2VyJyxcbiAgICBsb25nOiAnTG9uZycsXG4gICAgZmxvYXQ6ICdGbG9hdCcsXG4gICAgZG91YmxlOiAnRG91YmxlJyxcbiAgICBkZWNpbWFsOiAnQmlnRGVjaW1hbCcsXG4gICAgYm9vbGVhbjogJ0Jvb2xlYW4nLFxuICAgIHN0cmluZzogJ1N0cmluZycsXG4gICAgbG9iOiAnU3RyaW5nJyxcbiAgICBkYXRlOiAnTG9jYWxEYXRlJyxcbiAgICBkYXRlVGltZTogJ0xvY2FsRGF0ZVRpbWUnLFxuICAgIHRpbWU6ICdMb2NhbFRpbWUnLFxuICB9O1xuXG4gIGNvbnN0IGdldFR5cGUgPSBuYW1lID0+IHtcbiAgICBjb25zdCBkYXRhVHlwZSA9IGRhdGFUeXBlcy5maW5kKGRhdGFUeXBlID0+IG5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKGRhdGFUeXBlLm5hbWUudG9Mb3dlckNhc2UoKSkgPT09IDApO1xuICAgIHJldHVybiBkYXRhVHlwZSA/IGRhdGFUeXBlLnR5cGUgOiAnc3RyaW5nJztcbiAgfTtcblxuICBjb25zdCBnZXROYW1lQ2FzZSA9IChuYW1lLCBuYW1lQ2FzZSkgPT4ge1xuICAgIGxldCBjaGFuZ2VOYW1lID0gbmFtZTtcbiAgICBzd2l0Y2ggKG5hbWVDYXNlKSB7XG4gICAgICBjYXNlICdjYW1lbENhc2UnOlxuICAgICAgICBjaGFuZ2VOYW1lID0gaGVscGVyLmNhbWVsQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwYXNjYWxDYXNlJzpcbiAgICAgICAgY2hhbmdlTmFtZSA9IGhlbHBlci5wYXNjYWxDYXNlKG5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3NuYWtlQ2FzZSc6XG4gICAgICAgIGNoYW5nZU5hbWUgPSBoZWxwZXIuc25ha2VDYXNlKG5hbWUpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGNoYW5nZU5hbWU7XG4gIH07XG5cbiAgY29uc3Qgb3JkZXJCeU5hbWVBU0MgPSB0YWJsZXMgPT5cbiAgICB0YWJsZXMuc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3QgbmFtZUEgPSBhLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNvbnN0IG5hbWVCID0gYi5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAobmFtZUEgPCBuYW1lQikge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9IGVsc2UgaWYgKG5hbWVBID4gbmFtZUIpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9KTtcblxuICBmdW5jdGlvbiBmb3JtYXRUYWJsZSh0YWJsZSkge1xuICAgIGNvbnN0IHRhYmxlTmFtZSA9IGdldE5hbWVDYXNlKHRhYmxlLm5hbWUsIGNhbnZhc1N0YXRlLnRhYmxlQ2FzZSk7XG4gICAgaWYgKHRhYmxlLmNvbW1lbnQudHJpbSgpICE9PSAnJykge1xuICAgICAgYnVmZmVyLnB1c2goYC8vICR7dGFibGUuY29tbWVudH1gKTtcbiAgICB9XG4gICAgYnVmZmVyLnB1c2goYEBEYXRhYCk7XG4gICAgYnVmZmVyLnB1c2goYHB1YmxpYyBjbGFzcyAke3RhYmxlTmFtZX0ge2ApO1xuICAgIHRhYmxlLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgZm9ybWF0Q29sdW1uKGNvbHVtbik7XG4gICAgfSk7XG4gICAgYnVmZmVyLnB1c2goYH1gKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZvcm1hdENvbHVtbihjb2x1bW4pIHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gZ2V0TmFtZUNhc2UoY29sdW1uLm5hbWUsIGNhbnZhc1N0YXRlLmNvbHVtbkNhc2UpO1xuICAgIGNvbnN0IHR5cGVOYW1lID0gZ2V0VHlwZShjb2x1bW4uZGF0YVR5cGUpO1xuICAgIGlmIChjb2x1bW4uY29tbWVudC50cmltKCkgIT09ICcnKSB7XG4gICAgICBidWZmZXIucHVzaChgICAvLyAke2NvbHVtbi5jb21tZW50fWApO1xuICAgIH1cbiAgICBidWZmZXIucHVzaChgICBwcml2YXRlICR7Y29udmVydFR5cGVNYXBbdHlwZU5hbWVdfSAke2NvbHVtbk5hbWV9O2ApO1xuICB9XG5cbiAgb3JkZXJCeU5hbWVBU0ModGFibGVTdGF0ZS50YWJsZXMpO1xuXG4gIHRhYmxlU3RhdGUudGFibGVzLmZvckVhY2godGFibGUgPT4ge1xuICAgIGZvcm1hdFRhYmxlKHRhYmxlKTtcbiAgICBidWZmZXIucHVzaCgnJyk7XG4gIH0pO1xuXG4gIHJldHVybiBidWZmZXI7XG59LCBbXSkuam9pbignXFxuJyk7IiwidXVpZCI6IjY1NzdmNTJmLTU1NGEtNDI3MC1iYzgyLTM0YjM2ZWY2NWQ5NyIsInVwZGF0ZWRBdCI6MTY5MzU1MDU5MzU1MywiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJLb3RsaW4iLCJ2YWx1ZSI6IltEQVRBXS5yZWR1Y2UoKGJ1ZmZlciwgZGF0YSkgPT4ge1xuICBjb25zdCBzdGF0ZSA9IGRhdGEuc3RhdGU7XG4gIGNvbnN0IGhlbHBlciA9IGRhdGEuaGVscGVyO1xuICBjb25zdCBkYXRhVHlwZXMgPSBkYXRhLmRhdGFUeXBlcztcblxuICBjb25zdCB0YWJsZVN0YXRlID0gc3RhdGUudGFibGVTdGF0ZTtcbiAgY29uc3QgY2FudmFzU3RhdGUgPSBzdGF0ZS5jYW52YXNTdGF0ZTtcblxuICBjb25zdCBjb252ZXJ0VHlwZU1hcCA9IHtcbiAgICBpbnQ6ICdJbnQnLFxuICAgIGxvbmc6ICdMb25nJyxcbiAgICBmbG9hdDogJ0Zsb2F0JyxcbiAgICBkb3VibGU6ICdEb3VibGUnLFxuICAgIGRlY2ltYWw6ICdCaWdEZWNpbWFsJyxcbiAgICBib29sZWFuOiAnQm9vbGVhbicsXG4gICAgc3RyaW5nOiAnU3RyaW5nJyxcbiAgICBsb2I6ICdTdHJpbmcnLFxuICAgIGRhdGU6ICdMb2NhbERhdGUnLFxuICAgIGRhdGVUaW1lOiAnTG9jYWxEYXRlVGltZScsXG4gICAgdGltZTogJ0xvY2FsVGltZScsXG4gIH07XG5cbiAgY29uc3QgZ2V0VHlwZSA9IG5hbWUgPT4ge1xuICAgIGNvbnN0IGRhdGFUeXBlID0gZGF0YVR5cGVzLmZpbmQoZGF0YVR5cGUgPT4gbmFtZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoZGF0YVR5cGUubmFtZS50b0xvd2VyQ2FzZSgpKSA9PT0gMCk7XG4gICAgcmV0dXJuIGRhdGFUeXBlID8gZGF0YVR5cGUudHlwZSA6ICdzdHJpbmcnO1xuICB9O1xuXG4gIGNvbnN0IGdldERlZmF1bHQgPSAodHlwZSkgPT4ge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnaW50JzpcbiAgICAgIGNhc2UgJ2xvbmcnOlxuICAgICAgICByZXR1cm4gMDtcbiAgICAgIGNhc2UgJ2Zsb2F0JzpcbiAgICAgICAgcmV0dXJuICcwLjBmJztcbiAgICAgIGNhc2UgJ2RvdWJsZSc6XG4gICAgICAgIHJldHVybiAnMC4wJztcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAnbG9iJzpcbiAgICAgICAgcmV0dXJuICdcIlwiJztcbiAgICAgIGNhc2UgJ2RlY2ltYWwnOlxuICAgICAgICByZXR1cm4gJ0JpZ0RlY2ltYWwuWkVSTyc7XG4gICAgICBjYXNlICdkYXRlJzpcbiAgICAgIGNhc2UgJ2RhdGVUaW1lJzpcbiAgICAgIGNhc2UgJ3RpbWUnOlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZ2V0TmFtZUNhc2UgPSAobmFtZSwgbmFtZUNhc2UpID0+IHtcbiAgICBsZXQgY2hhbmdlTmFtZSA9IG5hbWU7XG4gICAgc3dpdGNoIChuYW1lQ2FzZSkge1xuICAgICAgY2FzZSAnY2FtZWxDYXNlJzpcbiAgICAgICAgY2hhbmdlTmFtZSA9IGhlbHBlci5jYW1lbENhc2UobmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFzY2FsQ2FzZSc6XG4gICAgICAgIGNoYW5nZU5hbWUgPSBoZWxwZXIucGFzY2FsQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbmFrZUNhc2UnOlxuICAgICAgICBjaGFuZ2VOYW1lID0gaGVscGVyLnNuYWtlQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBjaGFuZ2VOYW1lO1xuICB9O1xuXG4gIGNvbnN0IG9yZGVyQnlOYW1lQVNDID0gdGFibGVzID0+XG4gICAgdGFibGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVBID0gYS5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBuYW1lQiA9IGIubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfSBlbHNlIGlmIChuYW1lQSA+IG5hbWVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gZm9ybWF0VGFibGUodGFibGUpIHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBnZXROYW1lQ2FzZSh0YWJsZS5uYW1lLCBjYW52YXNTdGF0ZS50YWJsZUNhc2UpO1xuICAgIGlmICh0YWJsZS5jb21tZW50LnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGJ1ZmZlci5wdXNoKGAvLyAke3RhYmxlLmNvbW1lbnR9YCk7XG4gICAgfVxuICAgIGJ1ZmZlci5wdXNoKGBjbGFzcyAke3RhYmxlTmFtZX0ge2ApO1xuICAgIHRhYmxlLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xuICAgICAgZm9ybWF0Q29sdW1uKGNvbHVtbik7XG4gICAgfSk7XG4gICAgYnVmZmVyLnB1c2goYH1gKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGZvcm1hdENvbHVtbihjb2x1bW4pIHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gZ2V0TmFtZUNhc2UoY29sdW1uLm5hbWUsIGNhbnZhc1N0YXRlLmNvbHVtbkNhc2UpO1xuICAgIGNvbnN0IHR5cGVOYW1lID0gZ2V0VHlwZShjb2x1bW4uZGF0YVR5cGUpO1xuICAgIGlmIChjb2x1bW4uY29tbWVudC50cmltKCkgIT09ICcnKSB7XG4gICAgICBidWZmZXIucHVzaChgICAvLyAke2NvbHVtbi5jb21tZW50fWApO1xuICAgIH1cbiAgICBpZiAoXG4gICAgICBjb2x1bW4ub3B0aW9uLm5vdE51bGwgJiZcbiAgICAgIHR5cGVOYW1lICE9PSAnZGF0ZScgJiZcbiAgICAgIHR5cGVOYW1lICE9PSAnZGF0ZVRpbWUnICYmXG4gICAgICB0eXBlTmFtZSAhPT0gJ3RpbWUnXG4gICAgKSB7XG4gICAgICBidWZmZXIucHVzaChcbiAgICAgICAgYCAgdmFyICR7Y29sdW1uTmFtZX06ICR7Y29udmVydFR5cGVNYXBbdHlwZU5hbWVdfSA9ICR7Z2V0RGVmYXVsdCh0eXBlTmFtZSl9YFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmZmVyLnB1c2goXG4gICAgICAgIGAgIHZhciAke2NvbHVtbk5hbWV9OiAke2NvbnZlcnRUeXBlTWFwW3R5cGVOYW1lXX0/ID0gbnVsbGBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgb3JkZXJCeU5hbWVBU0ModGFibGVTdGF0ZS50YWJsZXMpO1xuXG4gIHRhYmxlU3RhdGUudGFibGVzLmZvckVhY2godGFibGUgPT4ge1xuICAgIGZvcm1hdFRhYmxlKHRhYmxlKTtcbiAgICBidWZmZXIucHVzaCgnJyk7XG4gIH0pO1xuXG4gIHJldHVybiBidWZmZXI7XG59LCBbXSkuam9pbignXFxuJyk7IiwidXVpZCI6ImVkMjBkZGQ2LWY1MTYtNGVkOC05MGRkLTNjMDI4ZTA2MTkxMiIsInVwZGF0ZWRBdCI6MTY5MzU1MDgxMjE2OSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJTY2FsYSIsInZhbHVlIjoiW0RBVEFdLnJlZHVjZSgoYnVmZmVyLCBkYXRhKSA9PiB7XG4gIGNvbnN0IHN0YXRlID0gZGF0YS5zdGF0ZTtcbiAgY29uc3QgaGVscGVyID0gZGF0YS5oZWxwZXI7XG4gIGNvbnN0IGRhdGFUeXBlcyA9IGRhdGEuZGF0YVR5cGVzO1xuXG4gIGNvbnN0IHRhYmxlU3RhdGUgPSBzdGF0ZS50YWJsZVN0YXRlO1xuICBjb25zdCBjYW52YXNTdGF0ZSA9IHN0YXRlLmNhbnZhc1N0YXRlO1xuXG4gIGNvbnN0IGNvbnZlcnRUeXBlTWFwID0ge1xuICAgIGludDogJ0ludCcsXG4gICAgbG9uZzogJ0xvbmcnLFxuICAgIGZsb2F0OiAnRmxvYXQnLFxuICAgIGRvdWJsZTogJ0RvdWJsZScsXG4gICAgZGVjaW1hbDogJ0JpZ0RlY2ltYWwnLFxuICAgIGJvb2xlYW46ICdCb29sZWFuJyxcbiAgICBzdHJpbmc6ICdTdHJpbmcnLFxuICAgIGxvYjogJ1N0cmluZycsXG4gICAgZGF0ZTogJ0xvY2FsRGF0ZScsXG4gICAgZGF0ZVRpbWU6ICdMb2NhbERhdGVUaW1lJyxcbiAgICB0aW1lOiAnTG9jYWxUaW1lJyxcbiAgfTtcblxuICBjb25zdCBnZXRUeXBlID0gbmFtZSA9PiB7XG4gICAgY29uc3QgZGF0YVR5cGUgPSBkYXRhVHlwZXMuZmluZChkYXRhVHlwZSA9PiBuYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihkYXRhVHlwZS5uYW1lLnRvTG93ZXJDYXNlKCkpID09PSAwKTtcbiAgICByZXR1cm4gZGF0YVR5cGUgPyBkYXRhVHlwZS50eXBlIDogJ3N0cmluZyc7XG4gIH07XG5cbiAgY29uc3QgZ2V0TmFtZUNhc2UgPSAobmFtZSwgbmFtZUNhc2UpID0+IHtcbiAgICBsZXQgY2hhbmdlTmFtZSA9IG5hbWU7XG4gICAgc3dpdGNoIChuYW1lQ2FzZSkge1xuICAgICAgY2FzZSAnY2FtZWxDYXNlJzpcbiAgICAgICAgY2hhbmdlTmFtZSA9IGhlbHBlci5jYW1lbENhc2UobmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFzY2FsQ2FzZSc6XG4gICAgICAgIGNoYW5nZU5hbWUgPSBoZWxwZXIucGFzY2FsQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbmFrZUNhc2UnOlxuICAgICAgICBjaGFuZ2VOYW1lID0gaGVscGVyLnNuYWtlQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBjaGFuZ2VOYW1lO1xuICB9O1xuXG4gIGNvbnN0IG9yZGVyQnlOYW1lQVNDID0gdGFibGVzID0+XG4gICAgdGFibGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVBID0gYS5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBuYW1lQiA9IGIubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfSBlbHNlIGlmIChuYW1lQSA+IG5hbWVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gZm9ybWF0VGFibGUodGFibGUpIHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBnZXROYW1lQ2FzZSh0YWJsZS5uYW1lLCBjYW52YXNTdGF0ZS50YWJsZUNhc2UpO1xuICAgIGlmICh0YWJsZS5jb21tZW50LnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGJ1ZmZlci5wdXNoKGAvLyAke3RhYmxlLmNvbW1lbnR9YCk7XG4gICAgfVxuICAgIGJ1ZmZlci5wdXNoKGBARGF0YWApO1xuICAgIGJ1ZmZlci5wdXNoKGBjYXNlIGNsYXNzICR7dGFibGVOYW1lfShgKTtcbiAgICB0YWJsZS5jb2x1bW5zLmZvckVhY2goKGNvbHVtbiwgaWR4LCBhcnJheSkgPT4ge1xuICAgICAgdmFyIG5vdExhc3RFbGVtID0gdHJ1ZTtcbiAgICAgIGlmIChpZHggPT09IGFycmF5Lmxlbmd0aCAtIDEpIHtcbiAgICAgICAgbm90TGFzdEVsZW0gPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGZvcm1hdENvbHVtbihjb2x1bW4sIG5vdExhc3RFbGVtKTtcbiAgICB9KTtcbiAgICBidWZmZXIucHVzaChgKWApO1xuICB9XG5cbiAgZnVuY3Rpb24gZm9ybWF0Q29sdW1uKGNvbHVtbiwgYWRkQ29tbWEpIHtcbiAgICBjb25zdCBjb2x1bW5OYW1lID0gZ2V0TmFtZUNhc2UoY29sdW1uLm5hbWUsIGNhbnZhc1N0YXRlLmNvbHVtbkNhc2UpO1xuICAgIGNvbnN0IHR5cGVOYW1lID0gZ2V0VHlwZShjb2x1bW4uZGF0YVR5cGUpO1xuICAgIGlmIChjb2x1bW4uY29tbWVudC50cmltKCkgIT09ICcnKSB7XG4gICAgICBidWZmZXIucHVzaChgIC8vICR7Y29sdW1uLmNvbW1lbnR9YCk7XG4gICAgfVxuICBcbiAgICBidWZmZXIucHVzaChcbiAgICAgIGAgJHtjb2x1bW5OYW1lfTogJHtjb252ZXJ0VHlwZU1hcFt0eXBlTmFtZV19JHthZGRDb21tYSA/ICcsJyA6ICcnfWBcbiAgICApO1xuICB9XG5cbiAgb3JkZXJCeU5hbWVBU0ModGFibGVTdGF0ZS50YWJsZXMpO1xuXG4gIHRhYmxlU3RhdGUudGFibGVzLmZvckVhY2godGFibGUgPT4ge1xuICAgIGZvcm1hdFRhYmxlKHRhYmxlKTtcbiAgICBidWZmZXIucHVzaCgnJyk7XG4gIH0pO1xuXG4gIHJldHVybiBidWZmZXI7XG59LCBbXSkuam9pbignXFxuJyk7IiwidXVpZCI6IjVjZDBkYjJhLWE4MTAtNDM0Zi1iODg4LWFlYmE5MGVkNDAyYiIsInVwZGF0ZWRBdCI6MTY5MzU0NjExODExMSwiY3JlYXRlZEF0IjoxNjkzNTQ2MDg1NDQ5fSx7Im5hbWUiOiJUeXBlc2NyaXB0IiwidmFsdWUiOiJbREFUQV0ucmVkdWNlKChidWZmZXIsIGRhdGEpID0+IHtcbiAgY29uc3Qgc3RhdGUgPSBkYXRhLnN0YXRlO1xuICBjb25zdCBoZWxwZXIgPSBkYXRhLmhlbHBlcjtcbiAgY29uc3QgZGF0YVR5cGVzID0gZGF0YS5kYXRhVHlwZXM7XG5cbiAgY29uc3QgdGFibGVTdGF0ZSA9IHN0YXRlLnRhYmxlU3RhdGU7XG4gIGNvbnN0IGNhbnZhc1N0YXRlID0gc3RhdGUuY2FudmFzU3RhdGU7XG5cbiAgY29uc3QgY29udmVydFR5cGVNYXAgPSB7XG4gICAgaW50OiAnbnVtYmVyJyxcbiAgICBsb25nOiAnbnVtYmVyJyxcbiAgICBmbG9hdDogJ251bWJlcicsXG4gICAgZG91YmxlOiAnbnVtYmVyJyxcbiAgICBkZWNpbWFsOiAnbnVtYmVyJyxcbiAgICBib29sZWFuOiAnYm9vbGVhbicsXG4gICAgc3RyaW5nOiAnc3RyaW5nJyxcbiAgICBsb2I6ICdzdHJpbmcnLFxuICAgIGRhdGU6ICdzdHJpbmcnLFxuICAgIGRhdGVUaW1lOiAnc3RyaW5nJyxcbiAgICB0aW1lOiAnc3RyaW5nJyxcbiAgfTtcblxuICBjb25zdCBnZXRUeXBlID0gbmFtZSA9PiB7XG4gICAgY29uc3QgZGF0YVR5cGUgPSBkYXRhVHlwZXMuZmluZChkYXRhVHlwZSA9PiBuYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihkYXRhVHlwZS5uYW1lLnRvTG93ZXJDYXNlKCkpID09PSAwKTtcbiAgICByZXR1cm4gZGF0YVR5cGUgPyBkYXRhVHlwZS50eXBlIDogJ3N0cmluZyc7XG4gIH07XG5cbiAgY29uc3QgZ2V0TmFtZUNhc2UgPSAobmFtZSwgbmFtZUNhc2UpID0+IHtcbiAgICBsZXQgY2hhbmdlTmFtZSA9IG5hbWU7XG4gICAgc3dpdGNoIChuYW1lQ2FzZSkge1xuICAgICAgY2FzZSAnY2FtZWxDYXNlJzpcbiAgICAgICAgY2hhbmdlTmFtZSA9IGhlbHBlci5jYW1lbENhc2UobmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncGFzY2FsQ2FzZSc6XG4gICAgICAgIGNoYW5nZU5hbWUgPSBoZWxwZXIucGFzY2FsQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdzbmFrZUNhc2UnOlxuICAgICAgICBjaGFuZ2VOYW1lID0gaGVscGVyLnNuYWtlQ2FzZShuYW1lKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiBjaGFuZ2VOYW1lO1xuICB9O1xuXG4gIGNvbnN0IG9yZGVyQnlOYW1lQVNDID0gdGFibGVzID0+XG4gICAgdGFibGVzLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IG5hbWVBID0gYS5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICBjb25zdCBuYW1lQiA9IGIubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgaWYgKG5hbWVBIDwgbmFtZUIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfSBlbHNlIGlmIChuYW1lQSA+IG5hbWVCKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gZm9ybWF0VGFibGUodGFibGUpIHtcbiAgICBjb25zdCB0YWJsZU5hbWUgPSBnZXROYW1lQ2FzZSh0YWJsZS5uYW1lLCBjYW52YXNTdGF0ZS50YWJsZUNhc2UpO1xuICAgIGlmICh0YWJsZS5jb21tZW50LnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGJ1ZmZlci5wdXNoKGAvLyAke3RhYmxlLmNvbW1lbnR9YCk7XG4gICAgfVxuICAgIGJ1ZmZlci5wdXNoKGBleHBvcnQgaW50ZXJmYWNlICR7dGFibGVOYW1lfSB7YCk7XG4gICAgdGFibGUuY29sdW1ucy5mb3JFYWNoKGNvbHVtbiA9PiB7XG4gICAgICBmb3JtYXRDb2x1bW4oY29sdW1uKTtcbiAgICB9KTtcbiAgICBidWZmZXIucHVzaChgfWApO1xuICB9XG5cbiAgZnVuY3Rpb24gZm9ybWF0Q29sdW1uKGNvbHVtbikge1xuICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBnZXROYW1lQ2FzZShjb2x1bW4ubmFtZSwgY2FudmFzU3RhdGUuY29sdW1uQ2FzZSk7XG4gICAgY29uc3QgdHlwZU5hbWUgPSBnZXRUeXBlKGNvbHVtbi5kYXRhVHlwZSk7XG4gICAgaWYgKGNvbHVtbi5jb21tZW50LnRyaW0oKSAhPT0gJycpIHtcbiAgICAgIGJ1ZmZlci5wdXNoKGAgIC8vICR7Y29sdW1uLmNvbW1lbnR9YCk7XG4gICAgfVxuICAgIGJ1ZmZlci5wdXNoKFxuICAgICAgYCAgJHtjb2x1bW5OYW1lfTogJHtjb252ZXJ0VHlwZU1hcFt0eXBlTmFtZV19JHtcbiAgICAgICAgY29sdW1uLm9wdGlvbi5ub3ROdWxsID8gJycgOiAnIHwgbnVsbCdcbiAgICAgIH07YFxuICAgICk7XG4gIH1cblxuICBvcmRlckJ5TmFtZUFTQyh0YWJsZVN0YXRlLnRhYmxlcyk7XG5cbiAgdGFibGVTdGF0ZS50YWJsZXMuZm9yRWFjaCh0YWJsZSA9PiB7XG4gICAgZm9ybWF0VGFibGUodGFibGUpO1xuICAgIGJ1ZmZlci5wdXNoKCcnKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGJ1ZmZlcjtcbn0sIFtdKS5qb2luKCdcXG4nKTsiLCJ1dWlkIjoiZTllM2MxYmYtOTJiMC00OGU2LTg3NTAtMWI0OTY4ZjhhN2E0IiwidXBkYXRlZEF0IjoxNjkzOTYyNjE1ODAxLCJjcmVhdGVkQXQiOjE2OTM1NDYwODU0NDl9XX0="
}
},
"table": {
"tables": [
{
"name": "user",
"comment": "User",
"columns": [
{
"name": "id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": true,
"primaryKey": true,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": true,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "be8ec883-1942-49cf-ba6d-dcb40b573408"
},
{
"name": "email",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "92cfd78f-ade2-4943-b179-a68c67c2865a"
},
{
"name": "telephone",
"comment": "",
"dataType": "VARCHAR(20)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": false
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 87.71875,
"widthDefault": 60
},
"id": "bb14f829-03db-4ccf-9060-f8c316025d36"
},
{
"name": "first_name",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 62.68994140625,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "42474c36-f084-4876-b38f-dbd2bcffaa7d"
},
{
"name": "last_name",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 61.97900390625,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "ce9f0c28-f4a0-40b9-8a47-c692f6b14cf4"
},
{
"name": "role",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "4102a65e-34d3-495e-aef2-304a197bc268"
},
{
"name": "auth_hash",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": false
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 62.7216796875,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "a0c09138-ba59-4fb7-867e-ef5d963b6130"
},
{
"name": "created_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 63.4326171875,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "faf9adb9-c736-410c-b66a-9f9de9857167"
},
{
"name": "modified_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 69.208984375,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "5e65976e-5b80-47f6-b359-af4f1c50d8d4"
}
],
"ui": {
"active": false,
"left": 1043.1218,
"top": 1405.6275,
"zIndex": 12,
"widthName": 60,
"widthComment": 60,
"color": "#47D400"
},
"visible": true,
"id": "34d1a4b8-401e-4fd6-865f-f77d9a541d1b"
},
{
"name": "product_category",
"comment": "Product Category",
"columns": [
{
"name": "id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": true,
"primaryKey": true,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": true,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "4a47279b-90e6-4d4c-b41e-4c147ee5ab8f"
},
{
"name": "name",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "b0437c81-58fa-415e-808e-a5fe688fa684"
},
{
"name": "description",
"comment": "",
"dataType": "TEXT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": false
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 64.8671875,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "2f0d8078-4f27-4f4c-8f21-a633ce0a5e44"
},
{
"name": "created_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 63.4326171875,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "104e32b6-9121-4996-b9db-61173de370a1"
},
{
"name": "modified_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 69.208984375,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "cc8700aa-e09a-4441-a349-dc27a9d97404"
}
],
"ui": {
"active": false,
"left": 180.324,
"top": 255.9946,
"zIndex": 2,
"widthName": 102.45166015625,
"widthComment": 103.16259765625,
"color": "#F44336"
},
"visible": true,
"id": "f81e4e15-fd3d-401b-b508-54dd6027f321"
},
{
"name": "product",
"comment": "Hardware Product",
"columns": [
{
"name": "id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": true,
"primaryKey": true,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": true,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "8c95e6cf-7332-4348-9541-2beffa304769"
},
{
"name": "category_id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": true,
"pfk": false,
"widthName": 69.208984375,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "4913dd5e-f3d3-4eff-9a68-0dcde976d845"
},
{
"name": "discount_id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": true,
"pfk": false,
"widthName": 67.76806640625,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "cdec7858-efc6-4f22-b7bb-7f7d271cf7a1"
},
{
"name": "inventory_id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": true,
"pfk": false,
"widthName": 72.09716796875,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "af94c9fb-d94a-438f-a2fa-457541dce434"
},
{
"name": "name",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "17c01a3c-8740-49b8-ad66-983ee54cac29"
},
{
"name": "description",
"comment": "",
"dataType": "TEXT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": false
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 64.8671875,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "f1f8bf69-461f-4e09-8436-8300aa1ecb7c"
},
{
"name": "sku",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "ade9031f-685e-4e0a-a810-c10c26393249"
},
{
"name": "price",
"comment": "",
"dataType": "DECIMAL(10, 2)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 97.36083984375,
"widthDefault": 60
},
"id": "bd1bcded-f103-46bc-b147-695a53fe485b"
},
{
"name": "active",
"comment": "",
"dataType": "BOOLEAN",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 64.8544921875,
"widthDefault": 60
},
"id": "1494fa35-eac0-4dac-8d72-85002c98e5e4"
},
{
"name": "created_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 63.4326171875,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "06bdbae6-7264-4669-b6f0-e279b2013d22"
},
{
"name": "updated_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 67.0634765625,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "1e30de22-8678-474f-962a-97de862fe8d4"
}
],
"ui": {
"active": false,
"left": 875.7418,
"top": 81.6211,
"zIndex": 1,
"widthName": 60,
"widthComment": 106.76806640625,
"color": "#F44336"
},
"visible": true,
"id": "53980065-914d-48b2-9241-bbb5b370de75"
},
{
"name": "product_discount",
"comment": "Product Discount",
"columns": [
{
"name": "id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": true,
"primaryKey": true,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": true,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "909b82e8-b8bd-412d-b30d-1219a66cde68"
},
{
"name": "name",
"comment": "",
"dataType": "VARCHAR(255)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 94.94873046875,
"widthDefault": 60
},
"id": "fdfb99cf-4076-425e-879f-10e7a5edb1e5"
},
{
"name": "description",
"comment": "",
"dataType": "TEXT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": false
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 64.8671875,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "9492a78a-c2c1-4f6b-ab7a-f9e1ac6e1034"
},
{
"name": "percent",
"comment": "",
"dataType": "DECIMAL(10, 2)",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 97.36083984375,
"widthDefault": 60
},
"id": "1d4f5fe5-5e33-4b85-9841-a4c78f27e4fc"
},
{
"name": "active",
"comment": "",
"dataType": "BOOLEAN",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 64.8544921875,
"widthDefault": 60
},
"id": "27726e67-a8c7-46bc-84eb-d064d215f143"
},
{
"name": "created_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 63.4326171875,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "ece2314b-6cc4-4c1a-a171-cf709c6489ff"
},
{
"name": "updated_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 67.0634765625,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "55044d57-3ed6-4be5-bdc7-186d5be21ae2"
}
],
"ui": {
"active": false,
"left": 183.9122,
"top": 17.5448,
"zIndex": 7,
"widthName": 101.0107421875,
"widthComment": 100.99169921875,
"color": "#F44336"
},
"visible": true,
"id": "fa2d03e3-7780-4890-ace3-afd154824383"
},
{
"name": "product_inventory",
"comment": "Hardware Product Inventory",
"columns": [
{
"name": "id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": true,
"primaryKey": true,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": true,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "dbe78c42-0b86-4329-9824-bfeedf95e385"
},
{
"name": "quantity",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "703c7c24-4a1b-4162-8ae2-6668cb2f11c1"
},
{
"name": "created_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 63.4326171875,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "f58c8b16-d039-49dd-936a-99661f84dc76"
},
{
"name": "updated_at",
"comment": "",
"dataType": "TIMESTAMP",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,
"fk": false,
"pfk": false,
"widthName": 67.0634765625,
"widthComment": 60,
"widthDataType": 76.87060546875,
"widthDefault": 60
},
"id": "579325df-59bb-417b-b64f-ebb67ed42c15"
}
],
"ui": {
"active": false,
"left": 202.2922,
"top": 452.198,
"zIndex": 6,
"widthName": 105.33984375,
"widthComment": 120,
"color": "#F44336"
},
"visible": true,
"id": "21ac966f-0ef1-4755-a276-c7d4932c2ea9"
},
{
"name": "payment_details",
"comment": "Payment Detail",
"columns": [
{
"name": "id",
"comment": "",
"dataType": "INT",
"default": "",
"option": {
"autoIncrement": true,
"primaryKey": true,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": true,
"fk": false,
"pfk": false,
"widthName": 60,
"widthComment": 60,
"widthDataType": 60,
"widthDefault": 60
},
"id": "d119d438-a0f4-48a7-bdc1-6d658014d6dc"
},
{
"name": "user_payment_id",
"comment": "",
"dataType": "int",
"default": "",
"option": {
"autoIncrement": false,
"primaryKey": false,
"unique": false,
"notNull": true
},
"ui": {
"active": false,
"pk": false,