@cssints/apg-specs 0.0.0-stage → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -2
  3. package/dist/apg/accordion.bridge.d.mts +35 -0
  4. package/dist/apg/accordion.bridge.mjs +326 -0
  5. package/dist/apg/accordion.model.json +8397 -0
  6. package/dist/apg/alert.bridge.d.mts +22 -0
  7. package/dist/apg/alert.bridge.mjs +86 -0
  8. package/dist/apg/alert.model.json +871 -0
  9. package/dist/apg/alertdialog.bridge.d.mts +21 -0
  10. package/dist/apg/alertdialog.bridge.mjs +221 -0
  11. package/dist/apg/alertdialog.model.json +5232 -0
  12. package/dist/apg/breadcrumb.bridge.d.mts +26 -0
  13. package/dist/apg/breadcrumb.bridge.mjs +120 -0
  14. package/dist/apg/breadcrumb.model.json +574 -0
  15. package/dist/apg/button.bridge.d.mts +35 -0
  16. package/dist/apg/button.bridge.mjs +208 -0
  17. package/dist/apg/button.model.json +5814 -0
  18. package/dist/apg/carousel.bridge.d.mts +44 -0
  19. package/dist/apg/carousel.bridge.mjs +262 -0
  20. package/dist/apg/carousel.model.json +8963 -0
  21. package/dist/apg/checkbox-group.bridge.d.mts +25 -0
  22. package/dist/apg/checkbox-group.bridge.mjs +276 -0
  23. package/dist/apg/checkbox-group.model.json +3863 -0
  24. package/dist/apg/checkbox.bridge.d.mts +34 -0
  25. package/dist/apg/checkbox.bridge.mjs +253 -0
  26. package/dist/apg/checkbox.model.json +3158 -0
  27. package/dist/apg/combobox-autocomplete.bridge.d.mts +14 -0
  28. package/dist/apg/combobox-autocomplete.bridge.mjs +326 -0
  29. package/dist/apg/combobox-autocomplete.model.json +11586 -0
  30. package/dist/apg/combobox-dialog.bridge.d.mts +17 -0
  31. package/dist/apg/combobox-dialog.bridge.mjs +250 -0
  32. package/dist/apg/combobox-dialog.model.json +8981 -0
  33. package/dist/apg/combobox-grid.bridge.d.mts +17 -0
  34. package/dist/apg/combobox-grid.bridge.mjs +227 -0
  35. package/dist/apg/combobox-grid.model.json +8554 -0
  36. package/dist/apg/combobox-select-only.bridge.d.mts +24 -0
  37. package/dist/apg/combobox-select-only.bridge.mjs +304 -0
  38. package/dist/apg/combobox-select-only.model.json +7846 -0
  39. package/dist/apg/combobox-tree.bridge.d.mts +17 -0
  40. package/dist/apg/combobox-tree.bridge.mjs +211 -0
  41. package/dist/apg/combobox-tree.model.json +9345 -0
  42. package/dist/apg/dialog-modal.bridge.d.mts +35 -0
  43. package/dist/apg/dialog-modal.bridge.mjs +186 -0
  44. package/dist/apg/dialog-modal.model.json +7580 -0
  45. package/dist/apg/disclosure.bridge.d.mts +25 -0
  46. package/dist/apg/disclosure.bridge.mjs +202 -0
  47. package/dist/apg/disclosure.model.json +4703 -0
  48. package/dist/apg/feed.bridge.d.mts +31 -0
  49. package/dist/apg/feed.bridge.mjs +246 -0
  50. package/dist/apg/feed.model.json +4523 -0
  51. package/dist/apg/grid-selection.bridge.d.mts +13 -0
  52. package/dist/apg/grid-selection.bridge.mjs +160 -0
  53. package/dist/apg/grid-selection.model.json +6974 -0
  54. package/dist/apg/grid-sort.bridge.d.mts +12 -0
  55. package/dist/apg/grid-sort.bridge.mjs +138 -0
  56. package/dist/apg/grid-sort.model.json +3799 -0
  57. package/dist/apg/grid.bridge.d.mts +54 -0
  58. package/dist/apg/grid.bridge.mjs +441 -0
  59. package/dist/apg/grid.model.json +3802 -0
  60. package/dist/apg/link.bridge.d.mts +24 -0
  61. package/dist/apg/link.bridge.mjs +126 -0
  62. package/dist/apg/link.model.json +694 -0
  63. package/dist/apg/listbox-multi.bridge.d.mts +10 -0
  64. package/dist/apg/listbox-multi.bridge.mjs +261 -0
  65. package/dist/apg/listbox-multi.model.json +10893 -0
  66. package/dist/apg/listbox-rearrangeable.bridge.d.mts +20 -0
  67. package/dist/apg/listbox-rearrangeable.bridge.mjs +237 -0
  68. package/dist/apg/listbox-rearrangeable.model.json +17592 -0
  69. package/dist/apg/listbox-shared.d.mts +58 -0
  70. package/dist/apg/listbox-shared.mjs +171 -0
  71. package/dist/apg/listbox-single.bridge.d.mts +10 -0
  72. package/dist/apg/listbox-single.bridge.mjs +196 -0
  73. package/dist/apg/listbox-single.model.json +8024 -0
  74. package/dist/apg/listbox-typeahead.bridge.d.mts +10 -0
  75. package/dist/apg/listbox-typeahead.bridge.mjs +153 -0
  76. package/dist/apg/listbox-typeahead.model.json +5615 -0
  77. package/dist/apg/menu-button.bridge.d.mts +29 -0
  78. package/dist/apg/menu-button.bridge.mjs +259 -0
  79. package/dist/apg/menu-button.model.json +5706 -0
  80. package/dist/apg/menu-checkable.bridge.d.mts +25 -0
  81. package/dist/apg/menu-checkable.bridge.mjs +226 -0
  82. package/dist/apg/menu-checkable.model.json +4277 -0
  83. package/dist/apg/menu-menubar.bridge.d.mts +27 -0
  84. package/dist/apg/menu-menubar.bridge.mjs +273 -0
  85. package/dist/apg/menu-menubar.model.json +9540 -0
  86. package/dist/apg/meter.bridge.d.mts +28 -0
  87. package/dist/apg/meter.bridge.mjs +159 -0
  88. package/dist/apg/meter.model.json +1185 -0
  89. package/dist/apg/player.bridge.d.mts +24 -0
  90. package/dist/apg/player.bridge.mjs +342 -0
  91. package/dist/apg/player.model.json +11013 -0
  92. package/dist/apg/radio.bridge.d.mts +35 -0
  93. package/dist/apg/radio.bridge.mjs +371 -0
  94. package/dist/apg/radio.model.json +5011 -0
  95. package/dist/apg/slider-multithumb.bridge.d.mts +34 -0
  96. package/dist/apg/slider-multithumb.bridge.mjs +365 -0
  97. package/dist/apg/slider-multithumb.model.json +5774 -0
  98. package/dist/apg/slider.bridge.d.mts +54 -0
  99. package/dist/apg/slider.bridge.mjs +359 -0
  100. package/dist/apg/slider.model.json +4881 -0
  101. package/dist/apg/spinbutton.bridge.d.mts +41 -0
  102. package/dist/apg/spinbutton.bridge.mjs +327 -0
  103. package/dist/apg/spinbutton.model.json +7571 -0
  104. package/dist/apg/switch.bridge.d.mts +30 -0
  105. package/dist/apg/switch.bridge.mjs +243 -0
  106. package/dist/apg/switch.model.json +3159 -0
  107. package/dist/apg/tabs.bridge.d.mts +41 -0
  108. package/dist/apg/tabs.bridge.mjs +294 -0
  109. package/dist/apg/tabs.model.json +7659 -0
  110. package/dist/apg/timeline.bridge.d.mts +36 -0
  111. package/dist/apg/timeline.bridge.mjs +265 -0
  112. package/dist/apg/timeline.model.json +6189 -0
  113. package/dist/apg/toolbar.bridge.d.mts +25 -0
  114. package/dist/apg/toolbar.bridge.mjs +307 -0
  115. package/dist/apg/toolbar.model.json +6616 -0
  116. package/dist/apg/tooltip.bridge.d.mts +36 -0
  117. package/dist/apg/tooltip.bridge.mjs +208 -0
  118. package/dist/apg/tooltip.model.json +8295 -0
  119. package/dist/apg/treegrid.bridge.d.mts +28 -0
  120. package/dist/apg/treegrid.bridge.mjs +311 -0
  121. package/dist/apg/treegrid.model.json +17358 -0
  122. package/dist/apg/treeview.bridge.d.mts +26 -0
  123. package/dist/apg/treeview.bridge.mjs +396 -0
  124. package/dist/apg/treeview.model.json +13745 -0
  125. package/dist/apg/windowsplitter.bridge.d.mts +36 -0
  126. package/dist/apg/windowsplitter.bridge.mjs +242 -0
  127. package/dist/apg/windowsplitter.model.json +6253 -0
  128. package/dist/canvas/camera.model.json +6568 -0
  129. package/dist/canvas/canvas.bridge.d.mts +190 -0
  130. package/dist/canvas/canvas.bridge.mjs +729 -0
  131. package/dist/canvas/pointer.model.json +17095 -0
  132. package/dist/scenario.d.mts +233 -0
  133. package/dist/scenario.mjs +313 -0
  134. package/package.json +57 -4
  135. package/scenarios/apg/README.md +221 -0
  136. package/scenarios/apg/accordion.base-ui.json +1005 -0
  137. package/scenarios/apg/accordion.react-aria.json +929 -0
  138. package/scenarios/apg/alert.base-ui.json +81 -0
  139. package/scenarios/apg/alert.react-aria.json +98 -0
  140. package/scenarios/apg/alertdialog.base-ui.json +331 -0
  141. package/scenarios/apg/alertdialog.react-aria.json +225 -0
  142. package/scenarios/apg/breadcrumb.react-aria.json +312 -0
  143. package/scenarios/apg/button.ariakit.json +136 -0
  144. package/scenarios/apg/button.base-ui.json +747 -0
  145. package/scenarios/apg/button.react-aria.json +443 -0
  146. package/scenarios/apg/carousel.apg.json +909 -0
  147. package/scenarios/apg/checkbox.ariakit.json +299 -0
  148. package/scenarios/apg/checkbox.base-ui.json +1126 -0
  149. package/scenarios/apg/checkbox.react-aria.json +518 -0
  150. package/scenarios/apg/combobox.ariakit.json +945 -0
  151. package/scenarios/apg/combobox.base-ui.json +2444 -0
  152. package/scenarios/apg/combobox.react-aria.json +845 -0
  153. package/scenarios/apg/dialog-modal.ariakit.json +1102 -0
  154. package/scenarios/apg/dialog-modal.base-ui.json +775 -0
  155. package/scenarios/apg/dialog-modal.react-aria.json +638 -0
  156. package/scenarios/apg/disclosure.apg.json +349 -0
  157. package/scenarios/apg/disclosure.ariakit.json +163 -0
  158. package/scenarios/apg/disclosure.base-ui.json +451 -0
  159. package/scenarios/apg/disclosure.react-aria.json +643 -0
  160. package/scenarios/apg/feed.apg.json +442 -0
  161. package/scenarios/apg/grid.ariakit.json +197 -0
  162. package/scenarios/apg/grid.base-ui.json +720 -0
  163. package/scenarios/apg/grid.react-aria.json +969 -0
  164. package/scenarios/apg/landmarks.ariakit.json +93 -0
  165. package/scenarios/apg/landmarks.react-aria.json +330 -0
  166. package/scenarios/apg/link.ariakit.json +83 -0
  167. package/scenarios/apg/link.base-ui.json +88 -0
  168. package/scenarios/apg/link.react-aria.json +186 -0
  169. package/scenarios/apg/listbox.ariakit.json +78 -0
  170. package/scenarios/apg/listbox.base-ui.json +163 -0
  171. package/scenarios/apg/listbox.react-aria.json +1118 -0
  172. package/scenarios/apg/menu-button.ariakit.json +924 -0
  173. package/scenarios/apg/menu-button.base-ui.json +1155 -0
  174. package/scenarios/apg/menu-button.react-aria.json +1080 -0
  175. package/scenarios/apg/menubar.ariakit.json +758 -0
  176. package/scenarios/apg/menubar.base-ui.json +673 -0
  177. package/scenarios/apg/meter.base-ui.json +243 -0
  178. package/scenarios/apg/meter.react-aria.json +201 -0
  179. package/scenarios/apg/radio.ariakit.json +459 -0
  180. package/scenarios/apg/radio.base-ui.json +581 -0
  181. package/scenarios/apg/radio.react-aria.json +576 -0
  182. package/scenarios/apg/slider-multithumb.base-ui.json +316 -0
  183. package/scenarios/apg/slider-multithumb.react-aria.json +363 -0
  184. package/scenarios/apg/slider.base-ui.json +544 -0
  185. package/scenarios/apg/slider.react-aria.json +456 -0
  186. package/scenarios/apg/spinbutton.base-ui.json +1688 -0
  187. package/scenarios/apg/spinbutton.react-aria.json +426 -0
  188. package/scenarios/apg/switch.base-ui.json +456 -0
  189. package/scenarios/apg/switch.react-aria.json +303 -0
  190. package/scenarios/apg/table.ariakit.json +65 -0
  191. package/scenarios/apg/table.react-aria.json +221 -0
  192. package/scenarios/apg/tabs.ariakit.json +329 -0
  193. package/scenarios/apg/tabs.base-ui.json +875 -0
  194. package/scenarios/apg/tabs.react-aria.json +644 -0
  195. package/scenarios/apg/toolbar.ariakit.json +595 -0
  196. package/scenarios/apg/toolbar.base-ui.json +1189 -0
  197. package/scenarios/apg/toolbar.react-aria.json +383 -0
  198. package/scenarios/apg/tooltip.ariakit.json +441 -0
  199. package/scenarios/apg/tooltip.base-ui.json +411 -0
  200. package/scenarios/apg/tooltip.react-aria.json +454 -0
  201. package/scenarios/apg/treegrid.apg.json +2558 -0
  202. package/scenarios/apg/treegrid.react-aria.json +5094 -0
  203. package/scenarios/apg/treeview.apg.json +928 -0
  204. package/scenarios/apg/windowsplitter.apg.json +557 -0
  205. package/scenarios/canvas/README.md +69 -0
  206. package/scenarios/canvas/camera.contract.json +237 -0
  207. package/scenarios/canvas/camera.excalidraw.json +57 -0
  208. package/scenarios/canvas/marquee.excalidraw.json +122 -0
  209. package/scenarios/canvas/pan.excalidraw.json +46 -0
  210. package/scenarios/canvas/pointer.contract.json +528 -0
  211. package/scenarios/parts.json +291 -0
  212. package/shared/aria.qnt +186 -0
  213. package/shared/details-group.qnt +50 -0
  214. package/shared/focusgroup.qnt +152 -0
  215. package/shared/invokers.qnt +81 -0
  216. package/shared/popover.qnt +71 -0
  217. package/specs/apg/STATIC.md +103 -0
  218. package/specs/apg/accordion.qnt +578 -0
  219. package/specs/apg/alert.qnt +131 -0
  220. package/specs/apg/alertdialog.qnt +455 -0
  221. package/specs/apg/breadcrumb.qnt +88 -0
  222. package/specs/apg/button.qnt +445 -0
  223. package/specs/apg/carousel.qnt +732 -0
  224. package/specs/apg/checkbox-group.qnt +388 -0
  225. package/specs/apg/checkbox.qnt +394 -0
  226. package/specs/apg/combobox-autocomplete.qnt +764 -0
  227. package/specs/apg/combobox-dialog.qnt +627 -0
  228. package/specs/apg/combobox-grid.qnt +632 -0
  229. package/specs/apg/combobox-select-only.qnt +626 -0
  230. package/specs/apg/combobox-tree.qnt +633 -0
  231. package/specs/apg/dialog-modal.qnt +499 -0
  232. package/specs/apg/disclosure.qnt +309 -0
  233. package/specs/apg/feed.qnt +485 -0
  234. package/specs/apg/grid-selection.qnt +512 -0
  235. package/specs/apg/grid-sort.qnt +330 -0
  236. package/specs/apg/grid.qnt +360 -0
  237. package/specs/apg/link.qnt +119 -0
  238. package/specs/apg/listbox-multi.qnt +799 -0
  239. package/specs/apg/listbox-rearrangeable.qnt +801 -0
  240. package/specs/apg/listbox-single.qnt +511 -0
  241. package/specs/apg/listbox-typeahead.qnt +396 -0
  242. package/specs/apg/menu-button.qnt +363 -0
  243. package/specs/apg/menu-checkable.qnt +304 -0
  244. package/specs/apg/menu-menubar.qnt +531 -0
  245. package/specs/apg/meter.qnt +129 -0
  246. package/specs/apg/player.qnt +1081 -0
  247. package/specs/apg/radio.qnt +394 -0
  248. package/specs/apg/slider-multithumb.qnt +441 -0
  249. package/specs/apg/slider.qnt +396 -0
  250. package/specs/apg/spinbutton.qnt +494 -0
  251. package/specs/apg/switch.qnt +389 -0
  252. package/specs/apg/tabs.qnt +412 -0
  253. package/specs/apg/timeline.qnt +612 -0
  254. package/specs/apg/toolbar.qnt +364 -0
  255. package/specs/apg/tooltip.qnt +553 -0
  256. package/specs/apg/treegrid.qnt +983 -0
  257. package/specs/apg/treeview.qnt +1004 -0
  258. package/specs/apg/windowsplitter.qnt +487 -0
  259. package/specs/canvas/camera.qnt +407 -0
  260. package/specs/canvas/pointer.qnt +841 -0
@@ -0,0 +1,3863 @@
1
+ {
2
+ "generatedFrom": "../../specs/apg/checkbox-group.qnt",
3
+ "specHash": "35010cbb4aef0e7a5c52a1f588f8cd81784e1b0992ac824ab48a2e5b1467d2f5",
4
+ "module": "apg_checkbox_group",
5
+ "vars": [
6
+ {
7
+ "name": "c0",
8
+ "type": "bool"
9
+ },
10
+ {
11
+ "name": "c1",
12
+ "type": "bool"
13
+ },
14
+ {
15
+ "name": "c2",
16
+ "type": "bool"
17
+ },
18
+ {
19
+ "name": "m0",
20
+ "type": "bool"
21
+ },
22
+ {
23
+ "name": "m1",
24
+ "type": "bool"
25
+ },
26
+ {
27
+ "name": "m2",
28
+ "type": "bool"
29
+ },
30
+ {
31
+ "name": "focus",
32
+ "type": "str"
33
+ },
34
+ {
35
+ "name": "remember",
36
+ "type": "bool"
37
+ },
38
+ {
39
+ "name": "controlled",
40
+ "type": "bool"
41
+ },
42
+ {
43
+ "name": "accepting",
44
+ "type": "bool"
45
+ },
46
+ {
47
+ "name": "valueProp",
48
+ "type": "int"
49
+ },
50
+ {
51
+ "name": "requested",
52
+ "type": "int"
53
+ },
54
+ {
55
+ "name": "outcome",
56
+ "type": "str"
57
+ },
58
+ {
59
+ "name": "base",
60
+ "type": "int"
61
+ },
62
+ {
63
+ "name": "requests",
64
+ "type": "int"
65
+ }
66
+ ],
67
+ "defs": {
68
+ "isAll": {
69
+ "kind": "function",
70
+ "params": [
71
+ "a",
72
+ "b",
73
+ "c"
74
+ ],
75
+ "body": {
76
+ "kind": "app",
77
+ "opcode": "and",
78
+ "args": [
79
+ {
80
+ "kind": "name",
81
+ "name": "a"
82
+ },
83
+ {
84
+ "kind": "name",
85
+ "name": "b"
86
+ },
87
+ {
88
+ "kind": "name",
89
+ "name": "c"
90
+ }
91
+ ]
92
+ }
93
+ },
94
+ "isNone": {
95
+ "kind": "function",
96
+ "params": [
97
+ "a",
98
+ "b",
99
+ "c"
100
+ ],
101
+ "body": {
102
+ "kind": "app",
103
+ "opcode": "not",
104
+ "args": [
105
+ {
106
+ "kind": "app",
107
+ "opcode": "or",
108
+ "args": [
109
+ {
110
+ "kind": "name",
111
+ "name": "a"
112
+ },
113
+ {
114
+ "kind": "name",
115
+ "name": "b"
116
+ },
117
+ {
118
+ "kind": "name",
119
+ "name": "c"
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ }
125
+ },
126
+ "isMixedSet": {
127
+ "kind": "function",
128
+ "params": [
129
+ "a",
130
+ "b",
131
+ "c"
132
+ ],
133
+ "body": {
134
+ "kind": "app",
135
+ "opcode": "and",
136
+ "args": [
137
+ {
138
+ "kind": "app",
139
+ "opcode": "not",
140
+ "args": [
141
+ {
142
+ "kind": "app",
143
+ "opcode": "isAll",
144
+ "args": [
145
+ {
146
+ "kind": "name",
147
+ "name": "a"
148
+ },
149
+ {
150
+ "kind": "name",
151
+ "name": "b"
152
+ },
153
+ {
154
+ "kind": "name",
155
+ "name": "c"
156
+ }
157
+ ]
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "kind": "app",
163
+ "opcode": "not",
164
+ "args": [
165
+ {
166
+ "kind": "app",
167
+ "opcode": "isNone",
168
+ "args": [
169
+ {
170
+ "kind": "name",
171
+ "name": "a"
172
+ },
173
+ {
174
+ "kind": "name",
175
+ "name": "b"
176
+ },
177
+ {
178
+ "kind": "name",
179
+ "name": "c"
180
+ }
181
+ ]
182
+ }
183
+ ]
184
+ }
185
+ ]
186
+ }
187
+ },
188
+ "parentChecked": {
189
+ "kind": "function",
190
+ "params": [
191
+ "a",
192
+ "b",
193
+ "c"
194
+ ],
195
+ "body": {
196
+ "kind": "app",
197
+ "opcode": "ite",
198
+ "args": [
199
+ {
200
+ "kind": "app",
201
+ "opcode": "isAll",
202
+ "args": [
203
+ {
204
+ "kind": "name",
205
+ "name": "a"
206
+ },
207
+ {
208
+ "kind": "name",
209
+ "name": "b"
210
+ },
211
+ {
212
+ "kind": "name",
213
+ "name": "c"
214
+ }
215
+ ]
216
+ },
217
+ {
218
+ "kind": "str",
219
+ "value": "true"
220
+ },
221
+ {
222
+ "kind": "app",
223
+ "opcode": "ite",
224
+ "args": [
225
+ {
226
+ "kind": "app",
227
+ "opcode": "isNone",
228
+ "args": [
229
+ {
230
+ "kind": "name",
231
+ "name": "a"
232
+ },
233
+ {
234
+ "kind": "name",
235
+ "name": "b"
236
+ },
237
+ {
238
+ "kind": "name",
239
+ "name": "c"
240
+ }
241
+ ]
242
+ },
243
+ {
244
+ "kind": "str",
245
+ "value": "false"
246
+ },
247
+ {
248
+ "kind": "str",
249
+ "value": "mixed"
250
+ }
251
+ ]
252
+ }
253
+ ]
254
+ }
255
+ },
256
+ "restores": {
257
+ "kind": "function",
258
+ "params": [
259
+ "a",
260
+ "b",
261
+ "c",
262
+ "ma",
263
+ "mb",
264
+ "mc",
265
+ "remember"
266
+ ],
267
+ "body": {
268
+ "kind": "app",
269
+ "opcode": "and",
270
+ "args": [
271
+ {
272
+ "kind": "name",
273
+ "name": "remember"
274
+ },
275
+ {
276
+ "kind": "app",
277
+ "opcode": "isNone",
278
+ "args": [
279
+ {
280
+ "kind": "name",
281
+ "name": "a"
282
+ },
283
+ {
284
+ "kind": "name",
285
+ "name": "b"
286
+ },
287
+ {
288
+ "kind": "name",
289
+ "name": "c"
290
+ }
291
+ ]
292
+ },
293
+ {
294
+ "kind": "app",
295
+ "opcode": "isMixedSet",
296
+ "args": [
297
+ {
298
+ "kind": "name",
299
+ "name": "ma"
300
+ },
301
+ {
302
+ "kind": "name",
303
+ "name": "mb"
304
+ },
305
+ {
306
+ "kind": "name",
307
+ "name": "mc"
308
+ }
309
+ ]
310
+ }
311
+ ]
312
+ }
313
+ },
314
+ "nextChild": {
315
+ "kind": "function",
316
+ "params": [
317
+ "name",
318
+ "ci",
319
+ "mi",
320
+ "target",
321
+ "allChecked",
322
+ "restore"
323
+ ],
324
+ "body": {
325
+ "kind": "app",
326
+ "opcode": "ite",
327
+ "args": [
328
+ {
329
+ "kind": "app",
330
+ "opcode": "eq",
331
+ "args": [
332
+ {
333
+ "kind": "name",
334
+ "name": "target"
335
+ },
336
+ {
337
+ "kind": "name",
338
+ "name": "name"
339
+ }
340
+ ]
341
+ },
342
+ {
343
+ "kind": "app",
344
+ "opcode": "not",
345
+ "args": [
346
+ {
347
+ "kind": "name",
348
+ "name": "ci"
349
+ }
350
+ ]
351
+ },
352
+ {
353
+ "kind": "app",
354
+ "opcode": "ite",
355
+ "args": [
356
+ {
357
+ "kind": "app",
358
+ "opcode": "eq",
359
+ "args": [
360
+ {
361
+ "kind": "name",
362
+ "name": "target"
363
+ },
364
+ {
365
+ "kind": "str",
366
+ "value": "parent"
367
+ }
368
+ ]
369
+ },
370
+ {
371
+ "kind": "app",
372
+ "opcode": "ite",
373
+ "args": [
374
+ {
375
+ "kind": "name",
376
+ "name": "allChecked"
377
+ },
378
+ {
379
+ "kind": "bool",
380
+ "value": false
381
+ },
382
+ {
383
+ "kind": "app",
384
+ "opcode": "ite",
385
+ "args": [
386
+ {
387
+ "kind": "name",
388
+ "name": "restore"
389
+ },
390
+ {
391
+ "kind": "name",
392
+ "name": "mi"
393
+ },
394
+ {
395
+ "kind": "bool",
396
+ "value": true
397
+ }
398
+ ]
399
+ }
400
+ ]
401
+ },
402
+ {
403
+ "kind": "name",
404
+ "name": "ci"
405
+ }
406
+ ]
407
+ }
408
+ ]
409
+ }
410
+ },
411
+ "keepMemory": {
412
+ "kind": "function",
413
+ "params": [
414
+ "mixedNow",
415
+ "ci",
416
+ "mi"
417
+ ],
418
+ "body": {
419
+ "kind": "app",
420
+ "opcode": "ite",
421
+ "args": [
422
+ {
423
+ "kind": "name",
424
+ "name": "mixedNow"
425
+ },
426
+ {
427
+ "kind": "name",
428
+ "name": "ci"
429
+ },
430
+ {
431
+ "kind": "name",
432
+ "name": "mi"
433
+ }
434
+ ]
435
+ }
436
+ },
437
+ "nextFocus": {
438
+ "kind": "function",
439
+ "params": [
440
+ "f"
441
+ ],
442
+ "body": {
443
+ "kind": "app",
444
+ "opcode": "ite",
445
+ "args": [
446
+ {
447
+ "kind": "app",
448
+ "opcode": "eq",
449
+ "args": [
450
+ {
451
+ "kind": "name",
452
+ "name": "f"
453
+ },
454
+ {
455
+ "kind": "str",
456
+ "value": "none"
457
+ }
458
+ ]
459
+ },
460
+ {
461
+ "kind": "str",
462
+ "value": "parent"
463
+ },
464
+ {
465
+ "kind": "app",
466
+ "opcode": "ite",
467
+ "args": [
468
+ {
469
+ "kind": "app",
470
+ "opcode": "eq",
471
+ "args": [
472
+ {
473
+ "kind": "name",
474
+ "name": "f"
475
+ },
476
+ {
477
+ "kind": "str",
478
+ "value": "parent"
479
+ }
480
+ ]
481
+ },
482
+ {
483
+ "kind": "str",
484
+ "value": "c0"
485
+ },
486
+ {
487
+ "kind": "app",
488
+ "opcode": "ite",
489
+ "args": [
490
+ {
491
+ "kind": "app",
492
+ "opcode": "eq",
493
+ "args": [
494
+ {
495
+ "kind": "name",
496
+ "name": "f"
497
+ },
498
+ {
499
+ "kind": "str",
500
+ "value": "c0"
501
+ }
502
+ ]
503
+ },
504
+ {
505
+ "kind": "str",
506
+ "value": "c1"
507
+ },
508
+ {
509
+ "kind": "app",
510
+ "opcode": "ite",
511
+ "args": [
512
+ {
513
+ "kind": "app",
514
+ "opcode": "eq",
515
+ "args": [
516
+ {
517
+ "kind": "name",
518
+ "name": "f"
519
+ },
520
+ {
521
+ "kind": "str",
522
+ "value": "c1"
523
+ }
524
+ ]
525
+ },
526
+ {
527
+ "kind": "str",
528
+ "value": "c2"
529
+ },
530
+ {
531
+ "kind": "str",
532
+ "value": "none"
533
+ }
534
+ ]
535
+ }
536
+ ]
537
+ }
538
+ ]
539
+ }
540
+ ]
541
+ }
542
+ },
543
+ "b2i": {
544
+ "kind": "function",
545
+ "params": [
546
+ "b"
547
+ ],
548
+ "body": {
549
+ "kind": "app",
550
+ "opcode": "ite",
551
+ "args": [
552
+ {
553
+ "kind": "name",
554
+ "name": "b"
555
+ },
556
+ {
557
+ "kind": "int",
558
+ "value": "1"
559
+ },
560
+ {
561
+ "kind": "int",
562
+ "value": "0"
563
+ }
564
+ ]
565
+ }
566
+ },
567
+ "packed": {
568
+ "kind": "function",
569
+ "params": [
570
+ "a",
571
+ "b",
572
+ "c"
573
+ ],
574
+ "body": {
575
+ "kind": "app",
576
+ "opcode": "iadd",
577
+ "args": [
578
+ {
579
+ "kind": "app",
580
+ "opcode": "iadd",
581
+ "args": [
582
+ {
583
+ "kind": "app",
584
+ "opcode": "b2i",
585
+ "args": [
586
+ {
587
+ "kind": "name",
588
+ "name": "a"
589
+ }
590
+ ]
591
+ },
592
+ {
593
+ "kind": "app",
594
+ "opcode": "imul",
595
+ "args": [
596
+ {
597
+ "kind": "int",
598
+ "value": "2"
599
+ },
600
+ {
601
+ "kind": "app",
602
+ "opcode": "b2i",
603
+ "args": [
604
+ {
605
+ "kind": "name",
606
+ "name": "b"
607
+ }
608
+ ]
609
+ }
610
+ ]
611
+ }
612
+ ]
613
+ },
614
+ {
615
+ "kind": "app",
616
+ "opcode": "imul",
617
+ "args": [
618
+ {
619
+ "kind": "int",
620
+ "value": "4"
621
+ },
622
+ {
623
+ "kind": "app",
624
+ "opcode": "b2i",
625
+ "args": [
626
+ {
627
+ "kind": "name",
628
+ "name": "c"
629
+ }
630
+ ]
631
+ }
632
+ ]
633
+ }
634
+ ]
635
+ }
636
+ },
637
+ "bitAt": {
638
+ "kind": "function",
639
+ "params": [
640
+ "i",
641
+ "n"
642
+ ],
643
+ "body": {
644
+ "kind": "app",
645
+ "opcode": "ite",
646
+ "args": [
647
+ {
648
+ "kind": "app",
649
+ "opcode": "eq",
650
+ "args": [
651
+ {
652
+ "kind": "name",
653
+ "name": "i"
654
+ },
655
+ {
656
+ "kind": "int",
657
+ "value": "0"
658
+ }
659
+ ]
660
+ },
661
+ {
662
+ "kind": "app",
663
+ "opcode": "eq",
664
+ "args": [
665
+ {
666
+ "kind": "app",
667
+ "opcode": "imod",
668
+ "args": [
669
+ {
670
+ "kind": "name",
671
+ "name": "n"
672
+ },
673
+ {
674
+ "kind": "int",
675
+ "value": "2"
676
+ }
677
+ ]
678
+ },
679
+ {
680
+ "kind": "int",
681
+ "value": "1"
682
+ }
683
+ ]
684
+ },
685
+ {
686
+ "kind": "app",
687
+ "opcode": "ite",
688
+ "args": [
689
+ {
690
+ "kind": "app",
691
+ "opcode": "eq",
692
+ "args": [
693
+ {
694
+ "kind": "name",
695
+ "name": "i"
696
+ },
697
+ {
698
+ "kind": "int",
699
+ "value": "1"
700
+ }
701
+ ]
702
+ },
703
+ {
704
+ "kind": "app",
705
+ "opcode": "eq",
706
+ "args": [
707
+ {
708
+ "kind": "app",
709
+ "opcode": "imod",
710
+ "args": [
711
+ {
712
+ "kind": "app",
713
+ "opcode": "idiv",
714
+ "args": [
715
+ {
716
+ "kind": "name",
717
+ "name": "n"
718
+ },
719
+ {
720
+ "kind": "int",
721
+ "value": "2"
722
+ }
723
+ ]
724
+ },
725
+ {
726
+ "kind": "int",
727
+ "value": "2"
728
+ }
729
+ ]
730
+ },
731
+ {
732
+ "kind": "int",
733
+ "value": "1"
734
+ }
735
+ ]
736
+ },
737
+ {
738
+ "kind": "app",
739
+ "opcode": "eq",
740
+ "args": [
741
+ {
742
+ "kind": "app",
743
+ "opcode": "imod",
744
+ "args": [
745
+ {
746
+ "kind": "app",
747
+ "opcode": "idiv",
748
+ "args": [
749
+ {
750
+ "kind": "name",
751
+ "name": "n"
752
+ },
753
+ {
754
+ "kind": "int",
755
+ "value": "4"
756
+ }
757
+ ]
758
+ },
759
+ {
760
+ "kind": "int",
761
+ "value": "2"
762
+ }
763
+ ]
764
+ },
765
+ {
766
+ "kind": "int",
767
+ "value": "1"
768
+ }
769
+ ]
770
+ }
771
+ ]
772
+ }
773
+ ]
774
+ }
775
+ },
776
+ "holds": {
777
+ "kind": "function",
778
+ "params": [],
779
+ "body": {
780
+ "kind": "app",
781
+ "opcode": "and",
782
+ "args": [
783
+ {
784
+ "kind": "name",
785
+ "name": "controlled"
786
+ },
787
+ {
788
+ "kind": "app",
789
+ "opcode": "not",
790
+ "args": [
791
+ {
792
+ "kind": "name",
793
+ "name": "accepting"
794
+ }
795
+ ]
796
+ }
797
+ ]
798
+ }
799
+ },
800
+ "follows": {
801
+ "kind": "function",
802
+ "params": [],
803
+ "body": {
804
+ "kind": "app",
805
+ "opcode": "and",
806
+ "args": [
807
+ {
808
+ "kind": "name",
809
+ "name": "controlled"
810
+ },
811
+ {
812
+ "kind": "name",
813
+ "name": "accepting"
814
+ }
815
+ ]
816
+ }
817
+ },
818
+ "verdict": {
819
+ "kind": "function",
820
+ "params": [],
821
+ "body": {
822
+ "kind": "app",
823
+ "opcode": "ite",
824
+ "args": [
825
+ {
826
+ "kind": "name",
827
+ "name": "holds"
828
+ },
829
+ {
830
+ "kind": "str",
831
+ "value": "rejected"
832
+ },
833
+ {
834
+ "kind": "str",
835
+ "value": "accepted"
836
+ }
837
+ ]
838
+ }
839
+ },
840
+ "landed": {
841
+ "kind": "function",
842
+ "params": [
843
+ "h",
844
+ "current",
845
+ "want"
846
+ ],
847
+ "body": {
848
+ "kind": "app",
849
+ "opcode": "ite",
850
+ "args": [
851
+ {
852
+ "kind": "name",
853
+ "name": "h"
854
+ },
855
+ {
856
+ "kind": "name",
857
+ "name": "current"
858
+ },
859
+ {
860
+ "kind": "name",
861
+ "name": "want"
862
+ }
863
+ ]
864
+ }
865
+ },
866
+ "propAfter": {
867
+ "kind": "function",
868
+ "params": [
869
+ "f",
870
+ "p",
871
+ "want"
872
+ ],
873
+ "body": {
874
+ "kind": "app",
875
+ "opcode": "ite",
876
+ "args": [
877
+ {
878
+ "kind": "name",
879
+ "name": "f"
880
+ },
881
+ {
882
+ "kind": "name",
883
+ "name": "want"
884
+ },
885
+ {
886
+ "kind": "name",
887
+ "name": "p"
888
+ }
889
+ ]
890
+ }
891
+ },
892
+ "nowPacked": {
893
+ "kind": "function",
894
+ "params": [],
895
+ "body": {
896
+ "kind": "app",
897
+ "opcode": "packed",
898
+ "args": [
899
+ {
900
+ "kind": "name",
901
+ "name": "c0"
902
+ },
903
+ {
904
+ "kind": "name",
905
+ "name": "c1"
906
+ },
907
+ {
908
+ "kind": "name",
909
+ "name": "c2"
910
+ }
911
+ ]
912
+ }
913
+ },
914
+ "intent": {
915
+ "kind": "function",
916
+ "params": [
917
+ "name",
918
+ "ci",
919
+ "mi",
920
+ "target"
921
+ ],
922
+ "body": {
923
+ "kind": "app",
924
+ "opcode": "nextChild",
925
+ "args": [
926
+ {
927
+ "kind": "name",
928
+ "name": "name"
929
+ },
930
+ {
931
+ "kind": "name",
932
+ "name": "ci"
933
+ },
934
+ {
935
+ "kind": "name",
936
+ "name": "mi"
937
+ },
938
+ {
939
+ "kind": "name",
940
+ "name": "target"
941
+ },
942
+ {
943
+ "kind": "app",
944
+ "opcode": "isAll",
945
+ "args": [
946
+ {
947
+ "kind": "name",
948
+ "name": "c0"
949
+ },
950
+ {
951
+ "kind": "name",
952
+ "name": "c1"
953
+ },
954
+ {
955
+ "kind": "name",
956
+ "name": "c2"
957
+ }
958
+ ]
959
+ },
960
+ {
961
+ "kind": "app",
962
+ "opcode": "restores",
963
+ "args": [
964
+ {
965
+ "kind": "name",
966
+ "name": "c0"
967
+ },
968
+ {
969
+ "kind": "name",
970
+ "name": "c1"
971
+ },
972
+ {
973
+ "kind": "name",
974
+ "name": "c2"
975
+ },
976
+ {
977
+ "kind": "name",
978
+ "name": "m0"
979
+ },
980
+ {
981
+ "kind": "name",
982
+ "name": "m1"
983
+ },
984
+ {
985
+ "kind": "name",
986
+ "name": "m2"
987
+ },
988
+ {
989
+ "kind": "name",
990
+ "name": "remember"
991
+ }
992
+ ]
993
+ }
994
+ ]
995
+ }
996
+ },
997
+ "intentPacked": {
998
+ "kind": "function",
999
+ "params": [
1000
+ "target"
1001
+ ],
1002
+ "body": {
1003
+ "kind": "app",
1004
+ "opcode": "packed",
1005
+ "args": [
1006
+ {
1007
+ "kind": "app",
1008
+ "opcode": "intent",
1009
+ "args": [
1010
+ {
1011
+ "kind": "str",
1012
+ "value": "c0"
1013
+ },
1014
+ {
1015
+ "kind": "name",
1016
+ "name": "c0"
1017
+ },
1018
+ {
1019
+ "kind": "name",
1020
+ "name": "m0"
1021
+ },
1022
+ {
1023
+ "kind": "name",
1024
+ "name": "target"
1025
+ }
1026
+ ]
1027
+ },
1028
+ {
1029
+ "kind": "app",
1030
+ "opcode": "intent",
1031
+ "args": [
1032
+ {
1033
+ "kind": "str",
1034
+ "value": "c1"
1035
+ },
1036
+ {
1037
+ "kind": "name",
1038
+ "name": "c1"
1039
+ },
1040
+ {
1041
+ "kind": "name",
1042
+ "name": "m1"
1043
+ },
1044
+ {
1045
+ "kind": "name",
1046
+ "name": "target"
1047
+ }
1048
+ ]
1049
+ },
1050
+ {
1051
+ "kind": "app",
1052
+ "opcode": "intent",
1053
+ "args": [
1054
+ {
1055
+ "kind": "str",
1056
+ "value": "c2"
1057
+ },
1058
+ {
1059
+ "kind": "name",
1060
+ "name": "c2"
1061
+ },
1062
+ {
1063
+ "kind": "name",
1064
+ "name": "m2"
1065
+ },
1066
+ {
1067
+ "kind": "name",
1068
+ "name": "target"
1069
+ }
1070
+ ]
1071
+ }
1072
+ ]
1073
+ }
1074
+ },
1075
+ "moves": {
1076
+ "kind": "function",
1077
+ "params": [
1078
+ "target"
1079
+ ],
1080
+ "body": {
1081
+ "kind": "app",
1082
+ "opcode": "neq",
1083
+ "args": [
1084
+ {
1085
+ "kind": "app",
1086
+ "opcode": "intentPacked",
1087
+ "args": [
1088
+ {
1089
+ "kind": "name",
1090
+ "name": "target"
1091
+ }
1092
+ ]
1093
+ },
1094
+ {
1095
+ "kind": "name",
1096
+ "name": "nowPacked"
1097
+ }
1098
+ ]
1099
+ }
1100
+ },
1101
+ "flipAt": {
1102
+ "kind": "function",
1103
+ "params": [
1104
+ "n",
1105
+ "i"
1106
+ ],
1107
+ "body": {
1108
+ "kind": "app",
1109
+ "opcode": "ite",
1110
+ "args": [
1111
+ {
1112
+ "kind": "app",
1113
+ "opcode": "eq",
1114
+ "args": [
1115
+ {
1116
+ "kind": "name",
1117
+ "name": "i"
1118
+ },
1119
+ {
1120
+ "kind": "int",
1121
+ "value": "0"
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "kind": "app",
1127
+ "opcode": "ite",
1128
+ "args": [
1129
+ {
1130
+ "kind": "app",
1131
+ "opcode": "bitAt",
1132
+ "args": [
1133
+ {
1134
+ "kind": "int",
1135
+ "value": "0"
1136
+ },
1137
+ {
1138
+ "kind": "name",
1139
+ "name": "n"
1140
+ }
1141
+ ]
1142
+ },
1143
+ {
1144
+ "kind": "app",
1145
+ "opcode": "isub",
1146
+ "args": [
1147
+ {
1148
+ "kind": "name",
1149
+ "name": "n"
1150
+ },
1151
+ {
1152
+ "kind": "int",
1153
+ "value": "1"
1154
+ }
1155
+ ]
1156
+ },
1157
+ {
1158
+ "kind": "app",
1159
+ "opcode": "iadd",
1160
+ "args": [
1161
+ {
1162
+ "kind": "name",
1163
+ "name": "n"
1164
+ },
1165
+ {
1166
+ "kind": "int",
1167
+ "value": "1"
1168
+ }
1169
+ ]
1170
+ }
1171
+ ]
1172
+ },
1173
+ {
1174
+ "kind": "app",
1175
+ "opcode": "ite",
1176
+ "args": [
1177
+ {
1178
+ "kind": "app",
1179
+ "opcode": "eq",
1180
+ "args": [
1181
+ {
1182
+ "kind": "name",
1183
+ "name": "i"
1184
+ },
1185
+ {
1186
+ "kind": "int",
1187
+ "value": "1"
1188
+ }
1189
+ ]
1190
+ },
1191
+ {
1192
+ "kind": "app",
1193
+ "opcode": "ite",
1194
+ "args": [
1195
+ {
1196
+ "kind": "app",
1197
+ "opcode": "bitAt",
1198
+ "args": [
1199
+ {
1200
+ "kind": "int",
1201
+ "value": "1"
1202
+ },
1203
+ {
1204
+ "kind": "name",
1205
+ "name": "n"
1206
+ }
1207
+ ]
1208
+ },
1209
+ {
1210
+ "kind": "app",
1211
+ "opcode": "isub",
1212
+ "args": [
1213
+ {
1214
+ "kind": "name",
1215
+ "name": "n"
1216
+ },
1217
+ {
1218
+ "kind": "int",
1219
+ "value": "2"
1220
+ }
1221
+ ]
1222
+ },
1223
+ {
1224
+ "kind": "app",
1225
+ "opcode": "iadd",
1226
+ "args": [
1227
+ {
1228
+ "kind": "name",
1229
+ "name": "n"
1230
+ },
1231
+ {
1232
+ "kind": "int",
1233
+ "value": "2"
1234
+ }
1235
+ ]
1236
+ }
1237
+ ]
1238
+ },
1239
+ {
1240
+ "kind": "app",
1241
+ "opcode": "ite",
1242
+ "args": [
1243
+ {
1244
+ "kind": "app",
1245
+ "opcode": "bitAt",
1246
+ "args": [
1247
+ {
1248
+ "kind": "int",
1249
+ "value": "2"
1250
+ },
1251
+ {
1252
+ "kind": "name",
1253
+ "name": "n"
1254
+ }
1255
+ ]
1256
+ },
1257
+ {
1258
+ "kind": "app",
1259
+ "opcode": "isub",
1260
+ "args": [
1261
+ {
1262
+ "kind": "name",
1263
+ "name": "n"
1264
+ },
1265
+ {
1266
+ "kind": "int",
1267
+ "value": "4"
1268
+ }
1269
+ ]
1270
+ },
1271
+ {
1272
+ "kind": "app",
1273
+ "opcode": "iadd",
1274
+ "args": [
1275
+ {
1276
+ "kind": "name",
1277
+ "name": "n"
1278
+ },
1279
+ {
1280
+ "kind": "int",
1281
+ "value": "4"
1282
+ }
1283
+ ]
1284
+ }
1285
+ ]
1286
+ }
1287
+ ]
1288
+ }
1289
+ ]
1290
+ }
1291
+ },
1292
+ "MixedIffChildrenDisagree": {
1293
+ "kind": "invariant",
1294
+ "params": [],
1295
+ "body": {
1296
+ "kind": "app",
1297
+ "opcode": "eq",
1298
+ "args": [
1299
+ {
1300
+ "kind": "app",
1301
+ "opcode": "eq",
1302
+ "args": [
1303
+ {
1304
+ "kind": "app",
1305
+ "opcode": "parentChecked",
1306
+ "args": [
1307
+ {
1308
+ "kind": "name",
1309
+ "name": "c0"
1310
+ },
1311
+ {
1312
+ "kind": "name",
1313
+ "name": "c1"
1314
+ },
1315
+ {
1316
+ "kind": "name",
1317
+ "name": "c2"
1318
+ }
1319
+ ]
1320
+ },
1321
+ {
1322
+ "kind": "str",
1323
+ "value": "mixed"
1324
+ }
1325
+ ]
1326
+ },
1327
+ {
1328
+ "kind": "app",
1329
+ "opcode": "or",
1330
+ "args": [
1331
+ {
1332
+ "kind": "app",
1333
+ "opcode": "neq",
1334
+ "args": [
1335
+ {
1336
+ "kind": "name",
1337
+ "name": "c0"
1338
+ },
1339
+ {
1340
+ "kind": "name",
1341
+ "name": "c1"
1342
+ }
1343
+ ]
1344
+ },
1345
+ {
1346
+ "kind": "app",
1347
+ "opcode": "neq",
1348
+ "args": [
1349
+ {
1350
+ "kind": "name",
1351
+ "name": "c1"
1352
+ },
1353
+ {
1354
+ "kind": "name",
1355
+ "name": "c2"
1356
+ }
1357
+ ]
1358
+ }
1359
+ ]
1360
+ }
1361
+ ]
1362
+ }
1363
+ },
1364
+ "CheckedIffAllChildrenChecked": {
1365
+ "kind": "invariant",
1366
+ "params": [],
1367
+ "body": {
1368
+ "kind": "app",
1369
+ "opcode": "eq",
1370
+ "args": [
1371
+ {
1372
+ "kind": "app",
1373
+ "opcode": "eq",
1374
+ "args": [
1375
+ {
1376
+ "kind": "app",
1377
+ "opcode": "parentChecked",
1378
+ "args": [
1379
+ {
1380
+ "kind": "name",
1381
+ "name": "c0"
1382
+ },
1383
+ {
1384
+ "kind": "name",
1385
+ "name": "c1"
1386
+ },
1387
+ {
1388
+ "kind": "name",
1389
+ "name": "c2"
1390
+ }
1391
+ ]
1392
+ },
1393
+ {
1394
+ "kind": "str",
1395
+ "value": "true"
1396
+ }
1397
+ ]
1398
+ },
1399
+ {
1400
+ "kind": "app",
1401
+ "opcode": "and",
1402
+ "args": [
1403
+ {
1404
+ "kind": "name",
1405
+ "name": "c0"
1406
+ },
1407
+ {
1408
+ "kind": "name",
1409
+ "name": "c1"
1410
+ },
1411
+ {
1412
+ "kind": "name",
1413
+ "name": "c2"
1414
+ }
1415
+ ]
1416
+ }
1417
+ ]
1418
+ }
1419
+ },
1420
+ "UncheckedIffNoChildChecked": {
1421
+ "kind": "invariant",
1422
+ "params": [],
1423
+ "body": {
1424
+ "kind": "app",
1425
+ "opcode": "eq",
1426
+ "args": [
1427
+ {
1428
+ "kind": "app",
1429
+ "opcode": "eq",
1430
+ "args": [
1431
+ {
1432
+ "kind": "app",
1433
+ "opcode": "parentChecked",
1434
+ "args": [
1435
+ {
1436
+ "kind": "name",
1437
+ "name": "c0"
1438
+ },
1439
+ {
1440
+ "kind": "name",
1441
+ "name": "c1"
1442
+ },
1443
+ {
1444
+ "kind": "name",
1445
+ "name": "c2"
1446
+ }
1447
+ ]
1448
+ },
1449
+ {
1450
+ "kind": "str",
1451
+ "value": "false"
1452
+ }
1453
+ ]
1454
+ },
1455
+ {
1456
+ "kind": "app",
1457
+ "opcode": "not",
1458
+ "args": [
1459
+ {
1460
+ "kind": "app",
1461
+ "opcode": "or",
1462
+ "args": [
1463
+ {
1464
+ "kind": "name",
1465
+ "name": "c0"
1466
+ },
1467
+ {
1468
+ "kind": "name",
1469
+ "name": "c1"
1470
+ },
1471
+ {
1472
+ "kind": "name",
1473
+ "name": "c2"
1474
+ }
1475
+ ]
1476
+ }
1477
+ ]
1478
+ }
1479
+ ]
1480
+ }
1481
+ },
1482
+ "MemoryIsMixedOrEmpty": {
1483
+ "kind": "invariant",
1484
+ "params": [],
1485
+ "body": {
1486
+ "kind": "app",
1487
+ "opcode": "or",
1488
+ "args": [
1489
+ {
1490
+ "kind": "app",
1491
+ "opcode": "isNone",
1492
+ "args": [
1493
+ {
1494
+ "kind": "name",
1495
+ "name": "m0"
1496
+ },
1497
+ {
1498
+ "kind": "name",
1499
+ "name": "m1"
1500
+ },
1501
+ {
1502
+ "kind": "name",
1503
+ "name": "m2"
1504
+ }
1505
+ ]
1506
+ },
1507
+ {
1508
+ "kind": "app",
1509
+ "opcode": "isMixedSet",
1510
+ "args": [
1511
+ {
1512
+ "kind": "name",
1513
+ "name": "m0"
1514
+ },
1515
+ {
1516
+ "kind": "name",
1517
+ "name": "m1"
1518
+ },
1519
+ {
1520
+ "kind": "name",
1521
+ "name": "m2"
1522
+ }
1523
+ ]
1524
+ }
1525
+ ]
1526
+ }
1527
+ },
1528
+ "FocusValid": {
1529
+ "kind": "invariant",
1530
+ "params": [],
1531
+ "body": {
1532
+ "kind": "app",
1533
+ "opcode": "or",
1534
+ "args": [
1535
+ {
1536
+ "kind": "app",
1537
+ "opcode": "eq",
1538
+ "args": [
1539
+ {
1540
+ "kind": "name",
1541
+ "name": "focus"
1542
+ },
1543
+ {
1544
+ "kind": "str",
1545
+ "value": "none"
1546
+ }
1547
+ ]
1548
+ },
1549
+ {
1550
+ "kind": "app",
1551
+ "opcode": "eq",
1552
+ "args": [
1553
+ {
1554
+ "kind": "name",
1555
+ "name": "focus"
1556
+ },
1557
+ {
1558
+ "kind": "str",
1559
+ "value": "parent"
1560
+ }
1561
+ ]
1562
+ },
1563
+ {
1564
+ "kind": "app",
1565
+ "opcode": "eq",
1566
+ "args": [
1567
+ {
1568
+ "kind": "name",
1569
+ "name": "focus"
1570
+ },
1571
+ {
1572
+ "kind": "str",
1573
+ "value": "c0"
1574
+ }
1575
+ ]
1576
+ },
1577
+ {
1578
+ "kind": "app",
1579
+ "opcode": "eq",
1580
+ "args": [
1581
+ {
1582
+ "kind": "name",
1583
+ "name": "focus"
1584
+ },
1585
+ {
1586
+ "kind": "str",
1587
+ "value": "c1"
1588
+ }
1589
+ ]
1590
+ },
1591
+ {
1592
+ "kind": "app",
1593
+ "opcode": "eq",
1594
+ "args": [
1595
+ {
1596
+ "kind": "name",
1597
+ "name": "focus"
1598
+ },
1599
+ {
1600
+ "kind": "str",
1601
+ "value": "c2"
1602
+ }
1603
+ ]
1604
+ }
1605
+ ]
1606
+ }
1607
+ },
1608
+ "RequestsNonNegative": {
1609
+ "kind": "invariant",
1610
+ "params": [],
1611
+ "body": {
1612
+ "kind": "app",
1613
+ "opcode": "igte",
1614
+ "args": [
1615
+ {
1616
+ "kind": "name",
1617
+ "name": "requests"
1618
+ },
1619
+ {
1620
+ "kind": "int",
1621
+ "value": "0"
1622
+ }
1623
+ ]
1624
+ }
1625
+ },
1626
+ "ControlledFollowsProp": {
1627
+ "kind": "invariant",
1628
+ "params": [],
1629
+ "body": {
1630
+ "kind": "app",
1631
+ "opcode": "or",
1632
+ "args": [
1633
+ {
1634
+ "kind": "app",
1635
+ "opcode": "not",
1636
+ "args": [
1637
+ {
1638
+ "kind": "name",
1639
+ "name": "controlled"
1640
+ }
1641
+ ]
1642
+ },
1643
+ {
1644
+ "kind": "app",
1645
+ "opcode": "eq",
1646
+ "args": [
1647
+ {
1648
+ "kind": "name",
1649
+ "name": "nowPacked"
1650
+ },
1651
+ {
1652
+ "kind": "name",
1653
+ "name": "valueProp"
1654
+ }
1655
+ ]
1656
+ }
1657
+ ]
1658
+ }
1659
+ },
1660
+ "RejectedRequestUntouched": {
1661
+ "kind": "invariant",
1662
+ "params": [],
1663
+ "body": {
1664
+ "kind": "app",
1665
+ "opcode": "or",
1666
+ "args": [
1667
+ {
1668
+ "kind": "app",
1669
+ "opcode": "not",
1670
+ "args": [
1671
+ {
1672
+ "kind": "app",
1673
+ "opcode": "eq",
1674
+ "args": [
1675
+ {
1676
+ "kind": "name",
1677
+ "name": "outcome"
1678
+ },
1679
+ {
1680
+ "kind": "str",
1681
+ "value": "rejected"
1682
+ }
1683
+ ]
1684
+ }
1685
+ ]
1686
+ },
1687
+ {
1688
+ "kind": "app",
1689
+ "opcode": "eq",
1690
+ "args": [
1691
+ {
1692
+ "kind": "name",
1693
+ "name": "nowPacked"
1694
+ },
1695
+ {
1696
+ "kind": "name",
1697
+ "name": "base"
1698
+ }
1699
+ ]
1700
+ }
1701
+ ]
1702
+ }
1703
+ },
1704
+ "AcceptedRequestCommits": {
1705
+ "kind": "invariant",
1706
+ "params": [],
1707
+ "body": {
1708
+ "kind": "app",
1709
+ "opcode": "or",
1710
+ "args": [
1711
+ {
1712
+ "kind": "app",
1713
+ "opcode": "not",
1714
+ "args": [
1715
+ {
1716
+ "kind": "app",
1717
+ "opcode": "eq",
1718
+ "args": [
1719
+ {
1720
+ "kind": "name",
1721
+ "name": "outcome"
1722
+ },
1723
+ {
1724
+ "kind": "str",
1725
+ "value": "accepted"
1726
+ }
1727
+ ]
1728
+ }
1729
+ ]
1730
+ },
1731
+ {
1732
+ "kind": "app",
1733
+ "opcode": "eq",
1734
+ "args": [
1735
+ {
1736
+ "kind": "name",
1737
+ "name": "nowPacked"
1738
+ },
1739
+ {
1740
+ "kind": "name",
1741
+ "name": "requested"
1742
+ }
1743
+ ]
1744
+ }
1745
+ ]
1746
+ }
1747
+ }
1748
+ },
1749
+ "actions": [
1750
+ {
1751
+ "name": "init",
1752
+ "assignments": [
1753
+ {
1754
+ "field": "c0",
1755
+ "rhs": {
1756
+ "kind": "bool",
1757
+ "value": false
1758
+ }
1759
+ },
1760
+ {
1761
+ "field": "c1",
1762
+ "rhs": {
1763
+ "kind": "bool",
1764
+ "value": false
1765
+ }
1766
+ },
1767
+ {
1768
+ "field": "c2",
1769
+ "rhs": {
1770
+ "kind": "bool",
1771
+ "value": false
1772
+ }
1773
+ },
1774
+ {
1775
+ "field": "m0",
1776
+ "rhs": {
1777
+ "kind": "bool",
1778
+ "value": false
1779
+ }
1780
+ },
1781
+ {
1782
+ "field": "m1",
1783
+ "rhs": {
1784
+ "kind": "bool",
1785
+ "value": false
1786
+ }
1787
+ },
1788
+ {
1789
+ "field": "m2",
1790
+ "rhs": {
1791
+ "kind": "bool",
1792
+ "value": false
1793
+ }
1794
+ },
1795
+ {
1796
+ "field": "focus",
1797
+ "rhs": {
1798
+ "kind": "str",
1799
+ "value": "none"
1800
+ }
1801
+ },
1802
+ {
1803
+ "field": "remember",
1804
+ "rhs": {
1805
+ "kind": "bool",
1806
+ "value": false
1807
+ }
1808
+ },
1809
+ {
1810
+ "field": "controlled",
1811
+ "rhs": {
1812
+ "kind": "bool",
1813
+ "value": false
1814
+ }
1815
+ },
1816
+ {
1817
+ "field": "accepting",
1818
+ "rhs": {
1819
+ "kind": "bool",
1820
+ "value": false
1821
+ }
1822
+ },
1823
+ {
1824
+ "field": "valueProp",
1825
+ "rhs": {
1826
+ "kind": "int",
1827
+ "value": "0"
1828
+ }
1829
+ },
1830
+ {
1831
+ "field": "requested",
1832
+ "rhs": {
1833
+ "kind": "int",
1834
+ "value": "0"
1835
+ }
1836
+ },
1837
+ {
1838
+ "field": "outcome",
1839
+ "rhs": {
1840
+ "kind": "str",
1841
+ "value": "none"
1842
+ }
1843
+ },
1844
+ {
1845
+ "field": "base",
1846
+ "rhs": {
1847
+ "kind": "int",
1848
+ "value": "0"
1849
+ }
1850
+ },
1851
+ {
1852
+ "field": "requests",
1853
+ "rhs": {
1854
+ "kind": "int",
1855
+ "value": "0"
1856
+ }
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ "name": "focus_on",
1862
+ "nondet": {
1863
+ "name": "target",
1864
+ "kind": "str",
1865
+ "pool": [
1866
+ "parent",
1867
+ "c0",
1868
+ "c1",
1869
+ "c2"
1870
+ ]
1871
+ },
1872
+ "assignments": [
1873
+ {
1874
+ "field": "c0",
1875
+ "rhs": {
1876
+ "kind": "name",
1877
+ "name": "c0"
1878
+ }
1879
+ },
1880
+ {
1881
+ "field": "c1",
1882
+ "rhs": {
1883
+ "kind": "name",
1884
+ "name": "c1"
1885
+ }
1886
+ },
1887
+ {
1888
+ "field": "c2",
1889
+ "rhs": {
1890
+ "kind": "name",
1891
+ "name": "c2"
1892
+ }
1893
+ },
1894
+ {
1895
+ "field": "m0",
1896
+ "rhs": {
1897
+ "kind": "name",
1898
+ "name": "m0"
1899
+ }
1900
+ },
1901
+ {
1902
+ "field": "m1",
1903
+ "rhs": {
1904
+ "kind": "name",
1905
+ "name": "m1"
1906
+ }
1907
+ },
1908
+ {
1909
+ "field": "m2",
1910
+ "rhs": {
1911
+ "kind": "name",
1912
+ "name": "m2"
1913
+ }
1914
+ },
1915
+ {
1916
+ "field": "focus",
1917
+ "rhs": {
1918
+ "kind": "name",
1919
+ "name": "target"
1920
+ }
1921
+ },
1922
+ {
1923
+ "field": "remember",
1924
+ "rhs": {
1925
+ "kind": "name",
1926
+ "name": "remember"
1927
+ }
1928
+ },
1929
+ {
1930
+ "field": "controlled",
1931
+ "rhs": {
1932
+ "kind": "name",
1933
+ "name": "controlled"
1934
+ }
1935
+ },
1936
+ {
1937
+ "field": "accepting",
1938
+ "rhs": {
1939
+ "kind": "name",
1940
+ "name": "accepting"
1941
+ }
1942
+ },
1943
+ {
1944
+ "field": "valueProp",
1945
+ "rhs": {
1946
+ "kind": "name",
1947
+ "name": "valueProp"
1948
+ }
1949
+ },
1950
+ {
1951
+ "field": "requested",
1952
+ "rhs": {
1953
+ "kind": "name",
1954
+ "name": "requested"
1955
+ }
1956
+ },
1957
+ {
1958
+ "field": "outcome",
1959
+ "rhs": {
1960
+ "kind": "name",
1961
+ "name": "outcome"
1962
+ }
1963
+ },
1964
+ {
1965
+ "field": "base",
1966
+ "rhs": {
1967
+ "kind": "name",
1968
+ "name": "base"
1969
+ }
1970
+ },
1971
+ {
1972
+ "field": "requests",
1973
+ "rhs": {
1974
+ "kind": "name",
1975
+ "name": "requests"
1976
+ }
1977
+ }
1978
+ ]
1979
+ },
1980
+ {
1981
+ "name": "blur",
1982
+ "assignments": [
1983
+ {
1984
+ "field": "c0",
1985
+ "rhs": {
1986
+ "kind": "name",
1987
+ "name": "c0"
1988
+ }
1989
+ },
1990
+ {
1991
+ "field": "c1",
1992
+ "rhs": {
1993
+ "kind": "name",
1994
+ "name": "c1"
1995
+ }
1996
+ },
1997
+ {
1998
+ "field": "c2",
1999
+ "rhs": {
2000
+ "kind": "name",
2001
+ "name": "c2"
2002
+ }
2003
+ },
2004
+ {
2005
+ "field": "m0",
2006
+ "rhs": {
2007
+ "kind": "name",
2008
+ "name": "m0"
2009
+ }
2010
+ },
2011
+ {
2012
+ "field": "m1",
2013
+ "rhs": {
2014
+ "kind": "name",
2015
+ "name": "m1"
2016
+ }
2017
+ },
2018
+ {
2019
+ "field": "m2",
2020
+ "rhs": {
2021
+ "kind": "name",
2022
+ "name": "m2"
2023
+ }
2024
+ },
2025
+ {
2026
+ "field": "focus",
2027
+ "rhs": {
2028
+ "kind": "str",
2029
+ "value": "none"
2030
+ }
2031
+ },
2032
+ {
2033
+ "field": "remember",
2034
+ "rhs": {
2035
+ "kind": "name",
2036
+ "name": "remember"
2037
+ }
2038
+ },
2039
+ {
2040
+ "field": "controlled",
2041
+ "rhs": {
2042
+ "kind": "name",
2043
+ "name": "controlled"
2044
+ }
2045
+ },
2046
+ {
2047
+ "field": "accepting",
2048
+ "rhs": {
2049
+ "kind": "name",
2050
+ "name": "accepting"
2051
+ }
2052
+ },
2053
+ {
2054
+ "field": "valueProp",
2055
+ "rhs": {
2056
+ "kind": "name",
2057
+ "name": "valueProp"
2058
+ }
2059
+ },
2060
+ {
2061
+ "field": "requested",
2062
+ "rhs": {
2063
+ "kind": "name",
2064
+ "name": "requested"
2065
+ }
2066
+ },
2067
+ {
2068
+ "field": "outcome",
2069
+ "rhs": {
2070
+ "kind": "name",
2071
+ "name": "outcome"
2072
+ }
2073
+ },
2074
+ {
2075
+ "field": "base",
2076
+ "rhs": {
2077
+ "kind": "name",
2078
+ "name": "base"
2079
+ }
2080
+ },
2081
+ {
2082
+ "field": "requests",
2083
+ "rhs": {
2084
+ "kind": "name",
2085
+ "name": "requests"
2086
+ }
2087
+ }
2088
+ ]
2089
+ },
2090
+ {
2091
+ "name": "key_tab",
2092
+ "assignments": [
2093
+ {
2094
+ "field": "c0",
2095
+ "rhs": {
2096
+ "kind": "name",
2097
+ "name": "c0"
2098
+ }
2099
+ },
2100
+ {
2101
+ "field": "c1",
2102
+ "rhs": {
2103
+ "kind": "name",
2104
+ "name": "c1"
2105
+ }
2106
+ },
2107
+ {
2108
+ "field": "c2",
2109
+ "rhs": {
2110
+ "kind": "name",
2111
+ "name": "c2"
2112
+ }
2113
+ },
2114
+ {
2115
+ "field": "m0",
2116
+ "rhs": {
2117
+ "kind": "name",
2118
+ "name": "m0"
2119
+ }
2120
+ },
2121
+ {
2122
+ "field": "m1",
2123
+ "rhs": {
2124
+ "kind": "name",
2125
+ "name": "m1"
2126
+ }
2127
+ },
2128
+ {
2129
+ "field": "m2",
2130
+ "rhs": {
2131
+ "kind": "name",
2132
+ "name": "m2"
2133
+ }
2134
+ },
2135
+ {
2136
+ "field": "focus",
2137
+ "rhs": {
2138
+ "kind": "app",
2139
+ "opcode": "nextFocus",
2140
+ "args": [
2141
+ {
2142
+ "kind": "name",
2143
+ "name": "focus"
2144
+ }
2145
+ ]
2146
+ }
2147
+ },
2148
+ {
2149
+ "field": "remember",
2150
+ "rhs": {
2151
+ "kind": "name",
2152
+ "name": "remember"
2153
+ }
2154
+ },
2155
+ {
2156
+ "field": "controlled",
2157
+ "rhs": {
2158
+ "kind": "name",
2159
+ "name": "controlled"
2160
+ }
2161
+ },
2162
+ {
2163
+ "field": "accepting",
2164
+ "rhs": {
2165
+ "kind": "name",
2166
+ "name": "accepting"
2167
+ }
2168
+ },
2169
+ {
2170
+ "field": "valueProp",
2171
+ "rhs": {
2172
+ "kind": "name",
2173
+ "name": "valueProp"
2174
+ }
2175
+ },
2176
+ {
2177
+ "field": "requested",
2178
+ "rhs": {
2179
+ "kind": "name",
2180
+ "name": "requested"
2181
+ }
2182
+ },
2183
+ {
2184
+ "field": "outcome",
2185
+ "rhs": {
2186
+ "kind": "name",
2187
+ "name": "outcome"
2188
+ }
2189
+ },
2190
+ {
2191
+ "field": "base",
2192
+ "rhs": {
2193
+ "kind": "name",
2194
+ "name": "base"
2195
+ }
2196
+ },
2197
+ {
2198
+ "field": "requests",
2199
+ "rhs": {
2200
+ "kind": "name",
2201
+ "name": "requests"
2202
+ }
2203
+ }
2204
+ ]
2205
+ },
2206
+ {
2207
+ "name": "key_space",
2208
+ "assignments": [
2209
+ {
2210
+ "field": "c0",
2211
+ "rhs": {
2212
+ "kind": "app",
2213
+ "opcode": "landed",
2214
+ "args": [
2215
+ {
2216
+ "kind": "name",
2217
+ "name": "holds"
2218
+ },
2219
+ {
2220
+ "kind": "name",
2221
+ "name": "c0"
2222
+ },
2223
+ {
2224
+ "kind": "app",
2225
+ "opcode": "intent",
2226
+ "args": [
2227
+ {
2228
+ "kind": "str",
2229
+ "value": "c0"
2230
+ },
2231
+ {
2232
+ "kind": "name",
2233
+ "name": "c0"
2234
+ },
2235
+ {
2236
+ "kind": "name",
2237
+ "name": "m0"
2238
+ },
2239
+ {
2240
+ "kind": "name",
2241
+ "name": "focus"
2242
+ }
2243
+ ]
2244
+ }
2245
+ ]
2246
+ }
2247
+ },
2248
+ {
2249
+ "field": "c1",
2250
+ "rhs": {
2251
+ "kind": "app",
2252
+ "opcode": "landed",
2253
+ "args": [
2254
+ {
2255
+ "kind": "name",
2256
+ "name": "holds"
2257
+ },
2258
+ {
2259
+ "kind": "name",
2260
+ "name": "c1"
2261
+ },
2262
+ {
2263
+ "kind": "app",
2264
+ "opcode": "intent",
2265
+ "args": [
2266
+ {
2267
+ "kind": "str",
2268
+ "value": "c1"
2269
+ },
2270
+ {
2271
+ "kind": "name",
2272
+ "name": "c1"
2273
+ },
2274
+ {
2275
+ "kind": "name",
2276
+ "name": "m1"
2277
+ },
2278
+ {
2279
+ "kind": "name",
2280
+ "name": "focus"
2281
+ }
2282
+ ]
2283
+ }
2284
+ ]
2285
+ }
2286
+ },
2287
+ {
2288
+ "field": "c2",
2289
+ "rhs": {
2290
+ "kind": "app",
2291
+ "opcode": "landed",
2292
+ "args": [
2293
+ {
2294
+ "kind": "name",
2295
+ "name": "holds"
2296
+ },
2297
+ {
2298
+ "kind": "name",
2299
+ "name": "c2"
2300
+ },
2301
+ {
2302
+ "kind": "app",
2303
+ "opcode": "intent",
2304
+ "args": [
2305
+ {
2306
+ "kind": "str",
2307
+ "value": "c2"
2308
+ },
2309
+ {
2310
+ "kind": "name",
2311
+ "name": "c2"
2312
+ },
2313
+ {
2314
+ "kind": "name",
2315
+ "name": "m2"
2316
+ },
2317
+ {
2318
+ "kind": "name",
2319
+ "name": "focus"
2320
+ }
2321
+ ]
2322
+ }
2323
+ ]
2324
+ }
2325
+ },
2326
+ {
2327
+ "field": "m0",
2328
+ "rhs": {
2329
+ "kind": "app",
2330
+ "opcode": "keepMemory",
2331
+ "args": [
2332
+ {
2333
+ "kind": "app",
2334
+ "opcode": "isMixedSet",
2335
+ "args": [
2336
+ {
2337
+ "kind": "name",
2338
+ "name": "c0"
2339
+ },
2340
+ {
2341
+ "kind": "name",
2342
+ "name": "c1"
2343
+ },
2344
+ {
2345
+ "kind": "name",
2346
+ "name": "c2"
2347
+ }
2348
+ ]
2349
+ },
2350
+ {
2351
+ "kind": "name",
2352
+ "name": "c0"
2353
+ },
2354
+ {
2355
+ "kind": "name",
2356
+ "name": "m0"
2357
+ }
2358
+ ]
2359
+ }
2360
+ },
2361
+ {
2362
+ "field": "m1",
2363
+ "rhs": {
2364
+ "kind": "app",
2365
+ "opcode": "keepMemory",
2366
+ "args": [
2367
+ {
2368
+ "kind": "app",
2369
+ "opcode": "isMixedSet",
2370
+ "args": [
2371
+ {
2372
+ "kind": "name",
2373
+ "name": "c0"
2374
+ },
2375
+ {
2376
+ "kind": "name",
2377
+ "name": "c1"
2378
+ },
2379
+ {
2380
+ "kind": "name",
2381
+ "name": "c2"
2382
+ }
2383
+ ]
2384
+ },
2385
+ {
2386
+ "kind": "name",
2387
+ "name": "c1"
2388
+ },
2389
+ {
2390
+ "kind": "name",
2391
+ "name": "m1"
2392
+ }
2393
+ ]
2394
+ }
2395
+ },
2396
+ {
2397
+ "field": "m2",
2398
+ "rhs": {
2399
+ "kind": "app",
2400
+ "opcode": "keepMemory",
2401
+ "args": [
2402
+ {
2403
+ "kind": "app",
2404
+ "opcode": "isMixedSet",
2405
+ "args": [
2406
+ {
2407
+ "kind": "name",
2408
+ "name": "c0"
2409
+ },
2410
+ {
2411
+ "kind": "name",
2412
+ "name": "c1"
2413
+ },
2414
+ {
2415
+ "kind": "name",
2416
+ "name": "c2"
2417
+ }
2418
+ ]
2419
+ },
2420
+ {
2421
+ "kind": "name",
2422
+ "name": "c2"
2423
+ },
2424
+ {
2425
+ "kind": "name",
2426
+ "name": "m2"
2427
+ }
2428
+ ]
2429
+ }
2430
+ },
2431
+ {
2432
+ "field": "focus",
2433
+ "rhs": {
2434
+ "kind": "name",
2435
+ "name": "focus"
2436
+ }
2437
+ },
2438
+ {
2439
+ "field": "remember",
2440
+ "rhs": {
2441
+ "kind": "name",
2442
+ "name": "remember"
2443
+ }
2444
+ },
2445
+ {
2446
+ "field": "controlled",
2447
+ "rhs": {
2448
+ "kind": "name",
2449
+ "name": "controlled"
2450
+ }
2451
+ },
2452
+ {
2453
+ "field": "accepting",
2454
+ "rhs": {
2455
+ "kind": "name",
2456
+ "name": "accepting"
2457
+ }
2458
+ },
2459
+ {
2460
+ "field": "valueProp",
2461
+ "rhs": {
2462
+ "kind": "app",
2463
+ "opcode": "propAfter",
2464
+ "args": [
2465
+ {
2466
+ "kind": "name",
2467
+ "name": "follows"
2468
+ },
2469
+ {
2470
+ "kind": "name",
2471
+ "name": "valueProp"
2472
+ },
2473
+ {
2474
+ "kind": "app",
2475
+ "opcode": "intentPacked",
2476
+ "args": [
2477
+ {
2478
+ "kind": "name",
2479
+ "name": "focus"
2480
+ }
2481
+ ]
2482
+ }
2483
+ ]
2484
+ }
2485
+ },
2486
+ {
2487
+ "field": "requested",
2488
+ "rhs": {
2489
+ "kind": "app",
2490
+ "opcode": "ite",
2491
+ "args": [
2492
+ {
2493
+ "kind": "app",
2494
+ "opcode": "moves",
2495
+ "args": [
2496
+ {
2497
+ "kind": "name",
2498
+ "name": "focus"
2499
+ }
2500
+ ]
2501
+ },
2502
+ {
2503
+ "kind": "app",
2504
+ "opcode": "intentPacked",
2505
+ "args": [
2506
+ {
2507
+ "kind": "name",
2508
+ "name": "focus"
2509
+ }
2510
+ ]
2511
+ },
2512
+ {
2513
+ "kind": "name",
2514
+ "name": "requested"
2515
+ }
2516
+ ]
2517
+ }
2518
+ },
2519
+ {
2520
+ "field": "outcome",
2521
+ "rhs": {
2522
+ "kind": "app",
2523
+ "opcode": "ite",
2524
+ "args": [
2525
+ {
2526
+ "kind": "app",
2527
+ "opcode": "moves",
2528
+ "args": [
2529
+ {
2530
+ "kind": "name",
2531
+ "name": "focus"
2532
+ }
2533
+ ]
2534
+ },
2535
+ {
2536
+ "kind": "name",
2537
+ "name": "verdict"
2538
+ },
2539
+ {
2540
+ "kind": "name",
2541
+ "name": "outcome"
2542
+ }
2543
+ ]
2544
+ }
2545
+ },
2546
+ {
2547
+ "field": "base",
2548
+ "rhs": {
2549
+ "kind": "app",
2550
+ "opcode": "ite",
2551
+ "args": [
2552
+ {
2553
+ "kind": "app",
2554
+ "opcode": "moves",
2555
+ "args": [
2556
+ {
2557
+ "kind": "name",
2558
+ "name": "focus"
2559
+ }
2560
+ ]
2561
+ },
2562
+ {
2563
+ "kind": "name",
2564
+ "name": "nowPacked"
2565
+ },
2566
+ {
2567
+ "kind": "name",
2568
+ "name": "base"
2569
+ }
2570
+ ]
2571
+ }
2572
+ },
2573
+ {
2574
+ "field": "requests",
2575
+ "rhs": {
2576
+ "kind": "app",
2577
+ "opcode": "ite",
2578
+ "args": [
2579
+ {
2580
+ "kind": "app",
2581
+ "opcode": "moves",
2582
+ "args": [
2583
+ {
2584
+ "kind": "name",
2585
+ "name": "focus"
2586
+ }
2587
+ ]
2588
+ },
2589
+ {
2590
+ "kind": "app",
2591
+ "opcode": "iadd",
2592
+ "args": [
2593
+ {
2594
+ "kind": "name",
2595
+ "name": "requests"
2596
+ },
2597
+ {
2598
+ "kind": "int",
2599
+ "value": "1"
2600
+ }
2601
+ ]
2602
+ },
2603
+ {
2604
+ "kind": "name",
2605
+ "name": "requests"
2606
+ }
2607
+ ]
2608
+ }
2609
+ }
2610
+ ]
2611
+ },
2612
+ {
2613
+ "name": "click",
2614
+ "nondet": {
2615
+ "name": "target",
2616
+ "kind": "str",
2617
+ "pool": [
2618
+ "parent",
2619
+ "c0",
2620
+ "c1",
2621
+ "c2"
2622
+ ]
2623
+ },
2624
+ "assignments": [
2625
+ {
2626
+ "field": "c0",
2627
+ "rhs": {
2628
+ "kind": "app",
2629
+ "opcode": "landed",
2630
+ "args": [
2631
+ {
2632
+ "kind": "name",
2633
+ "name": "holds"
2634
+ },
2635
+ {
2636
+ "kind": "name",
2637
+ "name": "c0"
2638
+ },
2639
+ {
2640
+ "kind": "app",
2641
+ "opcode": "intent",
2642
+ "args": [
2643
+ {
2644
+ "kind": "str",
2645
+ "value": "c0"
2646
+ },
2647
+ {
2648
+ "kind": "name",
2649
+ "name": "c0"
2650
+ },
2651
+ {
2652
+ "kind": "name",
2653
+ "name": "m0"
2654
+ },
2655
+ {
2656
+ "kind": "name",
2657
+ "name": "target"
2658
+ }
2659
+ ]
2660
+ }
2661
+ ]
2662
+ }
2663
+ },
2664
+ {
2665
+ "field": "c1",
2666
+ "rhs": {
2667
+ "kind": "app",
2668
+ "opcode": "landed",
2669
+ "args": [
2670
+ {
2671
+ "kind": "name",
2672
+ "name": "holds"
2673
+ },
2674
+ {
2675
+ "kind": "name",
2676
+ "name": "c1"
2677
+ },
2678
+ {
2679
+ "kind": "app",
2680
+ "opcode": "intent",
2681
+ "args": [
2682
+ {
2683
+ "kind": "str",
2684
+ "value": "c1"
2685
+ },
2686
+ {
2687
+ "kind": "name",
2688
+ "name": "c1"
2689
+ },
2690
+ {
2691
+ "kind": "name",
2692
+ "name": "m1"
2693
+ },
2694
+ {
2695
+ "kind": "name",
2696
+ "name": "target"
2697
+ }
2698
+ ]
2699
+ }
2700
+ ]
2701
+ }
2702
+ },
2703
+ {
2704
+ "field": "c2",
2705
+ "rhs": {
2706
+ "kind": "app",
2707
+ "opcode": "landed",
2708
+ "args": [
2709
+ {
2710
+ "kind": "name",
2711
+ "name": "holds"
2712
+ },
2713
+ {
2714
+ "kind": "name",
2715
+ "name": "c2"
2716
+ },
2717
+ {
2718
+ "kind": "app",
2719
+ "opcode": "intent",
2720
+ "args": [
2721
+ {
2722
+ "kind": "str",
2723
+ "value": "c2"
2724
+ },
2725
+ {
2726
+ "kind": "name",
2727
+ "name": "c2"
2728
+ },
2729
+ {
2730
+ "kind": "name",
2731
+ "name": "m2"
2732
+ },
2733
+ {
2734
+ "kind": "name",
2735
+ "name": "target"
2736
+ }
2737
+ ]
2738
+ }
2739
+ ]
2740
+ }
2741
+ },
2742
+ {
2743
+ "field": "m0",
2744
+ "rhs": {
2745
+ "kind": "app",
2746
+ "opcode": "keepMemory",
2747
+ "args": [
2748
+ {
2749
+ "kind": "app",
2750
+ "opcode": "isMixedSet",
2751
+ "args": [
2752
+ {
2753
+ "kind": "name",
2754
+ "name": "c0"
2755
+ },
2756
+ {
2757
+ "kind": "name",
2758
+ "name": "c1"
2759
+ },
2760
+ {
2761
+ "kind": "name",
2762
+ "name": "c2"
2763
+ }
2764
+ ]
2765
+ },
2766
+ {
2767
+ "kind": "name",
2768
+ "name": "c0"
2769
+ },
2770
+ {
2771
+ "kind": "name",
2772
+ "name": "m0"
2773
+ }
2774
+ ]
2775
+ }
2776
+ },
2777
+ {
2778
+ "field": "m1",
2779
+ "rhs": {
2780
+ "kind": "app",
2781
+ "opcode": "keepMemory",
2782
+ "args": [
2783
+ {
2784
+ "kind": "app",
2785
+ "opcode": "isMixedSet",
2786
+ "args": [
2787
+ {
2788
+ "kind": "name",
2789
+ "name": "c0"
2790
+ },
2791
+ {
2792
+ "kind": "name",
2793
+ "name": "c1"
2794
+ },
2795
+ {
2796
+ "kind": "name",
2797
+ "name": "c2"
2798
+ }
2799
+ ]
2800
+ },
2801
+ {
2802
+ "kind": "name",
2803
+ "name": "c1"
2804
+ },
2805
+ {
2806
+ "kind": "name",
2807
+ "name": "m1"
2808
+ }
2809
+ ]
2810
+ }
2811
+ },
2812
+ {
2813
+ "field": "m2",
2814
+ "rhs": {
2815
+ "kind": "app",
2816
+ "opcode": "keepMemory",
2817
+ "args": [
2818
+ {
2819
+ "kind": "app",
2820
+ "opcode": "isMixedSet",
2821
+ "args": [
2822
+ {
2823
+ "kind": "name",
2824
+ "name": "c0"
2825
+ },
2826
+ {
2827
+ "kind": "name",
2828
+ "name": "c1"
2829
+ },
2830
+ {
2831
+ "kind": "name",
2832
+ "name": "c2"
2833
+ }
2834
+ ]
2835
+ },
2836
+ {
2837
+ "kind": "name",
2838
+ "name": "c2"
2839
+ },
2840
+ {
2841
+ "kind": "name",
2842
+ "name": "m2"
2843
+ }
2844
+ ]
2845
+ }
2846
+ },
2847
+ {
2848
+ "field": "focus",
2849
+ "rhs": {
2850
+ "kind": "name",
2851
+ "name": "target"
2852
+ }
2853
+ },
2854
+ {
2855
+ "field": "remember",
2856
+ "rhs": {
2857
+ "kind": "name",
2858
+ "name": "remember"
2859
+ }
2860
+ },
2861
+ {
2862
+ "field": "controlled",
2863
+ "rhs": {
2864
+ "kind": "name",
2865
+ "name": "controlled"
2866
+ }
2867
+ },
2868
+ {
2869
+ "field": "accepting",
2870
+ "rhs": {
2871
+ "kind": "name",
2872
+ "name": "accepting"
2873
+ }
2874
+ },
2875
+ {
2876
+ "field": "valueProp",
2877
+ "rhs": {
2878
+ "kind": "app",
2879
+ "opcode": "propAfter",
2880
+ "args": [
2881
+ {
2882
+ "kind": "name",
2883
+ "name": "follows"
2884
+ },
2885
+ {
2886
+ "kind": "name",
2887
+ "name": "valueProp"
2888
+ },
2889
+ {
2890
+ "kind": "app",
2891
+ "opcode": "intentPacked",
2892
+ "args": [
2893
+ {
2894
+ "kind": "name",
2895
+ "name": "target"
2896
+ }
2897
+ ]
2898
+ }
2899
+ ]
2900
+ }
2901
+ },
2902
+ {
2903
+ "field": "requested",
2904
+ "rhs": {
2905
+ "kind": "app",
2906
+ "opcode": "ite",
2907
+ "args": [
2908
+ {
2909
+ "kind": "app",
2910
+ "opcode": "moves",
2911
+ "args": [
2912
+ {
2913
+ "kind": "name",
2914
+ "name": "target"
2915
+ }
2916
+ ]
2917
+ },
2918
+ {
2919
+ "kind": "app",
2920
+ "opcode": "intentPacked",
2921
+ "args": [
2922
+ {
2923
+ "kind": "name",
2924
+ "name": "target"
2925
+ }
2926
+ ]
2927
+ },
2928
+ {
2929
+ "kind": "name",
2930
+ "name": "requested"
2931
+ }
2932
+ ]
2933
+ }
2934
+ },
2935
+ {
2936
+ "field": "outcome",
2937
+ "rhs": {
2938
+ "kind": "app",
2939
+ "opcode": "ite",
2940
+ "args": [
2941
+ {
2942
+ "kind": "app",
2943
+ "opcode": "moves",
2944
+ "args": [
2945
+ {
2946
+ "kind": "name",
2947
+ "name": "target"
2948
+ }
2949
+ ]
2950
+ },
2951
+ {
2952
+ "kind": "name",
2953
+ "name": "verdict"
2954
+ },
2955
+ {
2956
+ "kind": "name",
2957
+ "name": "outcome"
2958
+ }
2959
+ ]
2960
+ }
2961
+ },
2962
+ {
2963
+ "field": "base",
2964
+ "rhs": {
2965
+ "kind": "app",
2966
+ "opcode": "ite",
2967
+ "args": [
2968
+ {
2969
+ "kind": "app",
2970
+ "opcode": "moves",
2971
+ "args": [
2972
+ {
2973
+ "kind": "name",
2974
+ "name": "target"
2975
+ }
2976
+ ]
2977
+ },
2978
+ {
2979
+ "kind": "name",
2980
+ "name": "nowPacked"
2981
+ },
2982
+ {
2983
+ "kind": "name",
2984
+ "name": "base"
2985
+ }
2986
+ ]
2987
+ }
2988
+ },
2989
+ {
2990
+ "field": "requests",
2991
+ "rhs": {
2992
+ "kind": "app",
2993
+ "opcode": "ite",
2994
+ "args": [
2995
+ {
2996
+ "kind": "app",
2997
+ "opcode": "moves",
2998
+ "args": [
2999
+ {
3000
+ "kind": "name",
3001
+ "name": "target"
3002
+ }
3003
+ ]
3004
+ },
3005
+ {
3006
+ "kind": "app",
3007
+ "opcode": "iadd",
3008
+ "args": [
3009
+ {
3010
+ "kind": "name",
3011
+ "name": "requests"
3012
+ },
3013
+ {
3014
+ "kind": "int",
3015
+ "value": "1"
3016
+ }
3017
+ ]
3018
+ },
3019
+ {
3020
+ "kind": "name",
3021
+ "name": "requests"
3022
+ }
3023
+ ]
3024
+ }
3025
+ }
3026
+ ]
3027
+ },
3028
+ {
3029
+ "name": "set_remember",
3030
+ "nondet": {
3031
+ "name": "value",
3032
+ "kind": "bool",
3033
+ "pool": [
3034
+ true,
3035
+ false
3036
+ ]
3037
+ },
3038
+ "assignments": [
3039
+ {
3040
+ "field": "c0",
3041
+ "rhs": {
3042
+ "kind": "name",
3043
+ "name": "c0"
3044
+ }
3045
+ },
3046
+ {
3047
+ "field": "c1",
3048
+ "rhs": {
3049
+ "kind": "name",
3050
+ "name": "c1"
3051
+ }
3052
+ },
3053
+ {
3054
+ "field": "c2",
3055
+ "rhs": {
3056
+ "kind": "name",
3057
+ "name": "c2"
3058
+ }
3059
+ },
3060
+ {
3061
+ "field": "m0",
3062
+ "rhs": {
3063
+ "kind": "name",
3064
+ "name": "m0"
3065
+ }
3066
+ },
3067
+ {
3068
+ "field": "m1",
3069
+ "rhs": {
3070
+ "kind": "name",
3071
+ "name": "m1"
3072
+ }
3073
+ },
3074
+ {
3075
+ "field": "m2",
3076
+ "rhs": {
3077
+ "kind": "name",
3078
+ "name": "m2"
3079
+ }
3080
+ },
3081
+ {
3082
+ "field": "focus",
3083
+ "rhs": {
3084
+ "kind": "name",
3085
+ "name": "focus"
3086
+ }
3087
+ },
3088
+ {
3089
+ "field": "remember",
3090
+ "rhs": {
3091
+ "kind": "name",
3092
+ "name": "value"
3093
+ }
3094
+ },
3095
+ {
3096
+ "field": "controlled",
3097
+ "rhs": {
3098
+ "kind": "name",
3099
+ "name": "controlled"
3100
+ }
3101
+ },
3102
+ {
3103
+ "field": "accepting",
3104
+ "rhs": {
3105
+ "kind": "name",
3106
+ "name": "accepting"
3107
+ }
3108
+ },
3109
+ {
3110
+ "field": "valueProp",
3111
+ "rhs": {
3112
+ "kind": "name",
3113
+ "name": "valueProp"
3114
+ }
3115
+ },
3116
+ {
3117
+ "field": "requested",
3118
+ "rhs": {
3119
+ "kind": "name",
3120
+ "name": "requested"
3121
+ }
3122
+ },
3123
+ {
3124
+ "field": "outcome",
3125
+ "rhs": {
3126
+ "kind": "name",
3127
+ "name": "outcome"
3128
+ }
3129
+ },
3130
+ {
3131
+ "field": "base",
3132
+ "rhs": {
3133
+ "kind": "name",
3134
+ "name": "base"
3135
+ }
3136
+ },
3137
+ {
3138
+ "field": "requests",
3139
+ "rhs": {
3140
+ "kind": "name",
3141
+ "name": "requests"
3142
+ }
3143
+ }
3144
+ ]
3145
+ },
3146
+ {
3147
+ "name": "setValue",
3148
+ "nondet": {
3149
+ "name": "v",
3150
+ "kind": "int",
3151
+ "pool": [
3152
+ "0",
3153
+ "1",
3154
+ "2",
3155
+ "3",
3156
+ "4",
3157
+ "5",
3158
+ "6",
3159
+ "7"
3160
+ ]
3161
+ },
3162
+ "assignments": [
3163
+ {
3164
+ "field": "c0",
3165
+ "rhs": {
3166
+ "kind": "app",
3167
+ "opcode": "ite",
3168
+ "args": [
3169
+ {
3170
+ "kind": "name",
3171
+ "name": "controlled"
3172
+ },
3173
+ {
3174
+ "kind": "app",
3175
+ "opcode": "bitAt",
3176
+ "args": [
3177
+ {
3178
+ "kind": "int",
3179
+ "value": "0"
3180
+ },
3181
+ {
3182
+ "kind": "name",
3183
+ "name": "v"
3184
+ }
3185
+ ]
3186
+ },
3187
+ {
3188
+ "kind": "name",
3189
+ "name": "c0"
3190
+ }
3191
+ ]
3192
+ }
3193
+ },
3194
+ {
3195
+ "field": "c1",
3196
+ "rhs": {
3197
+ "kind": "app",
3198
+ "opcode": "ite",
3199
+ "args": [
3200
+ {
3201
+ "kind": "name",
3202
+ "name": "controlled"
3203
+ },
3204
+ {
3205
+ "kind": "app",
3206
+ "opcode": "bitAt",
3207
+ "args": [
3208
+ {
3209
+ "kind": "int",
3210
+ "value": "1"
3211
+ },
3212
+ {
3213
+ "kind": "name",
3214
+ "name": "v"
3215
+ }
3216
+ ]
3217
+ },
3218
+ {
3219
+ "kind": "name",
3220
+ "name": "c1"
3221
+ }
3222
+ ]
3223
+ }
3224
+ },
3225
+ {
3226
+ "field": "c2",
3227
+ "rhs": {
3228
+ "kind": "app",
3229
+ "opcode": "ite",
3230
+ "args": [
3231
+ {
3232
+ "kind": "name",
3233
+ "name": "controlled"
3234
+ },
3235
+ {
3236
+ "kind": "app",
3237
+ "opcode": "bitAt",
3238
+ "args": [
3239
+ {
3240
+ "kind": "int",
3241
+ "value": "2"
3242
+ },
3243
+ {
3244
+ "kind": "name",
3245
+ "name": "v"
3246
+ }
3247
+ ]
3248
+ },
3249
+ {
3250
+ "kind": "name",
3251
+ "name": "c2"
3252
+ }
3253
+ ]
3254
+ }
3255
+ },
3256
+ {
3257
+ "field": "m0",
3258
+ "rhs": {
3259
+ "kind": "name",
3260
+ "name": "m0"
3261
+ }
3262
+ },
3263
+ {
3264
+ "field": "m1",
3265
+ "rhs": {
3266
+ "kind": "name",
3267
+ "name": "m1"
3268
+ }
3269
+ },
3270
+ {
3271
+ "field": "m2",
3272
+ "rhs": {
3273
+ "kind": "name",
3274
+ "name": "m2"
3275
+ }
3276
+ },
3277
+ {
3278
+ "field": "focus",
3279
+ "rhs": {
3280
+ "kind": "name",
3281
+ "name": "focus"
3282
+ }
3283
+ },
3284
+ {
3285
+ "field": "remember",
3286
+ "rhs": {
3287
+ "kind": "name",
3288
+ "name": "remember"
3289
+ }
3290
+ },
3291
+ {
3292
+ "field": "controlled",
3293
+ "rhs": {
3294
+ "kind": "name",
3295
+ "name": "controlled"
3296
+ }
3297
+ },
3298
+ {
3299
+ "field": "accepting",
3300
+ "rhs": {
3301
+ "kind": "name",
3302
+ "name": "accepting"
3303
+ }
3304
+ },
3305
+ {
3306
+ "field": "valueProp",
3307
+ "rhs": {
3308
+ "kind": "app",
3309
+ "opcode": "ite",
3310
+ "args": [
3311
+ {
3312
+ "kind": "name",
3313
+ "name": "controlled"
3314
+ },
3315
+ {
3316
+ "kind": "name",
3317
+ "name": "v"
3318
+ },
3319
+ {
3320
+ "kind": "name",
3321
+ "name": "valueProp"
3322
+ }
3323
+ ]
3324
+ }
3325
+ },
3326
+ {
3327
+ "field": "requested",
3328
+ "rhs": {
3329
+ "kind": "name",
3330
+ "name": "requested"
3331
+ }
3332
+ },
3333
+ {
3334
+ "field": "outcome",
3335
+ "rhs": {
3336
+ "kind": "app",
3337
+ "opcode": "ite",
3338
+ "args": [
3339
+ {
3340
+ "kind": "name",
3341
+ "name": "controlled"
3342
+ },
3343
+ {
3344
+ "kind": "str",
3345
+ "value": "none"
3346
+ },
3347
+ {
3348
+ "kind": "name",
3349
+ "name": "outcome"
3350
+ }
3351
+ ]
3352
+ }
3353
+ },
3354
+ {
3355
+ "field": "base",
3356
+ "rhs": {
3357
+ "kind": "name",
3358
+ "name": "base"
3359
+ }
3360
+ },
3361
+ {
3362
+ "field": "requests",
3363
+ "rhs": {
3364
+ "kind": "name",
3365
+ "name": "requests"
3366
+ }
3367
+ }
3368
+ ]
3369
+ },
3370
+ {
3371
+ "name": "hostToggle",
3372
+ "nondet": {
3373
+ "name": "panel",
3374
+ "kind": "int",
3375
+ "pool": [
3376
+ "0",
3377
+ "1",
3378
+ "2"
3379
+ ]
3380
+ },
3381
+ "assignments": [
3382
+ {
3383
+ "field": "c0",
3384
+ "rhs": {
3385
+ "kind": "app",
3386
+ "opcode": "ite",
3387
+ "args": [
3388
+ {
3389
+ "kind": "name",
3390
+ "name": "controlled"
3391
+ },
3392
+ {
3393
+ "kind": "app",
3394
+ "opcode": "bitAt",
3395
+ "args": [
3396
+ {
3397
+ "kind": "int",
3398
+ "value": "0"
3399
+ },
3400
+ {
3401
+ "kind": "app",
3402
+ "opcode": "flipAt",
3403
+ "args": [
3404
+ {
3405
+ "kind": "name",
3406
+ "name": "valueProp"
3407
+ },
3408
+ {
3409
+ "kind": "name",
3410
+ "name": "panel"
3411
+ }
3412
+ ]
3413
+ }
3414
+ ]
3415
+ },
3416
+ {
3417
+ "kind": "name",
3418
+ "name": "c0"
3419
+ }
3420
+ ]
3421
+ }
3422
+ },
3423
+ {
3424
+ "field": "c1",
3425
+ "rhs": {
3426
+ "kind": "app",
3427
+ "opcode": "ite",
3428
+ "args": [
3429
+ {
3430
+ "kind": "name",
3431
+ "name": "controlled"
3432
+ },
3433
+ {
3434
+ "kind": "app",
3435
+ "opcode": "bitAt",
3436
+ "args": [
3437
+ {
3438
+ "kind": "int",
3439
+ "value": "1"
3440
+ },
3441
+ {
3442
+ "kind": "app",
3443
+ "opcode": "flipAt",
3444
+ "args": [
3445
+ {
3446
+ "kind": "name",
3447
+ "name": "valueProp"
3448
+ },
3449
+ {
3450
+ "kind": "name",
3451
+ "name": "panel"
3452
+ }
3453
+ ]
3454
+ }
3455
+ ]
3456
+ },
3457
+ {
3458
+ "kind": "name",
3459
+ "name": "c1"
3460
+ }
3461
+ ]
3462
+ }
3463
+ },
3464
+ {
3465
+ "field": "c2",
3466
+ "rhs": {
3467
+ "kind": "app",
3468
+ "opcode": "ite",
3469
+ "args": [
3470
+ {
3471
+ "kind": "name",
3472
+ "name": "controlled"
3473
+ },
3474
+ {
3475
+ "kind": "app",
3476
+ "opcode": "bitAt",
3477
+ "args": [
3478
+ {
3479
+ "kind": "int",
3480
+ "value": "2"
3481
+ },
3482
+ {
3483
+ "kind": "app",
3484
+ "opcode": "flipAt",
3485
+ "args": [
3486
+ {
3487
+ "kind": "name",
3488
+ "name": "valueProp"
3489
+ },
3490
+ {
3491
+ "kind": "name",
3492
+ "name": "panel"
3493
+ }
3494
+ ]
3495
+ }
3496
+ ]
3497
+ },
3498
+ {
3499
+ "kind": "name",
3500
+ "name": "c2"
3501
+ }
3502
+ ]
3503
+ }
3504
+ },
3505
+ {
3506
+ "field": "m0",
3507
+ "rhs": {
3508
+ "kind": "name",
3509
+ "name": "m0"
3510
+ }
3511
+ },
3512
+ {
3513
+ "field": "m1",
3514
+ "rhs": {
3515
+ "kind": "name",
3516
+ "name": "m1"
3517
+ }
3518
+ },
3519
+ {
3520
+ "field": "m2",
3521
+ "rhs": {
3522
+ "kind": "name",
3523
+ "name": "m2"
3524
+ }
3525
+ },
3526
+ {
3527
+ "field": "focus",
3528
+ "rhs": {
3529
+ "kind": "name",
3530
+ "name": "focus"
3531
+ }
3532
+ },
3533
+ {
3534
+ "field": "remember",
3535
+ "rhs": {
3536
+ "kind": "name",
3537
+ "name": "remember"
3538
+ }
3539
+ },
3540
+ {
3541
+ "field": "controlled",
3542
+ "rhs": {
3543
+ "kind": "name",
3544
+ "name": "controlled"
3545
+ }
3546
+ },
3547
+ {
3548
+ "field": "accepting",
3549
+ "rhs": {
3550
+ "kind": "name",
3551
+ "name": "accepting"
3552
+ }
3553
+ },
3554
+ {
3555
+ "field": "valueProp",
3556
+ "rhs": {
3557
+ "kind": "app",
3558
+ "opcode": "ite",
3559
+ "args": [
3560
+ {
3561
+ "kind": "name",
3562
+ "name": "controlled"
3563
+ },
3564
+ {
3565
+ "kind": "app",
3566
+ "opcode": "flipAt",
3567
+ "args": [
3568
+ {
3569
+ "kind": "name",
3570
+ "name": "valueProp"
3571
+ },
3572
+ {
3573
+ "kind": "name",
3574
+ "name": "panel"
3575
+ }
3576
+ ]
3577
+ },
3578
+ {
3579
+ "kind": "name",
3580
+ "name": "valueProp"
3581
+ }
3582
+ ]
3583
+ }
3584
+ },
3585
+ {
3586
+ "field": "requested",
3587
+ "rhs": {
3588
+ "kind": "name",
3589
+ "name": "requested"
3590
+ }
3591
+ },
3592
+ {
3593
+ "field": "outcome",
3594
+ "rhs": {
3595
+ "kind": "app",
3596
+ "opcode": "ite",
3597
+ "args": [
3598
+ {
3599
+ "kind": "name",
3600
+ "name": "controlled"
3601
+ },
3602
+ {
3603
+ "kind": "str",
3604
+ "value": "none"
3605
+ },
3606
+ {
3607
+ "kind": "name",
3608
+ "name": "outcome"
3609
+ }
3610
+ ]
3611
+ }
3612
+ },
3613
+ {
3614
+ "field": "base",
3615
+ "rhs": {
3616
+ "kind": "name",
3617
+ "name": "base"
3618
+ }
3619
+ },
3620
+ {
3621
+ "field": "requests",
3622
+ "rhs": {
3623
+ "kind": "name",
3624
+ "name": "requests"
3625
+ }
3626
+ }
3627
+ ]
3628
+ },
3629
+ {
3630
+ "name": "control",
3631
+ "assignments": [
3632
+ {
3633
+ "field": "c0",
3634
+ "rhs": {
3635
+ "kind": "name",
3636
+ "name": "c0"
3637
+ }
3638
+ },
3639
+ {
3640
+ "field": "c1",
3641
+ "rhs": {
3642
+ "kind": "name",
3643
+ "name": "c1"
3644
+ }
3645
+ },
3646
+ {
3647
+ "field": "c2",
3648
+ "rhs": {
3649
+ "kind": "name",
3650
+ "name": "c2"
3651
+ }
3652
+ },
3653
+ {
3654
+ "field": "m0",
3655
+ "rhs": {
3656
+ "kind": "name",
3657
+ "name": "m0"
3658
+ }
3659
+ },
3660
+ {
3661
+ "field": "m1",
3662
+ "rhs": {
3663
+ "kind": "name",
3664
+ "name": "m1"
3665
+ }
3666
+ },
3667
+ {
3668
+ "field": "m2",
3669
+ "rhs": {
3670
+ "kind": "name",
3671
+ "name": "m2"
3672
+ }
3673
+ },
3674
+ {
3675
+ "field": "focus",
3676
+ "rhs": {
3677
+ "kind": "name",
3678
+ "name": "focus"
3679
+ }
3680
+ },
3681
+ {
3682
+ "field": "remember",
3683
+ "rhs": {
3684
+ "kind": "name",
3685
+ "name": "remember"
3686
+ }
3687
+ },
3688
+ {
3689
+ "field": "controlled",
3690
+ "rhs": {
3691
+ "kind": "bool",
3692
+ "value": true
3693
+ }
3694
+ },
3695
+ {
3696
+ "field": "accepting",
3697
+ "rhs": {
3698
+ "kind": "name",
3699
+ "name": "accepting"
3700
+ }
3701
+ },
3702
+ {
3703
+ "field": "valueProp",
3704
+ "rhs": {
3705
+ "kind": "name",
3706
+ "name": "nowPacked"
3707
+ }
3708
+ },
3709
+ {
3710
+ "field": "requested",
3711
+ "rhs": {
3712
+ "kind": "name",
3713
+ "name": "requested"
3714
+ }
3715
+ },
3716
+ {
3717
+ "field": "outcome",
3718
+ "rhs": {
3719
+ "kind": "name",
3720
+ "name": "outcome"
3721
+ }
3722
+ },
3723
+ {
3724
+ "field": "base",
3725
+ "rhs": {
3726
+ "kind": "name",
3727
+ "name": "base"
3728
+ }
3729
+ },
3730
+ {
3731
+ "field": "requests",
3732
+ "rhs": {
3733
+ "kind": "name",
3734
+ "name": "requests"
3735
+ }
3736
+ }
3737
+ ]
3738
+ },
3739
+ {
3740
+ "name": "acceptRequests",
3741
+ "assignments": [
3742
+ {
3743
+ "field": "c0",
3744
+ "rhs": {
3745
+ "kind": "name",
3746
+ "name": "c0"
3747
+ }
3748
+ },
3749
+ {
3750
+ "field": "c1",
3751
+ "rhs": {
3752
+ "kind": "name",
3753
+ "name": "c1"
3754
+ }
3755
+ },
3756
+ {
3757
+ "field": "c2",
3758
+ "rhs": {
3759
+ "kind": "name",
3760
+ "name": "c2"
3761
+ }
3762
+ },
3763
+ {
3764
+ "field": "m0",
3765
+ "rhs": {
3766
+ "kind": "name",
3767
+ "name": "m0"
3768
+ }
3769
+ },
3770
+ {
3771
+ "field": "m1",
3772
+ "rhs": {
3773
+ "kind": "name",
3774
+ "name": "m1"
3775
+ }
3776
+ },
3777
+ {
3778
+ "field": "m2",
3779
+ "rhs": {
3780
+ "kind": "name",
3781
+ "name": "m2"
3782
+ }
3783
+ },
3784
+ {
3785
+ "field": "focus",
3786
+ "rhs": {
3787
+ "kind": "name",
3788
+ "name": "focus"
3789
+ }
3790
+ },
3791
+ {
3792
+ "field": "remember",
3793
+ "rhs": {
3794
+ "kind": "name",
3795
+ "name": "remember"
3796
+ }
3797
+ },
3798
+ {
3799
+ "field": "controlled",
3800
+ "rhs": {
3801
+ "kind": "name",
3802
+ "name": "controlled"
3803
+ }
3804
+ },
3805
+ {
3806
+ "field": "accepting",
3807
+ "rhs": {
3808
+ "kind": "bool",
3809
+ "value": true
3810
+ }
3811
+ },
3812
+ {
3813
+ "field": "valueProp",
3814
+ "rhs": {
3815
+ "kind": "name",
3816
+ "name": "valueProp"
3817
+ }
3818
+ },
3819
+ {
3820
+ "field": "requested",
3821
+ "rhs": {
3822
+ "kind": "name",
3823
+ "name": "requested"
3824
+ }
3825
+ },
3826
+ {
3827
+ "field": "outcome",
3828
+ "rhs": {
3829
+ "kind": "name",
3830
+ "name": "outcome"
3831
+ }
3832
+ },
3833
+ {
3834
+ "field": "base",
3835
+ "rhs": {
3836
+ "kind": "name",
3837
+ "name": "base"
3838
+ }
3839
+ },
3840
+ {
3841
+ "field": "requests",
3842
+ "rhs": {
3843
+ "kind": "name",
3844
+ "name": "requests"
3845
+ }
3846
+ }
3847
+ ]
3848
+ }
3849
+ ],
3850
+ "step": [
3851
+ "init",
3852
+ "focus_on",
3853
+ "blur",
3854
+ "key_tab",
3855
+ "key_space",
3856
+ "click",
3857
+ "set_remember",
3858
+ "setValue",
3859
+ "hostToggle",
3860
+ "control",
3861
+ "acceptRequests"
3862
+ ]
3863
+ }