Search Apps Documentation Source Content File Folder Download Copy

z_4_filetest.gno

27.83 Kb ยท 893 lines
  1// PKGPATH: gno.land/r/demo/boards_test
  2package boards_test
  3
  4// SEND: 200000000ugnot
  5
  6import (
  7	"strconv"
  8
  9	"gno.land/r/demo/boards"
 10	"gno.land/r/demo/users"
 11)
 12
 13var (
 14	bid boards.BoardID
 15	pid boards.PostID
 16)
 17
 18func init() {
 19	users.Register("", "gnouser", "my profile")
 20
 21	bid = boards.CreateBoard("test_board")
 22	boards.CreateThread(bid, "First Post (title)", "Body of the first post. (body)")
 23	pid = boards.CreateThread(bid, "Second Post (title)", "Body of the second post. (body)")
 24	rid := boards.CreateReply(bid, pid, pid, "Reply of the second post")
 25	println(rid)
 26}
 27
 28func main() {
 29	rid2 := boards.CreateReply(bid, pid, pid, "Second reply of the second post")
 30	println(rid2)
 31	println(boards.Render("test_board/" + strconv.Itoa(int(pid))))
 32}
 33
 34// Output:
 35// 3
 36// 4
 37// # Second Post (title)
 38//
 39// Body of the second post. (body)
 40// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=2)] \[[repost](/r/demo/boards$help&func=CreateRepost&bid=1&postid=2)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=2)]
 41//
 42// > Reply of the second post
 43// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/3) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=3)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=3)]
 44//
 45// > Second reply of the second post
 46// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/4) \[[reply](/r/demo/boards$help&func=CreateReply&bid=1&threadid=2&postid=4)] \[[x](/r/demo/boards$help&func=DeletePost&bid=1&threadid=2&postid=4)]
 47//
 48
 49// Realm:
 50// switchrealm["gno.land/r/demo/users"]
 51// switchrealm["gno.land/r/demo/boards"]
 52// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:111]={
 53//     "ObjectInfo": {
 54//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:111",
 55//         "ModTime": "123",
 56//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123",
 57//         "RefCount": "1"
 58//     },
 59//     "Value": {
 60//         "T": {
 61//             "@type": "/gno.RefType",
 62//             "ID": "gno.land/p/demo/avl.Node"
 63//         },
 64//         "V": {
 65//             "@type": "/gno.RefValue",
 66//             "Hash": "68663c8895d37d479e417c11e21badfe21345c61",
 67//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:112"
 68//         }
 69//     }
 70// }
 71// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:125]={
 72//     "Fields": [
 73//         {
 74//             "T": {
 75//                 "@type": "/gno.PrimitiveType",
 76//                 "value": "16"
 77//             },
 78//             "V": {
 79//                 "@type": "/gno.StringValue",
 80//                 "value": "0000000004"
 81//             }
 82//         },
 83//         {
 84//             "T": {
 85//                 "@type": "/gno.PointerType",
 86//                 "Elt": {
 87//                     "@type": "/gno.RefType",
 88//                     "ID": "gno.land/r/demo/boards.Post"
 89//                 }
 90//             },
 91//             "V": {
 92//                 "@type": "/gno.PointerValue",
 93//                 "Base": {
 94//                     "@type": "/gno.RefValue",
 95//                     "Escaped": true,
 96//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126"
 97//                 },
 98//                 "Index": "0",
 99//                 "TV": null
100//             }
101//         },
102//         {
103//             "T": {
104//                 "@type": "/gno.PrimitiveType",
105//                 "value": "64"
106//             }
107//         },
108//         {
109//             "N": "AQAAAAAAAAA=",
110//             "T": {
111//                 "@type": "/gno.PrimitiveType",
112//                 "value": "32"
113//             }
114//         },
115//         {
116//             "T": {
117//                 "@type": "/gno.PointerType",
118//                 "Elt": {
119//                     "@type": "/gno.RefType",
120//                     "ID": "gno.land/p/demo/avl.Node"
121//                 }
122//             }
123//         },
124//         {
125//             "T": {
126//                 "@type": "/gno.PointerType",
127//                 "Elt": {
128//                     "@type": "/gno.RefType",
129//                     "ID": "gno.land/p/demo/avl.Node"
130//                 }
131//             }
132//         }
133//     ],
134//     "ObjectInfo": {
135//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:125",
136//         "ModTime": "0",
137//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124",
138//         "RefCount": "1"
139//     }
140// }
141// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124]={
142//     "ObjectInfo": {
143//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124",
144//         "ModTime": "0",
145//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123",
146//         "RefCount": "1"
147//     },
148//     "Value": {
149//         "T": {
150//             "@type": "/gno.RefType",
151//             "ID": "gno.land/p/demo/avl.Node"
152//         },
153//         "V": {
154//             "@type": "/gno.RefValue",
155//             "Hash": "3f34ac77289aa1d5f9a2f8b6d083138325816fb0",
156//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:125"
157//         }
158//     }
159// }
160// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123]={
161//     "Fields": [
162//         {
163//             "T": {
164//                 "@type": "/gno.PrimitiveType",
165//                 "value": "16"
166//             },
167//             "V": {
168//                 "@type": "/gno.StringValue",
169//                 "value": "0000000004"
170//             }
171//         },
172//         {},
173//         {
174//             "N": "AQAAAAAAAAA=",
175//             "T": {
176//                 "@type": "/gno.PrimitiveType",
177//                 "value": "64"
178//             }
179//         },
180//         {
181//             "N": "AgAAAAAAAAA=",
182//             "T": {
183//                 "@type": "/gno.PrimitiveType",
184//                 "value": "32"
185//             }
186//         },
187//         {
188//             "T": {
189//                 "@type": "/gno.PointerType",
190//                 "Elt": {
191//                     "@type": "/gno.RefType",
192//                     "ID": "gno.land/p/demo/avl.Node"
193//                 }
194//             },
195//             "V": {
196//                 "@type": "/gno.PointerValue",
197//                 "Base": {
198//                     "@type": "/gno.RefValue",
199//                     "Hash": "94a6665a44bac6ede7f3e3b87173e537b12f9532",
200//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:111"
201//                 },
202//                 "Index": "0",
203//                 "TV": null
204//             }
205//         },
206//         {
207//             "T": {
208//                 "@type": "/gno.PointerType",
209//                 "Elt": {
210//                     "@type": "/gno.RefType",
211//                     "ID": "gno.land/p/demo/avl.Node"
212//                 }
213//             },
214//             "V": {
215//                 "@type": "/gno.PointerValue",
216//                 "Base": {
217//                     "@type": "/gno.RefValue",
218//                     "Hash": "bc8e5b4e782a0bbc4ac9689681f119beb7b34d59",
219//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124"
220//                 },
221//                 "Index": "0",
222//                 "TV": null
223//             }
224//         }
225//     ],
226//     "ObjectInfo": {
227//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123",
228//         "ModTime": "0",
229//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122",
230//         "RefCount": "1"
231//     }
232// }
233// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122]={
234//     "ObjectInfo": {
235//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122",
236//         "ModTime": "0",
237//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:106",
238//         "RefCount": "1"
239//     },
240//     "Value": {
241//         "T": {
242//             "@type": "/gno.RefType",
243//             "ID": "gno.land/p/demo/avl.Node"
244//         },
245//         "V": {
246//             "@type": "/gno.RefValue",
247//             "Hash": "9957eadbc91dd32f33b0d815e041a32dbdea0671",
248//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123"
249//         }
250//     }
251// }
252// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:128]={
253//     "Fields": [
254//         {
255//             "T": {
256//                 "@type": "/gno.PointerType",
257//                 "Elt": {
258//                     "@type": "/gno.RefType",
259//                     "ID": "gno.land/p/demo/avl.Node"
260//                 }
261//             }
262//         }
263//     ],
264//     "ObjectInfo": {
265//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:128",
266//         "ModTime": "0",
267//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
268//         "RefCount": "1"
269//     }
270// }
271// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:129]={
272//     "Fields": [
273//         {
274//             "T": {
275//                 "@type": "/gno.PointerType",
276//                 "Elt": {
277//                     "@type": "/gno.RefType",
278//                     "ID": "gno.land/p/demo/avl.Node"
279//                 }
280//             }
281//         }
282//     ],
283//     "ObjectInfo": {
284//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:129",
285//         "ModTime": "0",
286//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
287//         "RefCount": "1"
288//     }
289// }
290// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:130]={
291//     "Fields": [
292//         {
293//             "T": {
294//                 "@type": "/gno.PointerType",
295//                 "Elt": {
296//                     "@type": "/gno.RefType",
297//                     "ID": "gno.land/p/demo/avl.Node"
298//                 }
299//             }
300//         }
301//     ],
302//     "ObjectInfo": {
303//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:130",
304//         "ModTime": "0",
305//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
306//         "RefCount": "1"
307//     }
308// }
309// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:131]={
310//     "Fields": [
311//         {
312//             "N": "AAAAgJSeXbo=",
313//             "T": {
314//                 "@type": "/gno.PrimitiveType",
315//                 "value": "65536"
316//             }
317//         },
318//         {
319//             "N": "AbSNdvQQIhE=",
320//             "T": {
321//                 "@type": "/gno.PrimitiveType",
322//                 "value": "1024"
323//             }
324//         },
325//         {
326//             "T": {
327//                 "@type": "/gno.PointerType",
328//                 "Elt": {
329//                     "@type": "/gno.RefType",
330//                     "ID": "time.Location"
331//                 }
332//             },
333//             "V": {
334//                 "@type": "/gno.PointerValue",
335//                 "Base": {
336//                     "@type": "/gno.RefValue",
337//                     "Escaped": true,
338//                     "ObjectID": "336074805fc853987abe6f7fe3ad97a6a6f3077a:2"
339//                 },
340//                 "Index": "182",
341//                 "TV": null
342//             }
343//         }
344//     ],
345//     "ObjectInfo": {
346//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:131",
347//         "ModTime": "0",
348//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
349//         "RefCount": "1"
350//     }
351// }
352// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:132]={
353//     "Fields": [
354//         {
355//             "T": {
356//                 "@type": "/gno.PrimitiveType",
357//                 "value": "65536"
358//             }
359//         },
360//         {
361//             "T": {
362//                 "@type": "/gno.PrimitiveType",
363//                 "value": "1024"
364//             }
365//         },
366//         {
367//             "T": {
368//                 "@type": "/gno.PointerType",
369//                 "Elt": {
370//                     "@type": "/gno.RefType",
371//                     "ID": "time.Location"
372//                 }
373//             }
374//         }
375//     ],
376//     "ObjectInfo": {
377//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:132",
378//         "ModTime": "0",
379//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
380//         "RefCount": "1"
381//     }
382// }
383// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127]={
384//     "Fields": [
385//         {
386//             "T": {
387//                 "@type": "/gno.PointerType",
388//                 "Elt": {
389//                     "@type": "/gno.RefType",
390//                     "ID": "gno.land/r/demo/boards.Board"
391//                 }
392//             },
393//             "V": {
394//                 "@type": "/gno.PointerValue",
395//                 "Base": {
396//                     "@type": "/gno.RefValue",
397//                     "Escaped": true,
398//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:84"
399//                 },
400//                 "Index": "0",
401//                 "TV": null
402//             }
403//         },
404//         {
405//             "N": "BAAAAAAAAAA=",
406//             "T": {
407//                 "@type": "/gno.RefType",
408//                 "ID": "gno.land/r/demo/boards.PostID"
409//             }
410//         },
411//         {
412//             "T": {
413//                 "@type": "/gno.RefType",
414//                 "ID": "std.Address"
415//             },
416//             "V": {
417//                 "@type": "/gno.StringValue",
418//                 "value": "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm"
419//             }
420//         },
421//         {
422//             "T": {
423//                 "@type": "/gno.PrimitiveType",
424//                 "value": "16"
425//             },
426//             "V": {
427//                 "@type": "/gno.StringValue",
428//                 "value": ""
429//             }
430//         },
431//         {
432//             "T": {
433//                 "@type": "/gno.PrimitiveType",
434//                 "value": "16"
435//             },
436//             "V": {
437//                 "@type": "/gno.StringValue",
438//                 "value": "Second reply of the second post"
439//             }
440//         },
441//         {
442//             "T": {
443//                 "@type": "/gno.RefType",
444//                 "ID": "gno.land/p/demo/avl.Tree"
445//             },
446//             "V": {
447//                 "@type": "/gno.RefValue",
448//                 "Hash": "f91e355bd19240f0f3350a7fa0e6a82b72225916",
449//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:128"
450//             }
451//         },
452//         {
453//             "T": {
454//                 "@type": "/gno.RefType",
455//                 "ID": "gno.land/p/demo/avl.Tree"
456//             },
457//             "V": {
458//                 "@type": "/gno.RefValue",
459//                 "Hash": "9ee9c4117be283fc51ffcc5ecd65b75ecef5a9dd",
460//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:129"
461//             }
462//         },
463//         {
464//             "T": {
465//                 "@type": "/gno.RefType",
466//                 "ID": "gno.land/p/demo/avl.Tree"
467//             },
468//             "V": {
469//                 "@type": "/gno.RefValue",
470//                 "Hash": "eb768b0140a5fe95f9c58747f0960d647dacfd42",
471//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:130"
472//             }
473//         },
474//         {
475//             "N": "AgAAAAAAAAA=",
476//             "T": {
477//                 "@type": "/gno.RefType",
478//                 "ID": "gno.land/r/demo/boards.PostID"
479//             }
480//         },
481//         {
482//             "N": "AgAAAAAAAAA=",
483//             "T": {
484//                 "@type": "/gno.RefType",
485//                 "ID": "gno.land/r/demo/boards.PostID"
486//             }
487//         },
488//         {
489//             "T": {
490//                 "@type": "/gno.RefType",
491//                 "ID": "gno.land/r/demo/boards.BoardID"
492//             }
493//         },
494//         {
495//             "T": {
496//                 "@type": "/gno.RefType",
497//                 "ID": "time.Time"
498//             },
499//             "V": {
500//                 "@type": "/gno.RefValue",
501//                 "Hash": "0fd3352422af0a56a77ef2c9e88f479054e3d51f",
502//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:131"
503//             }
504//         },
505//         {
506//             "T": {
507//                 "@type": "/gno.RefType",
508//                 "ID": "time.Time"
509//             },
510//             "V": {
511//                 "@type": "/gno.RefValue",
512//                 "Hash": "bed4afa8ffdbbf775451c947fc68b27a345ce32a",
513//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:132"
514//             }
515//         }
516//     ],
517//     "ObjectInfo": {
518//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
519//         "ModTime": "0",
520//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126",
521//         "RefCount": "1"
522//     }
523// }
524// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126]={
525//     "ObjectInfo": {
526//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126",
527//         "IsEscaped": true,
528//         "ModTime": "0",
529//         "RefCount": "2"
530//     },
531//     "Value": {
532//         "T": {
533//             "@type": "/gno.RefType",
534//             "ID": "gno.land/r/demo/boards.Post"
535//         },
536//         "V": {
537//             "@type": "/gno.RefValue",
538//             "Hash": "c45bbd47a46681a63af973db0ec2180922e4a8ae",
539//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127"
540//         }
541//     }
542// }
543// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:120]={
544//     "ObjectInfo": {
545//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:120",
546//         "ModTime": "134",
547//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134",
548//         "RefCount": "1"
549//     },
550//     "Value": {
551//         "T": {
552//             "@type": "/gno.RefType",
553//             "ID": "gno.land/p/demo/avl.Node"
554//         },
555//         "V": {
556//             "@type": "/gno.RefValue",
557//             "Hash": "dc1f011553dc53e7a846049e08cc77fa35ea6a51",
558//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:121"
559//         }
560//     }
561// }
562// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:136]={
563//     "Fields": [
564//         {
565//             "T": {
566//                 "@type": "/gno.PrimitiveType",
567//                 "value": "16"
568//             },
569//             "V": {
570//                 "@type": "/gno.StringValue",
571//                 "value": "0000000004"
572//             }
573//         },
574//         {
575//             "T": {
576//                 "@type": "/gno.PointerType",
577//                 "Elt": {
578//                     "@type": "/gno.RefType",
579//                     "ID": "gno.land/r/demo/boards.Post"
580//                 }
581//             },
582//             "V": {
583//                 "@type": "/gno.PointerValue",
584//                 "Base": {
585//                     "@type": "/gno.RefValue",
586//                     "Escaped": true,
587//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126"
588//                 },
589//                 "Index": "0",
590//                 "TV": null
591//             }
592//         },
593//         {
594//             "T": {
595//                 "@type": "/gno.PrimitiveType",
596//                 "value": "64"
597//             }
598//         },
599//         {
600//             "N": "AQAAAAAAAAA=",
601//             "T": {
602//                 "@type": "/gno.PrimitiveType",
603//                 "value": "32"
604//             }
605//         },
606//         {
607//             "T": {
608//                 "@type": "/gno.PointerType",
609//                 "Elt": {
610//                     "@type": "/gno.RefType",
611//                     "ID": "gno.land/p/demo/avl.Node"
612//                 }
613//             }
614//         },
615//         {
616//             "T": {
617//                 "@type": "/gno.PointerType",
618//                 "Elt": {
619//                     "@type": "/gno.RefType",
620//                     "ID": "gno.land/p/demo/avl.Node"
621//                 }
622//             }
623//         }
624//     ],
625//     "ObjectInfo": {
626//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:136",
627//         "ModTime": "0",
628//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135",
629//         "RefCount": "1"
630//     }
631// }
632// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135]={
633//     "ObjectInfo": {
634//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135",
635//         "ModTime": "0",
636//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134",
637//         "RefCount": "1"
638//     },
639//     "Value": {
640//         "T": {
641//             "@type": "/gno.RefType",
642//             "ID": "gno.land/p/demo/avl.Node"
643//         },
644//         "V": {
645//             "@type": "/gno.RefValue",
646//             "Hash": "96b86b4585c7f1075d7794180a5581f72733a7ab",
647//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:136"
648//         }
649//     }
650// }
651// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134]={
652//     "Fields": [
653//         {
654//             "T": {
655//                 "@type": "/gno.PrimitiveType",
656//                 "value": "16"
657//             },
658//             "V": {
659//                 "@type": "/gno.StringValue",
660//                 "value": "0000000004"
661//             }
662//         },
663//         {},
664//         {
665//             "N": "AQAAAAAAAAA=",
666//             "T": {
667//                 "@type": "/gno.PrimitiveType",
668//                 "value": "64"
669//             }
670//         },
671//         {
672//             "N": "AgAAAAAAAAA=",
673//             "T": {
674//                 "@type": "/gno.PrimitiveType",
675//                 "value": "32"
676//             }
677//         },
678//         {
679//             "T": {
680//                 "@type": "/gno.PointerType",
681//                 "Elt": {
682//                     "@type": "/gno.RefType",
683//                     "ID": "gno.land/p/demo/avl.Node"
684//                 }
685//             },
686//             "V": {
687//                 "@type": "/gno.PointerValue",
688//                 "Base": {
689//                     "@type": "/gno.RefValue",
690//                     "Hash": "32274e1f28fb2b97d67a1262afd362d370de7faa",
691//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:120"
692//                 },
693//                 "Index": "0",
694//                 "TV": null
695//             }
696//         },
697//         {
698//             "T": {
699//                 "@type": "/gno.PointerType",
700//                 "Elt": {
701//                     "@type": "/gno.RefType",
702//                     "ID": "gno.land/p/demo/avl.Node"
703//                 }
704//             },
705//             "V": {
706//                 "@type": "/gno.PointerValue",
707//                 "Base": {
708//                     "@type": "/gno.RefValue",
709//                     "Hash": "c2cfd6aec36a462f35bf02e5bf4a127aa1bb7ac2",
710//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135"
711//                 },
712//                 "Index": "0",
713//                 "TV": null
714//             }
715//         }
716//     ],
717//     "ObjectInfo": {
718//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134",
719//         "ModTime": "0",
720//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133",
721//         "RefCount": "1"
722//     }
723// }
724// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133]={
725//     "ObjectInfo": {
726//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133",
727//         "ModTime": "0",
728//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:107",
729//         "RefCount": "1"
730//     },
731//     "Value": {
732//         "T": {
733//             "@type": "/gno.RefType",
734//             "ID": "gno.land/p/demo/avl.Node"
735//         },
736//         "V": {
737//             "@type": "/gno.RefValue",
738//             "Hash": "5cb875179e86d32c517322af7a323b2a5f3e6cc5",
739//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134"
740//         }
741//     }
742// }
743// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:85]={
744//     "Fields": [
745//         {
746//             "N": "AQAAAAAAAAA=",
747//             "T": {
748//                 "@type": "/gno.RefType",
749//                 "ID": "gno.land/r/demo/boards.BoardID"
750//             }
751//         },
752//         {
753//             "T": {
754//                 "@type": "/gno.PrimitiveType",
755//                 "value": "16"
756//             },
757//             "V": {
758//                 "@type": "/gno.StringValue",
759//                 "value": "/r/demo/boards:test_board"
760//             }
761//         },
762//         {
763//             "T": {
764//                 "@type": "/gno.PrimitiveType",
765//                 "value": "16"
766//             },
767//             "V": {
768//                 "@type": "/gno.StringValue",
769//                 "value": "test_board"
770//             }
771//         },
772//         {
773//             "T": {
774//                 "@type": "/gno.RefType",
775//                 "ID": "std.Address"
776//             },
777//             "V": {
778//                 "@type": "/gno.StringValue",
779//                 "value": "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm"
780//             }
781//         },
782//         {
783//             "T": {
784//                 "@type": "/gno.RefType",
785//                 "ID": "gno.land/p/demo/avl.Tree"
786//             },
787//             "V": {
788//                 "@type": "/gno.RefValue",
789//                 "Hash": "a416a751c3a45a1e5cba11e737c51340b081e372",
790//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:86"
791//             }
792//         },
793//         {
794//             "N": "BAAAAAAAAAA=",
795//             "T": {
796//                 "@type": "/gno.PrimitiveType",
797//                 "value": "65536"
798//             }
799//         },
800//         {
801//             "T": {
802//                 "@type": "/gno.RefType",
803//                 "ID": "time.Time"
804//             },
805//             "V": {
806//                 "@type": "/gno.RefValue",
807//                 "Hash": "36299fccbc13f2a84c4629fad4cb940f0bd4b1c6",
808//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:87"
809//             }
810//         },
811//         {
812//             "T": {
813//                 "@type": "/gno.RefType",
814//                 "ID": "gno.land/p/demo/avl.Tree"
815//             },
816//             "V": {
817//                 "@type": "/gno.RefValue",
818//                 "Hash": "af6ed0268f99b7f369329094eb6dfaea7812708b",
819//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:88"
820//             }
821//         }
822//     ],
823//     "ObjectInfo": {
824//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:85",
825//         "ModTime": "121",
826//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:84",
827//         "RefCount": "1"
828//     }
829// }
830// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:106]={
831//     "Fields": [
832//         {
833//             "T": {
834//                 "@type": "/gno.PointerType",
835//                 "Elt": {
836//                     "@type": "/gno.RefType",
837//                     "ID": "gno.land/p/demo/avl.Node"
838//                 }
839//             },
840//             "V": {
841//                 "@type": "/gno.PointerValue",
842//                 "Base": {
843//                     "@type": "/gno.RefValue",
844//                     "Hash": "9809329dc1ddc5d3556f7a8fa3c2cebcbf65560b",
845//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122"
846//                 },
847//                 "Index": "0",
848//                 "TV": null
849//             }
850//         }
851//     ],
852//     "ObjectInfo": {
853//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:106",
854//         "ModTime": "121",
855//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:105",
856//         "RefCount": "1"
857//     }
858// }
859// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:107]={
860//     "Fields": [
861//         {
862//             "T": {
863//                 "@type": "/gno.PointerType",
864//                 "Elt": {
865//                     "@type": "/gno.RefType",
866//                     "ID": "gno.land/p/demo/avl.Node"
867//                 }
868//             },
869//             "V": {
870//                 "@type": "/gno.PointerValue",
871//                 "Base": {
872//                     "@type": "/gno.RefValue",
873//                     "Hash": "ceae9a1c4ed28bb51062e6ccdccfad0caafd1c4f",
874//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133"
875//                 },
876//                 "Index": "0",
877//                 "TV": null
878//             }
879//         }
880//     ],
881//     "ObjectInfo": {
882//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:107",
883//         "ModTime": "121",
884//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:105",
885//         "RefCount": "1"
886//     }
887// }
888// switchrealm["gno.land/r/demo/boards"]
889// switchrealm["gno.land/r/demo/users"]
890// switchrealm["gno.land/r/demo/users"]
891// switchrealm["gno.land/r/demo/users"]
892// switchrealm["gno.land/r/demo/boards"]
893// switchrealm["gno.land/r/demo/boards_test"]