BCD

Tezos Contract Explorer
Search Networks Deploy
  • Home
  • /
  • Ghostnet
  • /
  • KT1QjC7...enZw
operations (42)Storage Code Interact Tokens Fork Statistics Details
Latest
​x
974
1735
 
1
parameter (or
2
            (or (or (unit %build_board) (nat %join_game))
3
                (or (nat %leave_game)
4
                    (pair %play (nat %_game_id) (pair (nat %x) (nat %y)))))
5
            (bool %set_pause));
6
storage (pair (address %admin)
7
              (pair (bool %paused)
8
                    (pair
9
                      (big_map %games nat
10
                                      (pair (nat %board_id)
11
                                            (pair (address %player1)
12
                                                  (pair (address %player2)
13
                                                        (pair (nat %moves_number)
14
                                                              (pair (address %winner)
15
                                                                    (pair (bool %draw)
16
                                                                          (pair
17
                                                                            (bool %started)
18
                                                                            (pair
19
                                                                              (bool %finished)
20
                                                                              (pair
21
                                                                                (map %board
22
                                                                                  nat
23
                                                                                  (pair
24
                                                                                    (nat %row_id)
25
                                                                                    (map %cells
26
                                                                                      nat
27
                                                                                      string)))
28
                                                                                (nat %next_player)))))))))))
29
                      (nat %next_game_id))));
30
code { UNPAIR ;
31
       DIG 0 ;
32
       IF_LEFT
33
         { IF_LEFT
34
             { IF_LEFT
35
                 { NIL operation ;
36
                   DUP 3 ;
37
                   GET 3 ;
38
                   DUP 1 ;
39
                   IF { PUSH string "Contract is paused" ; FAILWITH } {} ;
40
                   AMOUNT ;
41
                   PUSH mutez 5000000 ;
42
                   DUP 2 ;
43
                   COMPARE ;
44
                   NEQ ;
45
                   DUP 1 ;
46
                   IF
47
                     { PUSH string "You must pay 5 tez to start a game" ; FAILWITH }
48
                     {} ;
49
                   EMPTY_MAP nat (pair (nat %row_id) (map %cells nat string)) ;
50
                   NIL nat ;
51
                   PUSH nat 3 ;
52
                   CONS ;
53
                   PUSH nat 2 ;
54
                   CONS ;
55
                   PUSH nat 1 ;
56
                   CONS ;
57
                   DUP 1 ;
58
                   ITER { EMPTY_MAP nat string ;
59
                          DUP 1 ;
60
                          DUP 3 ;
61
                          PAIR 2 ;
62
                          DUP 4 ;
63
                          ITER { DUP 2 ;
64
                                 GET 2 ;
65
                                 DUP 1 ;
66
                                 PUSH string "_" ;
67
                                 SOME ;
68
                                 DUP 4 ;
69
                                 UPDATE ;
70
                                 DIP 1 { DROP } ;
71
                                 DUG 0 ;
72
                                 DUP 3 ;
73
                                 DUP 2 ;
74
                                 UPDATE 2 ;
75
                                 DIP 3 { DROP } ;
76
                                 DUG 2 ;
77
                                 DIP 0 { DROP } ;
78
                                 DIP 0 { DROP } } ;
79
                          DUP 5 ;
80
                          DUP 2 ;
81
                          SOME ;
82
                          DUP 5 ;
83
                          UPDATE ;
84
                          DIP 5 { DROP } ;
85
                          DUG 4 ;
86
                          DIP 0 { DROP } ;
87
                          DIP 0 { DROP } ;
88
                          DIP 0 { DROP } } ;
89
                   DUP 8 ;
90
                   GET 5 ;
91
                   DUP 9 ;
92
                   GET 6 ;
93
                   SENDER ;
94
                   SENDER ;
95
                   SENDER ;
96
                   DUP 13 ;
97
                   GET 6 ;
98
                   DUP 6 ;
99
                   PUSH nat 1 ;
100
                   DUP 10 ;
101
                   PUSH bool False ;
102
                   PUSH bool False ;
103
                   PUSH bool False ;
104
                   DUP 8 ;
105
                   PUSH nat 0 ;
106
                   DUP 11 ;
107
                   DUP 13 ;
108
                   DUP 15 ;
109
                   PAIR 10 ;
110
                   SOME ;
111
                   DUP 3 ;
112
                   UPDATE ;
113
                   DIP 6 { DROP } ;
114
                   DUG 5 ;
115
                   DUP 14 ;
116
                   DUP 7 ;
117
                   UPDATE 5 ;
118
                   DIP 14 { DROP } ;
119
                   DUG 13 ;
120
                   DUP 14 ;
121
                   GET 6 ;
122
                   DUP 15 ;
123
                   PUSH nat 1 ;
124
                   DUP 3 ;
125
                   ADD ;
126
                   UPDATE 6 ;
127
                   DIP 15 { DROP } ;
128
                   DUG 14 ;
129
                   DUP 15 ;
130
                   DIP 1 { DROP } ;
131
                   DIP 1 { DROP } ;
132
                   DIP 1 { DROP } ;
133
                   DIP 1 { DROP } ;
134
                   DIP 1 { DROP } ;
135
                   DIP 1 { DROP } ;
136
                   DIP 1 { DROP } ;
137
                   DIP 1 { DROP } ;
138
                   DIP 1 { DROP } ;
139
                   DIP 1 { DROP } ;
140
                   DIP 1 { DROP } ;
141
                   DIP 1 { DROP } ;
142
                   DUP 2 ;
143
                   PAIR ;
144
                   DIP 1 { DROP } ;
145
                   DIP 1 { DROP } ;
146
                   DIP 1 { DROP } }
147
                 { NIL operation ;
148
                   DUP 3 ;
149
                   GET 3 ;
150
                   DUP 1 ;
151
                   IF { PUSH string "Contract is paused" ; FAILWITH } {} ;
152
                   AMOUNT ;
153
                   PUSH mutez 5000000 ;
154
                   DUP 2 ;
155
                   COMPARE ;
156
                   NEQ ;
157
                   DUP 1 ;
158
                   IF
159
                     { PUSH string "You must pay 5 tez to join a game" ; FAILWITH }
160
                     {} ;
161
                   DUP 6 ;
162
                   GET 5 ;
163
                   DUP 1 ;
164
                   DUP 7 ;
165
                   GET ;
166
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
167
                   DUP 1 ;
168
                   GET 3 ;
169
                   SENDER ;
170
                   DUP 1 ;
171
                   DUP 3 ;
172
                   COMPARE ;
173
                   EQ ;
174
                   DUP 1 ;
175
                   IF
176
                     { PUSH string "You are already playing this game" ; FAILWITH }
177
                     {} ;
178
                   DUP 4 ;
179
                   GET 13 ;
180
                   DUP 1 ;
181
                   IF { PUSH string "Game is already started" ; FAILWITH } {} ;
182
                   DUP 5 ;
183
                   GET 15 ;
184
                   DUP 1 ;
185
                   IF { PUSH string "Game is finished" ; FAILWITH } {} ;
186
                   DUP 13 ;
187
                   GET 5 ;
188
                   DUP 1 ;
189
                   DUP 14 ;
190
                   GET ;
191
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
192
                   DUP 1 ;
193
                   SENDER ;
194
                   UPDATE 5 ;
195
                   DIP 1 { DROP } ;
196
                   DUG 0 ;
197
                   DUP 2 ;
198
                   DUP 2 ;
199
                   SOME ;
200
                   DUP 16 ;
201
                   UPDATE ;
202
                   DIP 2 { DROP } ;
203
                   DUG 1 ;
204
                   DUP 15 ;
205
                   DUP 3 ;
206
                   UPDATE 5 ;
207
                   DIP 15 { DROP } ;
208
                   DUG 14 ;
209
                   DUP 15 ;
210
                   GET 5 ;
211
                   DUP 1 ;
212
                   DUP 16 ;
213
                   GET ;
214
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
215
                   DUP 1 ;
216
                   PUSH bool True ;
217
                   UPDATE 13 ;
218
                   DIP 1 { DROP } ;
219
                   DUG 0 ;
220
                   DUP 2 ;
221
                   DUP 2 ;
222
                   SOME ;
223
                   DUP 18 ;
224
                   UPDATE ;
225
                   DIP 2 { DROP } ;
226
                   DUG 1 ;
227
                   DUP 17 ;
228
                   DUP 3 ;
229
                   UPDATE 5 ;
230
                   DIP 17 { DROP } ;
231
                   DUG 16 ;
232
                   DUP 17 ;
233
                   DIP 1 { DROP } ;
234
                   DIP 1 { DROP } ;
235
                   DIP 1 { DROP } ;
236
                   DIP 1 { DROP } ;
237
                   DIP 1 { DROP } ;
238
                   DIP 1 { DROP } ;
239
                   DIP 1 { DROP } ;
240
                   DIP 1 { DROP } ;
241
                   DIP 1 { DROP } ;
242
                   DIP 1 { DROP } ;
243
                   DIP 1 { DROP } ;
244
                   DIP 1 { DROP } ;
245
                   DIP 1 { DROP } ;
246
                   DIP 1 { DROP } ;
247
                   DUP 2 ;
248
                   PAIR ;
249
                   DIP 1 { DROP } ;
250
                   DIP 1 { DROP } ;
251
                   DIP 1 { DROP } } }
252
             { IF_LEFT
253
                 { NIL operation ;
254
                   DUP 3 ;
255
                   GET 3 ;
256
                   DUP 1 ;
257
                   IF { PUSH string "Contract is paused" ; FAILWITH } {} ;
258
                   DUP 4 ;
259
                   GET 5 ;
260
                   DUP 1 ;
261
                   DUP 5 ;
262
                   GET ;
263
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
264
                   DUP 1 ;
265
                   GET 15 ;
266
                   DUP 1 ;
267
                   IF { PUSH string "Game is finished" ; FAILWITH } {} ;
268
                   DUP 2 ;
269
                   GET 13 ;
270
                   DUP 1 ;
271
                   IF { PUSH string "Game is started" ; FAILWITH } {} ;
272
                   SENDER ;
273
                   DUP 4 ;
274
                   GET 3 ;
275
                   DUP 1 ;
276
                   DUP 3 ;
277
                   COMPARE ;
278
                   NEQ ;
279
                   DUP 1 ;
280
                   IF
281
                     { PUSH string "You are not the creator of the game" ; FAILWITH }
282
                     {} ;
283
                   DUP 11 ;
284
                   GET 5 ;
285
                   DUP 1 ;
286
                   DUP 12 ;
287
                   GET ;
288
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
289
                   DUP 1 ;
290
                   PUSH bool True ;
291
                   UPDATE 15 ;
292
                   DIP 1 { DROP } ;
293
                   DUG 0 ;
294
                   DUP 2 ;
295
                   DUP 2 ;
296
                   SOME ;
297
                   DUP 14 ;
298
                   UPDATE ;
299
                   DIP 2 { DROP } ;
300
                   DUG 1 ;
301
                   DUP 13 ;
302
                   DUP 3 ;
303
                   UPDATE 5 ;
304
                   DIP 13 { DROP } ;
305
                   DUG 12 ;
306
                   DUP 8 ;
307
                   GET 3 ;
308
                   DUP 1 ;
309
                   CONTRACT unit ;
310
                   IF_NONE { PUSH string "Contract does not exist" ; FAILWITH } {} ;
311
                   DUP 13 ;
312
                   DUP 2 ;
313
                   PUSH mutez 5000000 ;
314
                   UNIT ;
315
                   TRANSFER_TOKENS ;
316
                   CONS ;
317
                   DIP 13 { DROP } ;
318
                   DUG 12 ;
319
                   DUP 15 ;
320
                   DIP 1 { DROP } ;
321
                   DIP 1 { DROP } ;
322
                   DIP 1 { DROP } ;
323
                   DIP 1 { DROP } ;
324
                   DIP 1 { DROP } ;
325
                   DIP 1 { DROP } ;
326
                   DIP 1 { DROP } ;
327
                   DIP 1 { DROP } ;
328
                   DIP 1 { DROP } ;
329
                   DIP 1 { DROP } ;
330
                   DIP 1 { DROP } ;
331
                   DIP 1 { DROP } ;
332
                   DUP 2 ;
333
                   PAIR ;
334
                   DIP 1 { DROP } ;
335
                   DIP 1 { DROP } ;
336
                   DIP 1 { DROP } }
337
                 { NIL operation ;
338
                   DUP 2 ;
339
                   GET 1 ;
340
                   DUP 3 ;
341
                   GET 3 ;
342
                   DUP 4 ;
343
                   GET 4 ;
344
                   DUP 6 ;
345
                   GET 3 ;
346
                   DUP 1 ;
347
                   IF { PUSH string "Contract is paused" ; FAILWITH } {} ;
348
                   DUP 7 ;
349
                   GET 5 ;
350
                   DUP 1 ;
351
                   DUP 6 ;
352
                   GET ;
353
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
354
                   DUP 1 ;
355
                   GET 15 ;
356
                   DUP 1 ;
357
                   IF { PUSH string "Game is finished" ; FAILWITH } {} ;
358
                   DUP 2 ;
359
                   GET 13 ;
360
                   DUP 1 ;
361
                   NOT ;
362
                   DUP 1 ;
363
                   IF { PUSH string "Game is not started" ; FAILWITH } {} ;
364
                   DUP 4 ;
365
                   GET 18 ;
366
                   PUSH nat 1 ;
367
                   DUP 2 ;
368
                   COMPARE ;
369
                   EQ ;
370
                   SENDER ;
371
                   DUP 7 ;
372
                   GET 3 ;
373
                   DUP 1 ;
374
                   DUP 3 ;
375
                   COMPARE ;
376
                   NEQ ;
377
                   DUP 1 ;
378
                   DUP 5 ;
379
                   AND ;
380
                   DUP 1 ;
381
                   IF { PUSH string "Player 1 turn" ; FAILWITH } {} ;
382
                   DUP 10 ;
383
                   GET 18 ;
384
                   PUSH nat 2 ;
385
                   DUP 2 ;
386
                   COMPARE ;
387
                   EQ ;
388
                   SENDER ;
389
                   DUP 13 ;
390
                   GET 5 ;
391
                   DUP 1 ;
392
                   DUP 3 ;
393
                   COMPARE ;
394
                   NEQ ;
395
                   DUP 1 ;
396
                   DUP 5 ;
397
                   AND ;
398
                   DUP 1 ;
399
                   IF { PUSH string "Player 2 turn" ; FAILWITH } {} ;
400
                   PUSH nat 1 ;
401
                   DUP 21 ;
402
                   COMPARE ;
403
                   LT ;
404
                   PUSH nat 3 ;
405
                   DUP 22 ;
406
                   COMPARE ;
407
                   GT ;
408
                   DUP 1 ;
409
                   DUP 3 ;
410
                   OR ;
411
                   DUP 1 ;
412
                   IF
413
                     { PUSH string "Invalid x value, must be between 1 and 3" ; FAILWITH }
414
                     {} ;
415
                   PUSH nat 1 ;
416
                   DUP 23 ;
417
                   COMPARE ;
418
                   LT ;
419
                   PUSH nat 3 ;
420
                   DUP 24 ;
421
                   COMPARE ;
422
                   GT ;
423
                   DUP 1 ;
424
                   DUP 3 ;
425
                   OR ;
426
                   DUP 1 ;
427
                   IF
428
                     { PUSH string "Invalid y value, must be between 1 and 3" ; FAILWITH }
429
                     {} ;
430
                   DUP 22 ;
431
                   GET 17 ;
432
                   DUP 1 ;
433
                   DUP 27 ;
434
                   GET ;
435
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
436
                   DUP 1 ;
437
                   GET 2 ;
438
                   DUP 1 ;
439
                   DUP 30 ;
440
                   GET ;
441
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
442
                   PUSH string "_" ;
443
                   DUP 2 ;
444
                   COMPARE ;
445
                   NEQ ;
446
                   DUP 1 ;
447
                   IF { PUSH string "Cell already played" ; FAILWITH } {} ;
448
                   DUP 35 ;
449
                   GET 5 ;
450
                   DUP 1 ;
451
                   DUP 34 ;
452
                   GET ;
453
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
454
                   DUP 1 ;
455
                   GET 18 ;
456
                   PUSH nat 1 ;
457
                   DUP 2 ;
458
                   COMPARE ;
459
                   EQ ;
460
                   DUP 1 ;
461
                   IF
462
                     { DUP 39 ;
463
                       GET 5 ;
464
                       DUP 1 ;
465
                       DUP 38 ;
466
                       GET ;
467
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
468
                       DUP 1 ;
469
                       GET 17 ;
470
                       DUP 1 ;
471
                       DUP 38 ;
472
                       GET ;
473
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
474
                       DUP 1 ;
475
                       GET 2 ;
476
                       DUP 1 ;
477
                       PUSH string "X" ;
478
                       SOME ;
479
                       DUP 42 ;
480
                       UPDATE ;
481
                       DIP 1 { DROP } ;
482
                       DUG 0 ;
483
                       DUP 2 ;
484
                       DUP 2 ;
485
                       UPDATE 2 ;
486
                       DIP 2 { DROP } ;
487
                       DUG 1 ;
488
                       DUP 3 ;
489
                       DUP 3 ;
490
                       SOME ;
491
                       DUP 41 ;
492
                       UPDATE ;
493
                       DIP 3 { DROP } ;
494
                       DUG 2 ;
495
                       DUP 4 ;
496
                       DUP 4 ;
497
                       UPDATE 17 ;
498
                       DIP 4 { DROP } ;
499
                       DUG 3 ;
500
                       DUP 5 ;
501
                       DUP 5 ;
502
                       SOME ;
503
                       DUP 43 ;
504
                       UPDATE ;
505
                       DIP 5 { DROP } ;
506
                       DUG 4 ;
507
                       DUP 44 ;
508
                       DUP 6 ;
509
                       UPDATE 5 ;
510
                       DIP 44 { DROP } ;
511
                       DUG 43 ;
512
                       DIP 0 { DROP } ;
513
                       DIP 0 { DROP } ;
514
                       DIP 0 { DROP } ;
515
                       DIP 0 { DROP } ;
516
                       DIP 0 { DROP } }
517
                     { DUP 39 ;
518
                       GET 5 ;
519
                       DUP 1 ;
520
                       DUP 38 ;
521
                       GET ;
522
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
523
                       DUP 1 ;
524
                       GET 17 ;
525
                       DUP 1 ;
526
                       DUP 38 ;
527
                       GET ;
528
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
529
                       DUP 1 ;
530
                       GET 2 ;
531
                       DUP 1 ;
532
                       PUSH string "O" ;
533
                       SOME ;
534
                       DUP 42 ;
535
                       UPDATE ;
536
                       DIP 1 { DROP } ;
537
                       DUG 0 ;
538
                       DUP 2 ;
539
                       DUP 2 ;
540
                       UPDATE 2 ;
541
                       DIP 2 { DROP } ;
542
                       DUG 1 ;
543
                       DUP 3 ;
544
                       DUP 3 ;
545
                       SOME ;
546
                       DUP 41 ;
547
                       UPDATE ;
548
                       DIP 3 { DROP } ;
549
                       DUG 2 ;
550
                       DUP 4 ;
551
                       DUP 4 ;
552
                       UPDATE 17 ;
553
                       DIP 4 { DROP } ;
554
                       DUG 3 ;
555
                       DUP 5 ;
556
                       DUP 5 ;
557
                       SOME ;
558
                       DUP 43 ;
559
                       UPDATE ;
560
                       DIP 5 { DROP } ;
561
                       DUG 4 ;
562
                       DUP 44 ;
563
                       DUP 6 ;
564
                       UPDATE 5 ;
565
                       DIP 44 { DROP } ;
566
                       DUG 43 ;
567
                       DIP 0 { DROP } ;
568
                       DIP 0 { DROP } ;
569
                       DIP 0 { DROP } ;
570
                       DIP 0 { DROP } ;
571
                       DIP 0 { DROP } } ;
572
                   DUP 39 ;
573
                   GET 5 ;
574
                   DUP 1 ;
575
                   DUP 38 ;
576
                   GET ;
577
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
578
                   DUP 41 ;
579
                   GET 5 ;
580
                   DUP 1 ;
581
                   DUP 40 ;
582
                   GET ;
583
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
584
                   DUP 1 ;
585
                   GET 7 ;
586
                   DUP 4 ;
587
                   PUSH nat 1 ;
588
                   DUP 3 ;
589
                   ADD ;
590
                   UPDATE 7 ;
591
                   DIP 4 { DROP } ;
592
                   DUG 3 ;
593
                   DUP 5 ;
594
                   DUP 5 ;
595
                   SOME ;
596
                   DUP 43 ;
597
                   UPDATE ;
598
                   DIP 5 { DROP } ;
599
                   DUG 4 ;
600
                   DUP 44 ;
601
                   DUP 6 ;
602
                   UPDATE 5 ;
603
                   DIP 44 { DROP } ;
604
                   DUG 43 ;
605
                   DUP 44 ;
606
                   GET 5 ;
607
                   DUP 1 ;
608
                   DUP 43 ;
609
                   GET ;
610
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
611
                   DUP 1 ;
612
                   GET 17 ;
613
                   DUP 1 ;
614
                   DUP 43 ;
615
                   GET ;
616
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
617
                   DUP 1 ;
618
                   GET 2 ;
619
                   DUP 1 ;
620
                   PUSH nat 1 ;
621
                   GET ;
622
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
623
                   PUSH string "_" ;
624
                   DUP 2 ;
625
                   COMPARE ;
626
                   NEQ ;
627
                   DUP 5 ;
628
                   DUP 47 ;
629
                   GET ;
630
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
631
                   DUP 1 ;
632
                   GET 2 ;
633
                   DUP 1 ;
634
                   PUSH nat 1 ;
635
                   GET ;
636
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
637
                   DUP 8 ;
638
                   DUP 50 ;
639
                   GET ;
640
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
641
                   DUP 1 ;
642
                   GET 2 ;
643
                   DUP 1 ;
644
                   PUSH nat 2 ;
645
                   GET ;
646
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
647
                   DUP 1 ;
648
                   DUP 5 ;
649
                   COMPARE ;
650
                   EQ ;
651
                   DUP 1 ;
652
                   DUP 9 ;
653
                   AND ;
654
                   DUP 13 ;
655
                   DUP 55 ;
656
                   GET ;
657
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
658
                   DUP 1 ;
659
                   GET 2 ;
660
                   DUP 1 ;
661
                   PUSH nat 1 ;
662
                   GET ;
663
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
664
                   DUP 16 ;
665
                   DUP 58 ;
666
                   GET ;
667
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
668
                   DUP 1 ;
669
                   GET 2 ;
670
                   DUP 1 ;
671
                   PUSH nat 3 ;
672
                   GET ;
673
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
674
                   DUP 1 ;
675
                   DUP 5 ;
676
                   COMPARE ;
677
                   EQ ;
678
                   DUP 1 ;
679
                   DUP 9 ;
680
                   AND ;
681
                   DUP 1 ;
682
                   IF
683
                     { DUP 67 ;
684
                       GET 5 ;
685
                       DUP 1 ;
686
                       DUP 66 ;
687
                       GET ;
688
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
689
                       DUP 1 ;
690
                       GET 18 ;
691
                       PUSH nat 1 ;
692
                       DUP 2 ;
693
                       COMPARE ;
694
                       EQ ;
695
                       DUP 1 ;
696
                       IF
697
                         { DUP 71 ;
698
                           GET 5 ;
699
                           DUP 1 ;
700
                           DUP 70 ;
701
                           GET ;
702
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
703
                           DUP 73 ;
704
                           GET 5 ;
705
                           DUP 1 ;
706
                           DUP 72 ;
707
                           GET ;
708
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
709
                           DUP 3 ;
710
                           DUP 2 ;
711
                           GET 3 ;
712
                           UPDATE 9 ;
713
                           DIP 3 { DROP } ;
714
                           DUG 2 ;
715
                           DUP 4 ;
716
                           DUP 4 ;
717
                           SOME ;
718
                           DUP 74 ;
719
                           UPDATE ;
720
                           DIP 4 { DROP } ;
721
                           DUG 3 ;
722
                           DUP 75 ;
723
                           DUP 5 ;
724
                           UPDATE 5 ;
725
                           DIP 75 { DROP } ;
726
                           DUG 74 ;
727
                           DIP 0 { DROP } ;
728
                           DIP 0 { DROP } ;
729
                           DIP 0 { DROP } ;
730
                           DIP 0 { DROP } }
731
                         { DUP 71 ;
732
                           GET 5 ;
733
                           DUP 1 ;
734
                           DUP 70 ;
735
                           GET ;
736
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
737
                           DUP 73 ;
738
                           GET 5 ;
739
                           DUP 1 ;
740
                           DUP 72 ;
741
                           GET ;
742
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
743
                           DUP 3 ;
744
                           DUP 2 ;
745
                           GET 5 ;
746
                           UPDATE 9 ;
747
                           DIP 3 { DROP } ;
748
                           DUG 2 ;
749
                           DUP 4 ;
750
                           DUP 4 ;
751
                           SOME ;
752
                           DUP 74 ;
753
                           UPDATE ;
754
                           DIP 4 { DROP } ;
755
                           DUG 3 ;
756
                           DUP 75 ;
757
                           DUP 5 ;
758
                           UPDATE 5 ;
759
                           DIP 75 { DROP } ;
760
                           DUG 74 ;
761
                           DIP 0 { DROP } ;
762
                           DIP 0 { DROP } ;
763
                           DIP 0 { DROP } ;
764
                           DIP 0 { DROP } } ;
765
                       DUP 71 ;
766
                       GET 5 ;
767
                       DUP 1 ;
768
                       DUP 70 ;
769
                       GET ;
770
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
771
                       DUP 1 ;
772
                       PUSH bool True ;
773
                       UPDATE 15 ;
774
                       DIP 1 { DROP } ;
775
                       DUG 0 ;
776
                       DUP 2 ;
777
                       DUP 2 ;
778
                       SOME ;
779
                       DUP 72 ;
780
                       UPDATE ;
781
                       DIP 2 { DROP } ;
782
                       DUG 1 ;
783
                       DUP 73 ;
784
                       DUP 3 ;
785
                       UPDATE 5 ;
786
                       DIP 73 { DROP } ;
787
                       DUG 72 ;
788
                       DIP 0 { DROP } ;
789
                       DIP 0 { DROP } ;
790
                       DIP 0 { DROP } ;
791
                       DIP 0 { DROP } ;
792
                       DIP 0 { DROP } ;
793
                       DIP 0 { DROP } }
794
                     {} ;
795
                   DUP 21 ;
796
                   PUSH nat 1 ;
797
                   GET ;
798
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
799
                   DUP 1 ;
800
                   GET 2 ;
801
                   DUP 1 ;
802
                   DUP 66 ;
803
                   GET ;
804
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
805
                   PUSH string "_" ;
806
                   DUP 2 ;
807
                   COMPARE ;
808
                   NEQ ;
809
                   DUP 25 ;
810
                   PUSH nat 1 ;
811
                   GET ;
812
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
813
                   DUP 1 ;
814
                   GET 2 ;
815
                   DUP 1 ;
816
                   DUP 70 ;
817
                   GET ;
818
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
819
                   DUP 28 ;
820
                   PUSH nat 2 ;
821
                   GET ;
822
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
823
                   DUP 1 ;
824
                   GET 2 ;
825
                   DUP 1 ;
826
                   DUP 73 ;
827
                   GET ;
828
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
829
                   DUP 1 ;
830
                   DUP 5 ;
831
                   COMPARE ;
832
                   EQ ;
833
                   DUP 1 ;
834
                   DUP 9 ;
835
                   AND ;
836
                   DUP 33 ;
837
                   PUSH nat 1 ;
838
                   GET ;
839
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
840
                   DUP 1 ;
841
                   GET 2 ;
842
                   DUP 1 ;
843
                   DUP 78 ;
844
                   GET ;
845
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
846
                   DUP 36 ;
847
                   PUSH nat 3 ;
848
                   GET ;
849
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
850
                   DUP 1 ;
851
                   GET 2 ;
852
                   DUP 1 ;
853
                   DUP 81 ;
854
                   GET ;
855
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
856
                   DUP 1 ;
857
                   DUP 5 ;
858
                   COMPARE ;
859
                   EQ ;
860
                   DUP 1 ;
861
                   DUP 9 ;
862
                   AND ;
863
                   DUP 1 ;
864
                   IF
865
                     { DUP 87 ;
866
                       GET 5 ;
867
                       DUP 1 ;
868
                       DUP 86 ;
869
                       GET ;
870
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
871
                       DUP 1 ;
872
                       GET 18 ;
873
                       PUSH nat 1 ;
874
                       DUP 2 ;
875
                       COMPARE ;
876
                       EQ ;
877
                       DUP 1 ;
878
                       IF
879
                         { DUP 91 ;
880
                           GET 5 ;
881
                           DUP 1 ;
882
                           DUP 90 ;
883
                           GET ;
884
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
885
                           DUP 93 ;
886
                           GET 5 ;
887
                           DUP 1 ;
888
                           DUP 92 ;
889
                           GET ;
890
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
891
                           DUP 3 ;
892
                           DUP 2 ;
893
                           GET 3 ;
894
                           UPDATE 9 ;
895
                           DIP 3 { DROP } ;
896
                           DUG 2 ;
897
                           DUP 4 ;
898
                           DUP 4 ;
899
                           SOME ;
900
                           DUP 94 ;
901
                           UPDATE ;
902
                           DIP 4 { DROP } ;
903
                           DUG 3 ;
904
                           DUP 95 ;
905
                           DUP 5 ;
906
                           UPDATE 5 ;
907
                           DIP 95 { DROP } ;
908
                           DUG 94 ;
909
                           DIP 0 { DROP } ;
910
                           DIP 0 { DROP } ;
911
                           DIP 0 { DROP } ;
912
                           DIP 0 { DROP } }
913
                         { DUP 91 ;
914
                           GET 5 ;
915
                           DUP 1 ;
916
                           DUP 90 ;
917
                           GET ;
918
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
919
                           DUP 93 ;
920
                           GET 5 ;
921
                           DUP 1 ;
922
                           DUP 92 ;
923
                           GET ;
924
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
925
                           DUP 3 ;
926
                           DUP 2 ;
927
                           GET 5 ;
928
                           UPDATE 9 ;
929
                           DIP 3 { DROP } ;
930
                           DUG 2 ;
931
                           DUP 4 ;
932
                           DUP 4 ;
933
                           SOME ;
934
                           DUP 94 ;
935
                           UPDATE ;
936
                           DIP 4 { DROP } ;
937
                           DUG 3 ;
938
                           DUP 95 ;
939
                           DUP 5 ;
940
                           UPDATE 5 ;
941
                           DIP 95 { DROP } ;
942
                           DUG 94 ;
943
                           DIP 0 { DROP } ;
944
                           DIP 0 { DROP } ;
945
                           DIP 0 { DROP } ;
946
                           DIP 0 { DROP } } ;
947
                       DUP 91 ;
948
                       GET 5 ;
949
                       DUP 1 ;
950
                       DUP 90 ;
951
                       GET ;
952
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
953
                       DUP 1 ;
954
                       PUSH bool True ;
955
                       UPDATE 15 ;
956
                       DIP 1 { DROP } ;
957
                       DUG 0 ;
958
                       DUP 2 ;
959
                       DUP 2 ;
960
                       SOME ;
961
                       DUP 92 ;
962
                       UPDATE ;
963
                       DIP 2 { DROP } ;
964
                       DUG 1 ;
965
                       DUP 93 ;
966
                       DUP 3 ;
967
                       UPDATE 5 ;
968
                       DIP 93 { DROP } ;
969
                       DUG 92 ;
970
                       DIP 0 { DROP } ;
971
                       DIP 0 { DROP } ;
972
                       DIP 0 { DROP } ;
973
                       DIP 0 { DROP } ;
974
                       DIP 0 { DROP } ;
975
                       DIP 0 { DROP } }
976
                     {} ;
977
                   DUP 41 ;
978
                   PUSH nat 1 ;
979
                   GET ;
980
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
981
                   DUP 1 ;
982
                   GET 2 ;
983
                   DUP 1 ;
984
                   PUSH nat 1 ;
985
                   GET ;
986
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
987
                   PUSH string "_" ;
988
                   DUP 2 ;
989
                   COMPARE ;
990
                   NEQ ;
991
                   DUP 45 ;
992
                   PUSH nat 1 ;
993
                   GET ;
994
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
995
                   DUP 1 ;
996
                   GET 2 ;
997
                   DUP 1 ;
998
                   PUSH nat 1 ;
999
                   GET ;
1000
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1001
                   DUP 48 ;
1002
                   PUSH nat 2 ;
1003
                   GET ;
1004
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1005
                   DUP 1 ;
1006
                   GET 2 ;
1007
                   DUP 1 ;
1008
                   PUSH nat 2 ;
1009
                   GET ;
1010
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1011
                   DUP 1 ;
1012
                   DUP 5 ;
1013
                   COMPARE ;
1014
                   EQ ;
1015
                   DUP 1 ;
1016
                   DUP 9 ;
1017
                   AND ;
1018
                   DUP 53 ;
1019
                   PUSH nat 1 ;
1020
                   GET ;
1021
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1022
                   DUP 1 ;
1023
                   GET 2 ;
1024
                   DUP 1 ;
1025
                   PUSH nat 1 ;
1026
                   GET ;
1027
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1028
                   DUP 56 ;
1029
                   PUSH nat 3 ;
1030
                   GET ;
1031
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1032
                   DUP 1 ;
1033
                   GET 2 ;
1034
                   DUP 1 ;
1035
                   PUSH nat 3 ;
1036
                   GET ;
1037
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1038
                   DUP 1 ;
1039
                   DUP 5 ;
1040
                   COMPARE ;
1041
                   EQ ;
1042
                   DUP 1 ;
1043
                   DUP 9 ;
1044
                   AND ;
1045
                   DUP 1 ;
1046
                   IF
1047
                     { DUP 107 ;
1048
                       GET 5 ;
1049
                       DUP 1 ;
1050
                       DUP 106 ;
1051
                       GET ;
1052
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1053
                       DUP 1 ;
1054
                       GET 18 ;
1055
                       PUSH nat 1 ;
1056
                       DUP 2 ;
1057
                       COMPARE ;
1058
                       EQ ;
1059
                       DUP 1 ;
1060
                       IF
1061
                         { DUP 111 ;
1062
                           GET 5 ;
1063
                           DUP 1 ;
1064
                           DUP 110 ;
1065
                           GET ;
1066
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1067
                           DUP 113 ;
1068
                           GET 5 ;
1069
                           DUP 1 ;
1070
                           DUP 112 ;
1071
                           GET ;
1072
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1073
                           DUP 3 ;
1074
                           DUP 2 ;
1075
                           GET 3 ;
1076
                           UPDATE 9 ;
1077
                           DIP 3 { DROP } ;
1078
                           DUG 2 ;
1079
                           DUP 4 ;
1080
                           DUP 4 ;
1081
                           SOME ;
1082
                           DUP 114 ;
1083
                           UPDATE ;
1084
                           DIP 4 { DROP } ;
1085
                           DUG 3 ;
1086
                           DUP 115 ;
1087
                           DUP 5 ;
1088
                           UPDATE 5 ;
1089
                           DIP 115 { DROP } ;
1090
                           DUG 114 ;
1091
                           DIP 0 { DROP } ;
1092
                           DIP 0 { DROP } ;
1093
                           DIP 0 { DROP } ;
1094
                           DIP 0 { DROP } }
1095
                         { DUP 111 ;
1096
                           GET 5 ;
1097
                           DUP 1 ;
1098
                           DUP 110 ;
1099
                           GET ;
1100
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1101
                           DUP 113 ;
1102
                           GET 5 ;
1103
                           DUP 1 ;
1104
                           DUP 112 ;
1105
                           GET ;
1106
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1107
                           DUP 3 ;
1108
                           DUP 2 ;
1109
                           GET 5 ;
1110
                           UPDATE 9 ;
1111
                           DIP 3 { DROP } ;
1112
                           DUG 2 ;
1113
                           DUP 4 ;
1114
                           DUP 4 ;
1115
                           SOME ;
1116
                           DUP 114 ;
1117
                           UPDATE ;
1118
                           DIP 4 { DROP } ;
1119
                           DUG 3 ;
1120
                           DUP 115 ;
1121
                           DUP 5 ;
1122
                           UPDATE 5 ;
1123
                           DIP 115 { DROP } ;
1124
                           DUG 114 ;
1125
                           DIP 0 { DROP } ;
1126
                           DIP 0 { DROP } ;
1127
                           DIP 0 { DROP } ;
1128
                           DIP 0 { DROP } } ;
1129
                       DUP 111 ;
1130
                       GET 5 ;
1131
                       DUP 1 ;
1132
                       DUP 110 ;
1133
                       GET ;
1134
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1135
                       DUP 1 ;
1136
                       PUSH bool True ;
1137
                       UPDATE 15 ;
1138
                       DIP 1 { DROP } ;
1139
                       DUG 0 ;
1140
                       DUP 2 ;
1141
                       DUP 2 ;
1142
                       SOME ;
1143
                       DUP 112 ;
1144
                       UPDATE ;
1145
                       DIP 2 { DROP } ;
1146
                       DUG 1 ;
1147
                       DUP 113 ;
1148
                       DUP 3 ;
1149
                       UPDATE 5 ;
1150
                       DIP 113 { DROP } ;
1151
                       DUG 112 ;
1152
                       DIP 0 { DROP } ;
1153
                       DIP 0 { DROP } ;
1154
                       DIP 0 { DROP } ;
1155
                       DIP 0 { DROP } ;
1156
                       DIP 0 { DROP } ;
1157
                       DIP 0 { DROP } }
1158
                     {} ;
1159
                   DUP 61 ;
1160
                   PUSH nat 1 ;
1161
                   GET ;
1162
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1163
                   DUP 1 ;
1164
                   GET 2 ;
1165
                   DUP 1 ;
1166
                   PUSH nat 3 ;
1167
                   GET ;
1168
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1169
                   PUSH string "_" ;
1170
                   DUP 2 ;
1171
                   COMPARE ;
1172
                   NEQ ;
1173
                   DUP 65 ;
1174
                   PUSH nat 1 ;
1175
                   GET ;
1176
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1177
                   DUP 1 ;
1178
                   GET 2 ;
1179
                   DUP 1 ;
1180
                   PUSH nat 3 ;
1181
                   GET ;
1182
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1183
                   DUP 68 ;
1184
                   PUSH nat 2 ;
1185
                   GET ;
1186
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1187
                   DUP 1 ;
1188
                   GET 2 ;
1189
                   DUP 1 ;
1190
                   PUSH nat 2 ;
1191
                   GET ;
1192
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1193
                   DUP 1 ;
1194
                   DUP 5 ;
1195
                   COMPARE ;
1196
                   EQ ;
1197
                   DUP 1 ;
1198
                   DUP 9 ;
1199
                   AND ;
1200
                   DUP 73 ;
1201
                   PUSH nat 1 ;
1202
                   GET ;
1203
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1204
                   DUP 1 ;
1205
                   GET 2 ;
1206
                   DUP 1 ;
1207
                   PUSH nat 3 ;
1208
                   GET ;
1209
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1210
                   DUP 76 ;
1211
                   PUSH nat 3 ;
1212
                   GET ;
1213
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1214
                   DUP 1 ;
1215
                   GET 2 ;
1216
                   DUP 1 ;
1217
                   PUSH nat 1 ;
1218
                   GET ;
1219
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1220
                   DUP 1 ;
1221
                   DUP 5 ;
1222
                   COMPARE ;
1223
                   EQ ;
1224
                   DUP 1 ;
1225
                   DUP 9 ;
1226
                   AND ;
1227
                   DUP 1 ;
1228
                   IF
1229
                     { DUP 127 ;
1230
                       GET 5 ;
1231
                       DUP 1 ;
1232
                       DUP 126 ;
1233
                       GET ;
1234
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1235
                       DUP 1 ;
1236
                       GET 18 ;
1237
                       PUSH nat 1 ;
1238
                       DUP 2 ;
1239
                       COMPARE ;
1240
                       EQ ;
1241
                       DUP 1 ;
1242
                       IF
1243
                         { DUP 131 ;
1244
                           GET 5 ;
1245
                           DUP 1 ;
1246
                           DUP 130 ;
1247
                           GET ;
1248
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1249
                           DUP 133 ;
1250
                           GET 5 ;
1251
                           DUP 1 ;
1252
                           DUP 132 ;
1253
                           GET ;
1254
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1255
                           DUP 3 ;
1256
                           DUP 2 ;
1257
                           GET 3 ;
1258
                           UPDATE 9 ;
1259
                           DIP 3 { DROP } ;
1260
                           DUG 2 ;
1261
                           DUP 4 ;
1262
                           DUP 4 ;
1263
                           SOME ;
1264
                           DUP 134 ;
1265
                           UPDATE ;
1266
                           DIP 4 { DROP } ;
1267
                           DUG 3 ;
1268
                           DUP 135 ;
1269
                           DUP 5 ;
1270
                           UPDATE 5 ;
1271
                           DIP 135 { DROP } ;
1272
                           DUG 134 ;
1273
                           DIP 0 { DROP } ;
1274
                           DIP 0 { DROP } ;
1275
                           DIP 0 { DROP } ;
1276
                           DIP 0 { DROP } }
1277
                         { DUP 131 ;
1278
                           GET 5 ;
1279
                           DUP 1 ;
1280
                           DUP 130 ;
1281
                           GET ;
1282
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1283
                           DUP 133 ;
1284
                           GET 5 ;
1285
                           DUP 1 ;
1286
                           DUP 132 ;
1287
                           GET ;
1288
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1289
                           DUP 3 ;
1290
                           DUP 2 ;
1291
                           GET 5 ;
1292
                           UPDATE 9 ;
1293
                           DIP 3 { DROP } ;
1294
                           DUG 2 ;
1295
                           DUP 4 ;
1296
                           DUP 4 ;
1297
                           SOME ;
1298
                           DUP 134 ;
1299
                           UPDATE ;
1300
                           DIP 4 { DROP } ;
1301
                           DUG 3 ;
1302
                           DUP 135 ;
1303
                           DUP 5 ;
1304
                           UPDATE 5 ;
1305
                           DIP 135 { DROP } ;
1306
                           DUG 134 ;
1307
                           DIP 0 { DROP } ;
1308
                           DIP 0 { DROP } ;
1309
                           DIP 0 { DROP } ;
1310
                           DIP 0 { DROP } } ;
1311
                       DUP 131 ;
1312
                       GET 5 ;
1313
                       DUP 1 ;
1314
                       DUP 130 ;
1315
                       GET ;
1316
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1317
                       DUP 1 ;
1318
                       PUSH bool True ;
1319
                       UPDATE 15 ;
1320
                       DIP 1 { DROP } ;
1321
                       DUG 0 ;
1322
                       DUP 2 ;
1323
                       DUP 2 ;
1324
                       SOME ;
1325
                       DUP 132 ;
1326
                       UPDATE ;
1327
                       DIP 2 { DROP } ;
1328
                       DUG 1 ;
1329
                       DUP 133 ;
1330
                       DUP 3 ;
1331
                       UPDATE 5 ;
1332
                       DIP 133 { DROP } ;
1333
                       DUG 132 ;
1334
                       DIP 0 { DROP } ;
1335
                       DIP 0 { DROP } ;
1336
                       DIP 0 { DROP } ;
1337
                       DIP 0 { DROP } ;
1338
                       DIP 0 { DROP } ;
1339
                       DIP 0 { DROP } }
1340
                     {} ;
1341
                   DUP 127 ;
1342
                   GET 5 ;
1343
                   DUP 1 ;
1344
                   DUP 126 ;
1345
                   GET ;
1346
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1347
                   DUP 1 ;
1348
                   GET 15 ;
1349
                   DUP 1 ;
1350
                   NOT ;
1351
                   DUP 131 ;
1352
                   GET 5 ;
1353
                   DUP 1 ;
1354
                   DUP 130 ;
1355
                   GET ;
1356
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1357
                   DUP 1 ;
1358
                   GET 7 ;
1359
                   PUSH nat 9 ;
1360
                   DUP 2 ;
1361
                   COMPARE ;
1362
                   EQ ;
1363
                   DUP 1 ;
1364
                   DUP 6 ;
1365
                   AND ;
1366
                   DUP 1 ;
1367
                   IF
1368
                     { DUP 136 ;
1369
                       GET 5 ;
1370
                       DUP 1 ;
1371
                       DUP 135 ;
1372
                       GET ;
1373
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1374
                       DUP 1 ;
1375
                       PUSH bool True ;
1376
                       UPDATE 11 ;
1377
                       DIP 1 { DROP } ;
1378
                       DUG 0 ;
1379
                       DUP 2 ;
1380
                       DUP 2 ;
1381
                       SOME ;
1382
                       DUP 137 ;
1383
                       UPDATE ;
1384
                       DIP 2 { DROP } ;
1385
                       DUG 1 ;
1386
                       DUP 138 ;
1387
                       DUP 3 ;
1388
                       UPDATE 5 ;
1389
                       DIP 138 { DROP } ;
1390
                       DUG 137 ;
1391
                       DUP 138 ;
1392
                       GET 5 ;
1393
                       DUP 1 ;
1394
                       DUP 137 ;
1395
                       GET ;
1396
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1397
                       DUP 1 ;
1398
                       PUSH bool True ;
1399
                       UPDATE 15 ;
1400
                       DIP 1 { DROP } ;
1401
                       DUG 0 ;
1402
                       DUP 2 ;
1403
                       DUP 2 ;
1404
                       SOME ;
1405
                       DUP 139 ;
1406
                       UPDATE ;
1407
                       DIP 2 { DROP } ;
1408
                       DUG 1 ;
1409
                       DUP 140 ;
1410
                       DUP 3 ;
1411
                       UPDATE 5 ;
1412
                       DIP 140 { DROP } ;
1413
                       DUG 139 ;
1414
                       DIP 0 { DROP } ;
1415
                       DIP 0 { DROP } ;
1416
                       DIP 0 { DROP } ;
1417
                       DIP 0 { DROP } }
1418
                     {} ;
1419
                   DUP 136 ;
1420
                   GET 5 ;
1421
                   DUP 1 ;
1422
                   DUP 135 ;
1423
                   GET ;
1424
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1425
                   DUP 1 ;
1426
                   GET 15 ;
1427
                   DUP 1 ;
1428
                   IF
1429
                     { DUP 139 ;
1430
                       GET 5 ;
1431
                       DUP 1 ;
1432
                       DUP 138 ;
1433
                       GET ;
1434
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1435
                       DUP 1 ;
1436
                       GET 11 ;
1437
                       DUP 1 ;
1438
                       IF
1439
                         { DUP 134 ;
1440
                           GET 3 ;
1441
                           DUP 1 ;
1442
                           CONTRACT unit ;
1443
                           IF_NONE
1444
                             { PUSH string "Contract does not exist" ; FAILWITH }
1445
                             {} ;
1446
                           DUP 142 ;
1447
                           DUP 2 ;
1448
                           PUSH mutez 5000000 ;
1449
                           UNIT ;
1450
                           TRANSFER_TOKENS ;
1451
                           CONS ;
1452
                           DIP 142 { DROP } ;
1453
                           DUG 141 ;
1454
                           DUP 136 ;
1455
                           GET 5 ;
1456
                           DUP 1 ;
1457
                           CONTRACT unit ;
1458
                           IF_NONE
1459
                             { PUSH string "Contract does not exist" ; FAILWITH }
1460
                             {} ;
1461
                           DUP 144 ;
1462
                           DUP 2 ;
1463
                           PUSH mutez 5000000 ;
1464
                           UNIT ;
1465
                           TRANSFER_TOKENS ;
1466
                           CONS ;
1467
                           DIP 144 { DROP } ;
1468
                           DUG 143 ;
1469
                           DIP 0 { DROP } ;
1470
                           DIP 0 { DROP } ;
1471
                           DIP 0 { DROP } ;
1472
                           DIP 0 { DROP } }
1473
                         { DUP 142 ;
1474
                           GET 5 ;
1475
                           DUP 1 ;
1476
                           DUP 141 ;
1477
                           GET ;
1478
                           IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1479
                           DUP 1 ;
1480
                           GET 9 ;
1481
                           DUP 1 ;
1482
                           CONTRACT unit ;
1483
                           IF_NONE
1484
                             { PUSH string "Contract does not exist" ; FAILWITH }
1485
                             {} ;
1486
                           DUP 144 ;
1487
                           DUP 2 ;
1488
                           PUSH mutez 10000000 ;
1489
                           UNIT ;
1490
                           TRANSFER_TOKENS ;
1491
                           CONS ;
1492
                           DIP 144 { DROP } ;
1493
                           DUG 143 ;
1494
                           DIP 0 { DROP } ;
1495
                           DIP 0 { DROP } ;
1496
                           DIP 0 { DROP } ;
1497
                           DIP 0 { DROP } } ;
1498
                       DIP 0 { DROP } ;
1499
                       DIP 0 { DROP } ;
1500
                       DIP 0 { DROP } }
1501
                     {} ;
1502
                   DUP 139 ;
1503
                   GET 5 ;
1504
                   DUP 1 ;
1505
                   DUP 138 ;
1506
                   GET ;
1507
                   IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1508
                   DUP 1 ;
1509
                   GET 18 ;
1510
                   PUSH nat 1 ;
1511
                   DUP 2 ;
1512
                   COMPARE ;
1513
                   EQ ;
1514
                   DUP 1 ;
1515
                   IF
1516
                     { DUP 143 ;
1517
                       GET 5 ;
1518
                       DUP 1 ;
1519
                       DUP 142 ;
1520
                       GET ;
1521
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1522
                       DUP 1 ;
1523
                       PUSH nat 2 ;
1524
                       UPDATE 18 ;
1525
                       DIP 1 { DROP } ;
1526
                       DUG 0 ;
1527
                       DUP 2 ;
1528
                       DUP 2 ;
1529
                       SOME ;
1530
                       DUP 144 ;
1531
                       UPDATE ;
1532
                       DIP 2 { DROP } ;
1533
                       DUG 1 ;
1534
                       DUP 145 ;
1535
                       DUP 3 ;
1536
                       UPDATE 5 ;
1537
                       DIP 145 { DROP } ;
1538
                       DUG 144 ;
1539
                       DIP 0 { DROP } ;
1540
                       DIP 0 { DROP } }
1541
                     { DUP 143 ;
1542
                       GET 5 ;
1543
                       DUP 1 ;
1544
                       DUP 142 ;
1545
                       GET ;
1546
                       IF_NONE { PUSH string "Key does not exist" ; FAILWITH } {} ;
1547
                       DUP 1 ;
1548
                       PUSH nat 1 ;
1549
                       UPDATE 18 ;
1550
                       DIP 1 { DROP } ;
1551
                       DUG 0 ;
1552
                       DUP 2 ;
1553
                       DUP 2 ;
1554
                       SOME ;
1555
                       DUP 144 ;
1556
                       UPDATE ;
1557
                       DIP 2 { DROP } ;
1558
                       DUG 1 ;
1559
                       DUP 145 ;
1560
                       DUP 3 ;
1561
                       UPDATE 5 ;
1562
                       DIP 145 { DROP } ;
1563
                       DUG 144 ;
1564
                       DIP 0 { DROP } ;
1565
                       DIP 0 { DROP } } ;
1566
                   DUP 143 ;
1567
                   DIP 1 { DROP } ;
1568
                   DIP 1 { DROP } ;
1569
                   DIP 1 { DROP } ;
1570
                   DIP 1 { DROP } ;
1571
                   DIP 1 { DROP } ;
1572
                   DIP 1 { DROP } ;
1573
                   DIP 1 { DROP } ;
1574
                   DIP 1 { DROP } ;
1575
                   DIP 1 { DROP } ;
1576
                   DIP 1 { DROP } ;
1577
                   DIP 1 { DROP } ;
1578
                   DIP 1 { DROP } ;
1579
                   DIP 1 { DROP } ;
1580
                   DIP 1 { DROP } ;
1581
                   DIP 1 { DROP } ;
1582
                   DIP 1 { DROP } ;
1583
                   DIP 1 { DROP } ;
1584
                   DIP 1 { DROP } ;
1585
                   DIP 1 { DROP } ;
1586
                   DIP 1 { DROP } ;
1587
                   DIP 1 { DROP } ;
1588
                   DIP 1 { DROP } ;
1589
                   DIP 1 { DROP } ;
1590
                   DIP 1 { DROP } ;
1591
                   DIP 1 { DROP } ;
1592
                   DIP 1 { DROP } ;
1593
                   DIP 1 { DROP } ;
1594
                   DIP 1 { DROP } ;
1595
                   DIP 1 { DROP } ;
1596
                   DIP 1 { DROP } ;
1597
                   DIP 1 { DROP } ;
1598
                   DIP 1 { DROP } ;
1599
                   DIP 1 { DROP } ;
1600
                   DIP 1 { DROP } ;
1601
                   DIP 1 { DROP } ;
1602
                   DIP 1 { DROP } ;
1603
                   DIP 1 { DROP } ;
1604
                   DIP 1 { DROP } ;
1605
                   DIP 1 { DROP } ;
1606
                   DIP 1 { DROP } ;
1607
                   DIP 1 { DROP } ;
1608
                   DIP 1 { DROP } ;
1609
                   DIP 1 { DROP } ;
1610
                   DIP 1 { DROP } ;
1611
                   DIP 1 { DROP } ;
1612
                   DIP 1 { DROP } ;
1613
                   DIP 1 { DROP } ;
1614
                   DIP 1 { DROP } ;
1615
                   DIP 1 { DROP } ;
1616
                   DIP 1 { DROP } ;
1617
                   DIP 1 { DROP } ;
1618
                   DIP 1 { DROP } ;
1619
                   DIP 1 { DROP } ;
1620
                   DIP 1 { DROP } ;
1621
                   DIP 1 { DROP } ;
1622
                   DIP 1 { DROP } ;
1623
                   DIP 1 { DROP } ;
1624
                   DIP 1 { DROP } ;
1625
                   DIP 1 { DROP } ;
1626
                   DIP 1 { DROP } ;
1627
                   DIP 1 { DROP } ;
1628
                   DIP 1 { DROP } ;
1629
                   DIP 1 { DROP } ;
1630
                   DIP 1 { DROP } ;
1631
                   DIP 1 { DROP } ;
1632
                   DIP 1 { DROP } ;
1633
                   DIP 1 { DROP } ;
1634
                   DIP 1 { DROP } ;
1635
                   DIP 1 { DROP } ;
1636
                   DIP 1 { DROP } ;
1637
                   DIP 1 { DROP } ;
1638
                   DIP 1 { DROP } ;
1639
                   DIP 1 { DROP } ;
1640
                   DIP 1 { DROP } ;
1641
                   DIP 1 { DROP } ;
1642
                   DIP 1 { DROP } ;
1643
                   DIP 1 { DROP } ;
1644
                   DIP 1 { DROP } ;
1645
                   DIP 1 { DROP } ;
1646
                   DIP 1 { DROP } ;
1647
                   DIP 1 { DROP } ;
1648
                   DIP 1 { DROP } ;
1649
                   DIP 1 { DROP } ;
1650
                   DIP 1 { DROP } ;
1651
                   DIP 1 { DROP } ;
1652
                   DIP 1 { DROP } ;
1653
                   DIP 1 { DROP } ;
1654
                   DIP 1 { DROP } ;
1655
                   DIP 1 { DROP } ;
1656
                   DIP 1 { DROP } ;
1657
                   DIP 1 { DROP } ;
1658
                   DIP 1 { DROP } ;
1659
                   DIP 1 { DROP } ;
1660
                   DIP 1 { DROP } ;
1661
                   DIP 1 { DROP } ;
1662
                   DIP 1 { DROP } ;
1663
                   DIP 1 { DROP } ;
1664
                   DIP 1 { DROP } ;
1665
                   DIP 1 { DROP } ;
1666
                   DIP 1 { DROP } ;
1667
                   DIP 1 { DROP } ;
1668
                   DIP 1 { DROP } ;
1669
                   DIP 1 { DROP } ;
1670
                   DIP 1 { DROP } ;
1671
                   DIP 1 { DROP } ;
1672
                   DIP 1 { DROP } ;
1673
                   DIP 1 { DROP } ;
1674
                   DIP 1 { DROP } ;
1675
                   DIP 1 { DROP } ;
1676
                   DIP 1 { DROP } ;
1677
                   DIP 1 { DROP } ;
1678
                   DIP 1 { DROP } ;
1679
                   DIP 1 { DROP } ;
1680
                   DIP 1 { DROP } ;
1681
                   DIP 1 { DROP } ;
1682
                   DIP 1 { DROP } ;
1683
                   DIP 1 { DROP } ;
1684
                   DIP 1 { DROP } ;
1685
                   DIP 1 { DROP } ;
1686
                   DIP 1 { DROP } ;
1687
                   DIP 1 { DROP } ;
1688
                   DIP 1 { DROP } ;
1689
                   DIP 1 { DROP } ;
1690
                   DIP 1 { DROP } ;
1691
                   DIP 1 { DROP } ;
1692
                   DIP 1 { DROP } ;
1693
                   DIP 1 { DROP } ;
1694
                   DIP 1 { DROP } ;
1695
                   DIP 1 { DROP } ;
1696
                   DIP 1 { DROP } ;
1697
                   DIP 1 { DROP } ;
1698
                   DIP 1 { DROP } ;
1699
                   DIP 1 { DROP } ;
1700
                   DIP 1 { DROP } ;
1701
                   DIP 1 { DROP } ;
1702
                   DIP 1 { DROP } ;
1703
                   DIP 1 { DROP } ;
1704
                   DIP 1 { DROP } ;
1705
                   DIP 1 { DROP } ;
1706
                   DIP 1 { DROP } ;
1707
                   DUP 2 ;
1708
                   PAIR ;
1709
                   DIP 1 { DROP } ;
1710
                   DIP 1 { DROP } ;
1711
                   DIP 1 { DROP } } } }
1712
         { NIL operation ;
1713
           SENDER ;
1714
           DUP 4 ;
1715
           GET 1 ;
1716
           DUP 1 ;
1717
           DUP 3 ;
1718
           COMPARE ;
1719
           NEQ ;
1720
           DUP 1 ;
1721
           IF { PUSH string "Only admin can set pause" ; FAILWITH } {} ;
1722
           DUP 6 ;
1723
           DUP 6 ;
1724
           UPDATE 3 ;
1725
           DIP 6 { DROP } ;
1726
           DUG 5 ;
1727
           DUP 6 ;
1728
           DIP 1 { DROP } ;
1729
           DIP 1 { DROP } ;
1730
           DIP 1 { DROP } ;
1731
           DUP 2 ;
1732
           PAIR ;
1733
           DIP 1 { DROP } ;
1734
           DIP 1 { DROP } ;
1735
           DIP 1 { DROP } } }