smesh3.mjs raw

   1  // Package smesh3
   2  // Generated by TinyJS — TinyGo JavaScript backend
   3  
   4  import * as $rt from './$runtime/index.mjs';
   5  
   6  import * as common$helpers from './common_helpers.mjs';
   7  import * as common$jsbridge$dom from './common_jsbridge_dom.mjs';
   8  import * as common$jsbridge$localstorage from './common_jsbridge_localstorage.mjs';
   9  import * as common$jsbridge$signer from './common_jsbridge_signer.mjs';
  10  import * as common$nostr from './common_nostr.mjs';
  11  
  12  // Package-level variables
  13  export let gfExp = { $value: $rt.builtin.makeSlice(512, 512, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
  14  export let gfLog = { $value: $rt.builtin.makeSlice(256, 256, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
  15  export let gfReady = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  16  export let formatBits = { $value: $rt.builtin.makeSlice(8, 8, $rt.builtin.makeSlice(15, 15, 0)), $get() { return this.$value; }, $set(v) { this.$value = v; } };
  17  export let pubkey = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  18  export let pubhex = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  19  export let isDark = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  20  export let profileName = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  21  export let profilePic = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  22  export let profileTs = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  23  export let avatarEl = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  24  export let nameEl = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  25  export let feedContainer = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  26  export let feedLoader = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  27  export let statusEl = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  28  export let popoverEl = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  29  export let themeBtn = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  30  export let pageTitleEl = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  31  export let feedPage = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  32  export let msgPage = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  33  export let profilePage = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  34  export let sidebarFeed = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  35  export let sidebarMsg = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  36  export let activePage = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  37  export let profileViewPK = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  38  export let root = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  39  export let msgListContainer = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  40  export let msgThreadContainer = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  41  export let msgThreadMessages = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  42  export let msgComposeInput = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  43  export let msgCurrentPeer = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  44  export let msgView = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  45  export let marmotInited = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  46  export let pendingTsEls = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  47  export let relayURLs = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  48  export let relayDots = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  49  export let relayLabels = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  50  export let relayUserPick = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  51  export let eventCount = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  52  export let popoverOpen = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  53  export let authorNames = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  54  export let authorPics = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  55  export let authorContent = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  56  export let authorTs = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  57  export let authorRelays = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  58  export let pendingNotes = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  59  export let fetchedK0 = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  60  export let fetchedK10k = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  61  export let seenEvents = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  62  export let authorSubPK = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  63  export let relayFreq = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  64  export let idbLoaded = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  65  export let retryRound = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  66  export let retryTimer = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  67  export let fetchQueue = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  68  export let fetchTimer = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  69  export let logoSVGCache = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  70  export let profileTab = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  71  export let profileTabContent = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  72  export let profileTabBtns = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  73  export let authorFollows = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  74  export let authorMutes = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  75  export let profileNotesSeen = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  76  export let activeProfileNoteSub = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
  77  export let navPop = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  78  export let defaultRelays = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  79  export let profileSubCounter = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  80  export let discoveryRelays = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
  81  
  82  export function init() {
  83    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129, $t129_130, $t130_131, $t131_132, $t132_133, $t133_134, $t134_135, $t135_136, $t136_137, $t137_138, $t138_139;
  84    $t0_1 = { $value: $rt.builtin.makeSlice(3, 3, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
  85    $t1_2 = $t0_1.$get().addr(0);
  86    $t1_2.$set('wss://relay.orly.dev');
  87    $t2_3 = $t0_1.$get().addr(1);
  88    $t2_3.$set('wss://nostr.wine');
  89    $t3_4 = $t0_1.$get().addr(2);
  90    $t3_4.$set('wss://nostr.land');
  91    $t4_5 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, undefined, undefined);
  92    defaultRelays.$set($t4_5);
  93    $t5_6 = { $value: $rt.builtin.makeSlice(4, 4, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
  94    $t6_7 = $t5_6.$get().addr(0);
  95    $t6_7.$set('wss://purplepag.es');
  96    $t7_8 = $t5_6.$get().addr(1);
  97    $t7_8.$set('wss://relay.nostr.band');
  98    $t8_9 = $t5_6.$get().addr(2);
  99    $t8_9.$set('wss://relay.damus.io');
 100    $t9_10 = $t5_6.$get().addr(3);
 101    $t9_10.$set('wss://nos.lol');
 102    $t10_11 = $rt.builtin.sliceSlice($t5_6.$get(), undefined, undefined, undefined);
 103    discoveryRelays.$set($t10_11);
 104    $t11_12 = formatBits.$get().addr(0);
 105    $t12_13 = $t11_12.$get().addr(0);
 106    $t13_14 = $t11_12.$get().addr(1);
 107    $t14_15 = $t11_12.$get().addr(2);
 108    $t15_16 = $t11_12.$get().addr(3);
 109    $t16_17 = $t11_12.$get().addr(4);
 110    $t17_18 = $t11_12.$get().addr(5);
 111    $t18_19 = $t11_12.$get().addr(6);
 112    $t19_20 = $t11_12.$get().addr(7);
 113    $t20_21 = $t11_12.$get().addr(8);
 114    $t21_22 = $t11_12.$get().addr(9);
 115    $t22_23 = $t11_12.$get().addr(10);
 116    $t23_24 = $t11_12.$get().addr(11);
 117    $t24_25 = $t11_12.$get().addr(12);
 118    $t25_26 = $t11_12.$get().addr(13);
 119    $t26_27 = $t11_12.$get().addr(14);
 120    $t27_28 = formatBits.$get().addr(1);
 121    $t28_29 = $t27_28.$get().addr(0);
 122    $t29_30 = $t27_28.$get().addr(1);
 123    $t30_31 = $t27_28.$get().addr(2);
 124    $t31_32 = $t27_28.$get().addr(3);
 125    $t32_33 = $t27_28.$get().addr(4);
 126    $t33_34 = $t27_28.$get().addr(5);
 127    $t34_35 = $t27_28.$get().addr(6);
 128    $t35_36 = $t27_28.$get().addr(7);
 129    $t36_37 = $t27_28.$get().addr(8);
 130    $t37_38 = $t27_28.$get().addr(9);
 131    $t38_39 = $t27_28.$get().addr(10);
 132    $t39_40 = $t27_28.$get().addr(11);
 133    $t40_41 = $t27_28.$get().addr(12);
 134    $t41_42 = $t27_28.$get().addr(13);
 135    $t42_43 = $t27_28.$get().addr(14);
 136    $t43_44 = formatBits.$get().addr(2);
 137    $t44_45 = $t43_44.$get().addr(0);
 138    $t45_46 = $t43_44.$get().addr(1);
 139    $t46_47 = $t43_44.$get().addr(2);
 140    $t47_48 = $t43_44.$get().addr(3);
 141    $t48_49 = $t43_44.$get().addr(4);
 142    $t49_50 = $t43_44.$get().addr(5);
 143    $t50_51 = $t43_44.$get().addr(6);
 144    $t51_52 = $t43_44.$get().addr(7);
 145    $t52_53 = $t43_44.$get().addr(8);
 146    $t53_54 = $t43_44.$get().addr(9);
 147    $t54_55 = $t43_44.$get().addr(10);
 148    $t55_56 = $t43_44.$get().addr(11);
 149    $t56_57 = $t43_44.$get().addr(12);
 150    $t57_58 = $t43_44.$get().addr(13);
 151    $t58_59 = $t43_44.$get().addr(14);
 152    $t59_60 = formatBits.$get().addr(3);
 153    $t60_61 = $t59_60.$get().addr(0);
 154    $t61_62 = $t59_60.$get().addr(1);
 155    $t62_63 = $t59_60.$get().addr(2);
 156    $t63_64 = $t59_60.$get().addr(3);
 157    $t64_65 = $t59_60.$get().addr(4);
 158    $t65_66 = $t59_60.$get().addr(5);
 159    $t66_67 = $t59_60.$get().addr(6);
 160    $t67_68 = $t59_60.$get().addr(7);
 161    $t68_69 = $t59_60.$get().addr(8);
 162    $t69_70 = $t59_60.$get().addr(9);
 163    $t70_71 = $t59_60.$get().addr(10);
 164    $t71_72 = $t59_60.$get().addr(11);
 165    $t72_73 = $t59_60.$get().addr(12);
 166    $t73_74 = $t59_60.$get().addr(13);
 167    $t74_75 = $t59_60.$get().addr(14);
 168    $t75_76 = formatBits.$get().addr(4);
 169    $t76_77 = $t75_76.$get().addr(0);
 170    $t77_78 = $t75_76.$get().addr(1);
 171    $t78_79 = $t75_76.$get().addr(2);
 172    $t79_80 = $t75_76.$get().addr(3);
 173    $t80_81 = $t75_76.$get().addr(4);
 174    $t81_82 = $t75_76.$get().addr(5);
 175    $t82_83 = $t75_76.$get().addr(6);
 176    $t83_84 = $t75_76.$get().addr(7);
 177    $t84_85 = $t75_76.$get().addr(8);
 178    $t85_86 = $t75_76.$get().addr(9);
 179    $t86_87 = $t75_76.$get().addr(10);
 180    $t87_88 = $t75_76.$get().addr(11);
 181    $t88_89 = $t75_76.$get().addr(12);
 182    $t89_90 = $t75_76.$get().addr(13);
 183    $t90_91 = $t75_76.$get().addr(14);
 184    $t91_92 = formatBits.$get().addr(5);
 185    $t92_93 = $t91_92.$get().addr(0);
 186    $t93_94 = $t91_92.$get().addr(1);
 187    $t94_95 = $t91_92.$get().addr(2);
 188    $t95_96 = $t91_92.$get().addr(3);
 189    $t96_97 = $t91_92.$get().addr(4);
 190    $t97_98 = $t91_92.$get().addr(5);
 191    $t98_99 = $t91_92.$get().addr(6);
 192    $t99_100 = $t91_92.$get().addr(7);
 193    $t100_101 = $t91_92.$get().addr(8);
 194    $t101_102 = $t91_92.$get().addr(9);
 195    $t102_103 = $t91_92.$get().addr(10);
 196    $t103_104 = $t91_92.$get().addr(11);
 197    $t104_105 = $t91_92.$get().addr(12);
 198    $t105_106 = $t91_92.$get().addr(13);
 199    $t106_107 = $t91_92.$get().addr(14);
 200    $t107_108 = formatBits.$get().addr(6);
 201    $t108_109 = $t107_108.$get().addr(0);
 202    $t109_110 = $t107_108.$get().addr(1);
 203    $t110_111 = $t107_108.$get().addr(2);
 204    $t111_112 = $t107_108.$get().addr(3);
 205    $t112_113 = $t107_108.$get().addr(4);
 206    $t113_114 = $t107_108.$get().addr(5);
 207    $t114_115 = $t107_108.$get().addr(6);
 208    $t115_116 = $t107_108.$get().addr(7);
 209    $t116_117 = $t107_108.$get().addr(8);
 210    $t117_118 = $t107_108.$get().addr(9);
 211    $t118_119 = $t107_108.$get().addr(10);
 212    $t119_120 = $t107_108.$get().addr(11);
 213    $t120_121 = $t107_108.$get().addr(12);
 214    $t121_122 = $t107_108.$get().addr(13);
 215    $t122_123 = $t107_108.$get().addr(14);
 216    $t123_124 = formatBits.$get().addr(7);
 217    $t124_125 = $t123_124.$get().addr(0);
 218    $t125_126 = $t123_124.$get().addr(1);
 219    $t126_127 = $t123_124.$get().addr(2);
 220    $t127_128 = $t123_124.$get().addr(3);
 221    $t128_129 = $t123_124.$get().addr(4);
 222    $t129_130 = $t123_124.$get().addr(5);
 223    $t130_131 = $t123_124.$get().addr(6);
 224    $t131_132 = $t123_124.$get().addr(7);
 225    $t132_133 = $t123_124.$get().addr(8);
 226    $t133_134 = $t123_124.$get().addr(9);
 227    $t134_135 = $t123_124.$get().addr(10);
 228    $t135_136 = $t123_124.$get().addr(11);
 229    $t136_137 = $t123_124.$get().addr(12);
 230    $t137_138 = $t123_124.$get().addr(13);
 231    $t138_139 = $t123_124.$get().addr(14);
 232    $t12_13.$set(1);
 233    $t13_14.$set(0);
 234    $t14_15.$set(1);
 235    $t15_16.$set(0);
 236    $t16_17.$set(1);
 237    $t17_18.$set(0);
 238    $t18_19.$set(0);
 239    $t19_20.$set(0);
 240    $t20_21.$set(0);
 241    $t21_22.$set(0);
 242    $t22_23.$set(1);
 243    $t23_24.$set(0);
 244    $t24_25.$set(0);
 245    $t25_26.$set(1);
 246    $t26_27.$set(0);
 247    $t28_29.$set(1);
 248    $t29_30.$set(0);
 249    $t30_31.$set(1);
 250    $t31_32.$set(0);
 251    $t32_33.$set(0);
 252    $t33_34.$set(0);
 253    $t34_35.$set(1);
 254    $t35_36.$set(0);
 255    $t36_37.$set(1);
 256    $t37_38.$set(1);
 257    $t38_39.$set(0);
 258    $t39_40.$set(1);
 259    $t40_41.$set(1);
 260    $t41_42.$set(0);
 261    $t42_43.$set(0);
 262    $t44_45.$set(1);
 263    $t45_46.$set(0);
 264    $t46_47.$set(1);
 265    $t47_48.$set(1);
 266    $t48_49.$set(1);
 267    $t49_50.$set(1);
 268    $t50_51.$set(0);
 269    $t51_52.$set(1);
 270    $t52_53.$set(1);
 271    $t53_54.$set(0);
 272    $t54_55.$set(0);
 273    $t55_56.$set(0);
 274    $t56_57.$set(1);
 275    $t57_58.$set(1);
 276    $t58_59.$set(1);
 277    $t60_61.$set(1);
 278    $t61_62.$set(0);
 279    $t62_63.$set(1);
 280    $t63_64.$set(1);
 281    $t64_65.$set(0);
 282    $t65_66.$set(1);
 283    $t66_67.$set(1);
 284    $t67_68.$set(1);
 285    $t68_69.$set(0);
 286    $t69_70.$set(1);
 287    $t70_71.$set(1);
 288    $t71_72.$set(1);
 289    $t72_73.$set(0);
 290    $t73_74.$set(0);
 291    $t74_75.$set(1);
 292    $t76_77.$set(1);
 293    $t77_78.$set(0);
 294    $t78_79.$set(0);
 295    $t79_80.$set(0);
 296    $t80_81.$set(1);
 297    $t81_82.$set(0);
 298    $t82_83.$set(1);
 299    $t83_84.$set(1);
 300    $t84_85.$set(0);
 301    $t85_86.$set(1);
 302    $t86_87.$set(0);
 303    $t87_88.$set(1);
 304    $t88_89.$set(1);
 305    $t89_90.$set(1);
 306    $t90_91.$set(0);
 307    $t92_93.$set(1);
 308    $t93_94.$set(0);
 309    $t94_95.$set(0);
 310    $t95_96.$set(0);
 311    $t96_97.$set(0);
 312    $t97_98.$set(0);
 313    $t98_99.$set(0);
 314    $t99_100.$set(1);
 315    $t100_101.$set(1);
 316    $t101_102.$set(0);
 317    $t102_103.$set(1);
 318    $t103_104.$set(0);
 319    $t104_105.$set(0);
 320    $t105_106.$set(0);
 321    $t106_107.$set(0);
 322    $t108_109.$set(1);
 323    $t109_110.$set(0);
 324    $t110_111.$set(0);
 325    $t111_112.$set(1);
 326    $t112_113.$set(1);
 327    $t113_114.$set(1);
 328    $t114_115.$set(1);
 329    $t115_116.$set(0);
 330    $t116_117.$set(1);
 331    $t117_118.$set(1);
 332    $t118_119.$set(1);
 333    $t119_120.$set(1);
 334    $t120_121.$set(0);
 335    $t121_122.$set(1);
 336    $t122_123.$set(1);
 337    $t124_125.$set(1);
 338    $t125_126.$set(0);
 339    $t126_127.$set(0);
 340    $t127_128.$set(1);
 341    $t128_129.$set(0);
 342    $t129_130.$set(1);
 343    $t130_131.$set(0);
 344    $t131_132.$set(0);
 345    $t132_133.$set(0);
 346    $t133_134.$set(0);
 347    $t134_135.$set(0);
 348    $t135_136.$set(0);
 349    $t136_137.$set(1);
 350    $t137_138.$set(0);
 351    $t138_139.$set(1);
 352    return;
 353  }
 354  
 355  export function qrSVG(data, size, logoSVG) {
 356    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101;
 357    let $block = 0;
 358    while (true) {
 359      switch ($block) {
 360        case 0: {
 361          $t0_1 = qrEncode(data);
 362          $t1_2 = ($t0_1 === null);
 363          if ($t1_2) {
 364            $block = 1; break;
 365          }
 366          else {
 367            $block = 2; break;
 368          }
 369          break;
 370        }
 371        case 1: {
 372          return '';
 373          break;
 374        }
 375        case 2: {
 376          $t2_3 = $rt.builtin.len($t0_1);
 377          $t3_4 = (2 * 2);
 378          $t4_5 = ($t2_3 + $t3_4);
 379          $t5_6 = Math.trunc(size / $t4_5);
 380          $t6_7 = ($t5_6 < 1);
 381          if ($t6_7) {
 382            $block = 3; break;
 383          }
 384          else {
 385            $t7_8 = $t5_6;
 386            $block = 4; break;
 387          }
 388          break;
 389        }
 390        case 3: {
 391          $t7_8 = 1;
 392          $block = 4; break;
 393          break;
 394        }
 395        case 4: {
 396          $t8_9 = ($t4_5 * $t7_8);
 397          $t9_10 = itoa($t8_9);
 398          $t10_11 = ('<svg xmlns=\'http://www.w3.org/2000/svg\' width=\'' + $t9_10);
 399          $t11_12 = ($t10_11 + '\' height=\'');
 400          $t12_13 = itoa($t8_9);
 401          $t13_14 = ($t11_12 + $t12_13);
 402          $t14_15 = ($t13_14 + '\' viewBox=\'0 0 ');
 403          $t15_16 = itoa($t8_9);
 404          $t16_17 = ($t14_15 + $t15_16);
 405          $t17_18 = ($t16_17 + ' ');
 406          $t18_19 = itoa($t8_9);
 407          $t19_20 = ($t17_18 + $t18_19);
 408          $t20_21 = ($t19_20 + '\'>');
 409          $t21_22 = ($t20_21 + '<rect width=\'100%\' height=\'100%\' fill=\'white\'/>');
 410          $t22_23 = ($t2_3 - 9);
 411          $t23_24 = Math.trunc($t22_23 / 2);
 412          $t24_25 = ($t23_24 + 9);
 413          $t25_26 = $t21_22;
 414          $t26_27 = 0;
 415          $block = 5; break;
 416          break;
 417        }
 418        case 5: {
 419          $t27_28 = ($t26_27 < $t2_3);
 420          if ($t27_28) {
 421            $block = 6; break;
 422          }
 423          else {
 424            $block = 7; break;
 425          }
 426          break;
 427        }
 428        case 6: {
 429          $t29_30 = $t25_26;
 430          $t30_31 = 0;
 431          $block = 8; break;
 432          break;
 433        }
 434        case 7: {
 435          $t28_29 = (logoSVG !== '');
 436          if ($t28_29) {
 437            $block = 17; break;
 438          }
 439          else {
 440            $t99_100 = $t25_26;
 441            $block = 18; break;
 442          }
 443          break;
 444        }
 445        case 8: {
 446          $t31_32 = ($t30_31 < $t2_3);
 447          if ($t31_32) {
 448            $block = 9; break;
 449          }
 450          else {
 451            $block = 11; break;
 452          }
 453          break;
 454        }
 455        case 9: {
 456          $t32_33 = $t0_1.addr($t26_27);
 457          $t33_34 = $t32_33.$get();
 458          $t34_35 = $t33_34.addr($t30_31);
 459          $t35_36 = $t34_35.$get();
 460          $t36_37 = ($t35_36 & 1);
 461          $t37_38 = ($t36_37 === 1);
 462          if ($t37_38) {
 463            $block = 12; break;
 464          }
 465          else {
 466            $t38_39 = $t29_30;
 467            $block = 10; break;
 468          }
 469          break;
 470        }
 471        case 10: {
 472          $t39_40 = ($t30_31 + 1);
 473          $t29_30 = $t38_39;
 474          $t30_31 = $t39_40;
 475          $block = 8; break;
 476          break;
 477        }
 478        case 11: {
 479          $t40_41 = ($t26_27 + 1);
 480          $t25_26 = $t29_30;
 481          $t26_27 = $t40_41;
 482          $block = 5; break;
 483          break;
 484        }
 485        case 12: {
 486          $t41_42 = ($t30_31 >= $t23_24);
 487          if ($t41_42) {
 488            $block = 16; break;
 489          }
 490          else {
 491            $block = 13; break;
 492          }
 493          break;
 494        }
 495        case 13: {
 496          $t42_43 = ($t30_31 + 2);
 497          $t43_44 = ($t42_43 * $t7_8);
 498          $t44_45 = ($t26_27 + 2);
 499          $t45_46 = ($t44_45 * $t7_8);
 500          $t46_47 = itoa($t43_44);
 501          $t47_48 = ('<rect x=\'' + $t46_47);
 502          $t48_49 = ($t47_48 + '\' y=\'');
 503          $t49_50 = itoa($t45_46);
 504          $t50_51 = ($t48_49 + $t49_50);
 505          $t51_52 = ($t50_51 + '\' width=\'');
 506          $t52_53 = itoa($t7_8);
 507          $t53_54 = ($t51_52 + $t52_53);
 508          $t54_55 = ($t53_54 + '\' height=\'');
 509          $t55_56 = itoa($t7_8);
 510          $t56_57 = ($t54_55 + $t55_56);
 511          $t57_58 = ($t56_57 + '\' fill=\'black\'/>');
 512          $t58_59 = ($t29_30 + $t57_58);
 513          $t38_39 = $t58_59;
 514          $block = 10; break;
 515          break;
 516        }
 517        case 14: {
 518          $t59_60 = ($t26_27 < $t24_25);
 519          if ($t59_60) {
 520            $t38_39 = $t29_30;
 521            $block = 10; break;
 522          }
 523          else {
 524            $block = 13; break;
 525          }
 526          break;
 527        }
 528        case 15: {
 529          $t60_61 = ($t26_27 >= $t23_24);
 530          if ($t60_61) {
 531            $block = 14; break;
 532          }
 533          else {
 534            $block = 13; break;
 535          }
 536          break;
 537        }
 538        case 16: {
 539          $t61_62 = ($t30_31 < $t24_25);
 540          if ($t61_62) {
 541            $block = 15; break;
 542          }
 543          else {
 544            $block = 13; break;
 545          }
 546          break;
 547        }
 548        case 17: {
 549          $t62_63 = ($t23_24 + 2);
 550          $t63_64 = ($t62_63 * $t7_8);
 551          $t64_65 = (9 * $t7_8);
 552          $t65_66 = itoa($t63_64);
 553          $t66_67 = ('<g transform=\'translate(' + $t65_66);
 554          $t67_68 = ($t66_67 + ',');
 555          $t68_69 = itoa($t63_64);
 556          $t69_70 = ($t67_68 + $t68_69);
 557          $t70_71 = ($t69_70 + ')\'>');
 558          $t71_72 = ($t25_26 + $t70_71);
 559          $t72_73 = itoa($t64_65);
 560          $t73_74 = ('<rect width=\'' + $t72_73);
 561          $t74_75 = ($t73_74 + '\' height=\'');
 562          $t75_76 = itoa($t64_65);
 563          $t76_77 = ($t74_75 + $t75_76);
 564          $t77_78 = ($t76_77 + '\' fill=\'white\' rx=\'4\'/>');
 565          $t78_79 = ($t71_72 + $t77_78);
 566          $t79_80 = Math.trunc($t64_65 / 6);
 567          $t80_81 = ($t79_80 * 2);
 568          $t81_82 = ($t64_65 - $t80_81);
 569          $t82_83 = itoa($t79_80);
 570          $t83_84 = ('<g transform=\'translate(' + $t82_83);
 571          $t84_85 = ($t83_84 + ',');
 572          $t85_86 = itoa($t79_80);
 573          $t86_87 = ($t84_85 + $t85_86);
 574          $t87_88 = ($t86_87 + ')\'>');
 575          $t88_89 = ($t78_79 + $t87_88);
 576          $t89_90 = itoa($t81_82);
 577          $t90_91 = ('<svg width=\'' + $t89_90);
 578          $t91_92 = ($t90_91 + '\' height=\'');
 579          $t92_93 = itoa($t81_82);
 580          $t93_94 = ($t91_92 + $t92_93);
 581          $t94_95 = ($t93_94 + '\' viewBox=\'0 0 100 100\'>');
 582          $t95_96 = ($t88_89 + $t94_95);
 583          $t96_97 = extractSVGContent(logoSVG);
 584          $t97_98 = ($t95_96 + $t96_97);
 585          $t98_99 = ($t97_98 + '</svg></g></g>');
 586          $t99_100 = $t98_99;
 587          $block = 18; break;
 588          break;
 589        }
 590        case 18: {
 591          $t100_101 = ($t99_100 + '</svg>');
 592          return $t100_101;
 593          break;
 594        }
 595      }
 596    }
 597  }
 598  
 599  export function extractSVGContent(s) {
 600    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34;
 601    let $block = 0;
 602    while (true) {
 603      switch ($block) {
 604        case 0: {
 605          $t3_4 = 0;
 606          $block = 3; break;
 607          break;
 608        }
 609        case 1: {
 610          $t0_1 = ($t3_4 + 1);
 611          $t3_4 = $t0_1;
 612          $block = 3; break;
 613          break;
 614        }
 615        case 2: {
 616          $t1_2 = $rt.builtin.len(s);
 617          $t2_3 = ($t3_4 >= $t1_2);
 618          if ($t2_3) {
 619            $block = 5; break;
 620          }
 621          else {
 622            $block = 6; break;
 623          }
 624          break;
 625        }
 626        case 3: {
 627          $t4_5 = $rt.builtin.len(s);
 628          $t5_6 = ($t3_4 < $t4_5);
 629          if ($t5_6) {
 630            $block = 4; break;
 631          }
 632          else {
 633            $block = 2; break;
 634          }
 635          break;
 636        }
 637        case 4: {
 638          $rt.runtime.boundsCheck($t3_4, $rt.builtin.byteLen(s));
 639          $t6_7 = $rt.builtin.stringByteAt(s, $t3_4);
 640          $t7_8 = ($t6_7 !== 60);
 641          if ($t7_8) {
 642            $block = 1; break;
 643          }
 644          else {
 645            $block = 2; break;
 646          }
 647          break;
 648        }
 649        case 5: {
 650          return s;
 651          break;
 652        }
 653        case 6: {
 654          $t8_9 = ($t3_4 + 1);
 655          $t12_13 = $t8_9;
 656          $block = 9; break;
 657          break;
 658        }
 659        case 7: {
 660          $t9_10 = ($t12_13 + 1);
 661          $t12_13 = $t9_10;
 662          $block = 9; break;
 663          break;
 664        }
 665        case 8: {
 666          $t10_11 = $rt.builtin.len(s);
 667          $t11_12 = ($t12_13 >= $t10_11);
 668          if ($t11_12) {
 669            $block = 11; break;
 670          }
 671          else {
 672            $block = 12; break;
 673          }
 674          break;
 675        }
 676        case 9: {
 677          $t13_14 = $rt.builtin.len(s);
 678          $t14_15 = ($t12_13 < $t13_14);
 679          if ($t14_15) {
 680            $block = 10; break;
 681          }
 682          else {
 683            $block = 8; break;
 684          }
 685          break;
 686        }
 687        case 10: {
 688          $rt.runtime.boundsCheck($t12_13, $rt.builtin.byteLen(s));
 689          $t15_16 = $rt.builtin.stringByteAt(s, $t12_13);
 690          $t16_17 = ($t15_16 !== 62);
 691          if ($t16_17) {
 692            $block = 7; break;
 693          }
 694          else {
 695            $block = 8; break;
 696          }
 697          break;
 698        }
 699        case 11: {
 700          return s;
 701          break;
 702        }
 703        case 12: {
 704          $t17_18 = ($t12_13 + 1);
 705          $t18_19 = $rt.builtin.len(s);
 706          $t19_20 = $rt.builtin.len(s);
 707          $t20_21 = ($t19_20 - 1);
 708          $t21_22 = $t20_21;
 709          $block = 13; break;
 710          break;
 711        }
 712        case 13: {
 713          $t22_23 = ($t21_22 >= 6);
 714          if ($t22_23) {
 715            $block = 14; break;
 716          }
 717          else {
 718            $t25_26 = $t18_19;
 719            $block = 15; break;
 720          }
 721          break;
 722        }
 723        case 14: {
 724          $rt.runtime.boundsCheck($t21_22, $rt.builtin.byteLen(s));
 725          $t23_24 = $rt.builtin.stringByteAt(s, $t21_22);
 726          $t24_25 = ($t23_24 === 62);
 727          if ($t24_25) {
 728            $block = 19; break;
 729          }
 730          else {
 731            $block = 17; break;
 732          }
 733          break;
 734        }
 735        case 15: {
 736          $t26_27 = $rt.builtin.stringSlice(s, $t17_18, $t25_26);
 737          return $t26_27;
 738          break;
 739        }
 740        case 16: {
 741          $t27_28 = ($t21_22 - 5);
 742          $t25_26 = $t27_28;
 743          $block = 15; break;
 744          break;
 745        }
 746        case 17: {
 747          $t28_29 = ($t21_22 - 1);
 748          $t21_22 = $t28_29;
 749          $block = 13; break;
 750          break;
 751        }
 752        case 18: {
 753          $t29_30 = ($t21_22 - 5);
 754          $t30_31 = ($t21_22 + 1);
 755          $t31_32 = $rt.builtin.stringSlice(s, $t29_30, $t30_31);
 756          $t32_33 = ($t31_32 === '</svg>');
 757          if ($t32_33) {
 758            $block = 16; break;
 759          }
 760          else {
 761            $block = 17; break;
 762          }
 763          break;
 764        }
 765        case 19: {
 766          $t33_34 = ($t21_22 >= 5);
 767          if ($t33_34) {
 768            $block = 18; break;
 769          }
 770          else {
 771            $block = 17; break;
 772          }
 773          break;
 774        }
 775      }
 776    }
 777  }
 778  
 779  export function qrEncode(data) {
 780    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49;
 781    let $block = 0;
 782    while (true) {
 783      switch ($block) {
 784        case 0: {
 785          $t0_1 = gfInit();
 786          $t1_2 = qrAlphanumericBits(data);
 787          $t2_3 = ($t1_2 === null);
 788          if ($t2_3) {
 789            $block = 1; break;
 790          }
 791          else {
 792            $block = 2; break;
 793          }
 794          break;
 795        }
 796        case 1: {
 797          return null;
 798          break;
 799        }
 800        case 2: {
 801          $t3_4 = qrPadBits($t1_2);
 802          $t4_5 = bitsToBytes($t3_4);
 803          $t5_6 = rsEncode($t4_5);
 804          $t6_7 = $rt.builtin.len($t4_5);
 805          $t7_8 = null;
 806          $t8_9 = -1;
 807          $block = 3; break;
 808          break;
 809        }
 810        case 3: {
 811          $t9_10 = ($t8_9 + 1);
 812          $t10_11 = ($t9_10 < $t6_7);
 813          if ($t10_11) {
 814            $block = 4; break;
 815          }
 816          else {
 817            $block = 5; break;
 818          }
 819          break;
 820        }
 821        case 4: {
 822          $t11_12 = $t4_5.addr($t9_10);
 823          $t12_13 = $t11_12.$get();
 824          $t13_14 = byteToBits($t12_13);
 825          $t14_15 = $rt.builtin.appendSlice($t7_8, $t13_14);
 826          $t7_8 = $t14_15;
 827          $t8_9 = $t9_10;
 828          $block = 3; break;
 829          break;
 830        }
 831        case 5: {
 832          $t15_16 = $rt.builtin.len($t5_6);
 833          $t16_17 = $t7_8;
 834          $t17_18 = -1;
 835          $block = 6; break;
 836          break;
 837        }
 838        case 6: {
 839          $t18_19 = ($t17_18 + 1);
 840          $t19_20 = ($t18_19 < $t15_16);
 841          if ($t19_20) {
 842            $block = 7; break;
 843          }
 844          else {
 845            $block = 8; break;
 846          }
 847          break;
 848        }
 849        case 7: {
 850          $t20_21 = $t5_6.addr($t18_19);
 851          $t21_22 = $t20_21.$get();
 852          $t22_23 = byteToBits($t21_22);
 853          $t23_24 = $rt.builtin.appendSlice($t16_17, $t22_23);
 854          $t16_17 = $t23_24;
 855          $t17_18 = $t18_19;
 856          $block = 6; break;
 857          break;
 858        }
 859        case 8: {
 860          $t24_25 = $t16_17;
 861          $t25_26 = 0;
 862          $block = 9; break;
 863          break;
 864        }
 865        case 9: {
 866          $t26_27 = ($t25_26 < 7);
 867          if ($t26_27) {
 868            $block = 10; break;
 869          }
 870          else {
 871            $block = 11; break;
 872          }
 873          break;
 874        }
 875        case 10: {
 876          $t27_28 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 877          $t28_29 = $t27_28.$get().addr(0);
 878          $t28_29.$set(0);
 879          $t29_30 = $rt.builtin.sliceSlice($t27_28.$get(), undefined, undefined, undefined);
 880          $t30_31 = $rt.builtin.appendSlice($t24_25, $t29_30);
 881          $t31_32 = ($t25_26 + 1);
 882          $t24_25 = $t30_31;
 883          $t25_26 = $t31_32;
 884          $block = 9; break;
 885          break;
 886        }
 887        case 11: {
 888          $t32_33 = { $value: $rt.builtin.makeSlice(33, 33, null), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 889          $t33_34 = $rt.builtin.sliceSlice($t32_33.$get(), undefined, 33, undefined);
 890          $t34_35 = $rt.builtin.len($t33_34);
 891          $t35_36 = -1;
 892          $block = 12; break;
 893          break;
 894        }
 895        case 12: {
 896          $t36_37 = ($t35_36 + 1);
 897          $t37_38 = ($t36_37 < $t34_35);
 898          if ($t37_38) {
 899            $block = 13; break;
 900          }
 901          else {
 902            $block = 14; break;
 903          }
 904          break;
 905        }
 906        case 13: {
 907          $t38_39 = { $value: $rt.builtin.makeSlice(33, 33, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 908          $t39_40 = $rt.builtin.sliceSlice($t38_39.$get(), undefined, 33, undefined);
 909          $t40_41 = $t33_34.addr($t36_37);
 910          $t40_41.$set($t39_40);
 911          $t35_36 = $t36_37;
 912          $block = 12; break;
 913          break;
 914        }
 915        case 14: {
 916          $t41_42 = qrPlaceFinderPatterns($t33_34);
 917          $t42_43 = qrPlaceAlignmentPattern($t33_34);
 918          $t43_44 = qrPlaceTimingPatterns($t33_34);
 919          $t44_45 = qrPlaceDarkModule($t33_34);
 920          $t45_46 = qrReserveFormatArea($t33_34);
 921          $t46_47 = qrReserveVersionArea($t33_34);
 922          $t47_48 = qrPlaceData($t33_34, $t24_25);
 923          $t48_49 = qrApplyBestMask($t33_34);
 924          return $t33_34;
 925          break;
 926        }
 927      }
 928    }
 929  }
 930  
 931  export function alphaVal(c) {
 932    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
 933    let $block = 0;
 934    while (true) {
 935      switch ($block) {
 936        case 0: {
 937          $t0_1 = 0;
 938          $block = 1; break;
 939          break;
 940        }
 941        case 1: {
 942          $t1_2 = ($t0_1 < 45);
 943          if ($t1_2) {
 944            $block = 2; break;
 945          }
 946          else {
 947            $block = 3; break;
 948          }
 949          break;
 950        }
 951        case 2: {
 952          $rt.runtime.boundsCheck($t0_1, $rt.builtin.byteLen('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'));
 953          $t2_3 = $rt.builtin.stringByteAt('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:', $t0_1);
 954          $t3_4 = ($t2_3 === c);
 955          if ($t3_4) {
 956            $block = 4; break;
 957          }
 958          else {
 959            $block = 5; break;
 960          }
 961          break;
 962        }
 963        case 3: {
 964          return -1;
 965          break;
 966        }
 967        case 4: {
 968          return $t0_1;
 969          break;
 970        }
 971        case 5: {
 972          $t4_5 = ($t0_1 + 1);
 973          $t0_1 = $t4_5;
 974          $block = 1; break;
 975          break;
 976        }
 977      }
 978    }
 979  }
 980  
 981  export function qrAlphanumericBits(data) {
 982    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68;
 983    let $block = 0;
 984    while (true) {
 985      switch ($block) {
 986        case 0: {
 987          $t0_1 = toUpper(data);
 988          $t1_2 = { $value: $rt.builtin.makeSlice(4, 4, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
 989          $t2_3 = $t1_2.$get().addr(0);
 990          $t2_3.$set(0);
 991          $t3_4 = $t1_2.$get().addr(1);
 992          $t3_4.$set(0);
 993          $t4_5 = $t1_2.$get().addr(2);
 994          $t4_5.$set(1);
 995          $t5_6 = $t1_2.$get().addr(3);
 996          $t5_6.$set(0);
 997          $t6_7 = $rt.builtin.sliceSlice($t1_2.$get(), undefined, undefined, undefined);
 998          $t7_8 = $rt.builtin.len($t0_1);
 999          $t8_9 = $t6_7;
1000          $t9_10 = 8;
1001          $block = 1; break;
1002          break;
1003        }
1004        case 1: {
1005          $t10_11 = ($t9_10 >= 0);
1006          if ($t10_11) {
1007            $block = 2; break;
1008          }
1009          else {
1010            $block = 3; break;
1011          }
1012          break;
1013        }
1014        case 2: {
1015          $t11_12 = $t9_10;
1016          $t12_13 = Math.trunc($t7_8 / (2 ** $t11_12));
1017          $t13_14 = $rt.builtin.int64and($t12_13, 1);
1018          $t14_15 = ($t13_14 & 0xFF);
1019          $t15_16 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1020          $t16_17 = $t15_16.$get().addr(0);
1021          $t16_17.$set($t14_15);
1022          $t17_18 = $rt.builtin.sliceSlice($t15_16.$get(), undefined, undefined, undefined);
1023          $t18_19 = $rt.builtin.appendSlice($t8_9, $t17_18);
1024          $t19_20 = ($t9_10 - 1);
1025          $t8_9 = $t18_19;
1026          $t9_10 = $t19_20;
1027          $block = 1; break;
1028          break;
1029        }
1030        case 3: {
1031          $t20_21 = $t8_9;
1032          $t21_22 = 0;
1033          $block = 4; break;
1034          break;
1035        }
1036        case 4: {
1037          $t22_23 = ($t21_22 + 1);
1038          $t23_24 = $rt.builtin.len($t0_1);
1039          $t24_25 = ($t22_23 < $t23_24);
1040          if ($t24_25) {
1041            $block = 5; break;
1042          }
1043          else {
1044            $block = 6; break;
1045          }
1046          break;
1047        }
1048        case 5: {
1049          $rt.runtime.boundsCheck($t21_22, $rt.builtin.byteLen($t0_1));
1050          $t25_26 = $rt.builtin.stringByteAt($t0_1, $t21_22);
1051          $t26_27 = alphaVal($t25_26);
1052          $t27_28 = ($t21_22 + 1);
1053          $rt.runtime.boundsCheck($t27_28, $rt.builtin.byteLen($t0_1));
1054          $t28_29 = $rt.builtin.stringByteAt($t0_1, $t27_28);
1055          $t29_30 = alphaVal($t28_29);
1056          $t30_31 = ($t26_27 < 0);
1057          if ($t30_31) {
1058            $block = 7; break;
1059          }
1060          else {
1061            $block = 9; break;
1062          }
1063          break;
1064        }
1065        case 6: {
1066          $t31_32 = $rt.builtin.len($t0_1);
1067          $t32_33 = ($t31_32 % 2);
1068          $t33_34 = ($t32_33 === 1);
1069          if ($t33_34) {
1070            $block = 13; break;
1071          }
1072          else {
1073            $t55_56 = $t20_21;
1074            $block = 14; break;
1075          }
1076          break;
1077        }
1078        case 7: {
1079          return null;
1080          break;
1081        }
1082        case 8: {
1083          $t34_35 = ($t26_27 * 45);
1084          $t35_36 = ($t34_35 + $t29_30);
1085          $t37_38 = $t20_21;
1086          $t38_39 = 10;
1087          $block = 10; break;
1088          break;
1089        }
1090        case 9: {
1091          $t36_37 = ($t29_30 < 0);
1092          if ($t36_37) {
1093            $block = 7; break;
1094          }
1095          else {
1096            $block = 8; break;
1097          }
1098          break;
1099        }
1100        case 10: {
1101          $t39_40 = ($t38_39 >= 0);
1102          if ($t39_40) {
1103            $block = 11; break;
1104          }
1105          else {
1106            $block = 12; break;
1107          }
1108          break;
1109        }
1110        case 11: {
1111          $t40_41 = $t38_39;
1112          $t41_42 = Math.trunc($t35_36 / (2 ** $t40_41));
1113          $t42_43 = $rt.builtin.int64and($t41_42, 1);
1114          $t43_44 = ($t42_43 & 0xFF);
1115          $t44_45 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1116          $t45_46 = $t44_45.$get().addr(0);
1117          $t45_46.$set($t43_44);
1118          $t46_47 = $rt.builtin.sliceSlice($t44_45.$get(), undefined, undefined, undefined);
1119          $t47_48 = $rt.builtin.appendSlice($t37_38, $t46_47);
1120          $t48_49 = ($t38_39 - 1);
1121          $t37_38 = $t47_48;
1122          $t38_39 = $t48_49;
1123          $block = 10; break;
1124          break;
1125        }
1126        case 12: {
1127          $t49_50 = ($t21_22 + 2);
1128          $t20_21 = $t37_38;
1129          $t21_22 = $t49_50;
1130          $block = 4; break;
1131          break;
1132        }
1133        case 13: {
1134          $t50_51 = $rt.builtin.len($t0_1);
1135          $t51_52 = ($t50_51 - 1);
1136          $rt.runtime.boundsCheck($t51_52, $rt.builtin.byteLen($t0_1));
1137          $t52_53 = $rt.builtin.stringByteAt($t0_1, $t51_52);
1138          $t53_54 = alphaVal($t52_53);
1139          $t54_55 = ($t53_54 < 0);
1140          if ($t54_55) {
1141            $block = 15; break;
1142          }
1143          else {
1144            $block = 16; break;
1145          }
1146          break;
1147        }
1148        case 14: {
1149          return $t55_56;
1150          break;
1151        }
1152        case 15: {
1153          return null;
1154          break;
1155        }
1156        case 16: {
1157          $t56_57 = $t20_21;
1158          $t57_58 = 5;
1159          $block = 17; break;
1160          break;
1161        }
1162        case 17: {
1163          $t58_59 = ($t57_58 >= 0);
1164          if ($t58_59) {
1165            $block = 18; break;
1166          }
1167          else {
1168            $t55_56 = $t56_57;
1169            $block = 14; break;
1170          }
1171          break;
1172        }
1173        case 18: {
1174          $t59_60 = $t57_58;
1175          $t60_61 = Math.trunc($t53_54 / (2 ** $t59_60));
1176          $t61_62 = $rt.builtin.int64and($t60_61, 1);
1177          $t62_63 = ($t61_62 & 0xFF);
1178          $t63_64 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1179          $t64_65 = $t63_64.$get().addr(0);
1180          $t64_65.$set($t62_63);
1181          $t65_66 = $rt.builtin.sliceSlice($t63_64.$get(), undefined, undefined, undefined);
1182          $t66_67 = $rt.builtin.appendSlice($t56_57, $t65_66);
1183          $t67_68 = ($t57_58 - 1);
1184          $t56_57 = $t66_67;
1185          $t57_58 = $t67_68;
1186          $block = 17; break;
1187          break;
1188        }
1189      }
1190    }
1191  }
1192  
1193  export function toUpper(s) {
1194    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13;
1195    let $block = 0;
1196    while (true) {
1197      switch ($block) {
1198        case 0: {
1199          $t0_1 = $rt.builtin.len(s);
1200          $t1_2 = $rt.builtin.makeSlice($t0_1, $t0_1, 0);
1201          $t2_3 = 0;
1202          $block = 1; break;
1203          break;
1204        }
1205        case 1: {
1206          $t3_4 = $rt.builtin.len(s);
1207          $t4_5 = ($t2_3 < $t3_4);
1208          if ($t4_5) {
1209            $block = 2; break;
1210          }
1211          else {
1212            $block = 3; break;
1213          }
1214          break;
1215        }
1216        case 2: {
1217          $rt.runtime.boundsCheck($t2_3, $rt.builtin.byteLen(s));
1218          $t5_6 = $rt.builtin.stringByteAt(s, $t2_3);
1219          $t6_7 = ($t5_6 >= 97);
1220          if ($t6_7) {
1221            $block = 6; break;
1222          }
1223          else {
1224            $t9_10 = $t5_6;
1225            $block = 5; break;
1226          }
1227          break;
1228        }
1229        case 3: {
1230          $t7_8 = $rt.builtin.bytesToString($t1_2);
1231          return $t7_8;
1232          break;
1233        }
1234        case 4: {
1235          $t8_9 = (($t5_6 - 32) & 0xFF);
1236          $t9_10 = $t8_9;
1237          $block = 5; break;
1238          break;
1239        }
1240        case 5: {
1241          $t10_11 = $t1_2.addr($t2_3);
1242          $t10_11.$set($t9_10);
1243          $t11_12 = ($t2_3 + 1);
1244          $t2_3 = $t11_12;
1245          $block = 1; break;
1246          break;
1247        }
1248        case 6: {
1249          $t12_13 = ($t5_6 <= 122);
1250          if ($t12_13) {
1251            $block = 4; break;
1252          }
1253          else {
1254            $t9_10 = $t5_6;
1255            $block = 5; break;
1256          }
1257          break;
1258        }
1259      }
1260    }
1261  }
1262  
1263  export function qrPadBits(bits) {
1264    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37;
1265    let $block = 0;
1266    while (true) {
1267      switch ($block) {
1268        case 0: {
1269          $t0_1 = $rt.builtin.len(bits);
1270          $t1_2 = (640 - $t0_1);
1271          $t2_3 = ($t1_2 < 4);
1272          if ($t2_3) {
1273            $block = 1; break;
1274          }
1275          else {
1276            $t5_6 = 4;
1277            $block = 2; break;
1278          }
1279          break;
1280        }
1281        case 1: {
1282          $t3_4 = $rt.builtin.len(bits);
1283          $t4_5 = (640 - $t3_4);
1284          $t5_6 = $t4_5;
1285          $block = 2; break;
1286          break;
1287        }
1288        case 2: {
1289          $t6_7 = bits;
1290          $t7_8 = 0;
1291          $block = 3; break;
1292          break;
1293        }
1294        case 3: {
1295          $t8_9 = ($t7_8 < $t5_6);
1296          if ($t8_9) {
1297            $block = 4; break;
1298          }
1299          else {
1300            $t22_23 = $t6_7;
1301            $block = 7; break;
1302          }
1303          break;
1304        }
1305        case 4: {
1306          $t9_10 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1307          $t10_11 = $t9_10.$get().addr(0);
1308          $t10_11.$set(0);
1309          $t11_12 = $rt.builtin.sliceSlice($t9_10.$get(), undefined, undefined, undefined);
1310          $t12_13 = $rt.builtin.appendSlice($t6_7, $t11_12);
1311          $t13_14 = ($t7_8 + 1);
1312          $t6_7 = $t12_13;
1313          $t7_8 = $t13_14;
1314          $block = 3; break;
1315          break;
1316        }
1317        case 5: {
1318          $t14_15 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1319          $t15_16 = $t14_15.$get().addr(0);
1320          $t15_16.$set(0);
1321          $t16_17 = $rt.builtin.sliceSlice($t14_15.$get(), undefined, undefined, undefined);
1322          $t17_18 = $rt.builtin.appendSlice($t22_23, $t16_17);
1323          $t22_23 = $t17_18;
1324          $block = 7; break;
1325          break;
1326        }
1327        case 6: {
1328          $t18_19 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1329          $t19_20 = $t18_19.$get().addr(0);
1330          $t19_20.$set(236);
1331          $t20_21 = $t18_19.$get().addr(1);
1332          $t20_21.$set(17);
1333          $t21_22 = $rt.builtin.sliceSlice($t18_19.$get(), undefined, undefined, undefined);
1334          $t33_34 = $t22_23;
1335          $t34_35 = 0;
1336          $block = 10; break;
1337          break;
1338        }
1339        case 7: {
1340          $t23_24 = $rt.builtin.len($t22_23);
1341          $t24_25 = ($t23_24 % 8);
1342          $t25_26 = ($t24_25 !== 0);
1343          if ($t25_26) {
1344            $block = 5; break;
1345          }
1346          else {
1347            $block = 6; break;
1348          }
1349          break;
1350        }
1351        case 8: {
1352          $t26_27 = ($t34_35 % 2);
1353          $t27_28 = $t21_22.addr($t26_27);
1354          $t28_29 = $t27_28.$get();
1355          $t29_30 = byteToBits($t28_29);
1356          $t30_31 = $rt.builtin.appendSlice($t33_34, $t29_30);
1357          $t31_32 = ($t34_35 + 1);
1358          $t33_34 = $t30_31;
1359          $t34_35 = $t31_32;
1360          $block = 10; break;
1361          break;
1362        }
1363        case 9: {
1364          $t32_33 = $rt.builtin.sliceSlice($t33_34, undefined, 640, undefined);
1365          return $t32_33;
1366          break;
1367        }
1368        case 10: {
1369          $t35_36 = $rt.builtin.len($t33_34);
1370          $t36_37 = ($t35_36 < 640);
1371          if ($t36_37) {
1372            $block = 8; break;
1373          }
1374          else {
1375            $block = 9; break;
1376          }
1377          break;
1378        }
1379      }
1380    }
1381  }
1382  
1383  export function bitsToBytes(bits) {
1384    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17;
1385    let $block = 0;
1386    while (true) {
1387      switch ($block) {
1388        case 0: {
1389          $t0_1 = $rt.builtin.len(bits);
1390          $t1_2 = Math.trunc($t0_1 / 8);
1391          $t2_3 = $rt.builtin.makeSlice($t1_2, $t1_2, 0);
1392          $t3_4 = 0;
1393          $block = 1; break;
1394          break;
1395        }
1396        case 1: {
1397          $t4_5 = ($t3_4 < $t1_2);
1398          if ($t4_5) {
1399            $block = 2; break;
1400          }
1401          else {
1402            $block = 3; break;
1403          }
1404          break;
1405        }
1406        case 2: {
1407          $t5_6 = 0;
1408          $t6_7 = 0;
1409          $block = 4; break;
1410          break;
1411        }
1412        case 3: {
1413          return $t2_3;
1414          break;
1415        }
1416        case 4: {
1417          $t7_8 = ($t6_7 < 8);
1418          if ($t7_8) {
1419            $block = 5; break;
1420          }
1421          else {
1422            $block = 6; break;
1423          }
1424          break;
1425        }
1426        case 5: {
1427          $t8_9 = (($t5_6 << 1) & 0xFF);
1428          $t9_10 = ($t3_4 * 8);
1429          $t10_11 = ($t9_10 + $t6_7);
1430          $t11_12 = bits.addr($t10_11);
1431          $t12_13 = $t11_12.$get();
1432          $t13_14 = ($t8_9 | $t12_13);
1433          $t14_15 = ($t6_7 + 1);
1434          $t5_6 = $t13_14;
1435          $t6_7 = $t14_15;
1436          $block = 4; break;
1437          break;
1438        }
1439        case 6: {
1440          $t15_16 = $t2_3.addr($t3_4);
1441          $t15_16.$set($t5_6);
1442          $t16_17 = ($t3_4 + 1);
1443          $t3_4 = $t16_17;
1444          $block = 1; break;
1445          break;
1446        }
1447      }
1448    }
1449  }
1450  
1451  export function byteToBits(b) {
1452    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10;
1453    let $block = 0;
1454    while (true) {
1455      switch ($block) {
1456        case 0: {
1457          $t0_1 = { $value: $rt.builtin.makeSlice(8, 8, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1458          $t1_2 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, 8, undefined);
1459          $t2_3 = 7;
1460          $block = 1; break;
1461          break;
1462        }
1463        case 1: {
1464          $t3_4 = ($t2_3 >= 0);
1465          if ($t3_4) {
1466            $block = 2; break;
1467          }
1468          else {
1469            $block = 3; break;
1470          }
1471          break;
1472        }
1473        case 2: {
1474          $t4_5 = (7 - $t2_3);
1475          $t5_6 = $t2_3;
1476          $t6_7 = ((b & 0xFF) >> $t5_6);
1477          $t7_8 = ($t6_7 & 1);
1478          $t8_9 = $t1_2.addr($t4_5);
1479          $t8_9.$set($t7_8);
1480          $t9_10 = ($t2_3 - 1);
1481          $t2_3 = $t9_10;
1482          $block = 1; break;
1483          break;
1484        }
1485        case 3: {
1486          return $t1_2;
1487          break;
1488        }
1489      }
1490    }
1491  }
1492  
1493  export function gfInit() {
1494    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
1495    let $block = 0;
1496    while (true) {
1497      switch ($block) {
1498        case 0: {
1499          $t0_1 = gfReady.$get();
1500          if ($t0_1) {
1501            $block = 1; break;
1502          }
1503          else {
1504            $block = 2; break;
1505          }
1506          break;
1507        }
1508        case 1: {
1509          return;
1510          break;
1511        }
1512        case 2: {
1513          gfReady.$set(true);
1514          $t1_2 = 1;
1515          $t2_3 = 0;
1516          $block = 3; break;
1517          break;
1518        }
1519        case 3: {
1520          $t3_4 = ($t2_3 < 255);
1521          if ($t3_4) {
1522            $block = 4; break;
1523          }
1524          else {
1525            $block = 5; break;
1526          }
1527          break;
1528        }
1529        case 4: {
1530          $t4_5 = ($t1_2 & 0xFF);
1531          $t5_6 = gfExp.$get().addr($t2_3);
1532          $t5_6.$set($t4_5);
1533          $t6_7 = ($t2_3 & 0xFF);
1534          $t7_8 = gfLog.$get().addr($t1_2);
1535          $t7_8.$set($t6_7);
1536          $t8_9 = ($t1_2 * (2 ** 1));
1537          $t9_10 = ($t8_9 >= 256);
1538          if ($t9_10) {
1539            $block = 6; break;
1540          }
1541          else {
1542            $t11_12 = $t8_9;
1543            $block = 7; break;
1544          }
1545          break;
1546        }
1547        case 5: {
1548          $t13_14 = 255;
1549          $block = 8; break;
1550          break;
1551        }
1552        case 6: {
1553          $t10_11 = $rt.builtin.int64xor($t8_9, 285);
1554          $t11_12 = $t10_11;
1555          $block = 7; break;
1556          break;
1557        }
1558        case 7: {
1559          $t12_13 = ($t2_3 + 1);
1560          $t1_2 = $t11_12;
1561          $t2_3 = $t12_13;
1562          $block = 3; break;
1563          break;
1564        }
1565        case 8: {
1566          $t14_15 = ($t13_14 < 512);
1567          if ($t14_15) {
1568            $block = 9; break;
1569          }
1570          else {
1571            $block = 10; break;
1572          }
1573          break;
1574        }
1575        case 9: {
1576          $t15_16 = ($t13_14 - 255);
1577          $t16_17 = gfExp.$get().addr($t15_16);
1578          $t17_18 = $t16_17.$get();
1579          $t18_19 = gfExp.$get().addr($t13_14);
1580          $t18_19.$set($t17_18);
1581          $t19_20 = ($t13_14 + 1);
1582          $t13_14 = $t19_20;
1583          $block = 8; break;
1584          break;
1585        }
1586        case 10: {
1587          return;
1588          break;
1589        }
1590      }
1591    }
1592  }
1593  
1594  export function gfMul(a, b) {
1595    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
1596    let $block = 0;
1597    while (true) {
1598      switch ($block) {
1599        case 0: {
1600          $t0_1 = (a === 0);
1601          if ($t0_1) {
1602            $block = 1; break;
1603          }
1604          else {
1605            $block = 3; break;
1606          }
1607          break;
1608        }
1609        case 1: {
1610          return 0;
1611          break;
1612        }
1613        case 2: {
1614          $t1_2 = gfLog.$get().addr(a);
1615          $t2_3 = $t1_2.$get();
1616          $t3_4 = $t2_3;
1617          $t4_5 = gfLog.$get().addr(b);
1618          $t5_6 = $t4_5.$get();
1619          $t6_7 = $t5_6;
1620          $t7_8 = ($t3_4 + $t6_7);
1621          $t8_9 = gfExp.$get().addr($t7_8);
1622          $t9_10 = $t8_9.$get();
1623          return $t9_10;
1624          break;
1625        }
1626        case 3: {
1627          $t10_11 = (b === 0);
1628          if ($t10_11) {
1629            $block = 1; break;
1630          }
1631          else {
1632            $block = 2; break;
1633          }
1634          break;
1635        }
1636      }
1637    }
1638  }
1639  
1640  export function rsEncode(data) {
1641    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
1642    let $block = 0;
1643    while (true) {
1644      switch ($block) {
1645        case 0: {
1646          $t0_1 = rsGeneratorPoly(18);
1647          $t1_2 = { $value: $rt.builtin.makeSlice(18, 18, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1648          $t2_3 = $rt.builtin.sliceSlice($t1_2.$get(), undefined, 18, undefined);
1649          $t3_4 = $rt.builtin.len(data);
1650          $t4_5 = -1;
1651          $block = 1; break;
1652          break;
1653        }
1654        case 1: {
1655          $t5_6 = ($t4_5 + 1);
1656          $t6_7 = ($t5_6 < $t3_4);
1657          if ($t6_7) {
1658            $block = 2; break;
1659          }
1660          else {
1661            $block = 3; break;
1662          }
1663          break;
1664        }
1665        case 2: {
1666          $t7_8 = data.addr($t5_6);
1667          $t8_9 = $t7_8.$get();
1668          $t9_10 = $t2_3.addr(0);
1669          $t10_11 = $t9_10.$get();
1670          $t11_12 = ($t8_9 ^ $t10_11);
1671          $t12_13 = $rt.builtin.sliceSlice($t2_3, 1, undefined, undefined);
1672          $t13_14 = $rt.builtin.copy($t2_3, $t12_13);
1673          $t14_15 = $t2_3.addr(17);
1674          $t14_15.$set(0);
1675          $t15_16 = 0;
1676          $block = 4; break;
1677          break;
1678        }
1679        case 3: {
1680          return $t2_3;
1681          break;
1682        }
1683        case 4: {
1684          $t16_17 = ($t15_16 < 18);
1685          if ($t16_17) {
1686            $block = 5; break;
1687          }
1688          else {
1689            $t4_5 = $t5_6;
1690            $block = 1; break;
1691          }
1692          break;
1693        }
1694        case 5: {
1695          $t17_18 = $t0_1.addr($t15_16);
1696          $t18_19 = $t17_18.$get();
1697          $t19_20 = gfMul($t18_19, $t11_12);
1698          $t20_21 = $t2_3.addr($t15_16);
1699          $t21_22 = $t20_21.$get();
1700          $t22_23 = ($t21_22 ^ $t19_20);
1701          $t23_24 = $t2_3.addr($t15_16);
1702          $t23_24.$set($t22_23);
1703          $t24_25 = ($t15_16 + 1);
1704          $t15_16 = $t24_25;
1705          $block = 4; break;
1706          break;
1707        }
1708      }
1709    }
1710  }
1711  
1712  export function rsGeneratorPoly(n) {
1713    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31;
1714    let $block = 0;
1715    while (true) {
1716      switch ($block) {
1717        case 0: {
1718          $t0_1 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
1719          $t1_2 = $t0_1.$get().addr(0);
1720          $t1_2.$set(1);
1721          $t2_3 = $rt.builtin.sliceSlice($t0_1.$get(), undefined, undefined, undefined);
1722          $t3_4 = $t2_3;
1723          $t4_5 = 0;
1724          $block = 1; break;
1725          break;
1726        }
1727        case 1: {
1728          $t5_6 = ($t4_5 < n);
1729          if ($t5_6) {
1730            $block = 2; break;
1731          }
1732          else {
1733            $block = 3; break;
1734          }
1735          break;
1736        }
1737        case 2: {
1738          $t6_7 = $rt.builtin.len($t3_4);
1739          $t7_8 = ($t6_7 + 1);
1740          $t8_9 = $rt.builtin.makeSlice($t7_8, $t7_8, 0);
1741          $t10_11 = 0;
1742          $block = 4; break;
1743          break;
1744        }
1745        case 3: {
1746          $t9_10 = $rt.builtin.sliceSlice($t3_4, 1, undefined, undefined);
1747          return $t9_10;
1748          break;
1749        }
1750        case 4: {
1751          $t11_12 = $rt.builtin.len($t3_4);
1752          $t12_13 = ($t10_11 < $t11_12);
1753          if ($t12_13) {
1754            $block = 5; break;
1755          }
1756          else {
1757            $block = 6; break;
1758          }
1759          break;
1760        }
1761        case 5: {
1762          $t13_14 = $t3_4.addr($t10_11);
1763          $t14_15 = $t13_14.$get();
1764          $t15_16 = $t8_9.addr($t10_11);
1765          $t16_17 = $t15_16.$get();
1766          $t17_18 = ($t16_17 ^ $t14_15);
1767          $t18_19 = $t8_9.addr($t10_11);
1768          $t18_19.$set($t17_18);
1769          $t19_20 = ($t10_11 + 1);
1770          $t20_21 = $t3_4.addr($t10_11);
1771          $t21_22 = $t20_21.$get();
1772          $t22_23 = gfExp.$get().addr($t4_5);
1773          $t23_24 = $t22_23.$get();
1774          $t24_25 = gfMul($t21_22, $t23_24);
1775          $t25_26 = $t8_9.addr($t19_20);
1776          $t26_27 = $t25_26.$get();
1777          $t27_28 = ($t26_27 ^ $t24_25);
1778          $t28_29 = $t8_9.addr($t19_20);
1779          $t28_29.$set($t27_28);
1780          $t29_30 = ($t10_11 + 1);
1781          $t10_11 = $t29_30;
1782          $block = 4; break;
1783          break;
1784        }
1785        case 6: {
1786          $t30_31 = ($t4_5 + 1);
1787          $t3_4 = $t8_9;
1788          $t4_5 = $t30_31;
1789          $block = 1; break;
1790          break;
1791        }
1792      }
1793    }
1794  }
1795  
1796  export function setMod(mods, x, y, val) {
1797    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
1798    let $block = 0;
1799    while (true) {
1800      switch ($block) {
1801        case 0: {
1802          $t0_1 = (x >= 0);
1803          if ($t0_1) {
1804            $block = 5; break;
1805          }
1806          else {
1807            $block = 2; break;
1808          }
1809          break;
1810        }
1811        case 1: {
1812          $t1_2 = mods.addr(y);
1813          $t2_3 = $t1_2.$get();
1814          $t3_4 = $t2_3.addr(x);
1815          $t3_4.$set(val);
1816          $block = 2; break;
1817          break;
1818        }
1819        case 2: {
1820          return;
1821          break;
1822        }
1823        case 3: {
1824          $t4_5 = (y < 33);
1825          if ($t4_5) {
1826            $block = 1; break;
1827          }
1828          else {
1829            $block = 2; break;
1830          }
1831          break;
1832        }
1833        case 4: {
1834          $t5_6 = (y >= 0);
1835          if ($t5_6) {
1836            $block = 3; break;
1837          }
1838          else {
1839            $block = 2; break;
1840          }
1841          break;
1842        }
1843        case 5: {
1844          $t6_7 = (x < 33);
1845          if ($t6_7) {
1846            $block = 4; break;
1847          }
1848          else {
1849            $block = 2; break;
1850          }
1851          break;
1852        }
1853      }
1854    }
1855  }
1856  
1857  export function qrPlaceFinderPatterns(mods) {
1858    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
1859    $t0_1 = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
1860    $t0_1.$set(mods);
1861    $t1_2 = qrPlaceFinderPatterns$1.bind(null, $t0_1);
1862    $t2_3 = qrPlaceFinderPatterns$1(3, 3);
1863    $t3_4 = qrPlaceFinderPatterns$1(29, 3);
1864    $t4_5 = qrPlaceFinderPatterns$1(3, 29);
1865    return;
1866  }
1867  
1868  function qrPlaceFinderPatterns$1(mods, cx, cy) {
1869    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30;
1870    let $block = 0;
1871    while (true) {
1872      switch ($block) {
1873        case 0: {
1874          $t0_1 = -4;
1875          $block = 1; break;
1876          break;
1877        }
1878        case 1: {
1879          $t1_2 = ($t0_1 <= 4);
1880          if ($t1_2) {
1881            $block = 2; break;
1882          }
1883          else {
1884            $block = 3; break;
1885          }
1886          break;
1887        }
1888        case 2: {
1889          $t2_3 = -4;
1890          $block = 4; break;
1891          break;
1892        }
1893        case 3: {
1894          return;
1895          break;
1896        }
1897        case 4: {
1898          $t3_4 = ($t2_3 <= 4);
1899          if ($t3_4) {
1900            $block = 5; break;
1901          }
1902          else {
1903            $block = 7; break;
1904          }
1905          break;
1906        }
1907        case 5: {
1908          $t4_5 = (cx + $t2_3);
1909          $t5_6 = (cy + $t0_1);
1910          $t6_7 = ($t4_5 < 0);
1911          if ($t6_7) {
1912            $block = 6; break;
1913          }
1914          else {
1915            $block = 11; break;
1916          }
1917          break;
1918        }
1919        case 6: {
1920          $t7_8 = ($t2_3 + 1);
1921          $t2_3 = $t7_8;
1922          $block = 4; break;
1923          break;
1924        }
1925        case 7: {
1926          $t8_9 = ($t0_1 + 1);
1927          $t0_1 = $t8_9;
1928          $block = 1; break;
1929          break;
1930        }
1931        case 8: {
1932          $t9_10 = ($t2_3 < 0);
1933          if ($t9_10) {
1934            $block = 12; break;
1935          }
1936          else {
1937            $t14_15 = $t2_3;
1938            $block = 13; break;
1939          }
1940          break;
1941        }
1942        case 9: {
1943          $t10_11 = ($t5_6 >= 33);
1944          if ($t10_11) {
1945            $block = 6; break;
1946          }
1947          else {
1948            $block = 8; break;
1949          }
1950          break;
1951        }
1952        case 10: {
1953          $t11_12 = ($t5_6 < 0);
1954          if ($t11_12) {
1955            $block = 6; break;
1956          }
1957          else {
1958            $block = 9; break;
1959          }
1960          break;
1961        }
1962        case 11: {
1963          $t12_13 = ($t4_5 >= 33);
1964          if ($t12_13) {
1965            $block = 6; break;
1966          }
1967          else {
1968            $block = 10; break;
1969          }
1970          break;
1971        }
1972        case 12: {
1973          $t13_14 = -$t2_3;
1974          $t14_15 = $t13_14;
1975          $block = 13; break;
1976          break;
1977        }
1978        case 13: {
1979          $t15_16 = ($t0_1 < 0);
1980          if ($t15_16) {
1981            $block = 14; break;
1982          }
1983          else {
1984            $t17_18 = $t0_1;
1985            $block = 15; break;
1986          }
1987          break;
1988        }
1989        case 14: {
1990          $t16_17 = -$t0_1;
1991          $t17_18 = $t16_17;
1992          $block = 15; break;
1993          break;
1994        }
1995        case 15: {
1996          $t18_19 = ($t17_18 > $t14_15);
1997          if ($t18_19) {
1998            $block = 16; break;
1999          }
2000          else {
2001            $t19_20 = $t14_15;
2002            $block = 17; break;
2003          }
2004          break;
2005        }
2006        case 16: {
2007          $t19_20 = $t17_18;
2008          $block = 17; break;
2009          break;
2010        }
2011        case 17: {
2012          $t20_21 = ($t19_20 === 4);
2013          if ($t20_21) {
2014            $block = 19; break;
2015          }
2016          else {
2017            $block = 21; break;
2018          }
2019          break;
2020        }
2021        case 18: {
2022          $t22_23 = mods.$get();
2023          $t23_24 = $t22_23.addr($t5_6);
2024          $t24_25 = $t23_24.$get();
2025          $t25_26 = $t24_25.addr($t4_5);
2026          $t25_26.$set($t21_22);
2027          $block = 6; break;
2028          break;
2029        }
2030        case 19: {
2031          $t21_22 = 2;
2032          $block = 18; break;
2033          break;
2034        }
2035        case 20: {
2036          $t21_22 = 3;
2037          $block = 18; break;
2038          break;
2039        }
2040        case 21: {
2041          $t26_27 = ($t19_20 === 0);
2042          if ($t26_27) {
2043            $block = 20; break;
2044          }
2045          else {
2046            $block = 24; break;
2047          }
2048          break;
2049        }
2050        case 22: {
2051          $t21_22 = 2;
2052          $block = 18; break;
2053          break;
2054        }
2055        case 23: {
2056          $t27_28 = ($t19_20 === 1);
2057          if ($t27_28) {
2058            $block = 22; break;
2059          }
2060          else {
2061            $block = 26; break;
2062          }
2063          break;
2064        }
2065        case 24: {
2066          $t28_29 = ($t19_20 === 2);
2067          if ($t28_29) {
2068            $block = 20; break;
2069          }
2070          else {
2071            $block = 23; break;
2072          }
2073          break;
2074        }
2075        case 25: {
2076          $t21_22 = 3;
2077          $block = 18; break;
2078          break;
2079        }
2080        case 26: {
2081          $t29_30 = ($t19_20 === 3);
2082          if ($t29_30) {
2083            $block = 25; break;
2084          }
2085          else {
2086            $t21_22 = 0;
2087            $block = 18; break;
2088          }
2089          break;
2090        }
2091      }
2092    }
2093  }
2094  
2095  export function qrPlaceAlignmentPattern(mods) {
2096    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21;
2097    let $block = 0;
2098    while (true) {
2099      switch ($block) {
2100        case 0: {
2101          $t0_1 = -2;
2102          $block = 1; break;
2103          break;
2104        }
2105        case 1: {
2106          $t1_2 = ($t0_1 <= 2);
2107          if ($t1_2) {
2108            $block = 2; break;
2109          }
2110          else {
2111            $block = 3; break;
2112          }
2113          break;
2114        }
2115        case 2: {
2116          $t2_3 = -2;
2117          $block = 4; break;
2118          break;
2119        }
2120        case 3: {
2121          return;
2122          break;
2123        }
2124        case 4: {
2125          $t3_4 = ($t2_3 <= 2);
2126          if ($t3_4) {
2127            $block = 5; break;
2128          }
2129          else {
2130            $block = 6; break;
2131          }
2132          break;
2133        }
2134        case 5: {
2135          $t4_5 = ($t2_3 < 0);
2136          if ($t4_5) {
2137            $block = 7; break;
2138          }
2139          else {
2140            $t7_8 = $t2_3;
2141            $block = 8; break;
2142          }
2143          break;
2144        }
2145        case 6: {
2146          $t5_6 = ($t0_1 + 1);
2147          $t0_1 = $t5_6;
2148          $block = 1; break;
2149          break;
2150        }
2151        case 7: {
2152          $t6_7 = -$t2_3;
2153          $t7_8 = $t6_7;
2154          $block = 8; break;
2155          break;
2156        }
2157        case 8: {
2158          $t8_9 = ($t0_1 < 0);
2159          if ($t8_9) {
2160            $block = 9; break;
2161          }
2162          else {
2163            $t10_11 = $t0_1;
2164            $block = 10; break;
2165          }
2166          break;
2167        }
2168        case 9: {
2169          $t9_10 = -$t0_1;
2170          $t10_11 = $t9_10;
2171          $block = 10; break;
2172          break;
2173        }
2174        case 10: {
2175          $t11_12 = ($t10_11 > $t7_8);
2176          if ($t11_12) {
2177            $block = 11; break;
2178          }
2179          else {
2180            $t12_13 = $t7_8;
2181            $block = 12; break;
2182          }
2183          break;
2184        }
2185        case 11: {
2186          $t12_13 = $t10_11;
2187          $block = 12; break;
2188          break;
2189        }
2190        case 12: {
2191          $t13_14 = ($t12_13 === 1);
2192          if ($t13_14) {
2193            $block = 13; break;
2194          }
2195          else {
2196            $block = 15; break;
2197          }
2198          break;
2199        }
2200        case 13: {
2201          $t14_15 = 2;
2202          $block = 14; break;
2203          break;
2204        }
2205        case 14: {
2206          $t15_16 = (26 + $t0_1);
2207          $t16_17 = mods.addr($t15_16);
2208          $t17_18 = $t16_17.$get();
2209          $t18_19 = (26 + $t2_3);
2210          $t19_20 = $t17_18.addr($t18_19);
2211          $t19_20.$set($t14_15);
2212          $t20_21 = ($t2_3 + 1);
2213          $t2_3 = $t20_21;
2214          $block = 4; break;
2215          break;
2216        }
2217        case 15: {
2218          $t14_15 = 3;
2219          $block = 14; break;
2220          break;
2221        }
2222      }
2223    }
2224  }
2225  
2226  export function qrPlaceTimingPatterns(mods) {
2227    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22;
2228    let $block = 0;
2229    while (true) {
2230      switch ($block) {
2231        case 0: {
2232          $t0_1 = 8;
2233          $block = 1; break;
2234          break;
2235        }
2236        case 1: {
2237          $t1_2 = ($t0_1 < 25);
2238          if ($t1_2) {
2239            $block = 2; break;
2240          }
2241          else {
2242            $block = 3; break;
2243          }
2244          break;
2245        }
2246        case 2: {
2247          $t2_3 = ($t0_1 % 2);
2248          $t3_4 = ($t2_3 === 1);
2249          if ($t3_4) {
2250            $block = 4; break;
2251          }
2252          else {
2253            $t4_5 = 3;
2254            $block = 5; break;
2255          }
2256          break;
2257        }
2258        case 3: {
2259          return;
2260          break;
2261        }
2262        case 4: {
2263          $t4_5 = 2;
2264          $block = 5; break;
2265          break;
2266        }
2267        case 5: {
2268          $t5_6 = mods.addr(6);
2269          $t6_7 = $t5_6.$get();
2270          $t7_8 = $t6_7.addr($t0_1);
2271          $t8_9 = $t7_8.$get();
2272          $t9_10 = ($t8_9 === 0);
2273          if ($t9_10) {
2274            $block = 6; break;
2275          }
2276          else {
2277            $block = 7; break;
2278          }
2279          break;
2280        }
2281        case 6: {
2282          $t10_11 = mods.addr(6);
2283          $t11_12 = $t10_11.$get();
2284          $t12_13 = $t11_12.addr($t0_1);
2285          $t12_13.$set($t4_5);
2286          $block = 7; break;
2287          break;
2288        }
2289        case 7: {
2290          $t13_14 = mods.addr($t0_1);
2291          $t14_15 = $t13_14.$get();
2292          $t15_16 = $t14_15.addr(6);
2293          $t16_17 = $t15_16.$get();
2294          $t17_18 = ($t16_17 === 0);
2295          if ($t17_18) {
2296            $block = 8; break;
2297          }
2298          else {
2299            $block = 9; break;
2300          }
2301          break;
2302        }
2303        case 8: {
2304          $t18_19 = mods.addr($t0_1);
2305          $t19_20 = $t18_19.$get();
2306          $t20_21 = $t19_20.addr(6);
2307          $t20_21.$set($t4_5);
2308          $block = 9; break;
2309          break;
2310        }
2311        case 9: {
2312          $t21_22 = ($t0_1 + 1);
2313          $t0_1 = $t21_22;
2314          $block = 1; break;
2315          break;
2316        }
2317      }
2318    }
2319  }
2320  
2321  export function qrPlaceDarkModule(mods) {
2322    let $t0_1, $t1_2, $t2_3;
2323    $t0_1 = mods.addr(25);
2324    $t1_2 = $t0_1.$get();
2325    $t2_3 = $t1_2.addr(8);
2326    $t2_3.$set(3);
2327    return;
2328  }
2329  
2330  export function qrReserveFormatArea(mods) {
2331    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45;
2332    let $block = 0;
2333    while (true) {
2334      switch ($block) {
2335        case 0: {
2336          $t0_1 = 0;
2337          $block = 1; break;
2338          break;
2339        }
2340        case 1: {
2341          $t1_2 = ($t0_1 < 9);
2342          if ($t1_2) {
2343            $block = 2; break;
2344          }
2345          else {
2346            $block = 3; break;
2347          }
2348          break;
2349        }
2350        case 2: {
2351          $t2_3 = mods.addr(8);
2352          $t3_4 = $t2_3.$get();
2353          $t4_5 = $t3_4.addr($t0_1);
2354          $t5_6 = $t4_5.$get();
2355          $t6_7 = ($t5_6 === 0);
2356          if ($t6_7) {
2357            $block = 4; break;
2358          }
2359          else {
2360            $block = 5; break;
2361          }
2362          break;
2363        }
2364        case 3: {
2365          $t19_20 = 0;
2366          $block = 8; break;
2367          break;
2368        }
2369        case 4: {
2370          $t7_8 = mods.addr(8);
2371          $t8_9 = $t7_8.$get();
2372          $t9_10 = $t8_9.addr($t0_1);
2373          $t9_10.$set(2);
2374          $block = 5; break;
2375          break;
2376        }
2377        case 5: {
2378          $t10_11 = mods.addr($t0_1);
2379          $t11_12 = $t10_11.$get();
2380          $t12_13 = $t11_12.addr(8);
2381          $t13_14 = $t12_13.$get();
2382          $t14_15 = ($t13_14 === 0);
2383          if ($t14_15) {
2384            $block = 6; break;
2385          }
2386          else {
2387            $block = 7; break;
2388          }
2389          break;
2390        }
2391        case 6: {
2392          $t15_16 = mods.addr($t0_1);
2393          $t16_17 = $t15_16.$get();
2394          $t17_18 = $t16_17.addr(8);
2395          $t17_18.$set(2);
2396          $block = 7; break;
2397          break;
2398        }
2399        case 7: {
2400          $t18_19 = ($t0_1 + 1);
2401          $t0_1 = $t18_19;
2402          $block = 1; break;
2403          break;
2404        }
2405        case 8: {
2406          $t20_21 = ($t19_20 < 8);
2407          if ($t20_21) {
2408            $block = 9; break;
2409          }
2410          else {
2411            $block = 10; break;
2412          }
2413          break;
2414        }
2415        case 9: {
2416          $t21_22 = mods.addr(8);
2417          $t22_23 = $t21_22.$get();
2418          $t23_24 = (32 - $t19_20);
2419          $t24_25 = $t22_23.addr($t23_24);
2420          $t25_26 = $t24_25.$get();
2421          $t26_27 = ($t25_26 === 0);
2422          if ($t26_27) {
2423            $block = 11; break;
2424          }
2425          else {
2426            $block = 12; break;
2427          }
2428          break;
2429        }
2430        case 10: {
2431          $t32_33 = 0;
2432          $block = 13; break;
2433          break;
2434        }
2435        case 11: {
2436          $t27_28 = mods.addr(8);
2437          $t28_29 = $t27_28.$get();
2438          $t29_30 = (32 - $t19_20);
2439          $t30_31 = $t28_29.addr($t29_30);
2440          $t30_31.$set(2);
2441          $block = 12; break;
2442          break;
2443        }
2444        case 12: {
2445          $t31_32 = ($t19_20 + 1);
2446          $t19_20 = $t31_32;
2447          $block = 8; break;
2448          break;
2449        }
2450        case 13: {
2451          $t33_34 = ($t32_33 < 7);
2452          if ($t33_34) {
2453            $block = 14; break;
2454          }
2455          else {
2456            $block = 15; break;
2457          }
2458          break;
2459        }
2460        case 14: {
2461          $t34_35 = (32 - $t32_33);
2462          $t35_36 = mods.addr($t34_35);
2463          $t36_37 = $t35_36.$get();
2464          $t37_38 = $t36_37.addr(8);
2465          $t38_39 = $t37_38.$get();
2466          $t39_40 = ($t38_39 === 0);
2467          if ($t39_40) {
2468            $block = 16; break;
2469          }
2470          else {
2471            $block = 17; break;
2472          }
2473          break;
2474        }
2475        case 15: {
2476          return;
2477          break;
2478        }
2479        case 16: {
2480          $t40_41 = (32 - $t32_33);
2481          $t41_42 = mods.addr($t40_41);
2482          $t42_43 = $t41_42.$get();
2483          $t43_44 = $t42_43.addr(8);
2484          $t43_44.$set(2);
2485          $block = 17; break;
2486          break;
2487        }
2488        case 17: {
2489          $t44_45 = ($t32_33 + 1);
2490          $t32_33 = $t44_45;
2491          $block = 13; break;
2492          break;
2493        }
2494      }
2495    }
2496  }
2497  
2498  export function qrReserveVersionArea(mods) {
2499    return;
2500  }
2501  
2502  export function qrPlaceData(mods, bits) {
2503    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34;
2504    let $block = 0;
2505    while (true) {
2506      switch ($block) {
2507        case 0: {
2508          $t1_2 = 0;
2509          $t2_3 = 32;
2510          $t3_4 = true;
2511          $block = 3; break;
2512          break;
2513        }
2514        case 1: {
2515          $t0_1 = ($t2_3 === 6);
2516          if ($t0_1) {
2517            $block = 4; break;
2518          }
2519          else {
2520            $t6_7 = $t2_3;
2521            $block = 5; break;
2522          }
2523          break;
2524        }
2525        case 2: {
2526          return;
2527          break;
2528        }
2529        case 3: {
2530          $t4_5 = ($t2_3 > 0);
2531          if ($t4_5) {
2532            $block = 1; break;
2533          }
2534          else {
2535            $block = 2; break;
2536          }
2537          break;
2538        }
2539        case 4: {
2540          $t5_6 = ($t2_3 - 1);
2541          $t6_7 = $t5_6;
2542          $block = 5; break;
2543          break;
2544        }
2545        case 5: {
2546          $t7_8 = $t1_2;
2547          $t8_9 = 0;
2548          $block = 6; break;
2549          break;
2550        }
2551        case 6: {
2552          $t9_10 = ($t8_9 < 33);
2553          if ($t9_10) {
2554            $block = 7; break;
2555          }
2556          else {
2557            $block = 8; break;
2558          }
2559          break;
2560        }
2561        case 7: {
2562          if ($t3_4) {
2563            $block = 9; break;
2564          }
2565          else {
2566            $t13_14 = $t8_9;
2567            $block = 10; break;
2568          }
2569          break;
2570        }
2571        case 8: {
2572          $t10_11 = !$t3_4;
2573          $t11_12 = ($t6_7 - 2);
2574          $t1_2 = $t7_8;
2575          $t2_3 = $t11_12;
2576          $t3_4 = $t10_11;
2577          $block = 3; break;
2578          break;
2579        }
2580        case 9: {
2581          $t12_13 = (32 - $t8_9);
2582          $t13_14 = $t12_13;
2583          $block = 10; break;
2584          break;
2585        }
2586        case 10: {
2587          $t14_15 = $t7_8;
2588          $t15_16 = 0;
2589          $block = 11; break;
2590          break;
2591        }
2592        case 11: {
2593          $t16_17 = ($t15_16 <= 1);
2594          if ($t16_17) {
2595            $block = 12; break;
2596          }
2597          else {
2598            $block = 14; break;
2599          }
2600          break;
2601        }
2602        case 12: {
2603          $t17_18 = ($t6_7 - $t15_16);
2604          $t18_19 = mods.addr($t13_14);
2605          $t19_20 = $t18_19.$get();
2606          $t20_21 = $t19_20.addr($t17_18);
2607          $t21_22 = $t20_21.$get();
2608          $t22_23 = ($t21_22 !== 0);
2609          if ($t22_23) {
2610            $t23_24 = $t14_15;
2611            $block = 13; break;
2612          }
2613          else {
2614            $block = 15; break;
2615          }
2616          break;
2617        }
2618        case 13: {
2619          $t24_25 = ($t15_16 + 1);
2620          $t14_15 = $t23_24;
2621          $t15_16 = $t24_25;
2622          $block = 11; break;
2623          break;
2624        }
2625        case 14: {
2626          $t25_26 = ($t8_9 + 1);
2627          $t7_8 = $t14_15;
2628          $t8_9 = $t25_26;
2629          $block = 6; break;
2630          break;
2631        }
2632        case 15: {
2633          $t26_27 = $rt.builtin.len(bits);
2634          $t27_28 = ($t14_15 < $t26_27);
2635          if ($t27_28) {
2636            $block = 16; break;
2637          }
2638          else {
2639            $block = 17; break;
2640          }
2641          break;
2642        }
2643        case 16: {
2644          $t28_29 = mods.addr($t13_14);
2645          $t29_30 = $t28_29.$get();
2646          $t30_31 = bits.addr($t14_15);
2647          $t31_32 = $t30_31.$get();
2648          $t32_33 = $t29_30.addr($t17_18);
2649          $t32_33.$set($t31_32);
2650          $block = 17; break;
2651          break;
2652        }
2653        case 17: {
2654          $t33_34 = ($t14_15 + 1);
2655          $t23_24 = $t33_34;
2656          $block = 13; break;
2657          break;
2658        }
2659      }
2660    }
2661  }
2662  
2663  export function maskFunc(mask, x, y) {
2664    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43;
2665    let $block = 0;
2666    while (true) {
2667      switch ($block) {
2668        case 0: {
2669          $t0_1 = (mask === 0);
2670          if ($t0_1) {
2671            $block = 1; break;
2672          }
2673          else {
2674            $block = 3; break;
2675          }
2676          break;
2677        }
2678        case 1: {
2679          $t1_2 = (x + y);
2680          $t2_3 = ($t1_2 % 2);
2681          $t3_4 = ($t2_3 === 0);
2682          return $t3_4;
2683          break;
2684        }
2685        case 2: {
2686          $t4_5 = (y % 2);
2687          $t5_6 = ($t4_5 === 0);
2688          return $t5_6;
2689          break;
2690        }
2691        case 3: {
2692          $t6_7 = (mask === 1);
2693          if ($t6_7) {
2694            $block = 2; break;
2695          }
2696          else {
2697            $block = 5; break;
2698          }
2699          break;
2700        }
2701        case 4: {
2702          $t7_8 = (x % 3);
2703          $t8_9 = ($t7_8 === 0);
2704          return $t8_9;
2705          break;
2706        }
2707        case 5: {
2708          $t9_10 = (mask === 2);
2709          if ($t9_10) {
2710            $block = 4; break;
2711          }
2712          else {
2713            $block = 7; break;
2714          }
2715          break;
2716        }
2717        case 6: {
2718          $t10_11 = (x + y);
2719          $t11_12 = ($t10_11 % 3);
2720          $t12_13 = ($t11_12 === 0);
2721          return $t12_13;
2722          break;
2723        }
2724        case 7: {
2725          $t13_14 = (mask === 3);
2726          if ($t13_14) {
2727            $block = 6; break;
2728          }
2729          else {
2730            $block = 9; break;
2731          }
2732          break;
2733        }
2734        case 8: {
2735          $t14_15 = Math.trunc(y / 2);
2736          $t15_16 = Math.trunc(x / 3);
2737          $t16_17 = ($t14_15 + $t15_16);
2738          $t17_18 = ($t16_17 % 2);
2739          $t18_19 = ($t17_18 === 0);
2740          return $t18_19;
2741          break;
2742        }
2743        case 9: {
2744          $t19_20 = (mask === 4);
2745          if ($t19_20) {
2746            $block = 8; break;
2747          }
2748          else {
2749            $block = 11; break;
2750          }
2751          break;
2752        }
2753        case 10: {
2754          $t20_21 = (x * y);
2755          $t21_22 = ($t20_21 % 2);
2756          $t22_23 = (x * y);
2757          $t23_24 = ($t22_23 % 3);
2758          $t24_25 = ($t21_22 + $t23_24);
2759          $t25_26 = ($t24_25 === 0);
2760          return $t25_26;
2761          break;
2762        }
2763        case 11: {
2764          $t26_27 = (mask === 5);
2765          if ($t26_27) {
2766            $block = 10; break;
2767          }
2768          else {
2769            $block = 13; break;
2770          }
2771          break;
2772        }
2773        case 12: {
2774          $t27_28 = (x * y);
2775          $t28_29 = ($t27_28 % 2);
2776          $t29_30 = (x * y);
2777          $t30_31 = ($t29_30 % 3);
2778          $t31_32 = ($t28_29 + $t30_31);
2779          $t32_33 = ($t31_32 % 2);
2780          $t33_34 = ($t32_33 === 0);
2781          return $t33_34;
2782          break;
2783        }
2784        case 13: {
2785          $t34_35 = (mask === 6);
2786          if ($t34_35) {
2787            $block = 12; break;
2788          }
2789          else {
2790            $block = 15; break;
2791          }
2792          break;
2793        }
2794        case 14: {
2795          $t35_36 = (x + y);
2796          $t36_37 = ($t35_36 % 2);
2797          $t37_38 = (x * y);
2798          $t38_39 = ($t37_38 % 3);
2799          $t39_40 = ($t36_37 + $t38_39);
2800          $t40_41 = ($t39_40 % 2);
2801          $t41_42 = ($t40_41 === 0);
2802          return $t41_42;
2803          break;
2804        }
2805        case 15: {
2806          $t42_43 = (mask === 7);
2807          if ($t42_43) {
2808            $block = 14; break;
2809          }
2810          else {
2811            $block = 16; break;
2812          }
2813          break;
2814        }
2815        case 16: {
2816          return false;
2817          break;
2818        }
2819      }
2820    }
2821  }
2822  
2823  export function isData(v) {
2824    let $t0_1;
2825    $t0_1 = (v <= 1);
2826    return $t0_1;
2827  }
2828  
2829  export function qrApplyBestMask(mods) {
2830    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86;
2831    let $block = 0;
2832    while (true) {
2833      switch ($block) {
2834        case 0: {
2835          $t0_1 = 0;
2836          $t1_2 = 2147483647;
2837          $t2_3 = 0;
2838          $block = 1; break;
2839          break;
2840        }
2841        case 1: {
2842          $t3_4 = ($t2_3 < 8);
2843          if ($t3_4) {
2844            $block = 2; break;
2845          }
2846          else {
2847            $block = 3; break;
2848          }
2849          break;
2850        }
2851        case 2: {
2852          $t4_5 = 0;
2853          $block = 4; break;
2854          break;
2855        }
2856        case 3: {
2857          $t45_46 = 0;
2858          $block = 24; break;
2859          break;
2860        }
2861        case 4: {
2862          $t5_6 = ($t4_5 < 33);
2863          if ($t5_6) {
2864            $block = 5; break;
2865          }
2866          else {
2867            $block = 6; break;
2868          }
2869          break;
2870        }
2871        case 5: {
2872          $t7_8 = 0;
2873          $block = 7; break;
2874          break;
2875        }
2876        case 6: {
2877          $t6_7 = qrPenaltyScore(mods);
2878          $t23_24 = 0;
2879          $block = 13; break;
2880          break;
2881        }
2882        case 7: {
2883          $t8_9 = ($t7_8 < 33);
2884          if ($t8_9) {
2885            $block = 8; break;
2886          }
2887          else {
2888            $block = 9; break;
2889          }
2890          break;
2891        }
2892        case 8: {
2893          $t9_10 = mods.addr($t4_5);
2894          $t10_11 = $t9_10.$get();
2895          $t11_12 = $t10_11.addr($t7_8);
2896          $t12_13 = $t11_12.$get();
2897          $t13_14 = isData($t12_13);
2898          if ($t13_14) {
2899            $block = 12; break;
2900          }
2901          else {
2902            $block = 11; break;
2903          }
2904          break;
2905        }
2906        case 9: {
2907          $t14_15 = ($t4_5 + 1);
2908          $t4_5 = $t14_15;
2909          $block = 4; break;
2910          break;
2911        }
2912        case 10: {
2913          $t15_16 = mods.addr($t4_5);
2914          $t16_17 = $t15_16.$get();
2915          $t17_18 = $t16_17.addr($t7_8);
2916          $t18_19 = $t17_18.$get();
2917          $t19_20 = ($t18_19 ^ 1);
2918          $t20_21 = $t16_17.addr($t7_8);
2919          $t20_21.$set($t19_20);
2920          $block = 11; break;
2921          break;
2922        }
2923        case 11: {
2924          $t21_22 = ($t7_8 + 1);
2925          $t7_8 = $t21_22;
2926          $block = 7; break;
2927          break;
2928        }
2929        case 12: {
2930          $t22_23 = maskFunc($t2_3, $t7_8, $t4_5);
2931          if ($t22_23) {
2932            $block = 10; break;
2933          }
2934          else {
2935            $block = 11; break;
2936          }
2937          break;
2938        }
2939        case 13: {
2940          $t24_25 = ($t23_24 < 33);
2941          if ($t24_25) {
2942            $block = 14; break;
2943          }
2944          else {
2945            $block = 15; break;
2946          }
2947          break;
2948        }
2949        case 14: {
2950          $t26_27 = 0;
2951          $block = 16; break;
2952          break;
2953        }
2954        case 15: {
2955          $t25_26 = ($t6_7 < $t1_2);
2956          if ($t25_26) {
2957            $block = 22; break;
2958          }
2959          else {
2960            $t42_43 = $t0_1;
2961            $t43_44 = $t1_2;
2962            $block = 23; break;
2963          }
2964          break;
2965        }
2966        case 16: {
2967          $t27_28 = ($t26_27 < 33);
2968          if ($t27_28) {
2969            $block = 17; break;
2970          }
2971          else {
2972            $block = 18; break;
2973          }
2974          break;
2975        }
2976        case 17: {
2977          $t28_29 = mods.addr($t23_24);
2978          $t29_30 = $t28_29.$get();
2979          $t30_31 = $t29_30.addr($t26_27);
2980          $t31_32 = $t30_31.$get();
2981          $t32_33 = isData($t31_32);
2982          if ($t32_33) {
2983            $block = 21; break;
2984          }
2985          else {
2986            $block = 20; break;
2987          }
2988          break;
2989        }
2990        case 18: {
2991          $t33_34 = ($t23_24 + 1);
2992          $t23_24 = $t33_34;
2993          $block = 13; break;
2994          break;
2995        }
2996        case 19: {
2997          $t34_35 = mods.addr($t23_24);
2998          $t35_36 = $t34_35.$get();
2999          $t36_37 = $t35_36.addr($t26_27);
3000          $t37_38 = $t36_37.$get();
3001          $t38_39 = ($t37_38 ^ 1);
3002          $t39_40 = $t35_36.addr($t26_27);
3003          $t39_40.$set($t38_39);
3004          $block = 20; break;
3005          break;
3006        }
3007        case 20: {
3008          $t40_41 = ($t26_27 + 1);
3009          $t26_27 = $t40_41;
3010          $block = 16; break;
3011          break;
3012        }
3013        case 21: {
3014          $t41_42 = maskFunc($t2_3, $t26_27, $t23_24);
3015          if ($t41_42) {
3016            $block = 19; break;
3017          }
3018          else {
3019            $block = 20; break;
3020          }
3021          break;
3022        }
3023        case 22: {
3024          $t42_43 = $t2_3;
3025          $t43_44 = $t6_7;
3026          $block = 23; break;
3027          break;
3028        }
3029        case 23: {
3030          $t44_45 = ($t2_3 + 1);
3031          $t0_1 = $t42_43;
3032          $t1_2 = $t43_44;
3033          $t2_3 = $t44_45;
3034          $block = 1; break;
3035          break;
3036        }
3037        case 24: {
3038          $t46_47 = ($t45_46 < 33);
3039          if ($t46_47) {
3040            $block = 25; break;
3041          }
3042          else {
3043            $block = 26; break;
3044          }
3045          break;
3046        }
3047        case 25: {
3048          $t48_49 = 0;
3049          $block = 27; break;
3050          break;
3051        }
3052        case 26: {
3053          $t47_48 = qrWriteFormatInfo(mods, $t0_1);
3054          $t64_65 = 0;
3055          $block = 33; break;
3056          break;
3057        }
3058        case 27: {
3059          $t49_50 = ($t48_49 < 33);
3060          if ($t49_50) {
3061            $block = 28; break;
3062          }
3063          else {
3064            $block = 29; break;
3065          }
3066          break;
3067        }
3068        case 28: {
3069          $t50_51 = mods.addr($t45_46);
3070          $t51_52 = $t50_51.$get();
3071          $t52_53 = $t51_52.addr($t48_49);
3072          $t53_54 = $t52_53.$get();
3073          $t54_55 = isData($t53_54);
3074          if ($t54_55) {
3075            $block = 32; break;
3076          }
3077          else {
3078            $block = 31; break;
3079          }
3080          break;
3081        }
3082        case 29: {
3083          $t55_56 = ($t45_46 + 1);
3084          $t45_46 = $t55_56;
3085          $block = 24; break;
3086          break;
3087        }
3088        case 30: {
3089          $t56_57 = mods.addr($t45_46);
3090          $t57_58 = $t56_57.$get();
3091          $t58_59 = $t57_58.addr($t48_49);
3092          $t59_60 = $t58_59.$get();
3093          $t60_61 = ($t59_60 ^ 1);
3094          $t61_62 = $t57_58.addr($t48_49);
3095          $t61_62.$set($t60_61);
3096          $block = 31; break;
3097          break;
3098        }
3099        case 31: {
3100          $t62_63 = ($t48_49 + 1);
3101          $t48_49 = $t62_63;
3102          $block = 27; break;
3103          break;
3104        }
3105        case 32: {
3106          $t63_64 = maskFunc($t0_1, $t48_49, $t45_46);
3107          if ($t63_64) {
3108            $block = 30; break;
3109          }
3110          else {
3111            $block = 31; break;
3112          }
3113          break;
3114        }
3115        case 33: {
3116          $t65_66 = ($t64_65 < 33);
3117          if ($t65_66) {
3118            $block = 34; break;
3119          }
3120          else {
3121            $block = 35; break;
3122          }
3123          break;
3124        }
3125        case 34: {
3126          $t66_67 = 0;
3127          $block = 36; break;
3128          break;
3129        }
3130        case 35: {
3131          return;
3132          break;
3133        }
3134        case 36: {
3135          $t67_68 = ($t66_67 < 33);
3136          if ($t67_68) {
3137            $block = 37; break;
3138          }
3139          else {
3140            $block = 38; break;
3141          }
3142          break;
3143        }
3144        case 37: {
3145          $t68_69 = mods.addr($t64_65);
3146          $t69_70 = $t68_69.$get();
3147          $t70_71 = $t69_70.addr($t66_67);
3148          $t71_72 = $t70_71.$get();
3149          $t72_73 = ($t71_72 === 2);
3150          if ($t72_73) {
3151            $block = 39; break;
3152          }
3153          else {
3154            $block = 41; break;
3155          }
3156          break;
3157        }
3158        case 38: {
3159          $t73_74 = ($t64_65 + 1);
3160          $t64_65 = $t73_74;
3161          $block = 33; break;
3162          break;
3163        }
3164        case 39: {
3165          $t74_75 = mods.addr($t64_65);
3166          $t75_76 = $t74_75.$get();
3167          $t76_77 = $t75_76.addr($t66_67);
3168          $t76_77.$set(0);
3169          $block = 40; break;
3170          break;
3171        }
3172        case 40: {
3173          $t77_78 = ($t66_67 + 1);
3174          $t66_67 = $t77_78;
3175          $block = 36; break;
3176          break;
3177        }
3178        case 41: {
3179          $t78_79 = mods.addr($t64_65);
3180          $t79_80 = $t78_79.$get();
3181          $t80_81 = $t79_80.addr($t66_67);
3182          $t81_82 = $t80_81.$get();
3183          $t82_83 = ($t81_82 === 3);
3184          if ($t82_83) {
3185            $block = 42; break;
3186          }
3187          else {
3188            $block = 40; break;
3189          }
3190          break;
3191        }
3192        case 42: {
3193          $t83_84 = mods.addr($t64_65);
3194          $t84_85 = $t83_84.$get();
3195          $t85_86 = $t84_85.addr($t66_67);
3196          $t85_86.$set(1);
3197          $block = 40; break;
3198          break;
3199        }
3200      }
3201    }
3202  }
3203  
3204  export function qrWriteFormatInfo(mods, mask) {
3205    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129;
3206    let $block = 0;
3207    while (true) {
3208      switch ($block) {
3209        case 0: {
3210          $t0_1 = { $value: $rt.builtin.makeSlice(15, 15, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3211          $t1_2 = formatBits.$get().addr(mask);
3212          $t2_3 = $t1_2.$get();
3213          $t0_1.$set($rt.builtin.cloneValue($t2_3));
3214          $t3_4 = { $value: $rt.builtin.makeSlice(15, 15, $rt.builtin.makeSlice(2, 2, 0)), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3215          $t4_5 = $t3_4.$get().addr(0);
3216          $t5_6 = $t4_5.$get().addr(0);
3217          $t6_7 = $t4_5.$get().addr(1);
3218          $t7_8 = $t3_4.$get().addr(1);
3219          $t8_9 = $t7_8.$get().addr(0);
3220          $t9_10 = $t7_8.$get().addr(1);
3221          $t10_11 = $t3_4.$get().addr(2);
3222          $t11_12 = $t10_11.$get().addr(0);
3223          $t12_13 = $t10_11.$get().addr(1);
3224          $t13_14 = $t3_4.$get().addr(3);
3225          $t14_15 = $t13_14.$get().addr(0);
3226          $t15_16 = $t13_14.$get().addr(1);
3227          $t16_17 = $t3_4.$get().addr(4);
3228          $t17_18 = $t16_17.$get().addr(0);
3229          $t18_19 = $t16_17.$get().addr(1);
3230          $t19_20 = $t3_4.$get().addr(5);
3231          $t20_21 = $t19_20.$get().addr(0);
3232          $t21_22 = $t19_20.$get().addr(1);
3233          $t22_23 = $t3_4.$get().addr(6);
3234          $t23_24 = $t22_23.$get().addr(0);
3235          $t24_25 = $t22_23.$get().addr(1);
3236          $t25_26 = $t3_4.$get().addr(7);
3237          $t26_27 = $t25_26.$get().addr(0);
3238          $t27_28 = $t25_26.$get().addr(1);
3239          $t28_29 = $t3_4.$get().addr(8);
3240          $t29_30 = $t28_29.$get().addr(0);
3241          $t30_31 = $t28_29.$get().addr(1);
3242          $t31_32 = $t3_4.$get().addr(9);
3243          $t32_33 = $t31_32.$get().addr(0);
3244          $t33_34 = $t31_32.$get().addr(1);
3245          $t34_35 = $t3_4.$get().addr(10);
3246          $t35_36 = $t34_35.$get().addr(0);
3247          $t36_37 = $t34_35.$get().addr(1);
3248          $t37_38 = $t3_4.$get().addr(11);
3249          $t38_39 = $t37_38.$get().addr(0);
3250          $t39_40 = $t37_38.$get().addr(1);
3251          $t40_41 = $t3_4.$get().addr(12);
3252          $t41_42 = $t40_41.$get().addr(0);
3253          $t42_43 = $t40_41.$get().addr(1);
3254          $t43_44 = $t3_4.$get().addr(13);
3255          $t44_45 = $t43_44.$get().addr(0);
3256          $t45_46 = $t43_44.$get().addr(1);
3257          $t46_47 = $t3_4.$get().addr(14);
3258          $t47_48 = $t46_47.$get().addr(0);
3259          $t48_49 = $t46_47.$get().addr(1);
3260          $t5_6.$set(0);
3261          $t6_7.$set(8);
3262          $t8_9.$set(1);
3263          $t9_10.$set(8);
3264          $t11_12.$set(2);
3265          $t12_13.$set(8);
3266          $t14_15.$set(3);
3267          $t15_16.$set(8);
3268          $t17_18.$set(4);
3269          $t18_19.$set(8);
3270          $t20_21.$set(5);
3271          $t21_22.$set(8);
3272          $t23_24.$set(7);
3273          $t24_25.$set(8);
3274          $t26_27.$set(8);
3275          $t27_28.$set(8);
3276          $t29_30.$set(8);
3277          $t30_31.$set(7);
3278          $t32_33.$set(8);
3279          $t33_34.$set(5);
3280          $t35_36.$set(8);
3281          $t36_37.$set(4);
3282          $t38_39.$set(8);
3283          $t39_40.$set(3);
3284          $t41_42.$set(8);
3285          $t42_43.$set(2);
3286          $t44_45.$set(8);
3287          $t45_46.$set(1);
3288          $t47_48.$set(8);
3289          $t48_49.$set(0);
3290          $t49_50 = $t3_4.$get();
3291          $t50_51 = -1;
3292          $block = 1; break;
3293          break;
3294        }
3295        case 1: {
3296          $t51_52 = ($t50_51 + 1);
3297          $t52_53 = ($t51_52 < 15);
3298          if ($t52_53) {
3299            $block = 2; break;
3300          }
3301          else {
3302            $block = 3; break;
3303          }
3304          break;
3305        }
3306        case 2: {
3307          $t53_54 = $t49_50.get($t51_52);
3308          $t54_55 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3309          $t54_55.$set($rt.builtin.cloneValue($t53_54));
3310          $t55_56 = $t0_1.$get().addr($t51_52);
3311          $t56_57 = $t55_56.$get();
3312          $t57_58 = ($t56_57 === 1);
3313          if ($t57_58) {
3314            $block = 4; break;
3315          }
3316          else {
3317            $t105_106 = 2;
3318            $block = 5; break;
3319          }
3320          break;
3321        }
3322        case 3: {
3323          $t58_59 = { $value: $rt.builtin.makeSlice(15, 15, $rt.builtin.makeSlice(2, 2, 0)), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3324          $t59_60 = $t58_59.$get().addr(0);
3325          $t60_61 = $t59_60.$get().addr(0);
3326          $t61_62 = $t59_60.$get().addr(1);
3327          $t62_63 = $t58_59.$get().addr(1);
3328          $t63_64 = $t62_63.$get().addr(0);
3329          $t64_65 = $t62_63.$get().addr(1);
3330          $t65_66 = $t58_59.$get().addr(2);
3331          $t66_67 = $t65_66.$get().addr(0);
3332          $t67_68 = $t65_66.$get().addr(1);
3333          $t68_69 = $t58_59.$get().addr(3);
3334          $t69_70 = $t68_69.$get().addr(0);
3335          $t70_71 = $t68_69.$get().addr(1);
3336          $t71_72 = $t58_59.$get().addr(4);
3337          $t72_73 = $t71_72.$get().addr(0);
3338          $t73_74 = $t71_72.$get().addr(1);
3339          $t74_75 = $t58_59.$get().addr(5);
3340          $t75_76 = $t74_75.$get().addr(0);
3341          $t76_77 = $t74_75.$get().addr(1);
3342          $t77_78 = $t58_59.$get().addr(6);
3343          $t78_79 = $t77_78.$get().addr(0);
3344          $t79_80 = $t77_78.$get().addr(1);
3345          $t80_81 = $t58_59.$get().addr(7);
3346          $t81_82 = $t80_81.$get().addr(0);
3347          $t82_83 = $t80_81.$get().addr(1);
3348          $t83_84 = $t58_59.$get().addr(8);
3349          $t84_85 = $t83_84.$get().addr(0);
3350          $t85_86 = $t83_84.$get().addr(1);
3351          $t86_87 = $t58_59.$get().addr(9);
3352          $t87_88 = $t86_87.$get().addr(0);
3353          $t88_89 = $t86_87.$get().addr(1);
3354          $t89_90 = $t58_59.$get().addr(10);
3355          $t90_91 = $t89_90.$get().addr(0);
3356          $t91_92 = $t89_90.$get().addr(1);
3357          $t92_93 = $t58_59.$get().addr(11);
3358          $t93_94 = $t92_93.$get().addr(0);
3359          $t94_95 = $t92_93.$get().addr(1);
3360          $t95_96 = $t58_59.$get().addr(12);
3361          $t96_97 = $t95_96.$get().addr(0);
3362          $t97_98 = $t95_96.$get().addr(1);
3363          $t98_99 = $t58_59.$get().addr(13);
3364          $t99_100 = $t98_99.$get().addr(0);
3365          $t100_101 = $t98_99.$get().addr(1);
3366          $t101_102 = $t58_59.$get().addr(14);
3367          $t102_103 = $t101_102.$get().addr(0);
3368          $t103_104 = $t101_102.$get().addr(1);
3369          $t60_61.$set(8);
3370          $t61_62.$set(32);
3371          $t63_64.$set(8);
3372          $t64_65.$set(31);
3373          $t66_67.$set(8);
3374          $t67_68.$set(30);
3375          $t69_70.$set(8);
3376          $t70_71.$set(29);
3377          $t72_73.$set(8);
3378          $t73_74.$set(28);
3379          $t75_76.$set(8);
3380          $t76_77.$set(27);
3381          $t78_79.$set(8);
3382          $t79_80.$set(26);
3383          $t81_82.$set(25);
3384          $t82_83.$set(8);
3385          $t84_85.$set(26);
3386          $t85_86.$set(8);
3387          $t87_88.$set(27);
3388          $t88_89.$set(8);
3389          $t90_91.$set(28);
3390          $t91_92.$set(8);
3391          $t93_94.$set(29);
3392          $t94_95.$set(8);
3393          $t96_97.$set(30);
3394          $t97_98.$set(8);
3395          $t99_100.$set(31);
3396          $t100_101.$set(8);
3397          $t102_103.$set(32);
3398          $t103_104.$set(8);
3399          $t104_105 = $t58_59.$get();
3400          $t113_114 = -1;
3401          $block = 6; break;
3402          break;
3403        }
3404        case 4: {
3405          $t105_106 = 3;
3406          $block = 5; break;
3407          break;
3408        }
3409        case 5: {
3410          $t106_107 = $t54_55.$get().addr(1);
3411          $t107_108 = $t106_107.$get();
3412          $t108_109 = mods.addr($t107_108);
3413          $t109_110 = $t108_109.$get();
3414          $t110_111 = $t54_55.$get().addr(0);
3415          $t111_112 = $t110_111.$get();
3416          $t112_113 = $t109_110.addr($t111_112);
3417          $t112_113.$set($t105_106);
3418          $t50_51 = $t51_52;
3419          $block = 1; break;
3420          break;
3421        }
3422        case 6: {
3423          $t114_115 = ($t113_114 + 1);
3424          $t115_116 = ($t114_115 < 15);
3425          if ($t115_116) {
3426            $block = 7; break;
3427          }
3428          else {
3429            $block = 8; break;
3430          }
3431          break;
3432        }
3433        case 7: {
3434          $t116_117 = $t104_105.get($t114_115);
3435          $t117_118 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3436          $t117_118.$set($rt.builtin.cloneValue($t116_117));
3437          $t118_119 = $t0_1.$get().addr($t114_115);
3438          $t119_120 = $t118_119.$get();
3439          $t120_121 = ($t119_120 === 1);
3440          if ($t120_121) {
3441            $block = 9; break;
3442          }
3443          else {
3444            $t121_122 = 2;
3445            $block = 10; break;
3446          }
3447          break;
3448        }
3449        case 8: {
3450          return;
3451          break;
3452        }
3453        case 9: {
3454          $t121_122 = 3;
3455          $block = 10; break;
3456          break;
3457        }
3458        case 10: {
3459          $t122_123 = $t117_118.$get().addr(1);
3460          $t123_124 = $t122_123.$get();
3461          $t124_125 = mods.addr($t123_124);
3462          $t125_126 = $t124_125.$get();
3463          $t126_127 = $t117_118.$get().addr(0);
3464          $t127_128 = $t126_127.$get();
3465          $t128_129 = $t125_126.addr($t127_128);
3466          $t128_129.$set($t121_122);
3467          $t113_114 = $t114_115;
3468          $block = 6; break;
3469          break;
3470        }
3471      }
3472    }
3473  }
3474  
3475  export function qrPenaltyScore(mods) {
3476    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126;
3477    let $block = 0;
3478    while (true) {
3479      switch ($block) {
3480        case 0: {
3481          $t0_1 = 0;
3482          $t1_2 = 0;
3483          $block = 1; break;
3484          break;
3485        }
3486        case 1: {
3487          $t2_3 = ($t1_2 < 33);
3488          if ($t2_3) {
3489            $block = 2; break;
3490          }
3491          else {
3492            $block = 3; break;
3493          }
3494          break;
3495        }
3496        case 2: {
3497          $t3_4 = $t0_1;
3498          $t4_5 = 1;
3499          $t5_6 = 1;
3500          $block = 4; break;
3501          break;
3502        }
3503        case 3: {
3504          $t32_33 = $t0_1;
3505          $t33_34 = 0;
3506          $block = 14; break;
3507          break;
3508        }
3509        case 4: {
3510          $t6_7 = ($t5_6 < 33);
3511          if ($t6_7) {
3512            $block = 5; break;
3513          }
3514          else {
3515            $block = 6; break;
3516          }
3517          break;
3518        }
3519        case 5: {
3520          $t7_8 = mods.addr($t1_2);
3521          $t8_9 = $t7_8.$get();
3522          $t9_10 = $t8_9.addr($t5_6);
3523          $t10_11 = $t9_10.$get();
3524          $t11_12 = ($t10_11 & 1);
3525          $t12_13 = mods.addr($t1_2);
3526          $t13_14 = $t12_13.$get();
3527          $t14_15 = ($t5_6 - 1);
3528          $t15_16 = $t13_14.addr($t14_15);
3529          $t16_17 = $t15_16.$get();
3530          $t17_18 = ($t16_17 & 1);
3531          $t18_19 = ($t11_12 === $t17_18);
3532          if ($t18_19) {
3533            $block = 7; break;
3534          }
3535          else {
3536            $block = 9; break;
3537          }
3538          break;
3539        }
3540        case 6: {
3541          $t19_20 = ($t4_5 >= 5);
3542          if ($t19_20) {
3543            $block = 12; break;
3544          }
3545          else {
3546            $t30_31 = $t3_4;
3547            $block = 13; break;
3548          }
3549          break;
3550        }
3551        case 7: {
3552          $t20_21 = ($t4_5 + 1);
3553          $t21_22 = $t3_4;
3554          $t22_23 = $t20_21;
3555          $block = 8; break;
3556          break;
3557        }
3558        case 8: {
3559          $t23_24 = ($t5_6 + 1);
3560          $t3_4 = $t21_22;
3561          $t4_5 = $t22_23;
3562          $t5_6 = $t23_24;
3563          $block = 4; break;
3564          break;
3565        }
3566        case 9: {
3567          $t24_25 = ($t4_5 >= 5);
3568          if ($t24_25) {
3569            $block = 10; break;
3570          }
3571          else {
3572            $t27_28 = $t3_4;
3573            $block = 11; break;
3574          }
3575          break;
3576        }
3577        case 10: {
3578          $t25_26 = ($t4_5 - 2);
3579          $t26_27 = ($t3_4 + $t25_26);
3580          $t27_28 = $t26_27;
3581          $block = 11; break;
3582          break;
3583        }
3584        case 11: {
3585          $t21_22 = $t27_28;
3586          $t22_23 = 1;
3587          $block = 8; break;
3588          break;
3589        }
3590        case 12: {
3591          $t28_29 = ($t4_5 - 2);
3592          $t29_30 = ($t3_4 + $t28_29);
3593          $t30_31 = $t29_30;
3594          $block = 13; break;
3595          break;
3596        }
3597        case 13: {
3598          $t31_32 = ($t1_2 + 1);
3599          $t0_1 = $t30_31;
3600          $t1_2 = $t31_32;
3601          $block = 1; break;
3602          break;
3603        }
3604        case 14: {
3605          $t34_35 = ($t33_34 < 33);
3606          if ($t34_35) {
3607            $block = 15; break;
3608          }
3609          else {
3610            $block = 16; break;
3611          }
3612          break;
3613        }
3614        case 15: {
3615          $t35_36 = $t32_33;
3616          $t36_37 = 1;
3617          $t37_38 = 1;
3618          $block = 17; break;
3619          break;
3620        }
3621        case 16: {
3622          $t64_65 = $t32_33;
3623          $t65_66 = 0;
3624          $block = 27; break;
3625          break;
3626        }
3627        case 17: {
3628          $t38_39 = ($t37_38 < 33);
3629          if ($t38_39) {
3630            $block = 18; break;
3631          }
3632          else {
3633            $block = 19; break;
3634          }
3635          break;
3636        }
3637        case 18: {
3638          $t39_40 = mods.addr($t37_38);
3639          $t40_41 = $t39_40.$get();
3640          $t41_42 = $t40_41.addr($t33_34);
3641          $t42_43 = $t41_42.$get();
3642          $t43_44 = ($t42_43 & 1);
3643          $t44_45 = ($t37_38 - 1);
3644          $t45_46 = mods.addr($t44_45);
3645          $t46_47 = $t45_46.$get();
3646          $t47_48 = $t46_47.addr($t33_34);
3647          $t48_49 = $t47_48.$get();
3648          $t49_50 = ($t48_49 & 1);
3649          $t50_51 = ($t43_44 === $t49_50);
3650          if ($t50_51) {
3651            $block = 20; break;
3652          }
3653          else {
3654            $block = 22; break;
3655          }
3656          break;
3657        }
3658        case 19: {
3659          $t51_52 = ($t36_37 >= 5);
3660          if ($t51_52) {
3661            $block = 25; break;
3662          }
3663          else {
3664            $t62_63 = $t35_36;
3665            $block = 26; break;
3666          }
3667          break;
3668        }
3669        case 20: {
3670          $t52_53 = ($t36_37 + 1);
3671          $t53_54 = $t35_36;
3672          $t54_55 = $t52_53;
3673          $block = 21; break;
3674          break;
3675        }
3676        case 21: {
3677          $t55_56 = ($t37_38 + 1);
3678          $t35_36 = $t53_54;
3679          $t36_37 = $t54_55;
3680          $t37_38 = $t55_56;
3681          $block = 17; break;
3682          break;
3683        }
3684        case 22: {
3685          $t56_57 = ($t36_37 >= 5);
3686          if ($t56_57) {
3687            $block = 23; break;
3688          }
3689          else {
3690            $t59_60 = $t35_36;
3691            $block = 24; break;
3692          }
3693          break;
3694        }
3695        case 23: {
3696          $t57_58 = ($t36_37 - 2);
3697          $t58_59 = ($t35_36 + $t57_58);
3698          $t59_60 = $t58_59;
3699          $block = 24; break;
3700          break;
3701        }
3702        case 24: {
3703          $t53_54 = $t59_60;
3704          $t54_55 = 1;
3705          $block = 21; break;
3706          break;
3707        }
3708        case 25: {
3709          $t60_61 = ($t36_37 - 2);
3710          $t61_62 = ($t35_36 + $t60_61);
3711          $t62_63 = $t61_62;
3712          $block = 26; break;
3713          break;
3714        }
3715        case 26: {
3716          $t63_64 = ($t33_34 + 1);
3717          $t32_33 = $t62_63;
3718          $t33_34 = $t63_64;
3719          $block = 14; break;
3720          break;
3721        }
3722        case 27: {
3723          $t66_67 = ($t65_66 < 32);
3724          if ($t66_67) {
3725            $block = 28; break;
3726          }
3727          else {
3728            $block = 29; break;
3729          }
3730          break;
3731        }
3732        case 28: {
3733          $t67_68 = $t64_65;
3734          $t68_69 = 0;
3735          $block = 30; break;
3736          break;
3737        }
3738        case 29: {
3739          $t101_102 = 0;
3740          $t102_103 = 0;
3741          $block = 37; break;
3742          break;
3743        }
3744        case 30: {
3745          $t69_70 = ($t68_69 < 32);
3746          if ($t69_70) {
3747            $block = 31; break;
3748          }
3749          else {
3750            $block = 32; break;
3751          }
3752          break;
3753        }
3754        case 31: {
3755          $t70_71 = mods.addr($t65_66);
3756          $t71_72 = $t70_71.$get();
3757          $t72_73 = $t71_72.addr($t68_69);
3758          $t73_74 = $t72_73.$get();
3759          $t74_75 = ($t73_74 & 1);
3760          $t75_76 = mods.addr($t65_66);
3761          $t76_77 = $t75_76.$get();
3762          $t77_78 = ($t68_69 + 1);
3763          $t78_79 = $t76_77.addr($t77_78);
3764          $t79_80 = $t78_79.$get();
3765          $t80_81 = ($t79_80 & 1);
3766          $t81_82 = ($t80_81 === $t74_75);
3767          if ($t81_82) {
3768            $block = 36; break;
3769          }
3770          else {
3771            $t84_85 = $t67_68;
3772            $block = 34; break;
3773          }
3774          break;
3775        }
3776        case 32: {
3777          $t82_83 = ($t65_66 + 1);
3778          $t64_65 = $t67_68;
3779          $t65_66 = $t82_83;
3780          $block = 27; break;
3781          break;
3782        }
3783        case 33: {
3784          $t83_84 = ($t67_68 + 3);
3785          $t84_85 = $t83_84;
3786          $block = 34; break;
3787          break;
3788        }
3789        case 34: {
3790          $t85_86 = ($t68_69 + 1);
3791          $t67_68 = $t84_85;
3792          $t68_69 = $t85_86;
3793          $block = 30; break;
3794          break;
3795        }
3796        case 35: {
3797          $t86_87 = ($t65_66 + 1);
3798          $t87_88 = mods.addr($t86_87);
3799          $t88_89 = $t87_88.$get();
3800          $t89_90 = ($t68_69 + 1);
3801          $t90_91 = $t88_89.addr($t89_90);
3802          $t91_92 = $t90_91.$get();
3803          $t92_93 = ($t91_92 & 1);
3804          $t93_94 = ($t92_93 === $t74_75);
3805          if ($t93_94) {
3806            $block = 33; break;
3807          }
3808          else {
3809            $t84_85 = $t67_68;
3810            $block = 34; break;
3811          }
3812          break;
3813        }
3814        case 36: {
3815          $t94_95 = ($t65_66 + 1);
3816          $t95_96 = mods.addr($t94_95);
3817          $t96_97 = $t95_96.$get();
3818          $t97_98 = $t96_97.addr($t68_69);
3819          $t98_99 = $t97_98.$get();
3820          $t99_100 = ($t98_99 & 1);
3821          $t100_101 = ($t99_100 === $t74_75);
3822          if ($t100_101) {
3823            $block = 35; break;
3824          }
3825          else {
3826            $t84_85 = $t67_68;
3827            $block = 34; break;
3828          }
3829          break;
3830        }
3831        case 37: {
3832          $t103_104 = ($t102_103 < 33);
3833          if ($t103_104) {
3834            $block = 38; break;
3835          }
3836          else {
3837            $block = 39; break;
3838          }
3839          break;
3840        }
3841        case 38: {
3842          $t108_109 = $t101_102;
3843          $t109_110 = 0;
3844          $block = 40; break;
3845          break;
3846        }
3847        case 39: {
3848          $t104_105 = ($t101_102 * 100);
3849          $t105_106 = Math.trunc($t104_105 / 1089);
3850          $t106_107 = ($t105_106 - 50);
3851          $t107_108 = ($t106_107 < 0);
3852          if ($t107_108) {
3853            $block = 45; break;
3854          }
3855          else {
3856            $t122_123 = $t106_107;
3857            $block = 46; break;
3858          }
3859          break;
3860        }
3861        case 40: {
3862          $t110_111 = ($t109_110 < 33);
3863          if ($t110_111) {
3864            $block = 41; break;
3865          }
3866          else {
3867            $block = 42; break;
3868          }
3869          break;
3870        }
3871        case 41: {
3872          $t111_112 = mods.addr($t102_103);
3873          $t112_113 = $t111_112.$get();
3874          $t113_114 = $t112_113.addr($t109_110);
3875          $t114_115 = $t113_114.$get();
3876          $t115_116 = ($t114_115 & 1);
3877          $t116_117 = ($t115_116 === 1);
3878          if ($t116_117) {
3879            $block = 43; break;
3880          }
3881          else {
3882            $t119_120 = $t108_109;
3883            $block = 44; break;
3884          }
3885          break;
3886        }
3887        case 42: {
3888          $t117_118 = ($t102_103 + 1);
3889          $t101_102 = $t108_109;
3890          $t102_103 = $t117_118;
3891          $block = 37; break;
3892          break;
3893        }
3894        case 43: {
3895          $t118_119 = ($t108_109 + 1);
3896          $t119_120 = $t118_119;
3897          $block = 44; break;
3898          break;
3899        }
3900        case 44: {
3901          $t120_121 = ($t109_110 + 1);
3902          $t108_109 = $t119_120;
3903          $t109_110 = $t120_121;
3904          $block = 40; break;
3905          break;
3906        }
3907        case 45: {
3908          $t121_122 = -$t106_107;
3909          $t122_123 = $t121_122;
3910          $block = 46; break;
3911          break;
3912        }
3913        case 46: {
3914          $t123_124 = Math.trunc($t122_123 / 5);
3915          $t124_125 = ($t123_124 * 10);
3916          $t125_126 = ($t64_65 + $t124_125);
3917          return $t125_126;
3918          break;
3919        }
3920      }
3921    }
3922  }
3923  
3924  export function isLocalDev() {
3925    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8;
3926    let $block = 0;
3927    while (true) {
3928      switch ($block) {
3929        case 0: {
3930          $t0_1 = common$jsbridge$dom.Hostname();
3931          $t1_2 = ($t0_1 === 'localhost');
3932          if ($t1_2) {
3933            $t4_5 = true;
3934            $block = 2; break;
3935          }
3936          else {
3937            $block = 1; break;
3938          }
3939          break;
3940        }
3941        case 1: {
3942          $t2_3 = $rt.builtin.len($t0_1);
3943          $t3_4 = ($t2_3 > 4);
3944          if ($t3_4) {
3945            $block = 3; break;
3946          }
3947          else {
3948            $t7_8 = false;
3949            $block = 4; break;
3950          }
3951          break;
3952        }
3953        case 2: {
3954          return $t4_5;
3955          break;
3956        }
3957        case 3: {
3958          $t5_6 = $rt.builtin.stringSlice($t0_1, undefined, 4);
3959          $t6_7 = ($t5_6 === '127.');
3960          $t7_8 = $t6_7;
3961          $block = 4; break;
3962          break;
3963        }
3964        case 4: {
3965          $t4_5 = $t7_8;
3966          $block = 2; break;
3967          break;
3968        }
3969      }
3970    }
3971  }
3972  
3973  export function main() {
3974    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23;
3975    let $block = 0;
3976    while (true) {
3977      switch ($block) {
3978        case 0: {
3979          $t0_1 = common$jsbridge$dom.ConsoleLog('starting smesh v0.65.57');
3980          $t1_2 = isLocalDev();
3981          if ($t1_2) {
3982            $block = 1; break;
3983          }
3984          else {
3985            $block = 2; break;
3986          }
3987          break;
3988        }
3989        case 1: {
3990          $t2_3 = defaultRelays.$get();
3991          $t3_4 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
3992          $t4_5 = $t3_4.$get().addr(0);
3993          $t4_5.$set('ws://localhost:3334');
3994          $t5_6 = $rt.builtin.sliceSlice($t3_4.$get(), undefined, undefined, undefined);
3995          $t6_7 = $rt.builtin.appendSlice($t2_3, $t5_6);
3996          defaultRelays.$set($t6_7);
3997          $t7_8 = common$jsbridge$dom.ConsoleLog('dev mode: added local relay ws://localhost:3334');
3998          $block = 2; break;
3999          break;
4000        }
4001        case 2: {
4002          $t8_9 = common$jsbridge$localstorage.GetItem('smesh-theme');
4003          $t9_10 = ($t8_9 !== '');
4004          if ($t9_10) {
4005            $block = 3; break;
4006          }
4007          else {
4008            $block = 5; break;
4009          }
4010          break;
4011        }
4012        case 3: {
4013          $t10_11 = ($t8_9 === 'dark');
4014          isDark.$set($t10_11);
4015          $block = 4; break;
4016          break;
4017        }
4018        case 4: {
4019          $t11_12 = isDark.$get();
4020          if ($t11_12) {
4021            $block = 6; break;
4022          }
4023          else {
4024            $block = 7; break;
4025          }
4026          break;
4027        }
4028        case 5: {
4029          $t12_13 = common$jsbridge$dom.PrefersDark();
4030          isDark.$set($t12_13);
4031          $block = 4; break;
4032          break;
4033        }
4034        case 6: {
4035          $t13_14 = common$jsbridge$dom.Body();
4036          $t14_15 = common$jsbridge$dom.AddClass($t13_14, 'dark');
4037          $block = 7; break;
4038          break;
4039        }
4040        case 7: {
4041          $t15_16 = common$jsbridge$dom.GetElementById('app-root');
4042          root.$set($t15_16);
4043          $t16_17 = root.$get();
4044          $t17_18 = common$jsbridge$dom.SetAttribute($t16_17, 'data-version', 'v0.65.57');
4045          $t18_19 = common$jsbridge$localstorage.GetItem('smesh-pubkey');
4046          $t19_20 = ($t18_19 !== '');
4047          if ($t19_20) {
4048            $block = 8; break;
4049          }
4050          else {
4051            $block = 10; break;
4052          }
4053          break;
4054        }
4055        case 8: {
4056          pubhex.$set($t18_19);
4057          $t20_21 = common$helpers.HexDecode($t18_19);
4058          pubkey.$set($t20_21);
4059          $t21_22 = showApp();
4060          $block = 9; break;
4061          break;
4062        }
4063        case 9: {
4064          return;
4065          break;
4066        }
4067        case 10: {
4068          $t22_23 = showLogin();
4069          $block = 9; break;
4070          break;
4071        }
4072      }
4073    }
4074  }
4075  
4076  export function toggleTheme() {
4077    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
4078    let $block = 0;
4079    while (true) {
4080      switch ($block) {
4081        case 0: {
4082          $t0_1 = common$jsbridge$dom.Body();
4083          $t1_2 = isDark.$get();
4084          $t2_3 = !$t1_2;
4085          isDark.$set($t2_3);
4086          $t3_4 = isDark.$get();
4087          if ($t3_4) {
4088            $block = 1; break;
4089          }
4090          else {
4091            $block = 3; break;
4092          }
4093          break;
4094        }
4095        case 1: {
4096          $t4_5 = common$jsbridge$dom.AddClass($t0_1, 'dark');
4097          $t5_6 = common$jsbridge$localstorage.SetItem('smesh-theme', 'dark');
4098          $block = 2; break;
4099          break;
4100        }
4101        case 2: {
4102          $t6_7 = updateThemeIcon();
4103          return;
4104          break;
4105        }
4106        case 3: {
4107          $t7_8 = common$jsbridge$dom.RemoveClass($t0_1, 'dark');
4108          $t8_9 = common$jsbridge$localstorage.SetItem('smesh-theme', 'light');
4109          $block = 2; break;
4110          break;
4111        }
4112      }
4113    }
4114  }
4115  
4116  export function updateThemeIcon() {
4117    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
4118    let $block = 0;
4119    while (true) {
4120      switch ($block) {
4121        case 0: {
4122          $t0_1 = isDark.$get();
4123          if ($t0_1) {
4124            $block = 1; break;
4125          }
4126          else {
4127            $block = 3; break;
4128          }
4129          break;
4130        }
4131        case 1: {
4132          $t1_2 = themeBtn.$get();
4133          $t2_3 = common$jsbridge$dom.SetInnerHTML($t1_2, '&#x2600;&#xFE0F;');
4134          $block = 2; break;
4135          break;
4136        }
4137        case 2: {
4138          return;
4139          break;
4140        }
4141        case 3: {
4142          $t3_4 = themeBtn.$get();
4143          $t4_5 = common$jsbridge$dom.SetInnerHTML($t3_4, '&#x1F319;');
4144          $block = 2; break;
4145          break;
4146        }
4147      }
4148    }
4149  }
4150  
4151  export function showLogin() {
4152    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78;
4153    $t0_1 = root.$get();
4154    $t1_2 = clearChildren($t0_1);
4155    $t2_3 = common$jsbridge$dom.CreateElement('div');
4156    $t3_4 = common$jsbridge$dom.SetStyle($t2_3, 'display', 'flex');
4157    $t4_5 = common$jsbridge$dom.SetStyle($t2_3, 'alignItems', 'center');
4158    $t5_6 = common$jsbridge$dom.SetStyle($t2_3, 'justifyContent', 'center');
4159    $t6_7 = common$jsbridge$dom.SetStyle($t2_3, 'height', '100vh');
4160    $t7_8 = common$jsbridge$dom.SetStyle($t2_3, 'flexDirection', 'column');
4161    $t8_9 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
4162    $t9_10 = common$jsbridge$dom.CreateElement('div');
4163    $t8_9.$set($t9_10);
4164    $t10_11 = $t8_9.$get();
4165    $t11_12 = common$jsbridge$dom.SetStyle($t10_11, 'width', '180px');
4166    $t12_13 = $t8_9.$get();
4167    $t13_14 = common$jsbridge$dom.SetStyle($t12_13, 'height', '180px');
4168    $t14_15 = $t8_9.$get();
4169    $t15_16 = common$jsbridge$dom.SetStyle($t14_15, 'marginBottom', '16px');
4170    $t16_17 = showLogin$1.bind(null, $t8_9);
4171    $t17_18 = common$jsbridge$dom.FetchText('./smesh-loader.svg', $t16_17);
4172    $t18_19 = $t8_9.$get();
4173    $t19_20 = common$jsbridge$dom.AppendChild($t2_3, $t18_19);
4174    $t20_21 = common$jsbridge$dom.CreateElement('h1');
4175    $t21_22 = common$jsbridge$dom.SetTextContent($t20_21, 'smesh');
4176    $t22_23 = common$jsbridge$dom.SetStyle($t20_21, 'color', 'var(--accent)');
4177    $t23_24 = common$jsbridge$dom.SetStyle($t20_21, 'fontSize', '48px');
4178    $t24_25 = common$jsbridge$dom.SetStyle($t20_21, 'marginBottom', '4px');
4179    $t25_26 = common$jsbridge$dom.AppendChild($t2_3, $t20_21);
4180    $t26_27 = common$jsbridge$dom.CreateElement('span');
4181    $t27_28 = common$jsbridge$dom.SetTextContent($t26_27, 'v0.65.57');
4182    $t28_29 = common$jsbridge$dom.SetStyle($t26_27, 'color', 'var(--muted)');
4183    $t29_30 = common$jsbridge$dom.SetStyle($t26_27, 'fontSize', '12px');
4184    $t30_31 = common$jsbridge$dom.AppendChild($t2_3, $t26_27);
4185    $t31_32 = common$jsbridge$dom.CreateElement('p');
4186    $t32_33 = common$jsbridge$dom.SetTextContent($t31_32, 'nostr client — tinygo → javascript');
4187    $t33_34 = common$jsbridge$dom.SetStyle($t31_32, 'color', 'var(--muted)');
4188    $t34_35 = common$jsbridge$dom.SetStyle($t31_32, 'marginBottom', '32px');
4189    $t35_36 = common$jsbridge$dom.AppendChild($t2_3, $t31_32);
4190    $t36_37 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
4191    $t37_38 = common$jsbridge$dom.CreateElement('div');
4192    $t36_37.$set($t37_38);
4193    $t38_39 = $t36_37.$get();
4194    $t39_40 = common$jsbridge$dom.SetStyle($t38_39, 'color', '#e55');
4195    $t40_41 = $t36_37.$get();
4196    $t41_42 = common$jsbridge$dom.SetStyle($t40_41, 'fontSize', '13px');
4197    $t42_43 = $t36_37.$get();
4198    $t43_44 = common$jsbridge$dom.SetStyle($t42_43, 'marginBottom', '12px');
4199    $t44_45 = $t36_37.$get();
4200    $t45_46 = common$jsbridge$dom.SetStyle($t44_45, 'minHeight', '18px');
4201    $t46_47 = $t36_37.$get();
4202    $t47_48 = common$jsbridge$dom.AppendChild($t2_3, $t46_47);
4203    $t48_49 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
4204    $t49_50 = common$jsbridge$dom.CreateElement('button');
4205    $t48_49.$set($t49_50);
4206    $t50_51 = $t48_49.$get();
4207    $t51_52 = common$jsbridge$dom.SetTextContent($t50_51, 'login with extension');
4208    $t52_53 = $t48_49.$get();
4209    $t53_54 = common$jsbridge$dom.SetAttribute($t52_53, 'type', 'button');
4210    $t54_55 = $t48_49.$get();
4211    $t55_56 = common$jsbridge$dom.SetStyle($t54_55, 'padding', '10px 32px');
4212    $t56_57 = $t48_49.$get();
4213    $t57_58 = common$jsbridge$dom.SetStyle($t56_57, 'fontFamily', '\'Fira Code\', monospace');
4214    $t58_59 = $t48_49.$get();
4215    $t59_60 = common$jsbridge$dom.SetStyle($t58_59, 'fontSize', '14px');
4216    $t60_61 = $t48_49.$get();
4217    $t61_62 = common$jsbridge$dom.SetStyle($t60_61, 'background', 'var(--accent)');
4218    $t62_63 = $t48_49.$get();
4219    $t63_64 = common$jsbridge$dom.SetStyle($t62_63, 'color', '#000');
4220    $t64_65 = $t48_49.$get();
4221    $t65_66 = common$jsbridge$dom.SetStyle($t64_65, 'border', 'none');
4222    $t66_67 = $t48_49.$get();
4223    $t67_68 = common$jsbridge$dom.SetStyle($t66_67, 'borderRadius', '4px');
4224    $t68_69 = $t48_49.$get();
4225    $t69_70 = common$jsbridge$dom.SetStyle($t68_69, 'cursor', 'pointer');
4226    $t70_71 = $t48_49.$get();
4227    $t71_72 = common$jsbridge$dom.AppendChild($t2_3, $t70_71);
4228    $t72_73 = root.$get();
4229    $t73_74 = common$jsbridge$dom.AppendChild($t72_73, $t2_3);
4230    $t74_75 = showLogin$2.bind(null, $t36_37, $t48_49);
4231    $t75_76 = common$jsbridge$dom.RegisterCallback($t74_75);
4232    $t76_77 = $t48_49.$get();
4233    $t77_78 = common$jsbridge$dom.AddEventListener($t76_77, 'click', $t75_76);
4234    return;
4235  }
4236  
4237  function showLogin$1(loader, svg) {
4238    let $t0_1, $t1_2;
4239    $t0_1 = loader.$get();
4240    $t1_2 = common$jsbridge$dom.SetInnerHTML($t0_1, svg);
4241    return;
4242  }
4243  
4244  function showLogin$2(errEl, btn) {
4245    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
4246    let $block = 0;
4247    while (true) {
4248      switch ($block) {
4249        case 0: {
4250          $t0_1 = common$jsbridge$signer.HasSigner();
4251          if ($t0_1) {
4252            $block = 2; break;
4253          }
4254          else {
4255            $block = 1; break;
4256          }
4257          break;
4258        }
4259        case 1: {
4260          $t1_2 = errEl.$get();
4261          $t2_3 = common$jsbridge$dom.SetTextContent($t1_2, 'install a NIP-07 extension (nos2x, Alby, etc)');
4262          return;
4263          break;
4264        }
4265        case 2: {
4266          $t3_4 = btn.$get();
4267          $t4_5 = common$jsbridge$dom.SetTextContent($t3_4, 'requesting...');
4268          $t5_6 = showLogin$2$1.bind(null, errEl, btn);
4269          $t6_7 = common$jsbridge$signer.GetPublicKey($t5_6);
4270          return;
4271          break;
4272        }
4273      }
4274    }
4275  }
4276  
4277  function showLogin$2$1(errEl, btn, hex) {
4278    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
4279    let $block = 0;
4280    while (true) {
4281      switch ($block) {
4282        case 0: {
4283          $t0_1 = (hex === '');
4284          if ($t0_1) {
4285            $block = 1; break;
4286          }
4287          else {
4288            $block = 2; break;
4289          }
4290          break;
4291        }
4292        case 1: {
4293          $t1_2 = errEl.$get();
4294          $t2_3 = common$jsbridge$dom.SetTextContent($t1_2, 'login failed or was denied');
4295          $t3_4 = btn.$get();
4296          $t4_5 = common$jsbridge$dom.SetTextContent($t3_4, 'login with extension');
4297          return;
4298          break;
4299        }
4300        case 2: {
4301          pubhex.$set(hex);
4302          $t5_6 = common$helpers.HexDecode(hex);
4303          pubkey.$set($t5_6);
4304          $t6_7 = pubhex.$get();
4305          $t7_8 = common$jsbridge$localstorage.SetItem('smesh-pubkey', $t6_7);
4306          $t8_9 = root.$get();
4307          $t9_10 = clearChildren($t8_9);
4308          $t10_11 = showApp();
4309          return;
4310          break;
4311        }
4312      }
4313    }
4314  }
4315  
4316  export function makeSidebarIcon(svgHTML, active) {
4317    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15;
4318    let $block = 0;
4319    while (true) {
4320      switch ($block) {
4321        case 0: {
4322          $t0_1 = common$jsbridge$dom.CreateElement('button');
4323          $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'width', '36px');
4324          $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'height', '36px');
4325          $t3_4 = common$jsbridge$dom.SetStyle($t0_1, 'border', 'none');
4326          $t4_5 = common$jsbridge$dom.SetStyle($t0_1, 'borderRadius', '6px');
4327          $t5_6 = common$jsbridge$dom.SetStyle($t0_1, 'cursor', 'pointer');
4328          $t6_7 = common$jsbridge$dom.SetStyle($t0_1, 'display', 'flex');
4329          $t7_8 = common$jsbridge$dom.SetStyle($t0_1, 'alignItems', 'center');
4330          $t8_9 = common$jsbridge$dom.SetStyle($t0_1, 'justifyContent', 'center');
4331          $t9_10 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '0');
4332          $t10_11 = common$jsbridge$dom.SetStyle($t0_1, 'color', 'var(--fg)');
4333          if (active) {
4334            $block = 1; break;
4335          }
4336          else {
4337            $block = 3; break;
4338          }
4339          break;
4340        }
4341        case 1: {
4342          $t11_12 = common$jsbridge$dom.SetStyle($t0_1, 'background', 'var(--accent)');
4343          $t12_13 = common$jsbridge$dom.SetStyle($t0_1, 'color', '#000');
4344          $block = 2; break;
4345          break;
4346        }
4347        case 2: {
4348          $t13_14 = common$jsbridge$dom.SetInnerHTML($t0_1, svgHTML);
4349          return $t0_1;
4350          break;
4351        }
4352        case 3: {
4353          $t14_15 = common$jsbridge$dom.SetStyle($t0_1, 'background', 'transparent');
4354          $block = 2; break;
4355          break;
4356        }
4357      }
4358    }
4359  }
4360  
4361  export function switchPage(name) {
4362    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44;
4363    let $block = 0;
4364    while (true) {
4365      switch ($block) {
4366        case 0: {
4367          $t0_1 = activePage.$get();
4368          $t1_2 = (name === $t0_1);
4369          if ($t1_2) {
4370            $block = 1; break;
4371          }
4372          else {
4373            $block = 2; break;
4374          }
4375          break;
4376        }
4377        case 1: {
4378          return;
4379          break;
4380        }
4381        case 2: {
4382          $t2_3 = closeProfileNoteSub();
4383          $t3_4 = activePage.$get();
4384          $t4_5 = ($t3_4 === 'profile');
4385          if ($t4_5) {
4386            $block = 3; break;
4387          }
4388          else {
4389            $block = 4; break;
4390          }
4391          break;
4392        }
4393        case 3: {
4394          profileViewPK.$set('');
4395          $block = 4; break;
4396          break;
4397        }
4398        case 4: {
4399          activePage.$set(name);
4400          $t5_6 = pageTitleEl.$get();
4401          $t6_7 = common$jsbridge$dom.SetTextContent($t5_6, name);
4402          $t7_8 = feedPage.$get();
4403          $t8_9 = common$jsbridge$dom.SetStyle($t7_8, 'display', 'none');
4404          $t9_10 = msgPage.$get();
4405          $t10_11 = common$jsbridge$dom.SetStyle($t9_10, 'display', 'none');
4406          $t11_12 = profilePage.$get();
4407          $t12_13 = common$jsbridge$dom.SetStyle($t11_12, 'display', 'none');
4408          $t13_14 = sidebarFeed.$get();
4409          $t14_15 = common$jsbridge$dom.SetStyle($t13_14, 'background', 'transparent');
4410          $t15_16 = sidebarFeed.$get();
4411          $t16_17 = common$jsbridge$dom.SetStyle($t15_16, 'color', 'var(--fg)');
4412          $t17_18 = sidebarMsg.$get();
4413          $t18_19 = common$jsbridge$dom.SetStyle($t17_18, 'background', 'transparent');
4414          $t19_20 = sidebarMsg.$get();
4415          $t20_21 = common$jsbridge$dom.SetStyle($t19_20, 'color', 'var(--fg)');
4416          $t21_22 = (name === 'feed');
4417          if ($t21_22) {
4418            $block = 6; break;
4419          }
4420          else {
4421            $block = 8; break;
4422          }
4423          break;
4424        }
4425        case 5: {
4426          return;
4427          break;
4428        }
4429        case 6: {
4430          $t22_23 = feedPage.$get();
4431          $t23_24 = common$jsbridge$dom.SetStyle($t22_23, 'display', 'block');
4432          $t24_25 = sidebarFeed.$get();
4433          $t25_26 = common$jsbridge$dom.SetStyle($t24_25, 'background', 'var(--accent)');
4434          $t26_27 = sidebarFeed.$get();
4435          $t27_28 = common$jsbridge$dom.SetStyle($t26_27, 'color', '#000');
4436          $t28_29 = navPop.$get();
4437          if ($t28_29) {
4438            $block = 5; break;
4439          }
4440          else {
4441            $block = 9; break;
4442          }
4443          break;
4444        }
4445        case 7: {
4446          $t29_30 = msgPage.$get();
4447          $t30_31 = common$jsbridge$dom.SetStyle($t29_30, 'display', 'block');
4448          $t31_32 = sidebarMsg.$get();
4449          $t32_33 = common$jsbridge$dom.SetStyle($t31_32, 'background', 'var(--accent)');
4450          $t33_34 = sidebarMsg.$get();
4451          $t34_35 = common$jsbridge$dom.SetStyle($t33_34, 'color', '#000');
4452          $t35_36 = common$jsbridge$dom.PostToSW('["PAGE","messaging"]');
4453          $t36_37 = initMessaging();
4454          $t37_38 = navPop.$get();
4455          if ($t37_38) {
4456            $block = 5; break;
4457          }
4458          else {
4459            $block = 12; break;
4460          }
4461          break;
4462        }
4463        case 8: {
4464          $t38_39 = (name === 'messaging');
4465          if ($t38_39) {
4466            $block = 7; break;
4467          }
4468          else {
4469            $block = 11; break;
4470          }
4471          break;
4472        }
4473        case 9: {
4474          $t39_40 = common$jsbridge$dom.PushState('/');
4475          $block = 5; break;
4476          break;
4477        }
4478        case 10: {
4479          $t40_41 = profilePage.$get();
4480          $t41_42 = common$jsbridge$dom.SetStyle($t40_41, 'display', 'block');
4481          $block = 5; break;
4482          break;
4483        }
4484        case 11: {
4485          $t42_43 = (name === 'profile');
4486          if ($t42_43) {
4487            $block = 10; break;
4488          }
4489          else {
4490            $block = 5; break;
4491          }
4492          break;
4493        }
4494        case 12: {
4495          $t43_44 = common$jsbridge$dom.PushState('/msg');
4496          $block = 5; break;
4497          break;
4498        }
4499      }
4500    }
4501  }
4502  
4503  export function navigateToPath(fullPath) {
4504    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39;
4505    let $block = 0;
4506    while (true) {
4507      switch ($block) {
4508        case 0: {
4509          $t0_1 = 0;
4510          $block = 1; break;
4511          break;
4512        }
4513        case 1: {
4514          $t1_2 = $rt.builtin.len(fullPath);
4515          $t2_3 = ($t0_1 < $t1_2);
4516          if ($t2_3) {
4517            $block = 2; break;
4518          }
4519          else {
4520            $t5_6 = fullPath;
4521            $t6_7 = '';
4522            $block = 3; break;
4523          }
4524          break;
4525        }
4526        case 2: {
4527          $rt.runtime.boundsCheck($t0_1, $rt.builtin.byteLen(fullPath));
4528          $t3_4 = $rt.builtin.stringByteAt(fullPath, $t0_1);
4529          $t4_5 = ($t3_4 === 35);
4530          if ($t4_5) {
4531            $block = 4; break;
4532          }
4533          else {
4534            $block = 5; break;
4535          }
4536          break;
4537        }
4538        case 3: {
4539          $t7_8 = ($t5_6 === '/');
4540          if ($t7_8) {
4541            $block = 6; break;
4542          }
4543          else {
4544            $block = 10; break;
4545          }
4546          break;
4547        }
4548        case 4: {
4549          $t8_9 = $rt.builtin.stringSlice(fullPath, undefined, $t0_1);
4550          $t9_10 = ($t0_1 + 1);
4551          $t10_11 = $rt.builtin.stringSlice(fullPath, $t9_10, undefined);
4552          $t5_6 = $t8_9;
4553          $t6_7 = $t10_11;
4554          $block = 3; break;
4555          break;
4556        }
4557        case 5: {
4558          $t11_12 = ($t0_1 + 1);
4559          $t0_1 = $t11_12;
4560          $block = 1; break;
4561          break;
4562        }
4563        case 6: {
4564          $t12_13 = switchPage('feed');
4565          $block = 7; break;
4566          break;
4567        }
4568        case 7: {
4569          return;
4570          break;
4571        }
4572        case 8: {
4573          $t13_14 = ($t5_6 === '/msg');
4574          if ($t13_14) {
4575            $block = 11; break;
4576          }
4577          else {
4578            $block = 12; break;
4579          }
4580          break;
4581        }
4582        case 9: {
4583          $t14_15 = ($t5_6 === '');
4584          if ($t14_15) {
4585            $block = 6; break;
4586          }
4587          else {
4588            $block = 8; break;
4589          }
4590          break;
4591        }
4592        case 10: {
4593          $t15_16 = ($t5_6 === '/feed');
4594          if ($t15_16) {
4595            $block = 6; break;
4596          }
4597          else {
4598            $block = 9; break;
4599          }
4600          break;
4601        }
4602        case 11: {
4603          $t16_17 = switchPage('messaging');
4604          $t17_18 = msgView.$get();
4605          $t18_19 = ($t17_18 === 'thread');
4606          if ($t18_19) {
4607            $block = 13; break;
4608          }
4609          else {
4610            $block = 7; break;
4611          }
4612          break;
4613        }
4614        case 12: {
4615          $t19_20 = $rt.builtin.len($t5_6);
4616          $t20_21 = ($t19_20 > 5);
4617          if ($t20_21) {
4618            $block = 16; break;
4619          }
4620          else {
4621            $block = 15; break;
4622          }
4623          break;
4624        }
4625        case 13: {
4626          $t21_22 = closeThread();
4627          $block = 7; break;
4628          break;
4629        }
4630        case 14: {
4631          $t22_23 = $rt.builtin.stringSlice($t5_6, 5, undefined);
4632          $t23_24 = npubToHex($t22_23);
4633          $t24_25 = ($t23_24 !== '');
4634          if ($t24_25) {
4635            $block = 17; break;
4636          }
4637          else {
4638            $block = 7; break;
4639          }
4640          break;
4641        }
4642        case 15: {
4643          $t25_26 = $rt.builtin.len($t5_6);
4644          $t26_27 = ($t25_26 > 3);
4645          if ($t26_27) {
4646            $block = 19; break;
4647          }
4648          else {
4649            $block = 7; break;
4650          }
4651          break;
4652        }
4653        case 16: {
4654          $t27_28 = $rt.builtin.stringSlice($t5_6, undefined, 5);
4655          $t28_29 = ($t27_28 === '/msg/');
4656          if ($t28_29) {
4657            $block = 14; break;
4658          }
4659          else {
4660            $block = 15; break;
4661          }
4662          break;
4663        }
4664        case 17: {
4665          $t29_30 = switchPage('messaging');
4666          $t30_31 = openThread($t23_24);
4667          $block = 7; break;
4668          break;
4669        }
4670        case 18: {
4671          $t31_32 = $rt.builtin.stringSlice($t5_6, 3, undefined);
4672          $t32_33 = npubToHex($t31_32);
4673          $t33_34 = ($t32_33 !== '');
4674          if ($t33_34) {
4675            $block = 20; break;
4676          }
4677          else {
4678            $block = 7; break;
4679          }
4680          break;
4681        }
4682        case 19: {
4683          $t34_35 = $rt.builtin.stringSlice($t5_6, undefined, 3);
4684          $t35_36 = ($t34_35 === '/p/');
4685          if ($t35_36) {
4686            $block = 18; break;
4687          }
4688          else {
4689            $block = 7; break;
4690          }
4691          break;
4692        }
4693        case 20: {
4694          $t36_37 = showProfile($t32_33);
4695          $t37_38 = ($t6_7 !== '');
4696          if ($t37_38) {
4697            $block = 21; break;
4698          }
4699          else {
4700            $block = 7; break;
4701          }
4702          break;
4703        }
4704        case 21: {
4705          $t38_39 = selectProfileTab($t6_7, $t32_33);
4706          $block = 7; break;
4707          break;
4708        }
4709      }
4710    }
4711  }
4712  
4713  export function npubToHex(npub) {
4714    let $t0_1, $t1_2, $t2_3;
4715    let $block = 0;
4716    while (true) {
4717      switch ($block) {
4718        case 0: {
4719          $t0_1 = common$helpers.DecodeNpub(npub);
4720          $t1_2 = ($t0_1 === null);
4721          if ($t1_2) {
4722            $block = 1; break;
4723          }
4724          else {
4725            $block = 2; break;
4726          }
4727          break;
4728        }
4729        case 1: {
4730          return '';
4731          break;
4732        }
4733        case 2: {
4734          $t2_3 = common$helpers.HexEncode($t0_1);
4735          return $t2_3;
4736          break;
4737        }
4738      }
4739    }
4740  }
4741  
4742  export function initRouter() {
4743    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
4744    let $block = 0;
4745    while (true) {
4746      switch ($block) {
4747        case 0: {
4748          $t0_1 = common$jsbridge$dom.OnPopState(initRouter$1);
4749          $t1_2 = common$jsbridge$dom.GetPath();
4750          $t2_3 = ($t1_2 !== '/');
4751          if ($t2_3) {
4752            $block = 4; break;
4753          }
4754          else {
4755            $block = 3; break;
4756          }
4757          break;
4758        }
4759        case 1: {
4760          navPop.$set(true);
4761          $t3_4 = navigateToPath($t1_2);
4762          navPop.$set(false);
4763          $block = 2; break;
4764          break;
4765        }
4766        case 2: {
4767          return;
4768          break;
4769        }
4770        case 3: {
4771          $t4_5 = common$jsbridge$dom.ReplaceState('/');
4772          $block = 2; break;
4773          break;
4774        }
4775        case 4: {
4776          $t5_6 = ($t1_2 !== '');
4777          if ($t5_6) {
4778            $block = 1; break;
4779          }
4780          else {
4781            $block = 3; break;
4782          }
4783          break;
4784        }
4785      }
4786    }
4787  }
4788  
4789  function initRouter$1(path) {
4790    let $t0_1;
4791    navPop.$set(true);
4792    $t0_1 = navigateToPath(path);
4793    navPop.$set(false);
4794    return;
4795  }
4796  
4797  export function makeProtoBtn(label) {
4798    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
4799    $t0_1 = common$jsbridge$dom.CreateElement('button');
4800    $t1_2 = common$jsbridge$dom.SetTextContent($t0_1, label);
4801    $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '6px 16px');
4802    $t3_4 = common$jsbridge$dom.SetStyle($t0_1, 'border', 'none');
4803    $t4_5 = common$jsbridge$dom.SetStyle($t0_1, 'fontFamily', '\'Fira Code\', monospace');
4804    $t5_6 = common$jsbridge$dom.SetStyle($t0_1, 'fontSize', '12px');
4805    $t6_7 = common$jsbridge$dom.SetStyle($t0_1, 'cursor', 'default');
4806    $t7_8 = common$jsbridge$dom.SetStyle($t0_1, 'background', 'transparent');
4807    $t8_9 = common$jsbridge$dom.SetStyle($t0_1, 'color', 'var(--fg)');
4808    return $t0_1;
4809  }
4810  
4811  export function showApp() {
4812    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129, $t129_130, $t130_131, $t131_132, $t132_133, $t133_134, $t134_135, $t135_136, $t136_137, $t137_138, $t138_139, $t139_140, $t140_141, $t141_142, $t142_143, $t143_144, $t144_145, $t145_146, $t146_147, $t147_148, $t148_149, $t149_150, $t150_151, $t151_152, $t152_153, $t153_154, $t154_155, $t155_156, $t156_157, $t157_158, $t158_159, $t159_160, $t160_161, $t161_162, $t162_163, $t163_164, $t164_165, $t165_166, $t166_167, $t167_168, $t168_169, $t169_170, $t170_171, $t171_172, $t172_173, $t173_174, $t174_175, $t175_176, $t176_177, $t177_178, $t178_179, $t179_180, $t180_181, $t181_182, $t182_183, $t183_184, $t184_185, $t185_186, $t186_187, $t187_188, $t188_189, $t189_190, $t190_191, $t191_192, $t192_193, $t193_194, $t194_195, $t195_196, $t196_197, $t197_198, $t198_199, $t199_200, $t200_201, $t201_202, $t202_203, $t203_204, $t204_205, $t205_206, $t206_207, $t207_208, $t208_209, $t209_210, $t210_211, $t211_212, $t212_213, $t213_214, $t214_215, $t215_216, $t216_217, $t217_218, $t218_219, $t219_220, $t220_221, $t221_222, $t222_223, $t223_224, $t224_225, $t225_226, $t226_227, $t227_228, $t228_229, $t229_230, $t230_231, $t231_232, $t232_233, $t233_234, $t234_235, $t235_236, $t236_237, $t237_238, $t238_239, $t239_240, $t240_241, $t241_242, $t242_243, $t243_244, $t244_245, $t245_246, $t246_247, $t247_248, $t248_249, $t249_250, $t250_251, $t251_252, $t252_253, $t253_254, $t254_255, $t255_256, $t256_257, $t257_258, $t258_259, $t259_260, $t260_261, $t261_262, $t262_263, $t263_264, $t264_265, $t265_266, $t266_267, $t267_268, $t268_269, $t269_270, $t270_271, $t271_272, $t272_273, $t273_274, $t274_275, $t275_276, $t276_277, $t277_278, $t278_279, $t279_280, $t280_281, $t281_282, $t282_283, $t283_284, $t284_285, $t285_286, $t286_287, $t287_288, $t288_289, $t289_290, $t290_291, $t291_292, $t292_293, $t293_294, $t294_295, $t295_296, $t296_297, $t297_298, $t298_299, $t299_300, $t300_301, $t301_302, $t302_303, $t303_304, $t304_305, $t305_306, $t306_307, $t307_308, $t308_309, $t309_310, $t310_311, $t311_312, $t312_313, $t313_314, $t314_315, $t315_316, $t316_317, $t317_318, $t318_319, $t319_320, $t320_321, $t321_322, $t322_323, $t323_324, $t324_325, $t325_326, $t326_327, $t327_328, $t328_329, $t329_330, $t330_331, $t331_332, $t332_333, $t333_334, $t334_335, $t335_336, $t336_337, $t337_338, $t338_339, $t339_340, $t340_341, $t341_342, $t342_343, $t343_344, $t344_345, $t345_346, $t346_347, $t347_348, $t348_349, $t349_350, $t350_351, $t351_352, $t352_353, $t353_354, $t354_355, $t355_356, $t356_357, $t357_358, $t358_359;
4813    let $block = 0;
4814    while (true) {
4815      switch ($block) {
4816        case 0: {
4817          $t0_1 = $rt.builtin.makeMap('string');
4818          authorNames.$set($t0_1);
4819          $t1_2 = $rt.builtin.makeMap('string');
4820          authorPics.$set($t1_2);
4821          $t2_3 = $rt.builtin.makeMap('string');
4822          authorContent.$set($t2_3);
4823          $t3_4 = $rt.builtin.makeMap('string');
4824          authorTs.$set($t3_4);
4825          $t4_5 = $rt.builtin.makeMap('string');
4826          authorRelays.$set($t4_5);
4827          $t5_6 = $rt.builtin.makeMap('string');
4828          pendingNotes.$set($t5_6);
4829          $t6_7 = $rt.builtin.makeMap('string');
4830          fetchedK0.$set($t6_7);
4831          $t7_8 = $rt.builtin.makeMap('string');
4832          fetchedK10k.$set($t7_8);
4833          $t8_9 = $rt.builtin.makeMap('string');
4834          relayFreq.$set($t8_9);
4835          $t9_10 = $rt.builtin.makeMap('string');
4836          authorSubPK.$set($t9_10);
4837          $t10_11 = $rt.builtin.makeMap('string');
4838          seenEvents.$set($t10_11);
4839          $t11_12 = $rt.builtin.makeMap('string');
4840          authorFollows.$set($t11_12);
4841          $t12_13 = $rt.builtin.makeMap('string');
4842          authorMutes.$set($t12_13);
4843          $t13_14 = $rt.builtin.makeMap('string');
4844          profileNotesSeen.$set($t13_14);
4845          $t14_15 = $rt.builtin.makeMap('string');
4846          profileTabBtns.$set($t14_15);
4847          $t15_16 = common$jsbridge$dom.OnSWMessage(onSWMessage);
4848          $t16_17 = pubhex.$get();
4849          $t17_18 = jstr($t16_17);
4850          $t18_19 = ('["SET_PUBKEY",' + $t17_18);
4851          $t19_20 = ($t18_19 + ']');
4852          $t20_21 = common$jsbridge$dom.PostToSW($t19_20);
4853          $t21_22 = common$jsbridge$dom.IDBGetAll('profiles', showApp$1, showApp$2);
4854          $t22_23 = common$jsbridge$dom.CreateElement('div');
4855          $t23_24 = common$jsbridge$dom.SetStyle($t22_23, 'display', 'flex');
4856          $t24_25 = common$jsbridge$dom.SetStyle($t22_23, 'alignItems', 'center');
4857          $t25_26 = common$jsbridge$dom.SetStyle($t22_23, 'padding', '8px 16px');
4858          $t26_27 = common$jsbridge$dom.SetStyle($t22_23, 'height', '48px');
4859          $t27_28 = common$jsbridge$dom.SetStyle($t22_23, 'boxSizing', 'border-box');
4860          $t28_29 = common$jsbridge$dom.SetStyle($t22_23, 'background', 'var(--bg2)');
4861          $t29_30 = common$jsbridge$dom.SetStyle($t22_23, 'position', 'fixed');
4862          $t30_31 = common$jsbridge$dom.SetStyle($t22_23, 'top', '0');
4863          $t31_32 = common$jsbridge$dom.SetStyle($t22_23, 'left', '0');
4864          $t32_33 = common$jsbridge$dom.SetStyle($t22_23, 'right', '0');
4865          $t33_34 = common$jsbridge$dom.SetStyle($t22_23, 'zIndex', '100');
4866          $t34_35 = common$jsbridge$dom.CreateElement('div');
4867          $t35_36 = common$jsbridge$dom.SetStyle($t34_35, 'display', 'flex');
4868          $t36_37 = common$jsbridge$dom.SetStyle($t34_35, 'alignItems', 'center');
4869          $t37_38 = common$jsbridge$dom.SetStyle($t34_35, 'flex', '1');
4870          $t38_39 = common$jsbridge$dom.SetStyle($t34_35, 'minWidth', '0');
4871          $t39_40 = common$jsbridge$dom.CreateElement('span');
4872          pageTitleEl.$set($t39_40);
4873          $t40_41 = pageTitleEl.$get();
4874          $t41_42 = common$jsbridge$dom.SetStyle($t40_41, 'fontSize', '18px');
4875          $t42_43 = pageTitleEl.$get();
4876          $t43_44 = common$jsbridge$dom.SetStyle($t42_43, 'fontWeight', 'bold');
4877          $t44_45 = pageTitleEl.$get();
4878          $t45_46 = common$jsbridge$dom.SetTextContent($t44_45, 'feed');
4879          $t46_47 = pageTitleEl.$get();
4880          $t47_48 = common$jsbridge$dom.AppendChild($t34_35, $t46_47);
4881          $t48_49 = common$jsbridge$dom.AppendChild($t22_23, $t34_35);
4882          $t49_50 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
4883          $t50_51 = common$jsbridge$dom.CreateElement('div');
4884          $t49_50.$set($t50_51);
4885          $t51_52 = $t49_50.$get();
4886          $t52_53 = common$jsbridge$dom.SetStyle($t51_52, 'width', '32px');
4887          $t53_54 = $t49_50.$get();
4888          $t54_55 = common$jsbridge$dom.SetStyle($t53_54, 'height', '32px');
4889          $t55_56 = $t49_50.$get();
4890          $t56_57 = common$jsbridge$dom.SetStyle($t55_56, 'flexShrink', '0');
4891          $t57_58 = showApp$3.bind(null, $t49_50);
4892          $t58_59 = common$jsbridge$dom.FetchText('./smesh-loader.svg', $t57_58);
4893          $t59_60 = $t49_50.$get();
4894          $t60_61 = common$jsbridge$dom.AppendChild($t22_23, $t59_60);
4895          $t61_62 = common$jsbridge$dom.CreateElement('div');
4896          $t62_63 = common$jsbridge$dom.SetStyle($t61_62, 'display', 'flex');
4897          $t63_64 = common$jsbridge$dom.SetStyle($t61_62, 'alignItems', 'center');
4898          $t64_65 = common$jsbridge$dom.SetStyle($t61_62, 'gap', '8px');
4899          $t65_66 = common$jsbridge$dom.SetStyle($t61_62, 'flex', '1');
4900          $t66_67 = common$jsbridge$dom.SetStyle($t61_62, 'justifyContent', 'flex-end');
4901          $t67_68 = common$jsbridge$dom.CreateElement('button');
4902          themeBtn.$set($t67_68);
4903          $t68_69 = themeBtn.$get();
4904          $t69_70 = common$jsbridge$dom.SetStyle($t68_69, 'background', 'transparent');
4905          $t70_71 = themeBtn.$get();
4906          $t71_72 = common$jsbridge$dom.SetStyle($t70_71, 'border', 'none');
4907          $t72_73 = themeBtn.$get();
4908          $t73_74 = common$jsbridge$dom.SetStyle($t72_73, 'borderRadius', '50%');
4909          $t74_75 = themeBtn.$get();
4910          $t75_76 = common$jsbridge$dom.SetStyle($t74_75, 'width', '32px');
4911          $t76_77 = themeBtn.$get();
4912          $t77_78 = common$jsbridge$dom.SetStyle($t76_77, 'height', '32px');
4913          $t78_79 = themeBtn.$get();
4914          $t79_80 = common$jsbridge$dom.SetStyle($t78_79, 'fontSize', '16px');
4915          $t80_81 = themeBtn.$get();
4916          $t81_82 = common$jsbridge$dom.SetStyle($t80_81, 'cursor', 'pointer');
4917          $t82_83 = themeBtn.$get();
4918          $t83_84 = common$jsbridge$dom.SetStyle($t82_83, 'padding', '0');
4919          $t84_85 = themeBtn.$get();
4920          $t85_86 = common$jsbridge$dom.SetStyle($t84_85, 'display', 'flex');
4921          $t86_87 = themeBtn.$get();
4922          $t87_88 = common$jsbridge$dom.SetStyle($t86_87, 'alignItems', 'center');
4923          $t88_89 = themeBtn.$get();
4924          $t89_90 = common$jsbridge$dom.SetStyle($t88_89, 'justifyContent', 'center');
4925          $t90_91 = themeBtn.$get();
4926          $t91_92 = common$jsbridge$dom.SetStyle($t90_91, 'lineHeight', '1');
4927          $t92_93 = updateThemeIcon();
4928          $t93_94 = themeBtn.$get();
4929          $t94_95 = common$jsbridge$dom.RegisterCallback(showApp$4);
4930          $t95_96 = common$jsbridge$dom.AddEventListener($t93_94, 'click', $t94_95);
4931          $t96_97 = themeBtn.$get();
4932          $t97_98 = common$jsbridge$dom.AppendChild($t61_62, $t96_97);
4933          $t98_99 = common$jsbridge$dom.CreateElement('button');
4934          $t99_100 = common$jsbridge$dom.SetTextContent($t98_99, 'logout');
4935          $t100_101 = common$jsbridge$dom.SetStyle($t98_99, 'fontFamily', '\'Fira Code\', monospace');
4936          $t101_102 = common$jsbridge$dom.SetStyle($t98_99, 'fontSize', '12px');
4937          $t102_103 = common$jsbridge$dom.SetStyle($t98_99, 'background', 'transparent');
4938          $t103_104 = common$jsbridge$dom.SetStyle($t98_99, 'border', 'none');
4939          $t104_105 = common$jsbridge$dom.SetStyle($t98_99, 'color', 'var(--fg)');
4940          $t105_106 = common$jsbridge$dom.SetStyle($t98_99, 'borderRadius', '4px');
4941          $t106_107 = common$jsbridge$dom.SetStyle($t98_99, 'height', '32px');
4942          $t107_108 = common$jsbridge$dom.SetStyle($t98_99, 'padding', '0 16px');
4943          $t108_109 = common$jsbridge$dom.SetStyle($t98_99, 'cursor', 'pointer');
4944          $t109_110 = common$jsbridge$dom.RegisterCallback(showApp$5);
4945          $t110_111 = common$jsbridge$dom.AddEventListener($t98_99, 'click', $t109_110);
4946          $t111_112 = common$jsbridge$dom.AppendChild($t61_62, $t98_99);
4947          $t112_113 = common$jsbridge$dom.AppendChild($t22_23, $t61_62);
4948          $t113_114 = root.$get();
4949          $t114_115 = common$jsbridge$dom.AppendChild($t113_114, $t22_23);
4950          $t115_116 = common$jsbridge$dom.CreateElement('div');
4951          $t116_117 = common$jsbridge$dom.SetStyle($t115_116, 'position', 'fixed');
4952          $t117_118 = common$jsbridge$dom.SetStyle($t115_116, 'top', '48px');
4953          $t118_119 = common$jsbridge$dom.SetStyle($t115_116, 'bottom', '36px');
4954          $t119_120 = common$jsbridge$dom.SetStyle($t115_116, 'left', '0');
4955          $t120_121 = common$jsbridge$dom.SetStyle($t115_116, 'right', '0');
4956          $t121_122 = common$jsbridge$dom.SetStyle($t115_116, 'display', 'flex');
4957          $t122_123 = common$jsbridge$dom.CreateElement('div');
4958          $t123_124 = common$jsbridge$dom.SetStyle($t122_123, 'width', '44px');
4959          $t124_125 = common$jsbridge$dom.SetStyle($t122_123, 'flexShrink', '0');
4960          $t125_126 = common$jsbridge$dom.SetStyle($t122_123, 'background', 'var(--bg2)');
4961          $t126_127 = common$jsbridge$dom.SetStyle($t122_123, 'display', 'flex');
4962          $t127_128 = common$jsbridge$dom.SetStyle($t122_123, 'flexDirection', 'column');
4963          $t128_129 = common$jsbridge$dom.SetStyle($t122_123, 'alignItems', 'center');
4964          $t129_130 = common$jsbridge$dom.SetStyle($t122_123, 'paddingTop', '8px');
4965          $t130_131 = common$jsbridge$dom.SetStyle($t122_123, 'gap', '4px');
4966          $t131_132 = makeSidebarIcon('<svg width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M3 3h12M6 7h9M6 11h9M3 15h12" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/></svg>', true);
4967          sidebarFeed.$set($t131_132);
4968          $t132_133 = sidebarFeed.$get();
4969          $t133_134 = common$jsbridge$dom.RegisterCallback(showApp$6);
4970          $t134_135 = common$jsbridge$dom.AddEventListener($t132_133, 'click', $t133_134);
4971          $t135_136 = sidebarFeed.$get();
4972          $t136_137 = common$jsbridge$dom.AppendChild($t122_123, $t135_136);
4973          $t137_138 = makeSidebarIcon('<svg width="18" height="18" viewBox="0 0 18 18" fill="none"><path d="M2 3h14v9H10l-2 3-2-3H2z" stroke="currentColor" stroke-width="1.5" stroke-linejoin="round"/></svg>', false);
4974          sidebarMsg.$set($t137_138);
4975          $t138_139 = sidebarMsg.$get();
4976          $t139_140 = common$jsbridge$dom.RegisterCallback(showApp$7);
4977          $t140_141 = common$jsbridge$dom.AddEventListener($t138_139, 'click', $t139_140);
4978          $t141_142 = sidebarMsg.$get();
4979          $t142_143 = common$jsbridge$dom.AppendChild($t122_123, $t141_142);
4980          $t143_144 = common$jsbridge$dom.AppendChild($t115_116, $t122_123);
4981          $t144_145 = common$jsbridge$dom.CreateElement('div');
4982          $t145_146 = common$jsbridge$dom.SetStyle($t144_145, 'flex', '1');
4983          $t146_147 = common$jsbridge$dom.SetStyle($t144_145, 'overflowY', 'auto');
4984          $t147_148 = common$jsbridge$dom.CreateElement('div');
4985          feedPage.$set($t147_148);
4986          $t148_149 = feedPage.$get();
4987          $t149_150 = common$jsbridge$dom.SetStyle($t148_149, 'padding', '16px');
4988          $t150_151 = common$jsbridge$dom.CreateElement('div');
4989          feedLoader.$set($t150_151);
4990          $t151_152 = feedLoader.$get();
4991          $t152_153 = common$jsbridge$dom.SetStyle($t151_152, 'display', 'flex');
4992          $t153_154 = feedLoader.$get();
4993          $t154_155 = common$jsbridge$dom.SetStyle($t153_154, 'flexDirection', 'column');
4994          $t155_156 = feedLoader.$get();
4995          $t156_157 = common$jsbridge$dom.SetStyle($t155_156, 'alignItems', 'center');
4996          $t157_158 = feedLoader.$get();
4997          $t158_159 = common$jsbridge$dom.SetStyle($t157_158, 'justifyContent', 'center');
4998          $t159_160 = feedLoader.$get();
4999          $t160_161 = common$jsbridge$dom.SetStyle($t159_160, 'padding', '64px 0');
5000          $t161_162 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
5001          $t162_163 = common$jsbridge$dom.CreateElement('div');
5002          $t161_162.$set($t162_163);
5003          $t163_164 = $t161_162.$get();
5004          $t164_165 = common$jsbridge$dom.SetStyle($t163_164, 'width', '120px');
5005          $t165_166 = $t161_162.$get();
5006          $t166_167 = common$jsbridge$dom.SetStyle($t165_166, 'height', '120px');
5007          $t167_168 = showApp$8.bind(null, $t161_162);
5008          $t168_169 = common$jsbridge$dom.FetchText('./smesh-loader.svg', $t167_168);
5009          $t169_170 = feedLoader.$get();
5010          $t170_171 = $t161_162.$get();
5011          $t171_172 = common$jsbridge$dom.AppendChild($t169_170, $t170_171);
5012          $t172_173 = common$jsbridge$dom.CreateElement('div');
5013          $t173_174 = common$jsbridge$dom.SetTextContent($t172_173, 'connecting...');
5014          $t174_175 = common$jsbridge$dom.SetStyle($t172_173, 'marginTop', '16px');
5015          $t175_176 = common$jsbridge$dom.SetStyle($t172_173, 'color', 'var(--muted)');
5016          $t176_177 = common$jsbridge$dom.SetStyle($t172_173, 'fontSize', '14px');
5017          $t177_178 = feedLoader.$get();
5018          $t178_179 = common$jsbridge$dom.AppendChild($t177_178, $t172_173);
5019          $t179_180 = feedPage.$get();
5020          $t180_181 = feedLoader.$get();
5021          $t181_182 = common$jsbridge$dom.AppendChild($t179_180, $t180_181);
5022          $t182_183 = common$jsbridge$dom.CreateElement('div');
5023          feedContainer.$set($t182_183);
5024          $t183_184 = feedPage.$get();
5025          $t184_185 = feedContainer.$get();
5026          $t185_186 = common$jsbridge$dom.AppendChild($t183_184, $t184_185);
5027          $t186_187 = feedPage.$get();
5028          $t187_188 = common$jsbridge$dom.AppendChild($t144_145, $t186_187);
5029          $t188_189 = common$jsbridge$dom.CreateElement('div');
5030          msgPage.$set($t188_189);
5031          $t189_190 = msgPage.$get();
5032          $t190_191 = common$jsbridge$dom.SetStyle($t189_190, 'padding', '16px');
5033          $t191_192 = msgPage.$get();
5034          $t192_193 = common$jsbridge$dom.SetStyle($t191_192, 'display', 'none');
5035          $t193_194 = msgPage.$get();
5036          $t194_195 = common$jsbridge$dom.SetStyle($t193_194, 'position', 'relative');
5037          $t195_196 = msgPage.$get();
5038          $t196_197 = common$jsbridge$dom.SetStyle($t195_196, 'height', '100%');
5039          $t197_198 = msgPage.$get();
5040          $t198_199 = common$jsbridge$dom.SetStyle($t197_198, 'boxSizing', 'border-box');
5041          $t199_200 = common$jsbridge$dom.CreateElement('div');
5042          msgListContainer.$set($t199_200);
5043          $t200_201 = msgPage.$get();
5044          $t201_202 = msgListContainer.$get();
5045          $t202_203 = common$jsbridge$dom.AppendChild($t200_201, $t201_202);
5046          $t203_204 = common$jsbridge$dom.CreateElement('div');
5047          msgThreadContainer.$set($t203_204);
5048          $t204_205 = msgThreadContainer.$get();
5049          $t205_206 = common$jsbridge$dom.SetStyle($t204_205, 'display', 'none');
5050          $t206_207 = msgThreadContainer.$get();
5051          $t207_208 = common$jsbridge$dom.SetStyle($t206_207, 'flexDirection', 'column');
5052          $t208_209 = msgThreadContainer.$get();
5053          $t209_210 = common$jsbridge$dom.SetStyle($t208_209, 'position', 'absolute');
5054          $t210_211 = msgThreadContainer.$get();
5055          $t211_212 = common$jsbridge$dom.SetStyle($t210_211, 'top', '0');
5056          $t212_213 = msgThreadContainer.$get();
5057          $t213_214 = common$jsbridge$dom.SetStyle($t212_213, 'left', '0');
5058          $t214_215 = msgThreadContainer.$get();
5059          $t215_216 = common$jsbridge$dom.SetStyle($t214_215, 'right', '0');
5060          $t216_217 = msgThreadContainer.$get();
5061          $t217_218 = common$jsbridge$dom.SetStyle($t216_217, 'bottom', '0');
5062          $t218_219 = msgThreadContainer.$get();
5063          $t219_220 = common$jsbridge$dom.SetStyle($t218_219, 'background', 'var(--bg)');
5064          $t220_221 = msgPage.$get();
5065          $t221_222 = msgThreadContainer.$get();
5066          $t222_223 = common$jsbridge$dom.AppendChild($t220_221, $t221_222);
5067          msgView.$set('list');
5068          $t223_224 = msgPage.$get();
5069          $t224_225 = common$jsbridge$dom.AppendChild($t144_145, $t223_224);
5070          $t225_226 = common$jsbridge$dom.CreateElement('div');
5071          profilePage.$set($t225_226);
5072          $t226_227 = profilePage.$get();
5073          $t227_228 = common$jsbridge$dom.SetStyle($t226_227, 'display', 'none');
5074          $t228_229 = profilePage.$get();
5075          $t229_230 = common$jsbridge$dom.AppendChild($t144_145, $t228_229);
5076          $t230_231 = common$jsbridge$dom.AppendChild($t115_116, $t144_145);
5077          $t231_232 = root.$get();
5078          $t232_233 = common$jsbridge$dom.AppendChild($t231_232, $t115_116);
5079          activePage.$set('feed');
5080          $t233_234 = common$jsbridge$dom.CreateElement('div');
5081          $t234_235 = common$jsbridge$dom.SetStyle($t233_234, 'position', 'fixed');
5082          $t235_236 = common$jsbridge$dom.SetStyle($t233_234, 'bottom', '0');
5083          $t236_237 = common$jsbridge$dom.SetStyle($t233_234, 'left', '0');
5084          $t237_238 = common$jsbridge$dom.SetStyle($t233_234, 'right', '0');
5085          $t238_239 = common$jsbridge$dom.SetStyle($t233_234, 'height', '36px');
5086          $t239_240 = common$jsbridge$dom.SetStyle($t233_234, 'display', 'flex');
5087          $t240_241 = common$jsbridge$dom.SetStyle($t233_234, 'alignItems', 'center');
5088          $t241_242 = common$jsbridge$dom.SetStyle($t233_234, 'padding', '0 12px');
5089          $t242_243 = common$jsbridge$dom.SetStyle($t233_234, 'gap', '8px');
5090          $t243_244 = common$jsbridge$dom.SetStyle($t233_234, 'background', 'var(--bg2)');
5091          $t244_245 = common$jsbridge$dom.SetStyle($t233_234, 'fontSize', '12px');
5092          $t245_246 = common$jsbridge$dom.SetStyle($t233_234, 'color', 'var(--fg)');
5093          $t246_247 = common$jsbridge$dom.SetStyle($t233_234, 'zIndex', '100');
5094          $t247_248 = common$jsbridge$dom.CreateElement('div');
5095          $t248_249 = common$jsbridge$dom.SetStyle($t247_248, 'display', 'flex');
5096          $t249_250 = common$jsbridge$dom.SetStyle($t247_248, 'alignItems', 'center');
5097          $t250_251 = common$jsbridge$dom.SetStyle($t247_248, 'gap', '6px');
5098          $t251_252 = common$jsbridge$dom.SetStyle($t247_248, 'padding', '4px 10px');
5099          $t252_253 = common$jsbridge$dom.SetStyle($t247_248, 'border', 'none');
5100          $t253_254 = common$jsbridge$dom.SetStyle($t247_248, 'borderRadius', '4px');
5101          $t254_255 = common$jsbridge$dom.SetStyle($t247_248, 'cursor', 'pointer');
5102          $t255_256 = common$jsbridge$dom.CreateElement('img');
5103          avatarEl.$set($t255_256);
5104          $t256_257 = avatarEl.$get();
5105          $t257_258 = common$jsbridge$dom.SetAttribute($t256_257, 'width', '20');
5106          $t258_259 = avatarEl.$get();
5107          $t259_260 = common$jsbridge$dom.SetAttribute($t258_259, 'height', '20');
5108          $t260_261 = avatarEl.$get();
5109          $t261_262 = common$jsbridge$dom.SetStyle($t260_261, 'borderRadius', '50%');
5110          $t262_263 = avatarEl.$get();
5111          $t263_264 = common$jsbridge$dom.SetStyle($t262_263, 'objectFit', 'cover');
5112          $t264_265 = avatarEl.$get();
5113          $t265_266 = common$jsbridge$dom.SetStyle($t264_265, 'display', 'none');
5114          $t266_267 = avatarEl.$get();
5115          $t267_268 = common$jsbridge$dom.SetAttribute($t266_267, 'onerror', 'this.style.display=\'none\'');
5116          $t268_269 = avatarEl.$get();
5117          $t269_270 = common$jsbridge$dom.AppendChild($t247_248, $t268_269);
5118          $t270_271 = common$jsbridge$dom.CreateElement('span');
5119          nameEl.$set($t270_271);
5120          $t271_272 = nameEl.$get();
5121          $t272_273 = common$jsbridge$dom.SetStyle($t271_272, 'fontSize', '12px');
5122          $t273_274 = nameEl.$get();
5123          $t274_275 = common$jsbridge$dom.SetStyle($t273_274, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
5124          $t275_276 = nameEl.$get();
5125          $t276_277 = common$jsbridge$dom.SetStyle($t275_276, 'fontWeight', 'bold');
5126          $t277_278 = nameEl.$get();
5127          $t278_279 = common$jsbridge$dom.SetStyle($t277_278, 'overflow', 'hidden');
5128          $t279_280 = nameEl.$get();
5129          $t280_281 = common$jsbridge$dom.SetStyle($t279_280, 'textOverflow', 'ellipsis');
5130          $t281_282 = nameEl.$get();
5131          $t282_283 = common$jsbridge$dom.SetStyle($t281_282, 'whiteSpace', 'nowrap');
5132          $t283_284 = nameEl.$get();
5133          $t284_285 = common$jsbridge$dom.SetStyle($t283_284, 'maxWidth', '120px');
5134          $t285_286 = pubkey.$get();
5135          $t286_287 = common$helpers.EncodeNpub($t285_286);
5136          $t287_288 = $rt.builtin.len($t286_287);
5137          $t288_289 = ($t287_288 > 20);
5138          if ($t288_289) {
5139            $block = 1; break;
5140          }
5141          else {
5142            $block = 2; break;
5143          }
5144          break;
5145        }
5146        case 1: {
5147          $t289_290 = nameEl.$get();
5148          $t290_291 = $rt.builtin.stringSlice($t286_287, undefined, 12);
5149          $t291_292 = ($t290_291 + '...');
5150          $t292_293 = $rt.builtin.len($t286_287);
5151          $t293_294 = ($t292_293 - 4);
5152          $t294_295 = $rt.builtin.stringSlice($t286_287, $t293_294, undefined);
5153          $t295_296 = ($t291_292 + $t294_295);
5154          $t296_297 = common$jsbridge$dom.SetTextContent($t289_290, $t295_296);
5155          $block = 2; break;
5156          break;
5157        }
5158        case 2: {
5159          $t297_298 = nameEl.$get();
5160          $t298_299 = common$jsbridge$dom.AppendChild($t247_248, $t297_298);
5161          $t299_300 = common$jsbridge$dom.RegisterCallback(showApp$9);
5162          $t300_301 = common$jsbridge$dom.AddEventListener($t247_248, 'click', $t299_300);
5163          $t301_302 = common$jsbridge$dom.AppendChild($t233_234, $t247_248);
5164          $t302_303 = common$jsbridge$dom.CreateElement('span');
5165          $t303_304 = common$jsbridge$dom.SetTextContent($t302_303, '|');
5166          $t304_305 = common$jsbridge$dom.SetStyle($t302_303, 'color', 'var(--muted)');
5167          $t305_306 = common$jsbridge$dom.AppendChild($t233_234, $t302_303);
5168          $t306_307 = common$jsbridge$dom.CreateElement('span');
5169          statusEl.$set($t306_307);
5170          $t307_308 = statusEl.$get();
5171          $t308_309 = common$jsbridge$dom.SetTextContent($t307_308, 'connecting...');
5172          $t309_310 = statusEl.$get();
5173          $t310_311 = common$jsbridge$dom.SetStyle($t309_310, 'cursor', 'pointer');
5174          $t311_312 = statusEl.$get();
5175          $t312_313 = common$jsbridge$dom.AppendChild($t233_234, $t311_312);
5176          $t313_314 = statusEl.$get();
5177          $t314_315 = common$jsbridge$dom.RegisterCallback(showApp$10);
5178          $t315_316 = common$jsbridge$dom.AddEventListener($t313_314, 'click', $t314_315);
5179          $t316_317 = common$jsbridge$dom.CreateElement('span');
5180          $t317_318 = common$jsbridge$dom.SetTextContent($t316_317, 'smesh v0.65.57');
5181          $t318_319 = common$jsbridge$dom.SetStyle($t316_317, 'marginLeft', 'auto');
5182          $t319_320 = common$jsbridge$dom.SetStyle($t316_317, 'color', 'var(--accent)');
5183          $t320_321 = common$jsbridge$dom.AppendChild($t233_234, $t316_317);
5184          $t321_322 = root.$get();
5185          $t322_323 = common$jsbridge$dom.AppendChild($t321_322, $t233_234);
5186          $t323_324 = common$jsbridge$dom.CreateElement('div');
5187          popoverEl.$set($t323_324);
5188          $t324_325 = popoverEl.$get();
5189          $t325_326 = common$jsbridge$dom.SetStyle($t324_325, 'position', 'fixed');
5190          $t326_327 = popoverEl.$get();
5191          $t327_328 = common$jsbridge$dom.SetStyle($t326_327, 'bottom', '37px');
5192          $t328_329 = popoverEl.$get();
5193          $t329_330 = common$jsbridge$dom.SetStyle($t328_329, 'left', '44px');
5194          $t330_331 = popoverEl.$get();
5195          $t331_332 = common$jsbridge$dom.SetStyle($t330_331, 'right', '0');
5196          $t332_333 = popoverEl.$get();
5197          $t333_334 = common$jsbridge$dom.SetStyle($t332_333, 'background', 'var(--bg2)');
5198          $t334_335 = popoverEl.$get();
5199          $t335_336 = common$jsbridge$dom.SetStyle($t334_335, 'borderTop', '1px solid var(--border)');
5200          $t336_337 = popoverEl.$get();
5201          $t337_338 = common$jsbridge$dom.SetStyle($t336_337, 'padding', '12px 16px');
5202          $t338_339 = popoverEl.$get();
5203          $t339_340 = common$jsbridge$dom.SetStyle($t338_339, 'fontSize', '12px');
5204          $t340_341 = popoverEl.$get();
5205          $t341_342 = common$jsbridge$dom.SetStyle($t340_341, 'display', 'none');
5206          $t342_343 = popoverEl.$get();
5207          $t343_344 = common$jsbridge$dom.SetStyle($t342_343, 'zIndex', '99');
5208          $t344_345 = root.$get();
5209          $t345_346 = popoverEl.$get();
5210          $t346_347 = common$jsbridge$dom.AppendChild($t344_345, $t345_346);
5211          $t347_348 = defaultRelays.$get();
5212          $t348_349 = $rt.builtin.len($t347_348);
5213          $t349_350 = -1;
5214          $block = 3; break;
5215          break;
5216        }
5217        case 3: {
5218          $t350_351 = ($t349_350 + 1);
5219          $t351_352 = ($t350_351 < $t348_349);
5220          if ($t351_352) {
5221            $block = 4; break;
5222          }
5223          else {
5224            $block = 5; break;
5225          }
5226          break;
5227        }
5228        case 4: {
5229          $t352_353 = $t347_348.addr($t350_351);
5230          $t353_354 = $t352_353.$get();
5231          $t354_355 = addRelay($t353_354, false);
5232          $t349_350 = $t350_351;
5233          $block = 3; break;
5234          break;
5235        }
5236        case 5: {
5237          $t355_356 = sendWriteRelays();
5238          $t356_357 = subscribeProfile();
5239          $t357_358 = subscribeFeed();
5240          $t358_359 = initRouter();
5241          return;
5242          break;
5243        }
5244      }
5245    }
5246  }
5247  
5248  function showApp$1(key, val) {
5249    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
5250    let $block = 0;
5251    while (true) {
5252      switch ($block) {
5253        case 0: {
5254          $t0_1 = common$helpers.JsonGetString(val, 'name');
5255          $t1_2 = common$helpers.JsonGetString(val, 'picture');
5256          $t2_3 = ($t0_1 !== '');
5257          if ($t2_3) {
5258            $block = 1; break;
5259          }
5260          else {
5261            $block = 2; break;
5262          }
5263          break;
5264        }
5265        case 1: {
5266          $t3_4 = authorNames.$get();
5267          $rt.builtin.mapUpdate($t3_4, key, $t0_1);
5268          $block = 2; break;
5269          break;
5270        }
5271        case 2: {
5272          $t4_5 = ($t1_2 !== '');
5273          if ($t4_5) {
5274            $block = 3; break;
5275          }
5276          else {
5277            $block = 4; break;
5278          }
5279          break;
5280        }
5281        case 3: {
5282          $t5_6 = authorPics.$get();
5283          $rt.builtin.mapUpdate($t5_6, key, $t1_2);
5284          $block = 4; break;
5285          break;
5286        }
5287        case 4: {
5288          return;
5289          break;
5290        }
5291      }
5292    }
5293  }
5294  
5295  function showApp$2() {
5296    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21;
5297    let $block = 0;
5298    while (true) {
5299      switch ($block) {
5300        case 0: {
5301          idbLoaded.$set(true);
5302          $t0_1 = pendingNotes.$get();
5303          $t1_2 = { $entries: [...$t0_1.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
5304          $block = 1; break;
5305          break;
5306        }
5307        case 1: {
5308          $t2_3 = $t1_2.next();
5309          $t3_4 = $t2_3[0];
5310          if ($t3_4) {
5311            $block = 2; break;
5312          }
5313          else {
5314            $block = 3; break;
5315          }
5316          break;
5317        }
5318        case 2: {
5319          $t4_5 = $t2_3[1];
5320          $t5_6 = $t2_3[2];
5321          $t6_7 = authorNames.$get();
5322          $t7_8 = $rt.builtin.mapLookup($t6_7, $t4_5).value;
5323          $t8_9 = authorPics.$get();
5324          $t9_10 = $rt.builtin.mapLookup($t8_9, $t4_5).value;
5325          $t10_11 = ($t7_8 !== '');
5326          if ($t10_11) {
5327            $block = 4; break;
5328          }
5329          else {
5330            $block = 1; break;
5331          }
5332          break;
5333        }
5334        case 3: {
5335          return;
5336          break;
5337        }
5338        case 4: {
5339          $t11_12 = $rt.builtin.len($t5_6);
5340          $t12_13 = -1;
5341          $block = 5; break;
5342          break;
5343        }
5344        case 5: {
5345          $t13_14 = ($t12_13 + 1);
5346          $t14_15 = ($t13_14 < $t11_12);
5347          if ($t14_15) {
5348            $block = 6; break;
5349          }
5350          else {
5351            $block = 7; break;
5352          }
5353          break;
5354        }
5355        case 6: {
5356          $t15_16 = $t5_6.addr($t13_14);
5357          $t16_17 = $t15_16.$get();
5358          $t17_18 = updateNoteHeader($t16_17, $t7_8, $t9_10);
5359          $t12_13 = $t13_14;
5360          $block = 5; break;
5361          break;
5362        }
5363        case 7: {
5364          $t18_19 = pendingNotes.$get();
5365          $t19_20 = $rt.builtin.mapDelete($t18_19, $t4_5);
5366          $t20_21 = fetchedK0.$get();
5367          $rt.builtin.mapUpdate($t20_21, $t4_5, true);
5368          $block = 1; break;
5369          break;
5370        }
5371      }
5372    }
5373  }
5374  
5375  function showApp$3(logo, svg) {
5376    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
5377    let $block = 0;
5378    while (true) {
5379      switch ($block) {
5380        case 0: {
5381          logoSVGCache.$set(svg);
5382          $t0_1 = logo.$get();
5383          $t1_2 = common$jsbridge$dom.SetInnerHTML($t0_1, svg);
5384          $t2_3 = logo.$get();
5385          $t3_4 = common$jsbridge$dom.FirstChild($t2_3);
5386          $t4_5 = ($t3_4 !== 0);
5387          if ($t4_5) {
5388            $block = 1; break;
5389          }
5390          else {
5391            $block = 2; break;
5392          }
5393          break;
5394        }
5395        case 1: {
5396          $t5_6 = common$jsbridge$dom.SetAttribute($t3_4, 'width', '100%');
5397          $t6_7 = common$jsbridge$dom.SetAttribute($t3_4, 'height', '100%');
5398          $block = 2; break;
5399          break;
5400        }
5401        case 2: {
5402          return;
5403          break;
5404        }
5405      }
5406    }
5407  }
5408  
5409  function showApp$4() {
5410    let $t0_1;
5411    $t0_1 = toggleTheme();
5412    return;
5413  }
5414  
5415  function showApp$5() {
5416    let $t0_1;
5417    $t0_1 = doLogout();
5418    return;
5419  }
5420  
5421  function showApp$6() {
5422    let $t0_1;
5423    $t0_1 = switchPage('feed');
5424    return;
5425  }
5426  
5427  function showApp$7() {
5428    let $t0_1;
5429    $t0_1 = switchPage('messaging');
5430    return;
5431  }
5432  
5433  function showApp$8(loaderImg, svg) {
5434    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
5435    let $block = 0;
5436    while (true) {
5437      switch ($block) {
5438        case 0: {
5439          $t0_1 = loaderImg.$get();
5440          $t1_2 = common$jsbridge$dom.SetInnerHTML($t0_1, svg);
5441          $t2_3 = loaderImg.$get();
5442          $t3_4 = common$jsbridge$dom.FirstChild($t2_3);
5443          $t4_5 = ($t3_4 !== 0);
5444          if ($t4_5) {
5445            $block = 1; break;
5446          }
5447          else {
5448            $block = 2; break;
5449          }
5450          break;
5451        }
5452        case 1: {
5453          $t5_6 = common$jsbridge$dom.SetAttribute($t3_4, 'width', '100%');
5454          $t6_7 = common$jsbridge$dom.SetAttribute($t3_4, 'height', '100%');
5455          $block = 2; break;
5456          break;
5457        }
5458        case 2: {
5459          return;
5460          break;
5461        }
5462      }
5463    }
5464  }
5465  
5466  function showApp$9() {
5467    let $t0_1, $t1_2;
5468    $t0_1 = pubhex.$get();
5469    $t1_2 = showProfile($t0_1);
5470    return;
5471  }
5472  
5473  function showApp$10() {
5474    let $t0_1;
5475    $t0_1 = togglePopover();
5476    return;
5477  }
5478  
5479  export function addRelay(url, userPick) {
5480    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52;
5481    let $block = 0;
5482    while (true) {
5483      switch ($block) {
5484        case 0: {
5485          $t0_1 = normalizeURL(url);
5486          $t1_2 = relayURLs.$get();
5487          $t2_3 = $rt.builtin.len($t1_2);
5488          $t3_4 = -1;
5489          $block = 1; break;
5490          break;
5491        }
5492        case 1: {
5493          $t4_5 = ($t3_4 + 1);
5494          $t5_6 = ($t4_5 < $t2_3);
5495          if ($t5_6) {
5496            $block = 2; break;
5497          }
5498          else {
5499            $block = 3; break;
5500          }
5501          break;
5502        }
5503        case 2: {
5504          $t6_7 = $t1_2.addr($t4_5);
5505          $t7_8 = $t6_7.$get();
5506          $t8_9 = ($t7_8 === $t0_1);
5507          if ($t8_9) {
5508            $block = 4; break;
5509          }
5510          else {
5511            $t3_4 = $t4_5;
5512            $block = 1; break;
5513          }
5514          break;
5515        }
5516        case 3: {
5517          $t9_10 = relayURLs.$get();
5518          $t10_11 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
5519          $t11_12 = $t10_11.$get().addr(0);
5520          $t11_12.$set($t0_1);
5521          $t12_13 = $rt.builtin.sliceSlice($t10_11.$get(), undefined, undefined, undefined);
5522          $t13_14 = $rt.builtin.appendSlice($t9_10, $t12_13);
5523          relayURLs.$set($t13_14);
5524          $t14_15 = relayUserPick.$get();
5525          $t15_16 = { $value: $rt.builtin.makeSlice(1, 1, false), $get() { return this.$value; }, $set(v) { this.$value = v; } };
5526          $t16_17 = $t15_16.$get().addr(0);
5527          $t16_17.$set(userPick);
5528          $t17_18 = $rt.builtin.sliceSlice($t15_16.$get(), undefined, undefined, undefined);
5529          $t18_19 = $rt.builtin.appendSlice($t14_15, $t17_18);
5530          relayUserPick.$set($t18_19);
5531          $t19_20 = common$jsbridge$dom.CreateElement('div');
5532          $t20_21 = common$jsbridge$dom.SetStyle($t19_20, 'padding', '3px 0');
5533          $t21_22 = common$jsbridge$dom.CreateElement('span');
5534          $t22_23 = common$jsbridge$dom.SetTextContent($t21_22, '●');
5535          $t23_24 = common$jsbridge$dom.SetStyle($t21_22, 'color', '#5b5');
5536          $t24_25 = common$jsbridge$dom.SetStyle($t21_22, 'marginRight', '8px');
5537          $t25_26 = relayDots.$get();
5538          $t26_27 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
5539          $t27_28 = $t26_27.$get().addr(0);
5540          $t27_28.$set($t21_22);
5541          $t28_29 = $rt.builtin.sliceSlice($t26_27.$get(), undefined, undefined, undefined);
5542          $t29_30 = $rt.builtin.appendSlice($t25_26, $t28_29);
5543          relayDots.$set($t29_30);
5544          $t30_31 = common$jsbridge$dom.AppendChild($t19_20, $t21_22);
5545          $t31_32 = common$jsbridge$dom.CreateElement('span');
5546          $t32_33 = common$jsbridge$dom.SetTextContent($t31_32, $t0_1);
5547          if (userPick) {
5548            $block = 8; break;
5549          }
5550          else {
5551            $block = 9; break;
5552          }
5553          break;
5554        }
5555        case 4: {
5556          if (userPick) {
5557            $block = 7; break;
5558          }
5559          else {
5560            $block = 6; break;
5561          }
5562          break;
5563        }
5564        case 5: {
5565          $t33_34 = relayUserPick.$get();
5566          $t34_35 = $t33_34.addr($t4_5);
5567          $t34_35.$set(true);
5568          $t35_36 = relayLabels.$get();
5569          $t36_37 = $t35_36.addr($t4_5);
5570          $t37_38 = $t36_37.$get();
5571          $t38_39 = common$jsbridge$dom.SetStyle($t37_38, 'fontWeight', 'bold');
5572          $block = 6; break;
5573          break;
5574        }
5575        case 6: {
5576          return;
5577          break;
5578        }
5579        case 7: {
5580          $t39_40 = relayUserPick.$get();
5581          $t40_41 = $t39_40.addr($t4_5);
5582          $t41_42 = $t40_41.$get();
5583          if ($t41_42) {
5584            $block = 6; break;
5585          }
5586          else {
5587            $block = 5; break;
5588          }
5589          break;
5590        }
5591        case 8: {
5592          $t42_43 = common$jsbridge$dom.SetStyle($t31_32, 'fontWeight', 'bold');
5593          $block = 9; break;
5594          break;
5595        }
5596        case 9: {
5597          $t43_44 = relayLabels.$get();
5598          $t44_45 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
5599          $t45_46 = $t44_45.$get().addr(0);
5600          $t45_46.$set($t31_32);
5601          $t46_47 = $rt.builtin.sliceSlice($t44_45.$get(), undefined, undefined, undefined);
5602          $t47_48 = $rt.builtin.appendSlice($t43_44, $t46_47);
5603          relayLabels.$set($t47_48);
5604          $t48_49 = common$jsbridge$dom.AppendChild($t19_20, $t31_32);
5605          $t49_50 = popoverEl.$get();
5606          $t50_51 = common$jsbridge$dom.AppendChild($t49_50, $t19_20);
5607          $t51_52 = updateStatus();
5608          return;
5609          break;
5610        }
5611      }
5612    }
5613  }
5614  
5615  export function togglePopover() {
5616    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
5617    let $block = 0;
5618    while (true) {
5619      switch ($block) {
5620        case 0: {
5621          $t0_1 = popoverOpen.$get();
5622          $t1_2 = !$t0_1;
5623          popoverOpen.$set($t1_2);
5624          $t2_3 = popoverOpen.$get();
5625          if ($t2_3) {
5626            $block = 1; break;
5627          }
5628          else {
5629            $block = 3; break;
5630          }
5631          break;
5632        }
5633        case 1: {
5634          $t3_4 = popoverEl.$get();
5635          $t4_5 = common$jsbridge$dom.SetStyle($t3_4, 'display', 'block');
5636          $block = 2; break;
5637          break;
5638        }
5639        case 2: {
5640          return;
5641          break;
5642        }
5643        case 3: {
5644          $t5_6 = popoverEl.$get();
5645          $t6_7 = common$jsbridge$dom.SetStyle($t5_6, 'display', 'none');
5646          $block = 2; break;
5647          break;
5648        }
5649      }
5650    }
5651  }
5652  
5653  export function subscribeProfile() {
5654    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
5655    let $block = 0;
5656    while (true) {
5657      switch ($block) {
5658        case 0: {
5659          $t0_1 = discoveryRelays.$get();
5660          $t1_2 = $rt.builtin.len($t0_1);
5661          $t2_3 = discoveryRelays.$get();
5662          $t3_4 = $rt.builtin.len($t2_3);
5663          $t4_5 = relayURLs.$get();
5664          $t5_6 = $rt.builtin.len($t4_5);
5665          $t6_7 = ($t3_4 + $t5_6);
5666          $t7_8 = $rt.builtin.makeSlice($t1_2, $t6_7, '');
5667          $t8_9 = discoveryRelays.$get();
5668          $t9_10 = $rt.builtin.copy($t7_8, $t8_9);
5669          $t10_11 = relayURLs.$get();
5670          $t11_12 = $rt.builtin.len($t10_11);
5671          $t12_13 = $t7_8;
5672          $t13_14 = -1;
5673          $block = 1; break;
5674          break;
5675        }
5676        case 1: {
5677          $t14_15 = ($t13_14 + 1);
5678          $t15_16 = ($t14_15 < $t11_12);
5679          if ($t15_16) {
5680            $block = 2; break;
5681          }
5682          else {
5683            $block = 3; break;
5684          }
5685          break;
5686        }
5687        case 2: {
5688          $t16_17 = $t10_11.addr($t14_15);
5689          $t17_18 = $t16_17.$get();
5690          $t18_19 = appendUnique($t12_13, $t17_18);
5691          $t12_13 = $t18_19;
5692          $t13_14 = $t14_15;
5693          $block = 1; break;
5694          break;
5695        }
5696        case 3: {
5697          $t19_20 = pubhex.$get();
5698          $t20_21 = jstr($t19_20);
5699          $t21_22 = ('{"authors":[' + $t20_21);
5700          $t22_23 = ($t21_22 + '],"kinds":[0,3,10002,10000,10050],"limit":8}');
5701          $t23_24 = buildProxyMsg('prof', $t22_23, $t12_13);
5702          $t24_25 = common$jsbridge$dom.PostToSW($t23_24);
5703          return;
5704          break;
5705        }
5706      }
5707    }
5708  }
5709  
5710  export function subscribeFeed() {
5711    let $t0_1, $t1_2, $t2_3;
5712    $t0_1 = relayURLs.$get();
5713    $t1_2 = buildProxyMsg('feed', '{"kinds":[1],"limit":20}', $t0_1);
5714    $t2_3 = common$jsbridge$dom.PostToSW($t1_2);
5715    return;
5716  }
5717  
5718  export function sendWriteRelays() {
5719    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15;
5720    let $block = 0;
5721    while (true) {
5722      switch ($block) {
5723        case 0: {
5724          $t0_1 = relayURLs.$get();
5725          $t1_2 = $rt.builtin.len($t0_1);
5726          $t2_3 = '["SET_WRITE_RELAYS",[';
5727          $t3_4 = -1;
5728          $block = 1; break;
5729          break;
5730        }
5731        case 1: {
5732          $t4_5 = ($t3_4 + 1);
5733          $t5_6 = ($t4_5 < $t1_2);
5734          if ($t5_6) {
5735            $block = 2; break;
5736          }
5737          else {
5738            $block = 3; break;
5739          }
5740          break;
5741        }
5742        case 2: {
5743          $t6_7 = $t0_1.addr($t4_5);
5744          $t7_8 = $t6_7.$get();
5745          $t8_9 = ($t4_5 > 0);
5746          if ($t8_9) {
5747            $block = 4; break;
5748          }
5749          else {
5750            $t12_13 = $t2_3;
5751            $block = 5; break;
5752          }
5753          break;
5754        }
5755        case 3: {
5756          $t9_10 = ($t2_3 + ']]');
5757          $t10_11 = common$jsbridge$dom.PostToSW($t9_10);
5758          return;
5759          break;
5760        }
5761        case 4: {
5762          $t11_12 = ($t2_3 + ',');
5763          $t12_13 = $t11_12;
5764          $block = 5; break;
5765          break;
5766        }
5767        case 5: {
5768          $t13_14 = jstr($t7_8);
5769          $t14_15 = ($t12_13 + $t13_14);
5770          $t2_3 = $t14_15;
5771          $t3_4 = $t4_5;
5772          $block = 1; break;
5773          break;
5774        }
5775      }
5776    }
5777  }
5778  
5779  export function buildProxyMsg(subID, filterJSON, urls) {
5780    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18;
5781    let $block = 0;
5782    while (true) {
5783      switch ($block) {
5784        case 0: {
5785          $t0_1 = jstr(subID);
5786          $t1_2 = ('["PROXY",' + $t0_1);
5787          $t2_3 = ($t1_2 + ',');
5788          $t3_4 = ($t2_3 + filterJSON);
5789          $t4_5 = ($t3_4 + ',[');
5790          $t5_6 = $rt.builtin.len(urls);
5791          $t6_7 = $t4_5;
5792          $t7_8 = -1;
5793          $block = 1; break;
5794          break;
5795        }
5796        case 1: {
5797          $t8_9 = ($t7_8 + 1);
5798          $t9_10 = ($t8_9 < $t5_6);
5799          if ($t9_10) {
5800            $block = 2; break;
5801          }
5802          else {
5803            $block = 3; break;
5804          }
5805          break;
5806        }
5807        case 2: {
5808          $t10_11 = urls.addr($t8_9);
5809          $t11_12 = $t10_11.$get();
5810          $t12_13 = ($t8_9 > 0);
5811          if ($t12_13) {
5812            $block = 4; break;
5813          }
5814          else {
5815            $t15_16 = $t6_7;
5816            $block = 5; break;
5817          }
5818          break;
5819        }
5820        case 3: {
5821          $t13_14 = ($t6_7 + ']]');
5822          return $t13_14;
5823          break;
5824        }
5825        case 4: {
5826          $t14_15 = ($t6_7 + ',');
5827          $t15_16 = $t14_15;
5828          $block = 5; break;
5829          break;
5830        }
5831        case 5: {
5832          $t16_17 = jstr($t11_12);
5833          $t17_18 = ($t15_16 + $t16_17);
5834          $t6_7 = $t17_18;
5835          $t7_8 = $t8_9;
5836          $block = 1; break;
5837          break;
5838        }
5839      }
5840    }
5841  }
5842  
5843  export function jstr(s) {
5844    let $t0_1, $t1_2, $t2_3;
5845    $t0_1 = jsonEsc(s);
5846    $t1_2 = ('"' + $t0_1);
5847    $t2_3 = ($t1_2 + '"');
5848    return $t2_3;
5849  }
5850  
5851  export function scheduleTabRetry() {
5852    let $t0_1;
5853    $t0_1 = common$jsbridge$dom.SetTimeout(scheduleTabRetry$1, 5000);
5854    return;
5855  }
5856  
5857  function scheduleTabRetry$1() {
5858    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30;
5859    let $block = 0;
5860    while (true) {
5861      switch ($block) {
5862        case 0: {
5863          $t0_1 = pendingNotes.$get();
5864          $t1_2 = { $entries: [...$t0_1.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
5865          $t2_3 = null;
5866          $block = 1; break;
5867          break;
5868        }
5869        case 1: {
5870          $t3_4 = $t1_2.next();
5871          $t4_5 = $t3_4[0];
5872          if ($t4_5) {
5873            $block = 2; break;
5874          }
5875          else {
5876            $block = 3; break;
5877          }
5878          break;
5879        }
5880        case 2: {
5881          $t5_6 = $t3_4[1];
5882          $t6_7 = authorNames.$get();
5883          { const $r = $rt.builtin.mapLookup($t6_7, $t5_6); $t7_8 = [$r.value, $r.ok]; }
5884          $t8_9 = $t7_8[0];
5885          $t9_10 = $t7_8[1];
5886          if ($t9_10) {
5887            $t2_3 = $t2_3;
5888            $block = 1; break;
5889          }
5890          else {
5891            $block = 4; break;
5892          }
5893          break;
5894        }
5895        case 3: {
5896          $t10_11 = $rt.builtin.len($t2_3);
5897          $t11_12 = ($t10_11 === 0);
5898          if ($t11_12) {
5899            $block = 5; break;
5900          }
5901          else {
5902            $block = 6; break;
5903          }
5904          break;
5905        }
5906        case 4: {
5907          $t12_13 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
5908          $t13_14 = $t12_13.$get().addr(0);
5909          $t13_14.$set($t5_6);
5910          $t14_15 = $rt.builtin.sliceSlice($t12_13.$get(), undefined, undefined, undefined);
5911          $t15_16 = $rt.builtin.appendSlice($t2_3, $t14_15);
5912          $t2_3 = $t15_16;
5913          $block = 1; break;
5914          break;
5915        }
5916        case 5: {
5917          return;
5918          break;
5919        }
5920        case 6: {
5921          $t16_17 = $rt.builtin.len($t2_3);
5922          $t17_18 = -1;
5923          $block = 7; break;
5924          break;
5925        }
5926        case 7: {
5927          $t18_19 = ($t17_18 + 1);
5928          $t19_20 = ($t18_19 < $t16_17);
5929          if ($t19_20) {
5930            $block = 8; break;
5931          }
5932          else {
5933            $block = 9; break;
5934          }
5935          break;
5936        }
5937        case 8: {
5938          $t20_21 = $t2_3.addr($t18_19);
5939          $t21_22 = $t20_21.$get();
5940          $t22_23 = fetchedK0.$get();
5941          $rt.builtin.mapUpdate($t22_23, $t21_22, false);
5942          $t17_18 = $t18_19;
5943          $block = 7; break;
5944          break;
5945        }
5946        case 9: {
5947          $t23_24 = $rt.builtin.len($t2_3);
5948          $t24_25 = -1;
5949          $block = 10; break;
5950          break;
5951        }
5952        case 10: {
5953          $t25_26 = ($t24_25 + 1);
5954          $t26_27 = ($t25_26 < $t23_24);
5955          if ($t26_27) {
5956            $block = 11; break;
5957          }
5958          else {
5959            $block = 12; break;
5960          }
5961          break;
5962        }
5963        case 11: {
5964          $t27_28 = $t2_3.addr($t25_26);
5965          $t28_29 = $t27_28.$get();
5966          $t29_30 = queueProfileFetch($t28_29);
5967          $t24_25 = $t25_26;
5968          $block = 10; break;
5969          break;
5970        }
5971        case 12: {
5972          return;
5973          break;
5974        }
5975      }
5976    }
5977  }
5978  
5979  export function onSWMessage(raw) {
5980    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102;
5981    let $block = 0;
5982    while (true) {
5983      switch ($block) {
5984        case 0: {
5985          $t0_1 = (raw === 'update-available');
5986          if ($t0_1) {
5987            $block = 1; break;
5988          }
5989          else {
5990            $block = 2; break;
5991          }
5992          break;
5993        }
5994        case 1: {
5995          $t1_2 = common$jsbridge$dom.PostToSW('activate-update');
5996          return;
5997          break;
5998        }
5999        case 2: {
6000          $t2_3 = (raw === 'reload');
6001          if ($t2_3) {
6002            $block = 3; break;
6003          }
6004          else {
6005            $block = 4; break;
6006          }
6007          break;
6008        }
6009        case 3: {
6010          $t3_4 = common$jsbridge$dom.LocationReload();
6011          return;
6012          break;
6013        }
6014        case 4: {
6015          $t4_5 = $rt.builtin.len(raw);
6016          $t5_6 = ($t4_5 < 5);
6017          if ($t5_6) {
6018            $block = 5; break;
6019          }
6020          else {
6021            $block = 7; break;
6022          }
6023          break;
6024        }
6025        case 5: {
6026          return;
6027          break;
6028        }
6029        case 6: {
6030          $t6_7 = nextStr(raw, 1);
6031          $t7_8 = $t6_7[0];
6032          $t8_9 = $t6_7[1];
6033          $t9_10 = ($t7_8 === 'EVENT');
6034          if ($t9_10) {
6035            $block = 9; break;
6036          }
6037          else {
6038            $block = 11; break;
6039          }
6040          break;
6041        }
6042        case 7: {
6043          $rt.runtime.boundsCheck(0, $rt.builtin.byteLen(raw));
6044          $t10_11 = $rt.builtin.stringByteAt(raw, 0);
6045          $t11_12 = ($t10_11 !== 91);
6046          if ($t11_12) {
6047            $block = 5; break;
6048          }
6049          else {
6050            $block = 6; break;
6051          }
6052          break;
6053        }
6054        case 8: {
6055          return;
6056          break;
6057        }
6058        case 9: {
6059          $t12_13 = nextStr(raw, $t8_9);
6060          $t13_14 = $t12_13[0];
6061          $t14_15 = $t12_13[1];
6062          $t15_16 = extractValue(raw, $t14_15);
6063          $t16_17 = ($t15_16 === '');
6064          if ($t16_17) {
6065            $block = 12; break;
6066          }
6067          else {
6068            $block = 13; break;
6069          }
6070          break;
6071        }
6072        case 10: {
6073          $t17_18 = nextStr(raw, $t8_9);
6074          $t18_19 = $t17_18[0];
6075          $t19_20 = $t17_18[1];
6076          $t20_21 = dispatchEOSE($t18_19);
6077          $block = 8; break;
6078          break;
6079        }
6080        case 11: {
6081          $t21_22 = ($t7_8 === 'EOSE');
6082          if ($t21_22) {
6083            $block = 10; break;
6084          }
6085          else {
6086            $block = 17; break;
6087          }
6088          break;
6089        }
6090        case 12: {
6091          return;
6092          break;
6093        }
6094        case 13: {
6095          $t22_23 = common$nostr.ParseEvent($t15_16);
6096          $t23_24 = ($t22_23 === null);
6097          if ($t23_24) {
6098            $block = 14; break;
6099          }
6100          else {
6101            $block = 15; break;
6102          }
6103          break;
6104        }
6105        case 14: {
6106          return;
6107          break;
6108        }
6109        case 15: {
6110          $t24_25 = dispatchEvent($t13_14, $t22_23);
6111          $block = 8; break;
6112          break;
6113        }
6114        case 16: {
6115          $t25_26 = extractValue(raw, $t8_9);
6116          $t26_27 = renderConversationList($t25_26);
6117          $block = 8; break;
6118          break;
6119        }
6120        case 17: {
6121          $t27_28 = ($t7_8 === 'DM_LIST');
6122          if ($t27_28) {
6123            $block = 16; break;
6124          }
6125          else {
6126            $block = 19; break;
6127          }
6128          break;
6129        }
6130        case 18: {
6131          $t28_29 = nextStr(raw, $t8_9);
6132          $t29_30 = $t28_29[0];
6133          $t30_31 = $t28_29[1];
6134          $t31_32 = extractValue(raw, $t30_31);
6135          $t32_33 = renderThreadMessages($t29_30, $t31_32);
6136          $block = 8; break;
6137          break;
6138        }
6139        case 19: {
6140          $t33_34 = ($t7_8 === 'DM_HISTORY');
6141          if ($t33_34) {
6142            $block = 18; break;
6143          }
6144          else {
6145            $block = 21; break;
6146          }
6147          break;
6148        }
6149        case 20: {
6150          $t34_35 = extractValue(raw, $t8_9);
6151          $t35_36 = handleDMReceived($t34_35);
6152          $block = 8; break;
6153          break;
6154        }
6155        case 21: {
6156          $t36_37 = ($t7_8 === 'DM_RECEIVED');
6157          if ($t36_37) {
6158            $block = 20; break;
6159          }
6160          else {
6161            $block = 23; break;
6162          }
6163          break;
6164        }
6165        case 22: {
6166          $t37_38 = nextNum(raw, $t8_9);
6167          $t45_46 = 0;
6168          $t46_47 = 0;
6169          $block = 26; break;
6170          break;
6171        }
6172        case 23: {
6173          $t38_39 = ($t7_8 === 'DM_SENT');
6174          if ($t38_39) {
6175            $block = 22; break;
6176          }
6177          else {
6178            $block = 25; break;
6179          }
6180          break;
6181        }
6182        case 24: {
6183          $t39_40 = nextStr(raw, $t8_9);
6184          $t40_41 = $t39_40[0];
6185          $t41_42 = $t39_40[1];
6186          $t42_43 = ('[mls] history cleared for ' + $t40_41);
6187          $t43_44 = common$jsbridge$dom.ConsoleLog($t42_43);
6188          $block = 8; break;
6189          break;
6190        }
6191        case 25: {
6192          $t44_45 = ($t7_8 === 'DM_HISTORY_CLEARED');
6193          if ($t44_45) {
6194            $block = 24; break;
6195          }
6196          else {
6197            $block = 34; break;
6198          }
6199          break;
6200        }
6201        case 26: {
6202          $t47_48 = $rt.builtin.len($t37_38);
6203          $t48_49 = ($t46_47 < $t47_48);
6204          if ($t48_49) {
6205            $block = 27; break;
6206          }
6207          else {
6208            $block = 28; break;
6209          }
6210          break;
6211        }
6212        case 27: {
6213          $rt.runtime.boundsCheck($t46_47, $rt.builtin.byteLen($t37_38));
6214          $t49_50 = $rt.builtin.stringByteAt($t37_38, $t46_47);
6215          $t50_51 = ($t49_50 >= 48);
6216          if ($t50_51) {
6217            $block = 31; break;
6218          }
6219          else {
6220            $t57_58 = $t45_46;
6221            $block = 30; break;
6222          }
6223          break;
6224        }
6225        case 28: {
6226          $t51_52 = ($t45_46 > 0);
6227          if ($t51_52) {
6228            $block = 33; break;
6229          }
6230          else {
6231            $block = 8; break;
6232          }
6233          break;
6234        }
6235        case 29: {
6236          $t52_53 = ($t45_46 * 10);
6237          $rt.runtime.boundsCheck($t46_47, $rt.builtin.byteLen($t37_38));
6238          $t53_54 = $rt.builtin.stringByteAt($t37_38, $t46_47);
6239          $t54_55 = (($t53_54 - 48) & 0xFF);
6240          $t55_56 = $t54_55;
6241          $t56_57 = ($t52_53 + $t55_56);
6242          $t57_58 = $t56_57;
6243          $block = 30; break;
6244          break;
6245        }
6246        case 30: {
6247          $t58_59 = ($t46_47 + 1);
6248          $t45_46 = $t57_58;
6249          $t46_47 = $t58_59;
6250          $block = 26; break;
6251          break;
6252        }
6253        case 31: {
6254          $rt.runtime.boundsCheck($t46_47, $rt.builtin.byteLen($t37_38));
6255          $t59_60 = $rt.builtin.stringByteAt($t37_38, $t46_47);
6256          $t60_61 = ($t59_60 <= 57);
6257          if ($t60_61) {
6258            $block = 29; break;
6259          }
6260          else {
6261            $t57_58 = $t45_46;
6262            $block = 30; break;
6263          }
6264          break;
6265        }
6266        case 32: {
6267          $t61_62 = pendingTsEls.$get();
6268          $t62_63 = $t61_62.addr(0);
6269          $t63_64 = $t62_63.$get();
6270          $t64_65 = formatTime($t45_46);
6271          $t65_66 = common$jsbridge$dom.SetTextContent($t63_64, $t64_65);
6272          $t66_67 = pendingTsEls.$get();
6273          $t67_68 = $rt.builtin.sliceSlice($t66_67, 1, undefined, undefined);
6274          pendingTsEls.$set($t67_68);
6275          $block = 8; break;
6276          break;
6277        }
6278        case 33: {
6279          $t68_69 = pendingTsEls.$get();
6280          $t69_70 = $rt.builtin.len($t68_69);
6281          $t70_71 = ($t69_70 > 0);
6282          if ($t70_71) {
6283            $block = 32; break;
6284          }
6285          else {
6286            $block = 8; break;
6287          }
6288          break;
6289        }
6290        case 34: {
6291          $t71_72 = ($t7_8 === 'MLS_GROUPS');
6292          if ($t71_72) {
6293            $block = 8; break;
6294          }
6295          else {
6296            $block = 36; break;
6297          }
6298          break;
6299        }
6300        case 35: {
6301          $t72_73 = nextStr(raw, $t8_9);
6302          $t73_74 = $t72_73[0];
6303          $t74_75 = $t72_73[1];
6304          $t75_76 = ('[mls] ' + $t73_74);
6305          $t76_77 = common$jsbridge$dom.ConsoleLog($t75_76);
6306          $block = 8; break;
6307          break;
6308        }
6309        case 36: {
6310          $t77_78 = ($t7_8 === 'MLS_STATUS');
6311          if ($t77_78) {
6312            $block = 35; break;
6313          }
6314          else {
6315            $block = 38; break;
6316          }
6317          break;
6318        }
6319        case 37: {
6320          $t78_79 = nextStr(raw, $t8_9);
6321          $t79_80 = $t78_79[0];
6322          $t80_81 = $t78_79[1];
6323          $t81_82 = nextStr(raw, $t80_81);
6324          $t82_83 = $t81_82[0];
6325          $t83_84 = $t81_82[1];
6326          $t84_85 = ('[' + $t79_80);
6327          $t85_86 = ($t84_85 + '] ');
6328          $t86_87 = ($t85_86 + $t82_83);
6329          $t87_88 = common$jsbridge$dom.ConsoleLog($t86_87);
6330          return;
6331          break;
6332        }
6333        case 38: {
6334          $t88_89 = ($t7_8 === 'SW_LOG');
6335          if ($t88_89) {
6336            $block = 37; break;
6337          }
6338          else {
6339            $block = 40; break;
6340          }
6341          break;
6342        }
6343        case 39: {
6344          $t89_90 = handleCryptoReq(raw, $t8_9);
6345          $block = 8; break;
6346          break;
6347        }
6348        case 40: {
6349          $t90_91 = ($t7_8 === 'CRYPTO_REQ');
6350          if ($t90_91) {
6351            $block = 39; break;
6352          }
6353          else {
6354            $block = 42; break;
6355          }
6356          break;
6357        }
6358        case 41: {
6359          $t91_92 = pubhex.$get();
6360          $t92_93 = ($t91_92 !== '');
6361          if ($t92_93) {
6362            $block = 45; break;
6363          }
6364          else {
6365            $block = 46; break;
6366          }
6367          break;
6368        }
6369        case 42: {
6370          $t93_94 = ($t7_8 === 'NEED_IDENTITY');
6371          if ($t93_94) {
6372            $block = 41; break;
6373          }
6374          else {
6375            $block = 44; break;
6376          }
6377          break;
6378        }
6379        case 43: {
6380          $t94_95 = resubscribe();
6381          $block = 8; break;
6382          break;
6383        }
6384        case 44: {
6385          $t95_96 = ($t7_8 === 'RESUB');
6386          if ($t95_96) {
6387            $block = 43; break;
6388          }
6389          else {
6390            $block = 8; break;
6391          }
6392          break;
6393        }
6394        case 45: {
6395          $t96_97 = pubhex.$get();
6396          $t97_98 = jstr($t96_97);
6397          $t98_99 = ('["SET_PUBKEY",' + $t97_98);
6398          $t99_100 = ($t98_99 + ']');
6399          $t100_101 = common$jsbridge$dom.PostToSW($t99_100);
6400          $block = 46; break;
6401          break;
6402        }
6403        case 46: {
6404          $t101_102 = resubscribe();
6405          $block = 8; break;
6406          break;
6407        }
6408      }
6409    }
6410  }
6411  
6412  export function resubscribe() {
6413    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
6414    let $block = 0;
6415    while (true) {
6416      switch ($block) {
6417        case 0: {
6418          $t0_1 = sendWriteRelays();
6419          $t1_2 = subscribeProfile();
6420          $t2_3 = subscribeFeed();
6421          $t3_4 = activePage.$get();
6422          $t4_5 = ($t3_4 === 'messaging');
6423          if ($t4_5) {
6424            $block = 1; break;
6425          }
6426          else {
6427            $block = 2; break;
6428          }
6429          break;
6430        }
6431        case 1: {
6432          $t5_6 = initMessaging();
6433          $block = 2; break;
6434          break;
6435        }
6436        case 2: {
6437          return;
6438          break;
6439        }
6440      }
6441    }
6442  }
6443  
6444  export function dispatchEvent(subID, ev) {
6445    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94;
6446    let $block = 0;
6447    while (true) {
6448      switch ($block) {
6449        case 0: {
6450          $t0_1 = (subID === 'prof');
6451          if ($t0_1) {
6452            $block = 1; break;
6453          }
6454          else {
6455            $block = 3; break;
6456          }
6457          break;
6458        }
6459        case 1: {
6460          $t1_2 = handleProfileEvent(ev);
6461          $block = 2; break;
6462          break;
6463        }
6464        case 2: {
6465          return;
6466          break;
6467        }
6468        case 3: {
6469          $t2_3 = (subID === 'feed');
6470          if ($t2_3) {
6471            $block = 4; break;
6472          }
6473          else {
6474            $block = 5; break;
6475          }
6476          break;
6477        }
6478        case 4: {
6479          $t3_4 = seenEvents.$get();
6480          $t4_5 = { $get() { return ev.$get().ID; }, $set(v) { const obj = ev.$get(); obj.ID = v; ev.$set(obj); } };
6481          $t5_6 = $t4_5.$get();
6482          $t6_7 = $rt.builtin.mapLookup($t3_4, $t5_6).value;
6483          if ($t6_7) {
6484            $block = 6; break;
6485          }
6486          else {
6487            $block = 7; break;
6488          }
6489          break;
6490        }
6491        case 5: {
6492          $t7_8 = $rt.builtin.len(subID);
6493          $t8_9 = ($t7_8 > 3);
6494          if ($t8_9) {
6495            $block = 12; break;
6496          }
6497          else {
6498            $block = 11; break;
6499          }
6500          break;
6501        }
6502        case 6: {
6503          return;
6504          break;
6505        }
6506        case 7: {
6507          $t9_10 = seenEvents.$get();
6508          $t10_11 = { $get() { return ev.$get().ID; }, $set(v) { const obj = ev.$get(); obj.ID = v; ev.$set(obj); } };
6509          $t11_12 = $t10_11.$get();
6510          $rt.builtin.mapUpdate($t9_10, $t11_12, true);
6511          $t12_13 = eventCount.$get();
6512          $t13_14 = ($t12_13 + 1);
6513          eventCount.$set($t13_14);
6514          $t14_15 = feedLoader.$get();
6515          $t15_16 = ($t14_15 !== 0);
6516          if ($t15_16) {
6517            $block = 8; break;
6518          }
6519          else {
6520            $block = 9; break;
6521          }
6522          break;
6523        }
6524        case 8: {
6525          $t16_17 = feedPage.$get();
6526          $t17_18 = feedLoader.$get();
6527          $t18_19 = common$jsbridge$dom.RemoveChild($t16_17, $t17_18);
6528          feedLoader.$set(0);
6529          $block = 9; break;
6530          break;
6531        }
6532        case 9: {
6533          $t19_20 = renderNote(ev);
6534          $block = 2; break;
6535          break;
6536        }
6537        case 10: {
6538          $t20_21 = { $get() { return ev.$get().Kind; }, $set(v) { const obj = ev.$get(); obj.Kind = v; ev.$set(obj); } };
6539          $t21_22 = $t20_21.$get();
6540          $t22_23 = ($t21_22 === 0);
6541          if ($t22_23) {
6542            $block = 13; break;
6543          }
6544          else {
6545            $block = 14; break;
6546          }
6547          break;
6548        }
6549        case 11: {
6550          $t23_24 = $rt.builtin.len(subID);
6551          $t24_25 = ($t23_24 > 3);
6552          if ($t24_25) {
6553            $block = 29; break;
6554          }
6555          else {
6556            $block = 2; break;
6557          }
6558          break;
6559        }
6560        case 12: {
6561          $t25_26 = $rt.builtin.stringSlice(subID, undefined, 3);
6562          $t26_27 = ($t25_26 === 'ap-');
6563          if ($t26_27) {
6564            $block = 10; break;
6565          }
6566          else {
6567            $block = 11; break;
6568          }
6569          break;
6570        }
6571        case 13: {
6572          $t27_28 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
6573          $t28_29 = $t27_28.$get();
6574          $t29_30 = applyAuthorProfile($t28_29, ev);
6575          $block = 2; break;
6576          break;
6577        }
6578        case 14: {
6579          $t30_31 = { $get() { return ev.$get().Kind; }, $set(v) { const obj = ev.$get(); obj.Kind = v; ev.$set(obj); } };
6580          $t31_32 = $t30_31.$get();
6581          $t32_33 = ($t31_32 === 3);
6582          if ($t32_33) {
6583            $block = 15; break;
6584          }
6585          else {
6586            $block = 16; break;
6587          }
6588          break;
6589        }
6590        case 15: {
6591          $t33_34 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
6592          $t34_35 = $t33_34.$get();
6593          $t35_36 = common$nostr.Tags$GetAll($t34_35, 'p');
6594          $t36_37 = $rt.builtin.len($t35_36);
6595          $t40_41 = null;
6596          $t41_42 = -1;
6597          $block = 17; break;
6598          break;
6599        }
6600        case 16: {
6601          $t37_38 = { $get() { return ev.$get().Kind; }, $set(v) { const obj = ev.$get(); obj.Kind = v; ev.$set(obj); } };
6602          $t38_39 = $t37_38.$get();
6603          $t39_40 = ($t38_39 === 10002);
6604          if ($t39_40) {
6605            $block = 21; break;
6606          }
6607          else {
6608            $block = 22; break;
6609          }
6610          break;
6611        }
6612        case 17: {
6613          $t42_43 = ($t41_42 + 1);
6614          $t43_44 = ($t42_43 < $t36_37);
6615          if ($t43_44) {
6616            $block = 18; break;
6617          }
6618          else {
6619            $block = 19; break;
6620          }
6621          break;
6622        }
6623        case 18: {
6624          $t44_45 = $t35_36.addr($t42_43);
6625          $t45_46 = $t44_45.$get();
6626          $t46_47 = common$nostr.Tag$Value($t45_46);
6627          $t47_48 = ($t46_47 !== '');
6628          if ($t47_48) {
6629            $block = 20; break;
6630          }
6631          else {
6632            let $phi0 = $t40_41;
6633            let $phi1 = $t42_43;
6634            $t40_41 = $phi0;
6635            $t41_42 = $phi1;
6636            $block = 17; break;
6637          }
6638          break;
6639        }
6640        case 19: {
6641          $t48_49 = authorFollows.$get();
6642          $t49_50 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
6643          $t50_51 = $t49_50.$get();
6644          $rt.builtin.mapUpdate($t48_49, $t50_51, $t40_41);
6645          $t51_52 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
6646          $t52_53 = $t51_52.$get();
6647          $t53_54 = refreshProfileTab($t52_53);
6648          $block = 2; break;
6649          break;
6650        }
6651        case 20: {
6652          $t54_55 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
6653          $t55_56 = $t54_55.$get().addr(0);
6654          $t55_56.$set($t46_47);
6655          $t56_57 = $rt.builtin.sliceSlice($t54_55.$get(), undefined, undefined, undefined);
6656          $t57_58 = $rt.builtin.appendSlice($t40_41, $t56_57);
6657          $t40_41 = $t57_58;
6658          $t41_42 = $t42_43;
6659          $block = 17; break;
6660          break;
6661        }
6662        case 21: {
6663          $t58_59 = recordRelayFreq(ev);
6664          $block = 2; break;
6665          break;
6666        }
6667        case 22: {
6668          $t59_60 = { $get() { return ev.$get().Kind; }, $set(v) { const obj = ev.$get(); obj.Kind = v; ev.$set(obj); } };
6669          $t60_61 = $t59_60.$get();
6670          $t61_62 = ($t60_61 === 10000);
6671          if ($t61_62) {
6672            $block = 23; break;
6673          }
6674          else {
6675            $block = 2; break;
6676          }
6677          break;
6678        }
6679        case 23: {
6680          $t62_63 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
6681          $t63_64 = $t62_63.$get();
6682          $t64_65 = common$nostr.Tags$GetAll($t63_64, 'p');
6683          $t65_66 = $rt.builtin.len($t64_65);
6684          $t66_67 = null;
6685          $t67_68 = -1;
6686          $block = 24; break;
6687          break;
6688        }
6689        case 24: {
6690          $t68_69 = ($t67_68 + 1);
6691          $t69_70 = ($t68_69 < $t65_66);
6692          if ($t69_70) {
6693            $block = 25; break;
6694          }
6695          else {
6696            $block = 26; break;
6697          }
6698          break;
6699        }
6700        case 25: {
6701          $t70_71 = $t64_65.addr($t68_69);
6702          $t71_72 = $t70_71.$get();
6703          $t72_73 = common$nostr.Tag$Value($t71_72);
6704          $t73_74 = ($t72_73 !== '');
6705          if ($t73_74) {
6706            $block = 27; break;
6707          }
6708          else {
6709            let $phi0 = $t66_67;
6710            let $phi1 = $t68_69;
6711            $t66_67 = $phi0;
6712            $t67_68 = $phi1;
6713            $block = 24; break;
6714          }
6715          break;
6716        }
6717        case 26: {
6718          $t74_75 = authorMutes.$get();
6719          $t75_76 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
6720          $t76_77 = $t75_76.$get();
6721          $rt.builtin.mapUpdate($t74_75, $t76_77, $t66_67);
6722          $t77_78 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
6723          $t78_79 = $t77_78.$get();
6724          $t79_80 = refreshProfileTab($t78_79);
6725          $block = 2; break;
6726          break;
6727        }
6728        case 27: {
6729          $t80_81 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
6730          $t81_82 = $t80_81.$get().addr(0);
6731          $t81_82.$set($t72_73);
6732          $t82_83 = $rt.builtin.sliceSlice($t80_81.$get(), undefined, undefined, undefined);
6733          $t83_84 = $rt.builtin.appendSlice($t66_67, $t82_83);
6734          $t66_67 = $t83_84;
6735          $t67_68 = $t68_69;
6736          $block = 24; break;
6737          break;
6738        }
6739        case 28: {
6740          $t84_85 = profileNotesSeen.$get();
6741          $t85_86 = { $get() { return ev.$get().ID; }, $set(v) { const obj = ev.$get(); obj.ID = v; ev.$set(obj); } };
6742          $t86_87 = $t85_86.$get();
6743          $t87_88 = $rt.builtin.mapLookup($t84_85, $t86_87).value;
6744          if ($t87_88) {
6745            $block = 30; break;
6746          }
6747          else {
6748            $block = 31; break;
6749          }
6750          break;
6751        }
6752        case 29: {
6753          $t88_89 = $rt.builtin.stringSlice(subID, undefined, 3);
6754          $t89_90 = ($t88_89 === 'pn-');
6755          if ($t89_90) {
6756            $block = 28; break;
6757          }
6758          else {
6759            $block = 2; break;
6760          }
6761          break;
6762        }
6763        case 30: {
6764          return;
6765          break;
6766        }
6767        case 31: {
6768          $t90_91 = profileNotesSeen.$get();
6769          $t91_92 = { $get() { return ev.$get().ID; }, $set(v) { const obj = ev.$get(); obj.ID = v; ev.$set(obj); } };
6770          $t92_93 = $t91_92.$get();
6771          $rt.builtin.mapUpdate($t90_91, $t92_93, true);
6772          $t93_94 = renderProfileNote(ev);
6773          $block = 2; break;
6774          break;
6775        }
6776      }
6777    }
6778  }
6779  
6780  export function dispatchEOSE(subID) {
6781    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50;
6782    let $block = 0;
6783    while (true) {
6784      switch ($block) {
6785        case 0: {
6786          $t0_1 = (subID === 'feed');
6787          if ($t0_1) {
6788            $block = 1; break;
6789          }
6790          else {
6791            $block = 3; break;
6792          }
6793          break;
6794        }
6795        case 1: {
6796          $t1_2 = feedLoader.$get();
6797          $t2_3 = ($t1_2 !== 0);
6798          if ($t2_3) {
6799            $block = 4; break;
6800          }
6801          else {
6802            $block = 5; break;
6803          }
6804          break;
6805        }
6806        case 2: {
6807          return;
6808          break;
6809        }
6810        case 3: {
6811          $t3_4 = $rt.builtin.len(subID);
6812          $t4_5 = ($t3_4 > 9);
6813          if ($t4_5) {
6814            $block = 8; break;
6815          }
6816          else {
6817            $block = 7; break;
6818          }
6819          break;
6820        }
6821        case 4: {
6822          $t5_6 = feedPage.$get();
6823          $t6_7 = feedLoader.$get();
6824          $t7_8 = common$jsbridge$dom.RemoveChild($t5_6, $t6_7);
6825          feedLoader.$set(0);
6826          $block = 5; break;
6827          break;
6828        }
6829        case 5: {
6830          $t8_9 = updateStatus();
6831          $t9_10 = retryMissingProfiles();
6832          $block = 2; break;
6833          break;
6834        }
6835        case 6: {
6836          $t10_11 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
6837          $t10_11.$set(subID);
6838          $t11_12 = dispatchEOSE$1.bind(null, $t10_11);
6839          $t12_13 = common$jsbridge$dom.SetTimeout($t11_12, 15000);
6840          $t13_14 = retryRound.$get();
6841          $t14_15 = ($t13_14 <= 3);
6842          if ($t14_15) {
6843            $block = 9; break;
6844          }
6845          else {
6846            $block = 2; break;
6847          }
6848          break;
6849        }
6850        case 7: {
6851          $t15_16 = $rt.builtin.len(subID);
6852          $t16_17 = ($t15_16 > 3);
6853          if ($t16_17) {
6854            $block = 13; break;
6855          }
6856          else {
6857            $block = 2; break;
6858          }
6859          break;
6860        }
6861        case 8: {
6862          $t17_18 = $rt.builtin.stringSlice(subID, undefined, 9);
6863          $t18_19 = ($t17_18 === 'ap-batch-');
6864          if ($t18_19) {
6865            $block = 6; break;
6866          }
6867          else {
6868            $block = 7; break;
6869          }
6870          break;
6871        }
6872        case 9: {
6873          $t19_20 = retryTimer.$get();
6874          $t20_21 = ($t19_20 !== 0);
6875          if ($t20_21) {
6876            $block = 10; break;
6877          }
6878          else {
6879            $block = 11; break;
6880          }
6881          break;
6882        }
6883        case 10: {
6884          $t21_22 = retryTimer.$get();
6885          $t22_23 = common$jsbridge$dom.ClearTimeout($t21_22);
6886          $block = 11; break;
6887          break;
6888        }
6889        case 11: {
6890          $t23_24 = common$jsbridge$dom.SetTimeout(dispatchEOSE$2, 10000);
6891          retryTimer.$set($t23_24);
6892          $block = 2; break;
6893          break;
6894        }
6895        case 12: {
6896          $t24_25 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
6897          $t24_25.$set(subID);
6898          $t25_26 = dispatchEOSE$3.bind(null, $t24_25);
6899          $t26_27 = common$jsbridge$dom.SetTimeout($t25_26, 15000);
6900          $t27_28 = authorSubPK.$get();
6901          { const $r = $rt.builtin.mapLookup($t27_28, subID); $t28_29 = [$r.value, $r.ok]; }
6902          $t29_30 = $t28_29[0];
6903          $t30_31 = $t28_29[1];
6904          if ($t30_31) {
6905            $block = 15; break;
6906          }
6907          else {
6908            $block = 14; break;
6909          }
6910          break;
6911        }
6912        case 13: {
6913          $t31_32 = $rt.builtin.stringSlice(subID, undefined, 3);
6914          $t32_33 = ($t31_32 === 'ap-');
6915          if ($t32_33) {
6916            $block = 12; break;
6917          }
6918          else {
6919            $block = 2; break;
6920          }
6921          break;
6922        }
6923        case 14: {
6924          return;
6925          break;
6926        }
6927        case 15: {
6928          $t33_34 = authorSubPK.$get();
6929          $t34_35 = $rt.builtin.mapDelete($t33_34, subID);
6930          $t35_36 = authorNames.$get();
6931          { const $r = $rt.builtin.mapLookup($t35_36, $t29_30); $t36_37 = [$r.value, $r.ok]; }
6932          $t37_38 = $t36_37[0];
6933          $t38_39 = $t36_37[1];
6934          if ($t38_39) {
6935            $block = 2; break;
6936          }
6937          else {
6938            $block = 16; break;
6939          }
6940          break;
6941        }
6942        case 16: {
6943          $t39_40 = authorRelays.$get();
6944          { const $r = $rt.builtin.mapLookup($t39_40, $t29_30); $t40_41 = [$r.value, $r.ok]; }
6945          $t41_42 = $t40_41[0];
6946          $t42_43 = $t40_41[1];
6947          if ($t42_43) {
6948            $block = 19; break;
6949          }
6950          else {
6951            $block = 2; break;
6952          }
6953          break;
6954        }
6955        case 17: {
6956          $t43_44 = fetchedK10k.$get();
6957          $rt.builtin.mapUpdate($t43_44, $t29_30, true);
6958          $t44_45 = fetchedK0.$get();
6959          $rt.builtin.mapUpdate($t44_45, $t29_30, false);
6960          $t45_46 = fetchAuthorProfile($t29_30);
6961          $block = 2; break;
6962          break;
6963        }
6964        case 18: {
6965          $t46_47 = fetchedK10k.$get();
6966          $t47_48 = $rt.builtin.mapLookup($t46_47, $t29_30).value;
6967          if ($t47_48) {
6968            $block = 2; break;
6969          }
6970          else {
6971            $block = 17; break;
6972          }
6973          break;
6974        }
6975        case 19: {
6976          $t48_49 = $rt.builtin.len($t41_42);
6977          $t49_50 = ($t48_49 > 0);
6978          if ($t49_50) {
6979            $block = 18; break;
6980          }
6981          else {
6982            $block = 2; break;
6983          }
6984          break;
6985        }
6986      }
6987    }
6988  }
6989  
6990  function dispatchEOSE$1(closeID) {
6991    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
6992    $t0_1 = closeID.$get();
6993    $t1_2 = jstr($t0_1);
6994    $t2_3 = ('["CLOSE",' + $t1_2);
6995    $t3_4 = ($t2_3 + ']');
6996    $t4_5 = common$jsbridge$dom.PostToSW($t3_4);
6997    return;
6998  }
6999  
7000  function dispatchEOSE$2() {
7001    let $t0_1;
7002    retryTimer.$set(0);
7003    $t0_1 = retryMissingProfiles();
7004    return;
7005  }
7006  
7007  function dispatchEOSE$3(closeID) {
7008    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
7009    $t0_1 = closeID.$get();
7010    $t1_2 = jstr($t0_1);
7011    $t2_3 = ('["CLOSE",' + $t1_2);
7012    $t3_4 = ($t2_3 + ']');
7013    $t4_5 = common$jsbridge$dom.PostToSW($t3_4);
7014    return;
7015  }
7016  
7017  export function handleCryptoReq(raw, pos) {
7018    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47;
7019    let $block = 0;
7020    while (true) {
7021      switch ($block) {
7022        case 0: {
7023          $t0_1 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
7024          $t1_2 = nextNum(raw, pos);
7025          $t0_1.$set($t1_2);
7026          $t24_25 = pos;
7027          $block = 3; break;
7028          break;
7029        }
7030        case 1: {
7031          $t2_3 = ($t24_25 + 1);
7032          $t24_25 = $t2_3;
7033          $block = 3; break;
7034          break;
7035        }
7036        case 2: {
7037          $t3_4 = ($t24_25 + 1);
7038          $t4_5 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
7039          $t5_6 = nextStr(raw, $t3_4);
7040          $t6_7 = $t5_6[0];
7041          $t4_5.$set($t6_7);
7042          $t7_8 = $t5_6[1];
7043          $t8_9 = nextStr(raw, $t7_8);
7044          $t9_10 = $t8_9[0];
7045          $t10_11 = $t8_9[1];
7046          $t11_12 = nextStr(raw, $t10_11);
7047          $t12_13 = $t11_12[0];
7048          $t13_14 = $t11_12[1];
7049          $t14_15 = $t4_5.$get();
7050          $t15_16 = ('crypto: ' + $t14_15);
7051          $t16_17 = ($t15_16 + ' #');
7052          $t17_18 = $t0_1.$get();
7053          $t18_19 = ($t16_17 + $t17_18);
7054          $t19_20 = common$jsbridge$dom.ConsoleLog($t18_19);
7055          $t20_21 = { $value: null, $get() { return this.$value; }, $set(v) { this.$value = v; } };
7056          $t21_22 = handleCryptoReq$1.bind(null, $t4_5, $t0_1);
7057          $t20_21.$set($t21_22);
7058          $t22_23 = $t4_5.$get();
7059          $t23_24 = ($t22_23 === 'signEvent');
7060          if ($t23_24) {
7061            $block = 6; break;
7062          }
7063          else {
7064            $block = 8; break;
7065          }
7066          break;
7067        }
7068        case 3: {
7069          $t25_26 = $rt.builtin.len(raw);
7070          $t26_27 = ($t24_25 < $t25_26);
7071          if ($t26_27) {
7072            $block = 4; break;
7073          }
7074          else {
7075            $block = 2; break;
7076          }
7077          break;
7078        }
7079        case 4: {
7080          $rt.runtime.boundsCheck($t24_25, $rt.builtin.byteLen(raw));
7081          $t27_28 = $rt.builtin.stringByteAt(raw, $t24_25);
7082          $t28_29 = ($t27_28 !== 44);
7083          if ($t28_29) {
7084            $block = 1; break;
7085          }
7086          else {
7087            $block = 2; break;
7088          }
7089          break;
7090        }
7091        case 5: {
7092          return;
7093          break;
7094        }
7095        case 6: {
7096          $t29_30 = handleCryptoReq$2.bind(null, $t20_21);
7097          $t30_31 = common$jsbridge$signer.SignEvent($t12_13, $t29_30);
7098          $block = 5; break;
7099          break;
7100        }
7101        case 7: {
7102          $t31_32 = handleCryptoReq$3.bind(null, $t20_21);
7103          $t32_33 = common$jsbridge$signer.Nip04Decrypt($t9_10, $t12_13, $t31_32);
7104          $block = 5; break;
7105          break;
7106        }
7107        case 8: {
7108          $t33_34 = ($t22_23 === 'nip04.decrypt');
7109          if ($t33_34) {
7110            $block = 7; break;
7111          }
7112          else {
7113            $block = 10; break;
7114          }
7115          break;
7116        }
7117        case 9: {
7118          $t34_35 = handleCryptoReq$4.bind(null, $t20_21);
7119          $t35_36 = common$jsbridge$signer.Nip04Encrypt($t9_10, $t12_13, $t34_35);
7120          $block = 5; break;
7121          break;
7122        }
7123        case 10: {
7124          $t36_37 = ($t22_23 === 'nip04.encrypt');
7125          if ($t36_37) {
7126            $block = 9; break;
7127          }
7128          else {
7129            $block = 12; break;
7130          }
7131          break;
7132        }
7133        case 11: {
7134          $t37_38 = handleCryptoReq$5.bind(null, $t20_21);
7135          $t38_39 = common$jsbridge$signer.Nip44Decrypt($t9_10, $t12_13, $t37_38);
7136          $block = 5; break;
7137          break;
7138        }
7139        case 12: {
7140          $t39_40 = ($t22_23 === 'nip44.decrypt');
7141          if ($t39_40) {
7142            $block = 11; break;
7143          }
7144          else {
7145            $block = 14; break;
7146          }
7147          break;
7148        }
7149        case 13: {
7150          $t40_41 = handleCryptoReq$6.bind(null, $t20_21);
7151          $t41_42 = common$jsbridge$signer.Nip44Encrypt($t9_10, $t12_13, $t40_41);
7152          $block = 5; break;
7153          break;
7154        }
7155        case 14: {
7156          $t42_43 = ($t22_23 === 'nip44.encrypt');
7157          if ($t42_43) {
7158            $block = 13; break;
7159          }
7160          else {
7161            $block = 15; break;
7162          }
7163          break;
7164        }
7165        case 15: {
7166          $t43_44 = $t20_21.$get();
7167          $t44_45 = $t4_5.$get();
7168          $t45_46 = ('unknown method: ' + $t44_45);
7169          $t46_47 = $t43_44('', $t45_46);
7170          $block = 5; break;
7171          break;
7172        }
7173      }
7174    }
7175  }
7176  
7177  function handleCryptoReq$1(method, idStr, result, errMsg) {
7178    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26;
7179    let $block = 0;
7180    while (true) {
7181      switch ($block) {
7182        case 0: {
7183          $t0_1 = (errMsg !== '');
7184          if ($t0_1) {
7185            $block = 1; break;
7186          }
7187          else {
7188            $block = 3; break;
7189          }
7190          break;
7191        }
7192        case 1: {
7193          $t1_2 = method.$get();
7194          $t2_3 = ('crypto: ' + $t1_2);
7195          $t3_4 = ($t2_3 + ' #');
7196          $t4_5 = idStr.$get();
7197          $t5_6 = ($t3_4 + $t4_5);
7198          $t6_7 = ($t5_6 + ' ERR=');
7199          $t7_8 = ($t6_7 + errMsg);
7200          $t8_9 = common$jsbridge$dom.ConsoleLog($t7_8);
7201          $block = 2; break;
7202          break;
7203        }
7204        case 2: {
7205          $t9_10 = idStr.$get();
7206          $t10_11 = ('["CRYPTO_RESULT",' + $t9_10);
7207          $t11_12 = ($t10_11 + ',');
7208          $t12_13 = jstr(result);
7209          $t13_14 = ($t11_12 + $t12_13);
7210          $t14_15 = ($t13_14 + ',');
7211          $t15_16 = jstr(errMsg);
7212          $t16_17 = ($t14_15 + $t15_16);
7213          $t17_18 = ($t16_17 + ']');
7214          $t18_19 = common$jsbridge$dom.PostToSW($t17_18);
7215          return;
7216          break;
7217        }
7218        case 3: {
7219          $t19_20 = method.$get();
7220          $t20_21 = ('crypto: ' + $t19_20);
7221          $t21_22 = ($t20_21 + ' #');
7222          $t22_23 = idStr.$get();
7223          $t23_24 = ($t21_22 + $t22_23);
7224          $t24_25 = ($t23_24 + ' OK');
7225          $t25_26 = common$jsbridge$dom.ConsoleLog($t24_25);
7226          $block = 2; break;
7227          break;
7228        }
7229      }
7230    }
7231  }
7232  
7233  function handleCryptoReq$2(sendResult, signed) {
7234    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
7235    let $block = 0;
7236    while (true) {
7237      switch ($block) {
7238        case 0: {
7239          $t0_1 = (signed === '');
7240          if ($t0_1) {
7241            $block = 1; break;
7242          }
7243          else {
7244            $block = 3; break;
7245          }
7246          break;
7247        }
7248        case 1: {
7249          $t1_2 = sendResult.$get();
7250          $t2_3 = $t1_2('', 'sign failed');
7251          $block = 2; break;
7252          break;
7253        }
7254        case 2: {
7255          return;
7256          break;
7257        }
7258        case 3: {
7259          $t3_4 = sendResult.$get();
7260          $t4_5 = $t3_4(signed, '');
7261          $block = 2; break;
7262          break;
7263        }
7264      }
7265    }
7266  }
7267  
7268  function handleCryptoReq$3(sendResult, plain) {
7269    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
7270    let $block = 0;
7271    while (true) {
7272      switch ($block) {
7273        case 0: {
7274          $t0_1 = (plain === '');
7275          if ($t0_1) {
7276            $block = 1; break;
7277          }
7278          else {
7279            $block = 3; break;
7280          }
7281          break;
7282        }
7283        case 1: {
7284          $t1_2 = sendResult.$get();
7285          $t2_3 = $t1_2('', 'decrypt failed');
7286          $block = 2; break;
7287          break;
7288        }
7289        case 2: {
7290          return;
7291          break;
7292        }
7293        case 3: {
7294          $t3_4 = sendResult.$get();
7295          $t4_5 = $t3_4(plain, '');
7296          $block = 2; break;
7297          break;
7298        }
7299      }
7300    }
7301  }
7302  
7303  function handleCryptoReq$4(sendResult, ct) {
7304    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
7305    let $block = 0;
7306    while (true) {
7307      switch ($block) {
7308        case 0: {
7309          $t0_1 = (ct === '');
7310          if ($t0_1) {
7311            $block = 1; break;
7312          }
7313          else {
7314            $block = 3; break;
7315          }
7316          break;
7317        }
7318        case 1: {
7319          $t1_2 = sendResult.$get();
7320          $t2_3 = $t1_2('', 'encrypt failed');
7321          $block = 2; break;
7322          break;
7323        }
7324        case 2: {
7325          return;
7326          break;
7327        }
7328        case 3: {
7329          $t3_4 = sendResult.$get();
7330          $t4_5 = $t3_4(ct, '');
7331          $block = 2; break;
7332          break;
7333        }
7334      }
7335    }
7336  }
7337  
7338  function handleCryptoReq$5(sendResult, plain) {
7339    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
7340    let $block = 0;
7341    while (true) {
7342      switch ($block) {
7343        case 0: {
7344          $t0_1 = (plain === '');
7345          if ($t0_1) {
7346            $block = 1; break;
7347          }
7348          else {
7349            $block = 3; break;
7350          }
7351          break;
7352        }
7353        case 1: {
7354          $t1_2 = sendResult.$get();
7355          $t2_3 = $t1_2('', 'decrypt failed');
7356          $block = 2; break;
7357          break;
7358        }
7359        case 2: {
7360          return;
7361          break;
7362        }
7363        case 3: {
7364          $t3_4 = sendResult.$get();
7365          $t4_5 = $t3_4(plain, '');
7366          $block = 2; break;
7367          break;
7368        }
7369      }
7370    }
7371  }
7372  
7373  function handleCryptoReq$6(sendResult, ct) {
7374    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
7375    let $block = 0;
7376    while (true) {
7377      switch ($block) {
7378        case 0: {
7379          $t0_1 = (ct === '');
7380          if ($t0_1) {
7381            $block = 1; break;
7382          }
7383          else {
7384            $block = 3; break;
7385          }
7386          break;
7387        }
7388        case 1: {
7389          $t1_2 = sendResult.$get();
7390          $t2_3 = $t1_2('', 'encrypt failed');
7391          $block = 2; break;
7392          break;
7393        }
7394        case 2: {
7395          return;
7396          break;
7397        }
7398        case 3: {
7399          $t3_4 = sendResult.$get();
7400          $t4_5 = $t3_4(ct, '');
7401          $block = 2; break;
7402          break;
7403        }
7404      }
7405    }
7406  }
7407  
7408  export function nextNum(s, pos) {
7409    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17;
7410    let $block = 0;
7411    while (true) {
7412      switch ($block) {
7413        case 0: {
7414          $t1_2 = pos;
7415          $block = 3; break;
7416          break;
7417        }
7418        case 1: {
7419          $t0_1 = ($t1_2 + 1);
7420          $t1_2 = $t0_1;
7421          $block = 3; break;
7422          break;
7423        }
7424        case 2: {
7425          $t10_11 = $t1_2;
7426          $block = 8; break;
7427          break;
7428        }
7429        case 3: {
7430          $t2_3 = $rt.builtin.len(s);
7431          $t3_4 = ($t1_2 < $t2_3);
7432          if ($t3_4) {
7433            $block = 4; break;
7434          }
7435          else {
7436            $block = 2; break;
7437          }
7438          break;
7439        }
7440        case 4: {
7441          $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
7442          $t4_5 = $rt.builtin.stringByteAt(s, $t1_2);
7443          $t5_6 = ($t4_5 === 32);
7444          if ($t5_6) {
7445            $block = 1; break;
7446          }
7447          else {
7448            $block = 5; break;
7449          }
7450          break;
7451        }
7452        case 5: {
7453          $rt.runtime.boundsCheck($t1_2, $rt.builtin.byteLen(s));
7454          $t6_7 = $rt.builtin.stringByteAt(s, $t1_2);
7455          $t7_8 = ($t6_7 === 44);
7456          if ($t7_8) {
7457            $block = 1; break;
7458          }
7459          else {
7460            $block = 2; break;
7461          }
7462          break;
7463        }
7464        case 6: {
7465          $t8_9 = ($t10_11 + 1);
7466          $t10_11 = $t8_9;
7467          $block = 8; break;
7468          break;
7469        }
7470        case 7: {
7471          $t9_10 = $rt.builtin.stringSlice(s, $t1_2, $t10_11);
7472          return $t9_10;
7473          break;
7474        }
7475        case 8: {
7476          $t11_12 = $rt.builtin.len(s);
7477          $t12_13 = ($t10_11 < $t11_12);
7478          if ($t12_13) {
7479            $block = 10; break;
7480          }
7481          else {
7482            $block = 7; break;
7483          }
7484          break;
7485        }
7486        case 9: {
7487          $rt.runtime.boundsCheck($t10_11, $rt.builtin.byteLen(s));
7488          $t13_14 = $rt.builtin.stringByteAt(s, $t10_11);
7489          $t14_15 = ($t13_14 <= 57);
7490          if ($t14_15) {
7491            $block = 6; break;
7492          }
7493          else {
7494            $block = 7; break;
7495          }
7496          break;
7497        }
7498        case 10: {
7499          $rt.runtime.boundsCheck($t10_11, $rt.builtin.byteLen(s));
7500          $t15_16 = $rt.builtin.stringByteAt(s, $t10_11);
7501          $t16_17 = ($t15_16 >= 48);
7502          if ($t16_17) {
7503            $block = 9; break;
7504          }
7505          else {
7506            $block = 7; break;
7507          }
7508          break;
7509        }
7510      }
7511    }
7512  }
7513  
7514  export function nextStr(s, pos) {
7515    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74;
7516    let $block = 0;
7517    while (true) {
7518      switch ($block) {
7519        case 0: {
7520          $t3_4 = pos;
7521          $block = 3; break;
7522          break;
7523        }
7524        case 1: {
7525          $t0_1 = ($t3_4 + 1);
7526          $t3_4 = $t0_1;
7527          $block = 3; break;
7528          break;
7529        }
7530        case 2: {
7531          $t1_2 = $rt.builtin.len(s);
7532          $t2_3 = ($t3_4 >= $t1_2);
7533          if ($t2_3) {
7534            $block = 5; break;
7535          }
7536          else {
7537            $block = 6; break;
7538          }
7539          break;
7540        }
7541        case 3: {
7542          $t4_5 = $rt.builtin.len(s);
7543          $t5_6 = ($t3_4 < $t4_5);
7544          if ($t5_6) {
7545            $block = 4; break;
7546          }
7547          else {
7548            $block = 2; break;
7549          }
7550          break;
7551        }
7552        case 4: {
7553          $rt.runtime.boundsCheck($t3_4, $rt.builtin.byteLen(s));
7554          $t6_7 = $rt.builtin.stringByteAt(s, $t3_4);
7555          $t7_8 = ($t6_7 !== 34);
7556          if ($t7_8) {
7557            $block = 1; break;
7558          }
7559          else {
7560            $block = 2; break;
7561          }
7562          break;
7563        }
7564        case 5: {
7565          return ['', $t3_4];
7566          break;
7567        }
7568        case 6: {
7569          $t8_9 = ($t3_4 + 1);
7570          $t13_14 = $t8_9;
7571          $t14_15 = null;
7572          $t15_16 = false;
7573          $t16_17 = $t8_9;
7574          $block = 9; break;
7575          break;
7576        }
7577        case 7: {
7578          $rt.runtime.boundsCheck($t13_14, $rt.builtin.byteLen(s));
7579          $t9_10 = $rt.builtin.stringByteAt(s, $t13_14);
7580          $t10_11 = ($t9_10 === 92);
7581          if ($t10_11) {
7582            $block = 12; break;
7583          }
7584          else {
7585            $block = 11; break;
7586          }
7587          break;
7588        }
7589        case 8: {
7590          $t11_12 = $rt.builtin.len(s);
7591          $t12_13 = ($t13_14 >= $t11_12);
7592          if ($t12_13) {
7593            $block = 25; break;
7594          }
7595          else {
7596            $block = 26; break;
7597          }
7598          break;
7599        }
7600        case 9: {
7601          $t17_18 = $rt.builtin.len(s);
7602          $t18_19 = ($t13_14 < $t17_18);
7603          if ($t18_19) {
7604            $block = 7; break;
7605          }
7606          else {
7607            $block = 8; break;
7608          }
7609          break;
7610        }
7611        case 10: {
7612          $t19_20 = $rt.builtin.stringSlice(s, $t16_17, $t13_14);
7613          $t20_21 = $rt.builtin.appendString($t14_15, $t19_20);
7614          $t21_22 = ($t13_14 + 1);
7615          $rt.runtime.boundsCheck($t21_22, $rt.builtin.byteLen(s));
7616          $t22_23 = $rt.builtin.stringByteAt(s, $t21_22);
7617          $t23_24 = ($t22_23 === 34);
7618          if ($t23_24) {
7619            $block = 14; break;
7620          }
7621          else {
7622            $block = 16; break;
7623          }
7624          break;
7625        }
7626        case 11: {
7627          $rt.runtime.boundsCheck($t13_14, $rt.builtin.byteLen(s));
7628          $t24_25 = $rt.builtin.stringByteAt(s, $t13_14);
7629          $t25_26 = ($t24_25 === 34);
7630          if ($t25_26) {
7631            $block = 8; break;
7632          }
7633          else {
7634            $block = 24; break;
7635          }
7636          break;
7637        }
7638        case 12: {
7639          $t26_27 = ($t13_14 + 1);
7640          $t27_28 = $rt.builtin.len(s);
7641          $t28_29 = ($t26_27 < $t27_28);
7642          if ($t28_29) {
7643            $block = 10; break;
7644          }
7645          else {
7646            $block = 11; break;
7647          }
7648          break;
7649        }
7650        case 13: {
7651          $t30_31 = ($t21_22 + 1);
7652          $t13_14 = $t30_31;
7653          $t14_15 = $t29_30;
7654          $t15_16 = true;
7655          $t16_17 = $t30_31;
7656          $block = 9; break;
7657          break;
7658        }
7659        case 14: {
7660          $rt.runtime.boundsCheck($t21_22, $rt.builtin.byteLen(s));
7661          $t31_32 = $rt.builtin.stringByteAt(s, $t21_22);
7662          $t32_33 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
7663          $t33_34 = $t32_33.$get().addr(0);
7664          $t33_34.$set($t31_32);
7665          $t34_35 = $rt.builtin.sliceSlice($t32_33.$get(), undefined, undefined, undefined);
7666          $t35_36 = $rt.builtin.appendSlice($t20_21, $t34_35);
7667          $t29_30 = $t35_36;
7668          $block = 13; break;
7669          break;
7670        }
7671        case 15: {
7672          $t36_37 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
7673          $t37_38 = $t36_37.$get().addr(0);
7674          $t37_38.$set(10);
7675          $t38_39 = $rt.builtin.sliceSlice($t36_37.$get(), undefined, undefined, undefined);
7676          $t39_40 = $rt.builtin.appendSlice($t20_21, $t38_39);
7677          $t29_30 = $t39_40;
7678          $block = 13; break;
7679          break;
7680        }
7681        case 16: {
7682          $t40_41 = ($t22_23 === 92);
7683          if ($t40_41) {
7684            $block = 14; break;
7685          }
7686          else {
7687            $block = 17; break;
7688          }
7689          break;
7690        }
7691        case 17: {
7692          $t41_42 = ($t22_23 === 47);
7693          if ($t41_42) {
7694            $block = 14; break;
7695          }
7696          else {
7697            $block = 18; break;
7698          }
7699          break;
7700        }
7701        case 18: {
7702          $t42_43 = ($t22_23 === 110);
7703          if ($t42_43) {
7704            $block = 15; break;
7705          }
7706          else {
7707            $block = 20; break;
7708          }
7709          break;
7710        }
7711        case 19: {
7712          $t43_44 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
7713          $t44_45 = $t43_44.$get().addr(0);
7714          $t44_45.$set(9);
7715          $t45_46 = $rt.builtin.sliceSlice($t43_44.$get(), undefined, undefined, undefined);
7716          $t46_47 = $rt.builtin.appendSlice($t20_21, $t45_46);
7717          $t29_30 = $t46_47;
7718          $block = 13; break;
7719          break;
7720        }
7721        case 20: {
7722          $t47_48 = ($t22_23 === 116);
7723          if ($t47_48) {
7724            $block = 19; break;
7725          }
7726          else {
7727            $block = 22; break;
7728          }
7729          break;
7730        }
7731        case 21: {
7732          $t48_49 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
7733          $t49_50 = $t48_49.$get().addr(0);
7734          $t49_50.$set(13);
7735          $t50_51 = $rt.builtin.sliceSlice($t48_49.$get(), undefined, undefined, undefined);
7736          $t51_52 = $rt.builtin.appendSlice($t20_21, $t50_51);
7737          $t29_30 = $t51_52;
7738          $block = 13; break;
7739          break;
7740        }
7741        case 22: {
7742          $t52_53 = ($t22_23 === 114);
7743          if ($t52_53) {
7744            $block = 21; break;
7745          }
7746          else {
7747            $block = 23; break;
7748          }
7749          break;
7750        }
7751        case 23: {
7752          $rt.runtime.boundsCheck($t21_22, $rt.builtin.byteLen(s));
7753          $t53_54 = $rt.builtin.stringByteAt(s, $t21_22);
7754          $t54_55 = { $value: $rt.builtin.makeSlice(2, 2, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
7755          $t55_56 = $t54_55.$get().addr(0);
7756          $t55_56.$set(92);
7757          $t56_57 = $t54_55.$get().addr(1);
7758          $t56_57.$set($t53_54);
7759          $t57_58 = $rt.builtin.sliceSlice($t54_55.$get(), undefined, undefined, undefined);
7760          $t58_59 = $rt.builtin.appendSlice($t20_21, $t57_58);
7761          $t29_30 = $t58_59;
7762          $block = 13; break;
7763          break;
7764        }
7765        case 24: {
7766          $t59_60 = ($t13_14 + 1);
7767          let $phi0 = $t59_60;
7768          let $phi1 = $t14_15;
7769          let $phi2 = $t15_16;
7770          let $phi3 = $t16_17;
7771          $t13_14 = $phi0;
7772          $t14_15 = $phi1;
7773          $t15_16 = $phi2;
7774          $t16_17 = $phi3;
7775          $block = 9; break;
7776          break;
7777        }
7778        case 25: {
7779          return ['', $t13_14];
7780          break;
7781        }
7782        case 26: {
7783          if ($t15_16) {
7784            $block = 27; break;
7785          }
7786          else {
7787            $block = 29; break;
7788          }
7789          break;
7790        }
7791        case 27: {
7792          $t60_61 = $rt.builtin.stringSlice(s, $t16_17, $t13_14);
7793          $t61_62 = $rt.builtin.appendString($t14_15, $t60_61);
7794          $t62_63 = $rt.builtin.bytesToString($t61_62);
7795          $t63_64 = $t62_63;
7796          $block = 28; break;
7797          break;
7798        }
7799        case 28: {
7800          $t64_65 = ($t13_14 + 1);
7801          $t67_68 = $t64_65;
7802          $block = 32; break;
7803          break;
7804        }
7805        case 29: {
7806          $t65_66 = $rt.builtin.stringSlice(s, $t16_17, $t13_14);
7807          $t63_64 = $t65_66;
7808          $block = 28; break;
7809          break;
7810        }
7811        case 30: {
7812          $t66_67 = ($t67_68 + 1);
7813          $t67_68 = $t66_67;
7814          $block = 32; break;
7815          break;
7816        }
7817        case 31: {
7818          return [$t63_64, $t67_68];
7819          break;
7820        }
7821        case 32: {
7822          $t68_69 = $rt.builtin.len(s);
7823          $t69_70 = ($t67_68 < $t68_69);
7824          if ($t69_70) {
7825            $block = 33; break;
7826          }
7827          else {
7828            $block = 31; break;
7829          }
7830          break;
7831        }
7832        case 33: {
7833          $rt.runtime.boundsCheck($t67_68, $rt.builtin.byteLen(s));
7834          $t70_71 = $rt.builtin.stringByteAt(s, $t67_68);
7835          $t71_72 = ($t70_71 === 44);
7836          if ($t71_72) {
7837            $block = 30; break;
7838          }
7839          else {
7840            $block = 34; break;
7841          }
7842          break;
7843        }
7844        case 34: {
7845          $rt.runtime.boundsCheck($t67_68, $rt.builtin.byteLen(s));
7846          $t72_73 = $rt.builtin.stringByteAt(s, $t67_68);
7847          $t73_74 = ($t72_73 === 32);
7848          if ($t73_74) {
7849            $block = 30; break;
7850          }
7851          else {
7852            $block = 31; break;
7853          }
7854          break;
7855        }
7856      }
7857    }
7858  }
7859  
7860  export function extractValue(s, pos) {
7861    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45;
7862    let $block = 0;
7863    while (true) {
7864      switch ($block) {
7865        case 0: {
7866          $t3_4 = pos;
7867          $block = 3; break;
7868          break;
7869        }
7870        case 1: {
7871          $t0_1 = ($t3_4 + 1);
7872          $t3_4 = $t0_1;
7873          $block = 3; break;
7874          break;
7875        }
7876        case 2: {
7877          $t1_2 = $rt.builtin.len(s);
7878          $t2_3 = ($t3_4 >= $t1_2);
7879          if ($t2_3) {
7880            $block = 6; break;
7881          }
7882          else {
7883            $block = 7; break;
7884          }
7885          break;
7886        }
7887        case 3: {
7888          $t4_5 = $rt.builtin.len(s);
7889          $t5_6 = ($t3_4 < $t4_5);
7890          if ($t5_6) {
7891            $block = 4; break;
7892          }
7893          else {
7894            $block = 2; break;
7895          }
7896          break;
7897        }
7898        case 4: {
7899          $rt.runtime.boundsCheck($t3_4, $rt.builtin.byteLen(s));
7900          $t6_7 = $rt.builtin.stringByteAt(s, $t3_4);
7901          $t7_8 = ($t6_7 === 44);
7902          if ($t7_8) {
7903            $block = 1; break;
7904          }
7905          else {
7906            $block = 5; break;
7907          }
7908          break;
7909        }
7910        case 5: {
7911          $rt.runtime.boundsCheck($t3_4, $rt.builtin.byteLen(s));
7912          $t8_9 = $rt.builtin.stringByteAt(s, $t3_4);
7913          $t9_10 = ($t8_9 === 32);
7914          if ($t9_10) {
7915            $block = 1; break;
7916          }
7917          else {
7918            $block = 2; break;
7919          }
7920          break;
7921        }
7922        case 6: {
7923          return '';
7924          break;
7925        }
7926        case 7: {
7927          $rt.runtime.boundsCheck($t3_4, $rt.builtin.byteLen(s));
7928          $t10_11 = $rt.builtin.stringByteAt(s, $t3_4);
7929          $t11_12 = ($t10_11 !== 123);
7930          if ($t11_12) {
7931            $block = 10; break;
7932          }
7933          else {
7934            $block = 9; break;
7935          }
7936          break;
7937        }
7938        case 8: {
7939          return '';
7940          break;
7941        }
7942        case 9: {
7943          $t17_18 = $t3_4;
7944          $t18_19 = 0;
7945          $block = 13; break;
7946          break;
7947        }
7948        case 10: {
7949          $rt.runtime.boundsCheck($t3_4, $rt.builtin.byteLen(s));
7950          $t12_13 = $rt.builtin.stringByteAt(s, $t3_4);
7951          $t13_14 = ($t12_13 !== 91);
7952          if ($t13_14) {
7953            $block = 8; break;
7954          }
7955          else {
7956            $block = 9; break;
7957          }
7958          break;
7959        }
7960        case 11: {
7961          $rt.runtime.boundsCheck($t17_18, $rt.builtin.byteLen(s));
7962          $t14_15 = $rt.builtin.stringByteAt(s, $t17_18);
7963          $t15_16 = ($t14_15 === 123);
7964          if ($t15_16) {
7965            $block = 14; break;
7966          }
7967          else {
7968            $block = 16; break;
7969          }
7970          break;
7971        }
7972        case 12: {
7973          $t16_17 = $rt.builtin.stringSlice(s, $t3_4, undefined);
7974          return $t16_17;
7975          break;
7976        }
7977        case 13: {
7978          $t19_20 = $rt.builtin.len(s);
7979          $t20_21 = ($t17_18 < $t19_20);
7980          if ($t20_21) {
7981            $block = 11; break;
7982          }
7983          else {
7984            $block = 12; break;
7985          }
7986          break;
7987        }
7988        case 14: {
7989          $t21_22 = ($t18_19 + 1);
7990          $t22_23 = $t21_22;
7991          $block = 15; break;
7992          break;
7993        }
7994        case 15: {
7995          $t23_24 = ($t14_15 === 125);
7996          if ($t23_24) {
7997            $block = 17; break;
7998          }
7999          else {
8000            $block = 19; break;
8001          }
8002          break;
8003        }
8004        case 16: {
8005          $t24_25 = ($t14_15 === 91);
8006          if ($t24_25) {
8007            $block = 14; break;
8008          }
8009          else {
8010            $t22_23 = $t18_19;
8011            $block = 15; break;
8012          }
8013          break;
8014        }
8015        case 17: {
8016          $t25_26 = ($t22_23 - 1);
8017          $t26_27 = ($t25_26 === 0);
8018          if ($t26_27) {
8019            $block = 20; break;
8020          }
8021          else {
8022            $t27_28 = $t25_26;
8023            $block = 18; break;
8024          }
8025          break;
8026        }
8027        case 18: {
8028          $t28_29 = ($t14_15 === 34);
8029          if ($t28_29) {
8030            $block = 21; break;
8031          }
8032          else {
8033            $t33_34 = $t17_18;
8034            $block = 22; break;
8035          }
8036          break;
8037        }
8038        case 19: {
8039          $t29_30 = ($t14_15 === 93);
8040          if ($t29_30) {
8041            $block = 17; break;
8042          }
8043          else {
8044            $t27_28 = $t22_23;
8045            $block = 18; break;
8046          }
8047          break;
8048        }
8049        case 20: {
8050          $t30_31 = ($t17_18 + 1);
8051          $t31_32 = $rt.builtin.stringSlice(s, $t3_4, $t30_31);
8052          return $t31_32;
8053          break;
8054        }
8055        case 21: {
8056          $t32_33 = ($t17_18 + 1);
8057          $t37_38 = $t32_33;
8058          $block = 24; break;
8059          break;
8060        }
8061        case 22: {
8062          $t34_35 = ($t33_34 + 1);
8063          $t17_18 = $t34_35;
8064          $t18_19 = $t27_28;
8065          $block = 13; break;
8066          break;
8067        }
8068        case 23: {
8069          $rt.runtime.boundsCheck($t37_38, $rt.builtin.byteLen(s));
8070          $t35_36 = $rt.builtin.stringByteAt(s, $t37_38);
8071          $t36_37 = ($t35_36 === 92);
8072          if ($t36_37) {
8073            $block = 26; break;
8074          }
8075          else {
8076            $t43_44 = $t37_38;
8077            $block = 27; break;
8078          }
8079          break;
8080        }
8081        case 24: {
8082          $t38_39 = $rt.builtin.len(s);
8083          $t39_40 = ($t37_38 < $t38_39);
8084          if ($t39_40) {
8085            $block = 25; break;
8086          }
8087          else {
8088            $t33_34 = $t37_38;
8089            $block = 22; break;
8090          }
8091          break;
8092        }
8093        case 25: {
8094          $rt.runtime.boundsCheck($t37_38, $rt.builtin.byteLen(s));
8095          $t40_41 = $rt.builtin.stringByteAt(s, $t37_38);
8096          $t41_42 = ($t40_41 !== 34);
8097          if ($t41_42) {
8098            $block = 23; break;
8099          }
8100          else {
8101            $t33_34 = $t37_38;
8102            $block = 22; break;
8103          }
8104          break;
8105        }
8106        case 26: {
8107          $t42_43 = ($t37_38 + 1);
8108          $t43_44 = $t42_43;
8109          $block = 27; break;
8110          break;
8111        }
8112        case 27: {
8113          $t44_45 = ($t43_44 + 1);
8114          $t37_38 = $t44_45;
8115          $block = 24; break;
8116          break;
8117        }
8118      }
8119    }
8120  }
8121  
8122  export function handleProfileEvent(ev) {
8123    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103;
8124    let $block = 0;
8125    while (true) {
8126      switch ($block) {
8127        case 0: {
8128          $t0_1 = { $get() { return ev.$get().Kind; }, $set(v) { const obj = ev.$get(); obj.Kind = v; ev.$set(obj); } };
8129          $t1_2 = $t0_1.$get();
8130          $t2_3 = ($t1_2 === 0);
8131          if ($t2_3) {
8132            $block = 2; break;
8133          }
8134          else {
8135            $block = 4; break;
8136          }
8137          break;
8138        }
8139        case 1: {
8140          return;
8141          break;
8142        }
8143        case 2: {
8144          $t3_4 = { $get() { return ev.$get().CreatedAt; }, $set(v) { const obj = ev.$get(); obj.CreatedAt = v; ev.$set(obj); } };
8145          $t4_5 = $t3_4.$get();
8146          $t5_6 = profileTs.$get();
8147          $t6_7 = ($t4_5 <= $t5_6);
8148          if ($t6_7) {
8149            $block = 5; break;
8150          }
8151          else {
8152            $block = 6; break;
8153          }
8154          break;
8155        }
8156        case 3: {
8157          $t7_8 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
8158          $t8_9 = $t7_8.$get();
8159          $t9_10 = common$nostr.Tags$GetAll($t8_9, 'p');
8160          $t10_11 = $rt.builtin.len($t9_10);
8161          $t51_52 = null;
8162          $t52_53 = -1;
8163          $block = 16; break;
8164          break;
8165        }
8166        case 4: {
8167          $t11_12 = ($t1_2 === 3);
8168          if ($t11_12) {
8169            $block = 3; break;
8170          }
8171          else {
8172            $block = 15; break;
8173          }
8174          break;
8175        }
8176        case 5: {
8177          return;
8178          break;
8179        }
8180        case 6: {
8181          $t12_13 = { $get() { return ev.$get().CreatedAt; }, $set(v) { const obj = ev.$get(); obj.CreatedAt = v; ev.$set(obj); } };
8182          $t13_14 = $t12_13.$get();
8183          profileTs.$set($t13_14);
8184          $t14_15 = authorContent.$get();
8185          $t15_16 = pubhex.$get();
8186          $t16_17 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
8187          $t17_18 = $t16_17.$get();
8188          $rt.builtin.mapUpdate($t14_15, $t15_16, $t17_18);
8189          $t18_19 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
8190          $t19_20 = $t18_19.$get();
8191          $t20_21 = common$helpers.JsonGetString($t19_20, 'name');
8192          $t21_22 = ($t20_21 === '');
8193          if ($t21_22) {
8194            $block = 7; break;
8195          }
8196          else {
8197            $t25_26 = $t20_21;
8198            $block = 8; break;
8199          }
8200          break;
8201        }
8202        case 7: {
8203          $t22_23 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
8204          $t23_24 = $t22_23.$get();
8205          $t24_25 = common$helpers.JsonGetString($t23_24, 'display_name');
8206          $t25_26 = $t24_25;
8207          $block = 8; break;
8208          break;
8209        }
8210        case 8: {
8211          $t26_27 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
8212          $t27_28 = $t26_27.$get();
8213          $t28_29 = common$helpers.JsonGetString($t27_28, 'picture');
8214          $t29_30 = ($t25_26 !== '');
8215          if ($t29_30) {
8216            $block = 9; break;
8217          }
8218          else {
8219            $block = 10; break;
8220          }
8221          break;
8222        }
8223        case 9: {
8224          profileName.$set($t25_26);
8225          $t30_31 = authorNames.$get();
8226          $t31_32 = pubhex.$get();
8227          $rt.builtin.mapUpdate($t30_31, $t31_32, $t25_26);
8228          $t32_33 = nameEl.$get();
8229          $t33_34 = common$jsbridge$dom.SetTextContent($t32_33, $t25_26);
8230          $block = 10; break;
8231          break;
8232        }
8233        case 10: {
8234          $t34_35 = ($t28_29 !== '');
8235          if ($t34_35) {
8236            $block = 11; break;
8237          }
8238          else {
8239            $block = 12; break;
8240          }
8241          break;
8242        }
8243        case 11: {
8244          profilePic.$set($t28_29);
8245          $t35_36 = authorPics.$get();
8246          $t36_37 = pubhex.$get();
8247          $rt.builtin.mapUpdate($t35_36, $t36_37, $t28_29);
8248          $t37_38 = avatarEl.$get();
8249          $t38_39 = common$jsbridge$dom.SetAttribute($t37_38, 'src', $t28_29);
8250          $t39_40 = avatarEl.$get();
8251          $t40_41 = common$jsbridge$dom.SetStyle($t39_40, 'display', 'block');
8252          $block = 12; break;
8253          break;
8254        }
8255        case 12: {
8256          $t41_42 = profileViewPK.$get();
8257          $t42_43 = pubhex.$get();
8258          $t43_44 = ($t41_42 === $t42_43);
8259          if ($t43_44) {
8260            $block = 13; break;
8261          }
8262          else {
8263            $block = 1; break;
8264          }
8265          break;
8266        }
8267        case 13: {
8268          $t44_45 = pubhex.$get();
8269          $t45_46 = renderProfilePage($t44_45);
8270          $block = 1; break;
8271          break;
8272        }
8273        case 14: {
8274          $t46_47 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
8275          $t47_48 = $t46_47.$get();
8276          $t48_49 = common$nostr.Tags$GetAll($t47_48, 'p');
8277          $t49_50 = $rt.builtin.len($t48_49);
8278          $t73_74 = null;
8279          $t74_75 = -1;
8280          $block = 22; break;
8281          break;
8282        }
8283        case 15: {
8284          $t50_51 = ($t1_2 === 10000);
8285          if ($t50_51) {
8286            $block = 14; break;
8287          }
8288          else {
8289            $block = 21; break;
8290          }
8291          break;
8292        }
8293        case 16: {
8294          $t53_54 = ($t52_53 + 1);
8295          $t54_55 = ($t53_54 < $t10_11);
8296          if ($t54_55) {
8297            $block = 17; break;
8298          }
8299          else {
8300            $block = 18; break;
8301          }
8302          break;
8303        }
8304        case 17: {
8305          $t55_56 = $t9_10.addr($t53_54);
8306          $t56_57 = $t55_56.$get();
8307          $t57_58 = common$nostr.Tag$Value($t56_57);
8308          $t58_59 = ($t57_58 !== '');
8309          if ($t58_59) {
8310            $block = 19; break;
8311          }
8312          else {
8313            let $phi0 = $t51_52;
8314            let $phi1 = $t53_54;
8315            $t51_52 = $phi0;
8316            $t52_53 = $phi1;
8317            $block = 16; break;
8318          }
8319          break;
8320        }
8321        case 18: {
8322          $t59_60 = authorFollows.$get();
8323          $t60_61 = pubhex.$get();
8324          $rt.builtin.mapUpdate($t59_60, $t60_61, $t51_52);
8325          $t61_62 = pubhex.$get();
8326          $t62_63 = refreshProfileTab($t61_62);
8327          $block = 1; break;
8328          break;
8329        }
8330        case 19: {
8331          $t63_64 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
8332          $t64_65 = $t63_64.$get().addr(0);
8333          $t64_65.$set($t57_58);
8334          $t65_66 = $rt.builtin.sliceSlice($t63_64.$get(), undefined, undefined, undefined);
8335          $t66_67 = $rt.builtin.appendSlice($t51_52, $t65_66);
8336          $t51_52 = $t66_67;
8337          $t52_53 = $t53_54;
8338          $block = 16; break;
8339          break;
8340        }
8341        case 20: {
8342          $t67_68 = recordRelayFreq(ev);
8343          $t68_69 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
8344          $t69_70 = $t68_69.$get();
8345          $t70_71 = common$nostr.Tags$GetAll($t69_70, 'r');
8346          $t71_72 = $rt.builtin.len($t70_71);
8347          $t93_94 = -1;
8348          $block = 28; break;
8349          break;
8350        }
8351        case 21: {
8352          $t72_73 = ($t1_2 === 10002);
8353          if ($t72_73) {
8354            $block = 20; break;
8355          }
8356          else {
8357            $block = 27; break;
8358          }
8359          break;
8360        }
8361        case 22: {
8362          $t75_76 = ($t74_75 + 1);
8363          $t76_77 = ($t75_76 < $t49_50);
8364          if ($t76_77) {
8365            $block = 23; break;
8366          }
8367          else {
8368            $block = 24; break;
8369          }
8370          break;
8371        }
8372        case 23: {
8373          $t77_78 = $t48_49.addr($t75_76);
8374          $t78_79 = $t77_78.$get();
8375          $t79_80 = common$nostr.Tag$Value($t78_79);
8376          $t80_81 = ($t79_80 !== '');
8377          if ($t80_81) {
8378            $block = 25; break;
8379          }
8380          else {
8381            let $phi0 = $t73_74;
8382            let $phi1 = $t75_76;
8383            $t73_74 = $phi0;
8384            $t74_75 = $phi1;
8385            $block = 22; break;
8386          }
8387          break;
8388        }
8389        case 24: {
8390          $t81_82 = authorMutes.$get();
8391          $t82_83 = pubhex.$get();
8392          $rt.builtin.mapUpdate($t81_82, $t82_83, $t73_74);
8393          $t83_84 = pubhex.$get();
8394          $t84_85 = refreshProfileTab($t83_84);
8395          $block = 1; break;
8396          break;
8397        }
8398        case 25: {
8399          $t85_86 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
8400          $t86_87 = $t85_86.$get().addr(0);
8401          $t86_87.$set($t79_80);
8402          $t87_88 = $rt.builtin.sliceSlice($t85_86.$get(), undefined, undefined, undefined);
8403          $t88_89 = $rt.builtin.appendSlice($t73_74, $t87_88);
8404          $t73_74 = $t88_89;
8405          $t74_75 = $t75_76;
8406          $block = 22; break;
8407          break;
8408        }
8409        case 26: {
8410          $t89_90 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
8411          $t90_91 = $t89_90.$get();
8412          $t91_92 = common$nostr.Tags$GetAll($t90_91, 'relay');
8413          $block = 1; break;
8414          break;
8415        }
8416        case 27: {
8417          $t92_93 = ($t1_2 === 10050);
8418          if ($t92_93) {
8419            $block = 26; break;
8420          }
8421          else {
8422            $block = 1; break;
8423          }
8424          break;
8425        }
8426        case 28: {
8427          $t94_95 = ($t93_94 + 1);
8428          $t95_96 = ($t94_95 < $t71_72);
8429          if ($t95_96) {
8430            $block = 29; break;
8431          }
8432          else {
8433            $block = 30; break;
8434          }
8435          break;
8436        }
8437        case 29: {
8438          $t96_97 = $t70_71.addr($t94_95);
8439          $t97_98 = $t96_97.$get();
8440          $t98_99 = common$nostr.Tag$Value($t97_98);
8441          $t99_100 = ($t98_99 !== '');
8442          if ($t99_100) {
8443            $block = 31; break;
8444          }
8445          else {
8446            $t93_94 = $t94_95;
8447            $block = 28; break;
8448          }
8449          break;
8450        }
8451        case 30: {
8452          $t100_101 = sendWriteRelays();
8453          $t101_102 = subscribeFeed();
8454          $block = 1; break;
8455          break;
8456        }
8457        case 31: {
8458          $t102_103 = addRelay($t98_99, true);
8459          $t93_94 = $t94_95;
8460          $block = 28; break;
8461          break;
8462        }
8463      }
8464    }
8465  }
8466  
8467  export function updateStatus() {
8468    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10;
8469    $t0_1 = statusEl.$get();
8470    $t1_2 = relayURLs.$get();
8471    $t2_3 = $rt.builtin.len($t1_2);
8472    $t3_4 = itoa($t2_3);
8473    $t4_5 = ($t3_4 + ' relays | ');
8474    $t5_6 = eventCount.$get();
8475    $t6_7 = itoa($t5_6);
8476    $t7_8 = ($t4_5 + $t6_7);
8477    $t8_9 = ($t7_8 + ' events');
8478    $t9_10 = common$jsbridge$dom.SetTextContent($t0_1, $t8_9);
8479    return;
8480  }
8481  
8482  export function renderNote(ev) {
8483    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123;
8484    let $block = 0;
8485    while (true) {
8486      switch ($block) {
8487        case 0: {
8488          $t0_1 = common$jsbridge$dom.CreateElement('div');
8489          $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'borderBottom', '1px solid var(--border)');
8490          $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '12px 0');
8491          $t3_4 = common$jsbridge$dom.CreateElement('div');
8492          $t4_5 = common$jsbridge$dom.SetStyle($t3_4, 'display', 'flex');
8493          $t5_6 = common$jsbridge$dom.SetStyle($t3_4, 'alignItems', 'center');
8494          $t6_7 = common$jsbridge$dom.SetStyle($t3_4, 'gap', '8px');
8495          $t7_8 = common$jsbridge$dom.SetStyle($t3_4, 'marginBottom', '4px');
8496          $t8_9 = common$jsbridge$dom.SetStyle($t3_4, 'cursor', 'pointer');
8497          $t9_10 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
8498          $t10_11 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
8499          $t11_12 = $t10_11.$get();
8500          $t9_10.$set($t11_12);
8501          $t12_13 = renderNote$1.bind(null, $t9_10);
8502          $t13_14 = common$jsbridge$dom.RegisterCallback($t12_13);
8503          $t14_15 = common$jsbridge$dom.AddEventListener($t3_4, 'click', $t13_14);
8504          $t15_16 = common$jsbridge$dom.CreateElement('img');
8505          $t16_17 = common$jsbridge$dom.SetAttribute($t15_16, 'width', '24');
8506          $t17_18 = common$jsbridge$dom.SetAttribute($t15_16, 'height', '24');
8507          $t18_19 = common$jsbridge$dom.SetStyle($t15_16, 'borderRadius', '50%');
8508          $t19_20 = common$jsbridge$dom.SetStyle($t15_16, 'objectFit', 'cover');
8509          $t20_21 = common$jsbridge$dom.SetStyle($t15_16, 'flexShrink', '0');
8510          $t21_22 = common$jsbridge$dom.CreateElement('span');
8511          $t22_23 = common$jsbridge$dom.SetStyle($t21_22, 'fontSize', '18px');
8512          $t23_24 = common$jsbridge$dom.SetStyle($t21_22, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
8513          $t24_25 = common$jsbridge$dom.SetStyle($t21_22, 'fontWeight', 'bold');
8514          $t25_26 = common$jsbridge$dom.SetStyle($t21_22, 'color', 'var(--fg)');
8515          $t26_27 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
8516          $t27_28 = $t26_27.$get();
8517          $t28_29 = authorPics.$get();
8518          { const $r = $rt.builtin.mapLookup($t28_29, $t27_28); $t29_30 = [$r.value, $r.ok]; }
8519          $t30_31 = $t29_30[0];
8520          $t31_32 = $t29_30[1];
8521          if ($t31_32) {
8522            $block = 4; break;
8523          }
8524          else {
8525            $block = 3; break;
8526          }
8527          break;
8528        }
8529        case 1: {
8530          $t32_33 = common$jsbridge$dom.SetAttribute($t15_16, 'src', $t30_31);
8531          $t33_34 = common$jsbridge$dom.SetAttribute($t15_16, 'onerror', 'this.style.display=\'none\'');
8532          $block = 2; break;
8533          break;
8534        }
8535        case 2: {
8536          $t34_35 = authorNames.$get();
8537          { const $r = $rt.builtin.mapLookup($t34_35, $t27_28); $t35_36 = [$r.value, $r.ok]; }
8538          $t36_37 = $t35_36[0];
8539          $t37_38 = $t35_36[1];
8540          if ($t37_38) {
8541            $block = 8; break;
8542          }
8543          else {
8544            $block = 7; break;
8545          }
8546          break;
8547        }
8548        case 3: {
8549          $t38_39 = common$jsbridge$dom.SetStyle($t15_16, 'display', 'none');
8550          $block = 2; break;
8551          break;
8552        }
8553        case 4: {
8554          $t39_40 = ($t30_31 !== '');
8555          if ($t39_40) {
8556            $block = 1; break;
8557          }
8558          else {
8559            $block = 3; break;
8560          }
8561          break;
8562        }
8563        case 5: {
8564          $t40_41 = common$jsbridge$dom.SetTextContent($t21_22, $t36_37);
8565          $block = 6; break;
8566          break;
8567        }
8568        case 6: {
8569          $t41_42 = common$jsbridge$dom.AppendChild($t3_4, $t15_16);
8570          $t42_43 = common$jsbridge$dom.AppendChild($t3_4, $t21_22);
8571          $t43_44 = common$jsbridge$dom.AppendChild($t0_1, $t3_4);
8572          $t44_45 = authorNames.$get();
8573          { const $r = $rt.builtin.mapLookup($t44_45, $t27_28); $t45_46 = [$r.value, $r.ok]; }
8574          $t46_47 = $t45_46[0];
8575          $t47_48 = $t45_46[1];
8576          if ($t47_48) {
8577            $block = 11; break;
8578          }
8579          else {
8580            $block = 10; break;
8581          }
8582          break;
8583        }
8584        case 7: {
8585          $t48_49 = common$helpers.HexDecode($t27_28);
8586          $t49_50 = common$helpers.EncodeNpub($t48_49);
8587          $t50_51 = $rt.builtin.len($t49_50);
8588          $t51_52 = ($t50_51 > 20);
8589          if ($t51_52) {
8590            $block = 9; break;
8591          }
8592          else {
8593            $block = 6; break;
8594          }
8595          break;
8596        }
8597        case 8: {
8598          $t52_53 = ($t36_37 !== '');
8599          if ($t52_53) {
8600            $block = 5; break;
8601          }
8602          else {
8603            $block = 7; break;
8604          }
8605          break;
8606        }
8607        case 9: {
8608          $t53_54 = $rt.builtin.stringSlice($t49_50, undefined, 12);
8609          $t54_55 = ($t53_54 + '...');
8610          $t55_56 = $rt.builtin.len($t49_50);
8611          $t56_57 = ($t55_56 - 4);
8612          $t57_58 = $rt.builtin.stringSlice($t49_50, $t56_57, undefined);
8613          $t58_59 = ($t54_55 + $t57_58);
8614          $t59_60 = common$jsbridge$dom.SetTextContent($t21_22, $t58_59);
8615          $block = 6; break;
8616          break;
8617        }
8618        case 10: {
8619          $t60_61 = pendingNotes.$get();
8620          $t61_62 = pendingNotes.$get();
8621          $t62_63 = $rt.builtin.mapLookup($t61_62, $t27_28).value;
8622          $t63_64 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
8623          $t64_65 = $t63_64.$get().addr(0);
8624          $t64_65.$set($t3_4);
8625          $t65_66 = $rt.builtin.sliceSlice($t63_64.$get(), undefined, undefined, undefined);
8626          $t66_67 = $rt.builtin.appendSlice($t62_63, $t65_66);
8627          $rt.builtin.mapUpdate($t60_61, $t27_28, $t66_67);
8628          $t67_68 = fetchedK0.$get();
8629          $t68_69 = $rt.builtin.mapLookup($t67_68, $t27_28).value;
8630          if ($t68_69) {
8631            $block = 11; break;
8632          }
8633          else {
8634            $block = 12; break;
8635          }
8636          break;
8637        }
8638        case 11: {
8639          $t69_70 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
8640          $t70_71 = common$jsbridge$dom.CreateElement('div');
8641          $t69_70.$set($t70_71);
8642          $t71_72 = $t69_70.$get();
8643          $t72_73 = common$jsbridge$dom.SetStyle($t71_72, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
8644          $t73_74 = $t69_70.$get();
8645          $t74_75 = common$jsbridge$dom.SetStyle($t73_74, 'fontSize', '14px');
8646          $t75_76 = $t69_70.$get();
8647          $t76_77 = common$jsbridge$dom.SetStyle($t75_76, 'lineHeight', '1.5');
8648          $t77_78 = $t69_70.$get();
8649          $t78_79 = common$jsbridge$dom.SetStyle($t77_78, 'wordBreak', 'break-word');
8650          $t79_80 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
8651          $t80_81 = $t79_80.$get();
8652          $t81_82 = $rt.builtin.len($t80_81);
8653          $t82_83 = ($t81_82 > 500);
8654          if ($t82_83) {
8655            $block = 13; break;
8656          }
8657          else {
8658            $t86_87 = $t80_81;
8659            $block = 14; break;
8660          }
8661          break;
8662        }
8663        case 12: {
8664          $t83_84 = queueProfileFetch($t27_28);
8665          $block = 11; break;
8666          break;
8667        }
8668        case 13: {
8669          $t84_85 = $rt.builtin.stringSlice($t80_81, undefined, 500);
8670          $t85_86 = ($t84_85 + '...');
8671          $t86_87 = $t85_86;
8672          $block = 14; break;
8673          break;
8674        }
8675        case 14: {
8676          $t87_88 = $t69_70.$get();
8677          $t88_89 = renderMarkdown($t86_87);
8678          $t89_90 = common$jsbridge$dom.SetInnerHTML($t87_88, $t88_89);
8679          $t90_91 = $t69_70.$get();
8680          $t91_92 = common$jsbridge$dom.AppendChild($t0_1, $t90_91);
8681          if ($t82_83) {
8682            $block = 15; break;
8683          }
8684          else {
8685            $block = 16; break;
8686          }
8687          break;
8688        }
8689        case 15: {
8690          $t92_93 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
8691          $t93_94 = common$jsbridge$dom.CreateElement('span');
8692          $t92_93.$set($t93_94);
8693          $t94_95 = $t92_93.$get();
8694          $t95_96 = common$jsbridge$dom.SetTextContent($t94_95, 'show more');
8695          $t96_97 = $t92_93.$get();
8696          $t97_98 = common$jsbridge$dom.SetStyle($t96_97, 'color', 'var(--accent)');
8697          $t98_99 = $t92_93.$get();
8698          $t99_100 = common$jsbridge$dom.SetStyle($t98_99, 'cursor', 'pointer');
8699          $t100_101 = $t92_93.$get();
8700          $t101_102 = common$jsbridge$dom.SetStyle($t100_101, 'fontSize', '13px');
8701          $t102_103 = $t92_93.$get();
8702          $t103_104 = common$jsbridge$dom.SetStyle($t102_103, 'display', 'inline-block');
8703          $t104_105 = $t92_93.$get();
8704          $t105_106 = common$jsbridge$dom.SetStyle($t104_105, 'marginTop', '4px');
8705          $t106_107 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
8706          $t107_108 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
8707          $t108_109 = $t107_108.$get();
8708          $t106_107.$set($t108_109);
8709          $t109_110 = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
8710          $t109_110.$set(false);
8711          $t110_111 = $t92_93.$get();
8712          $t111_112 = renderNote$2.bind(null, $t109_110, $t69_70, $t106_107, $t92_93);
8713          $t112_113 = common$jsbridge$dom.RegisterCallback($t111_112);
8714          $t113_114 = common$jsbridge$dom.AddEventListener($t110_111, 'click', $t112_113);
8715          $t114_115 = $t92_93.$get();
8716          $t115_116 = common$jsbridge$dom.AppendChild($t0_1, $t114_115);
8717          $block = 16; break;
8718          break;
8719        }
8720        case 16: {
8721          $t116_117 = feedContainer.$get();
8722          $t117_118 = common$jsbridge$dom.FirstChild($t116_117);
8723          $t118_119 = ($t117_118 !== 0);
8724          if ($t118_119) {
8725            $block = 17; break;
8726          }
8727          else {
8728            $block = 19; break;
8729          }
8730          break;
8731        }
8732        case 17: {
8733          $t119_120 = feedContainer.$get();
8734          $t120_121 = common$jsbridge$dom.InsertBefore($t119_120, $t0_1, $t117_118);
8735          $block = 18; break;
8736          break;
8737        }
8738        case 18: {
8739          return;
8740          break;
8741        }
8742        case 19: {
8743          $t121_122 = feedContainer.$get();
8744          $t122_123 = common$jsbridge$dom.AppendChild($t121_122, $t0_1);
8745          $block = 18; break;
8746          break;
8747        }
8748      }
8749    }
8750  }
8751  
8752  function renderNote$1(headerPK) {
8753    let $t0_1, $t1_2;
8754    $t0_1 = headerPK.$get();
8755    $t1_2 = showProfile($t0_1);
8756    return;
8757  }
8758  
8759  function renderNote$2(expanded, content, fullContent, more) {
8760    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17;
8761    let $block = 0;
8762    while (true) {
8763      switch ($block) {
8764        case 0: {
8765          $t0_1 = expanded.$get();
8766          $t1_2 = !$t0_1;
8767          expanded.$set($t1_2);
8768          $t2_3 = expanded.$get();
8769          if ($t2_3) {
8770            $block = 1; break;
8771          }
8772          else {
8773            $block = 3; break;
8774          }
8775          break;
8776        }
8777        case 1: {
8778          $t3_4 = content.$get();
8779          $t4_5 = fullContent.$get();
8780          $t5_6 = renderMarkdown($t4_5);
8781          $t6_7 = common$jsbridge$dom.SetInnerHTML($t3_4, $t5_6);
8782          $t7_8 = more.$get();
8783          $t8_9 = common$jsbridge$dom.SetTextContent($t7_8, 'show less');
8784          $block = 2; break;
8785          break;
8786        }
8787        case 2: {
8788          return;
8789          break;
8790        }
8791        case 3: {
8792          $t9_10 = content.$get();
8793          $t10_11 = fullContent.$get();
8794          $t11_12 = $rt.builtin.stringSlice($t10_11, undefined, 500);
8795          $t12_13 = ($t11_12 + '...');
8796          $t13_14 = renderMarkdown($t12_13);
8797          $t14_15 = common$jsbridge$dom.SetInnerHTML($t9_10, $t13_14);
8798          $t15_16 = more.$get();
8799          $t16_17 = common$jsbridge$dom.SetTextContent($t15_16, 'show more');
8800          $block = 2; break;
8801          break;
8802        }
8803      }
8804    }
8805  }
8806  
8807  export function topRelays(n) {
8808    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52;
8809    let $block = 0;
8810    while (true) {
8811      switch ($block) {
8812        case 0: {
8813          $t0_1 = relayFreq.$get();
8814          $t1_2 = ($t0_1 === null);
8815          if ($t1_2) {
8816            $block = 1; break;
8817          }
8818          else {
8819            $block = 2; break;
8820          }
8821          break;
8822        }
8823        case 1: {
8824          return null;
8825          break;
8826        }
8827        case 2: {
8828          $t2_3 = relayFreq.$get();
8829          $t3_4 = { $entries: [...$t2_3.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
8830          $t4_5 = null;
8831          $block = 3; break;
8832          break;
8833        }
8834        case 3: {
8835          $t5_6 = $t3_4.next();
8836          $t6_7 = $t5_6[0];
8837          if ($t6_7) {
8838            $block = 4; break;
8839          }
8840          else {
8841            $block = 5; break;
8842          }
8843          break;
8844        }
8845        case 4: {
8846          $t7_8 = $t5_6[1];
8847          $t8_9 = $t5_6[2];
8848          $t9_10 = { $value: { url: '', count: 0 }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
8849          $t10_11 = { $get() { return $t9_10.$get().url; }, $set(v) { const obj = $t9_10.$get(); obj.url = v; $t9_10.$set(obj); } };
8850          $t11_12 = { $get() { return $t9_10.$get().count; }, $set(v) { const obj = $t9_10.$get(); obj.count = v; $t9_10.$set(obj); } };
8851          $t10_11.$set($t7_8);
8852          $t11_12.$set($t8_9);
8853          $t12_13 = $t9_10.$get();
8854          $t13_14 = { $value: $rt.builtin.makeSlice(1, 1, { url: '', count: 0 }), $get() { return this.$value; }, $set(v) { this.$value = v; } };
8855          $t14_15 = $t13_14.$get().addr(0);
8856          $t14_15.$set($rt.builtin.cloneValue($t12_13));
8857          $t15_16 = $rt.builtin.sliceSlice($t13_14.$get(), undefined, undefined, undefined);
8858          $t16_17 = $rt.builtin.appendSlice($t4_5, $t15_16);
8859          $t4_5 = $t16_17;
8860          $block = 3; break;
8861          break;
8862        }
8863        case 5: {
8864          $t17_18 = 0;
8865          $block = 6; break;
8866          break;
8867        }
8868        case 6: {
8869          $t18_19 = $rt.builtin.len($t4_5);
8870          $t19_20 = ($t17_18 < $t18_19);
8871          if ($t19_20) {
8872            $block = 7; break;
8873          }
8874          else {
8875            $block = 8; break;
8876          }
8877          break;
8878        }
8879        case 7: {
8880          $t20_21 = ($t17_18 + 1);
8881          $t21_22 = $t20_21;
8882          $block = 9; break;
8883          break;
8884        }
8885        case 8: {
8886          $t39_40 = null;
8887          $t40_41 = 0;
8888          $block = 14; break;
8889          break;
8890        }
8891        case 9: {
8892          $t22_23 = $rt.builtin.len($t4_5);
8893          $t23_24 = ($t21_22 < $t22_23);
8894          if ($t23_24) {
8895            $block = 10; break;
8896          }
8897          else {
8898            $block = 11; break;
8899          }
8900          break;
8901        }
8902        case 10: {
8903          $t24_25 = $t4_5.addr($t21_22);
8904          $t25_26 = { $get() { return $t24_25.$get().count; }, $set(v) { const obj = $t24_25.$get(); obj.count = v; $t24_25.$set(obj); } };
8905          $t26_27 = $t25_26.$get();
8906          $t27_28 = $t4_5.addr($t17_18);
8907          $t28_29 = { $get() { return $t27_28.$get().count; }, $set(v) { const obj = $t27_28.$get(); obj.count = v; $t27_28.$set(obj); } };
8908          $t29_30 = $t28_29.$get();
8909          $t30_31 = ($t26_27 > $t29_30);
8910          if ($t30_31) {
8911            $block = 12; break;
8912          }
8913          else {
8914            $block = 13; break;
8915          }
8916          break;
8917        }
8918        case 11: {
8919          $t31_32 = ($t17_18 + 1);
8920          $t17_18 = $t31_32;
8921          $block = 6; break;
8922          break;
8923        }
8924        case 12: {
8925          $t32_33 = $t4_5.addr($t21_22);
8926          $t33_34 = $t32_33.$get();
8927          $t34_35 = $t4_5.addr($t17_18);
8928          $t35_36 = $t34_35.$get();
8929          $t36_37 = $t4_5.addr($t17_18);
8930          $t36_37.$set($rt.builtin.cloneValue($t33_34));
8931          $t37_38 = $t4_5.addr($t21_22);
8932          $t37_38.$set($rt.builtin.cloneValue($t35_36));
8933          $block = 13; break;
8934          break;
8935        }
8936        case 13: {
8937          $t38_39 = ($t21_22 + 1);
8938          $t21_22 = $t38_39;
8939          $block = 9; break;
8940          break;
8941        }
8942        case 14: {
8943          $t41_42 = $rt.builtin.len($t4_5);
8944          $t42_43 = ($t40_41 < $t41_42);
8945          if ($t42_43) {
8946            $block = 17; break;
8947          }
8948          else {
8949            $block = 16; break;
8950          }
8951          break;
8952        }
8953        case 15: {
8954          $t43_44 = $t4_5.addr($t40_41);
8955          $t44_45 = { $get() { return $t43_44.$get().url; }, $set(v) { const obj = $t43_44.$get(); obj.url = v; $t43_44.$set(obj); } };
8956          $t45_46 = $t44_45.$get();
8957          $t46_47 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
8958          $t47_48 = $t46_47.$get().addr(0);
8959          $t47_48.$set($t45_46);
8960          $t48_49 = $rt.builtin.sliceSlice($t46_47.$get(), undefined, undefined, undefined);
8961          $t49_50 = $rt.builtin.appendSlice($t39_40, $t48_49);
8962          $t50_51 = ($t40_41 + 1);
8963          $t39_40 = $t49_50;
8964          $t40_41 = $t50_51;
8965          $block = 14; break;
8966          break;
8967        }
8968        case 16: {
8969          return $t39_40;
8970          break;
8971        }
8972        case 17: {
8973          $t51_52 = ($t40_41 < n);
8974          if ($t51_52) {
8975            $block = 15; break;
8976          }
8977          else {
8978            $block = 16; break;
8979          }
8980          break;
8981        }
8982      }
8983    }
8984  }
8985  
8986  export function recordRelayFreq(ev) {
8987    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31;
8988    let $block = 0;
8989    while (true) {
8990      switch ($block) {
8991        case 0: {
8992          $t0_1 = { $get() { return ev.$get().Tags; }, $set(v) { const obj = ev.$get(); obj.Tags = v; ev.$set(obj); } };
8993          $t1_2 = $t0_1.$get();
8994          $t2_3 = common$nostr.Tags$GetAll($t1_2, 'r');
8995          $t3_4 = ($t2_3 === null);
8996          if ($t3_4) {
8997            $block = 1; break;
8998          }
8999          else {
9000            $block = 2; break;
9001          }
9002          break;
9003        }
9004        case 1: {
9005          return;
9006          break;
9007        }
9008        case 2: {
9009          $t4_5 = $rt.builtin.len($t2_3);
9010          $t5_6 = null;
9011          $t6_7 = -1;
9012          $block = 3; break;
9013          break;
9014        }
9015        case 3: {
9016          $t7_8 = ($t6_7 + 1);
9017          $t8_9 = ($t7_8 < $t4_5);
9018          if ($t8_9) {
9019            $block = 4; break;
9020          }
9021          else {
9022            $block = 5; break;
9023          }
9024          break;
9025        }
9026        case 4: {
9027          $t9_10 = $t2_3.addr($t7_8);
9028          $t10_11 = $t9_10.$get();
9029          $t11_12 = common$nostr.Tag$Value($t10_11);
9030          $t12_13 = ($t11_12 !== '');
9031          if ($t12_13) {
9032            $block = 6; break;
9033          }
9034          else {
9035            let $phi0 = $t5_6;
9036            let $phi1 = $t7_8;
9037            $t5_6 = $phi0;
9038            $t6_7 = $phi1;
9039            $block = 3; break;
9040          }
9041          break;
9042        }
9043        case 5: {
9044          $t13_14 = $rt.builtin.len($t5_6);
9045          $t14_15 = ($t13_14 > 0);
9046          if ($t14_15) {
9047            $block = 9; break;
9048          }
9049          else {
9050            $block = 10; break;
9051          }
9052          break;
9053        }
9054        case 6: {
9055          $t15_16 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
9056          $t16_17 = $t15_16.$get().addr(0);
9057          $t16_17.$set($t11_12);
9058          $t17_18 = $rt.builtin.sliceSlice($t15_16.$get(), undefined, undefined, undefined);
9059          $t18_19 = $rt.builtin.appendSlice($t5_6, $t17_18);
9060          $t19_20 = relayFreq.$get();
9061          { const $r = $rt.builtin.mapLookup($t19_20, $t11_12); $t20_21 = [$r.value, $r.ok]; }
9062          $t21_22 = $t20_21[0];
9063          $t22_23 = $t20_21[1];
9064          if ($t22_23) {
9065            $block = 7; break;
9066          }
9067          else {
9068            $block = 8; break;
9069          }
9070          break;
9071        }
9072        case 7: {
9073          $t23_24 = relayFreq.$get();
9074          $t24_25 = relayFreq.$get();
9075          $t25_26 = $rt.builtin.mapLookup($t24_25, $t11_12).value;
9076          $t26_27 = ($t25_26 + 1);
9077          $rt.builtin.mapUpdate($t23_24, $t11_12, $t26_27);
9078          $t5_6 = $t18_19;
9079          $t6_7 = $t7_8;
9080          $block = 3; break;
9081          break;
9082        }
9083        case 8: {
9084          $t27_28 = relayFreq.$get();
9085          $rt.builtin.mapUpdate($t27_28, $t11_12, 1);
9086          $t5_6 = $t18_19;
9087          $t6_7 = $t7_8;
9088          $block = 3; break;
9089          break;
9090        }
9091        case 9: {
9092          $t28_29 = authorRelays.$get();
9093          $t29_30 = { $get() { return ev.$get().PubKey; }, $set(v) { const obj = ev.$get(); obj.PubKey = v; ev.$set(obj); } };
9094          $t30_31 = $t29_30.$get();
9095          $rt.builtin.mapUpdate($t28_29, $t30_31, $t5_6);
9096          $block = 10; break;
9097          break;
9098        }
9099        case 10: {
9100          return;
9101          break;
9102        }
9103      }
9104    }
9105  }
9106  
9107  export function buildProxy(pk) {
9108    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36;
9109    let $block = 0;
9110    while (true) {
9111      switch ($block) {
9112        case 0: {
9113          $t0_1 = discoveryRelays.$get();
9114          $t1_2 = $rt.builtin.len($t0_1);
9115          $t2_3 = $rt.builtin.makeSlice($t1_2, $t1_2, '');
9116          $t3_4 = discoveryRelays.$get();
9117          $t4_5 = $rt.builtin.copy($t2_3, $t3_4);
9118          $t5_6 = relayURLs.$get();
9119          $t6_7 = $rt.builtin.len($t5_6);
9120          $t7_8 = $t2_3;
9121          $t8_9 = -1;
9122          $block = 1; break;
9123          break;
9124        }
9125        case 1: {
9126          $t9_10 = ($t8_9 + 1);
9127          $t10_11 = ($t9_10 < $t6_7);
9128          if ($t10_11) {
9129            $block = 2; break;
9130          }
9131          else {
9132            $block = 3; break;
9133          }
9134          break;
9135        }
9136        case 2: {
9137          $t11_12 = $t5_6.addr($t9_10);
9138          $t12_13 = $t11_12.$get();
9139          $t13_14 = appendUnique($t7_8, $t12_13);
9140          $t7_8 = $t13_14;
9141          $t8_9 = $t9_10;
9142          $block = 1; break;
9143          break;
9144        }
9145        case 3: {
9146          $t14_15 = authorRelays.$get();
9147          { const $r = $rt.builtin.mapLookup($t14_15, pk); $t15_16 = [$r.value, $r.ok]; }
9148          $t16_17 = $t15_16[0];
9149          $t17_18 = $t15_16[1];
9150          if ($t17_18) {
9151            $block = 4; break;
9152          }
9153          else {
9154            $t19_20 = $t7_8;
9155            $block = 5; break;
9156          }
9157          break;
9158        }
9159        case 4: {
9160          $t18_19 = $rt.builtin.len($t16_17);
9161          $t22_23 = $t7_8;
9162          $t23_24 = -1;
9163          $block = 6; break;
9164          break;
9165        }
9166        case 5: {
9167          $t20_21 = topRelays(4);
9168          $t21_22 = $rt.builtin.len($t20_21);
9169          $t29_30 = $t19_20;
9170          $t30_31 = -1;
9171          $block = 8; break;
9172          break;
9173        }
9174        case 6: {
9175          $t24_25 = ($t23_24 + 1);
9176          $t25_26 = ($t24_25 < $t18_19);
9177          if ($t25_26) {
9178            $block = 7; break;
9179          }
9180          else {
9181            $t19_20 = $t22_23;
9182            $block = 5; break;
9183          }
9184          break;
9185        }
9186        case 7: {
9187          $t26_27 = $t16_17.addr($t24_25);
9188          $t27_28 = $t26_27.$get();
9189          $t28_29 = appendUnique($t22_23, $t27_28);
9190          $t22_23 = $t28_29;
9191          $t23_24 = $t24_25;
9192          $block = 6; break;
9193          break;
9194        }
9195        case 8: {
9196          $t31_32 = ($t30_31 + 1);
9197          $t32_33 = ($t31_32 < $t21_22);
9198          if ($t32_33) {
9199            $block = 9; break;
9200          }
9201          else {
9202            $block = 10; break;
9203          }
9204          break;
9205        }
9206        case 9: {
9207          $t33_34 = $t20_21.addr($t31_32);
9208          $t34_35 = $t33_34.$get();
9209          $t35_36 = appendUnique($t29_30, $t34_35);
9210          $t29_30 = $t35_36;
9211          $t30_31 = $t31_32;
9212          $block = 8; break;
9213          break;
9214        }
9215        case 10: {
9216          return $t29_30;
9217          break;
9218        }
9219      }
9220    }
9221  }
9222  
9223  export function appendUnique(list, val) {
9224    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
9225    let $block = 0;
9226    while (true) {
9227      switch ($block) {
9228        case 0: {
9229          $t0_1 = $rt.builtin.len(list);
9230          $t1_2 = -1;
9231          $block = 1; break;
9232          break;
9233        }
9234        case 1: {
9235          $t2_3 = ($t1_2 + 1);
9236          $t3_4 = ($t2_3 < $t0_1);
9237          if ($t3_4) {
9238            $block = 2; break;
9239          }
9240          else {
9241            $block = 3; break;
9242          }
9243          break;
9244        }
9245        case 2: {
9246          $t4_5 = list.addr($t2_3);
9247          $t5_6 = $t4_5.$get();
9248          $t6_7 = ($t5_6 === val);
9249          if ($t6_7) {
9250            $block = 4; break;
9251          }
9252          else {
9253            $t1_2 = $t2_3;
9254            $block = 1; break;
9255          }
9256          break;
9257        }
9258        case 3: {
9259          $t7_8 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
9260          $t8_9 = $t7_8.$get().addr(0);
9261          $t8_9.$set(val);
9262          $t9_10 = $rt.builtin.sliceSlice($t7_8.$get(), undefined, undefined, undefined);
9263          $t10_11 = $rt.builtin.appendSlice(list, $t9_10);
9264          return $t10_11;
9265          break;
9266        }
9267        case 4: {
9268          return list;
9269          break;
9270        }
9271      }
9272    }
9273  }
9274  
9275  export function fetchAuthorProfile(pk) {
9276    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15;
9277    let $block = 0;
9278    while (true) {
9279      switch ($block) {
9280        case 0: {
9281          $t0_1 = fetchedK0.$get();
9282          $t1_2 = $rt.builtin.mapLookup($t0_1, pk).value;
9283          if ($t1_2) {
9284            $block = 1; break;
9285          }
9286          else {
9287            $block = 2; break;
9288          }
9289          break;
9290        }
9291        case 1: {
9292          return;
9293          break;
9294        }
9295        case 2: {
9296          $t2_3 = fetchedK0.$get();
9297          $rt.builtin.mapUpdate($t2_3, pk, true);
9298          $t3_4 = profileSubCounter.$get();
9299          $t4_5 = ($t3_4 + 1);
9300          profileSubCounter.$set($t4_5);
9301          $t5_6 = profileSubCounter.$get();
9302          $t6_7 = itoa($t5_6);
9303          $t7_8 = ('ap-' + $t6_7);
9304          $t8_9 = authorSubPK.$get();
9305          $rt.builtin.mapUpdate($t8_9, $t7_8, pk);
9306          $t9_10 = buildProxy(pk);
9307          $t10_11 = jstr(pk);
9308          $t11_12 = ('{"authors":[' + $t10_11);
9309          $t12_13 = ($t11_12 + '],"kinds":[0,3,10002,10000],"limit":6}');
9310          $t13_14 = buildProxyMsg($t7_8, $t12_13, $t9_10);
9311          $t14_15 = common$jsbridge$dom.PostToSW($t13_14);
9312          return;
9313          break;
9314        }
9315      }
9316    }
9317  }
9318  
9319  export function queueProfileFetch(pk) {
9320    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13;
9321    let $block = 0;
9322    while (true) {
9323      switch ($block) {
9324        case 0: {
9325          $t0_1 = fetchedK0.$get();
9326          $t1_2 = $rt.builtin.mapLookup($t0_1, pk).value;
9327          if ($t1_2) {
9328            $block = 1; break;
9329          }
9330          else {
9331            $block = 2; break;
9332          }
9333          break;
9334        }
9335        case 1: {
9336          return;
9337          break;
9338        }
9339        case 2: {
9340          $t2_3 = fetchedK0.$get();
9341          $rt.builtin.mapUpdate($t2_3, pk, true);
9342          $t3_4 = fetchQueue.$get();
9343          $t4_5 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
9344          $t5_6 = $t4_5.$get().addr(0);
9345          $t5_6.$set(pk);
9346          $t6_7 = $rt.builtin.sliceSlice($t4_5.$get(), undefined, undefined, undefined);
9347          $t7_8 = $rt.builtin.appendSlice($t3_4, $t6_7);
9348          fetchQueue.$set($t7_8);
9349          $t8_9 = fetchTimer.$get();
9350          $t9_10 = ($t8_9 !== 0);
9351          if ($t9_10) {
9352            $block = 3; break;
9353          }
9354          else {
9355            $block = 4; break;
9356          }
9357          break;
9358        }
9359        case 3: {
9360          $t10_11 = fetchTimer.$get();
9361          $t11_12 = common$jsbridge$dom.ClearTimeout($t10_11);
9362          $block = 4; break;
9363          break;
9364        }
9365        case 4: {
9366          $t12_13 = common$jsbridge$dom.SetTimeout(queueProfileFetch$1, 300);
9367          fetchTimer.$set($t12_13);
9368          return;
9369          break;
9370        }
9371      }
9372    }
9373  }
9374  
9375  function queueProfileFetch$1() {
9376    let $t0_1;
9377    fetchTimer.$set(0);
9378    $t0_1 = flushFetchQueue();
9379    return;
9380  }
9381  
9382  export function flushFetchQueue() {
9383    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96;
9384    let $block = 0;
9385    while (true) {
9386      switch ($block) {
9387        case 0: {
9388          $t0_1 = fetchQueue.$get();
9389          $t1_2 = $rt.builtin.len($t0_1);
9390          $t2_3 = ($t1_2 === 0);
9391          if ($t2_3) {
9392            $block = 1; break;
9393          }
9394          else {
9395            $block = 2; break;
9396          }
9397          break;
9398        }
9399        case 1: {
9400          return;
9401          break;
9402        }
9403        case 2: {
9404          $t3_4 = fetchQueue.$get();
9405          fetchQueue.$set(null);
9406          $t4_5 = discoveryRelays.$get();
9407          $t5_6 = $rt.builtin.len($t4_5);
9408          $t6_7 = $rt.builtin.makeSlice($t5_6, $t5_6, '');
9409          $t7_8 = discoveryRelays.$get();
9410          $t8_9 = $rt.builtin.copy($t6_7, $t7_8);
9411          $t9_10 = relayURLs.$get();
9412          $t10_11 = $rt.builtin.len($t9_10);
9413          $t11_12 = $t6_7;
9414          $t12_13 = -1;
9415          $block = 3; break;
9416          break;
9417        }
9418        case 3: {
9419          $t13_14 = ($t12_13 + 1);
9420          $t14_15 = ($t13_14 < $t10_11);
9421          if ($t14_15) {
9422            $block = 4; break;
9423          }
9424          else {
9425            $block = 5; break;
9426          }
9427          break;
9428        }
9429        case 4: {
9430          $t15_16 = $t9_10.addr($t13_14);
9431          $t16_17 = $t15_16.$get();
9432          $t17_18 = appendUnique($t11_12, $t16_17);
9433          $t11_12 = $t17_18;
9434          $t12_13 = $t13_14;
9435          $block = 3; break;
9436          break;
9437        }
9438        case 5: {
9439          $t18_19 = $rt.builtin.len($t3_4);
9440          $t19_20 = $t11_12;
9441          $t20_21 = -1;
9442          $block = 6; break;
9443          break;
9444        }
9445        case 6: {
9446          $t21_22 = ($t20_21 + 1);
9447          $t22_23 = ($t21_22 < $t18_19);
9448          if ($t22_23) {
9449            $block = 7; break;
9450          }
9451          else {
9452            $block = 8; break;
9453          }
9454          break;
9455        }
9456        case 7: {
9457          $t23_24 = $t3_4.addr($t21_22);
9458          $t24_25 = $t23_24.$get();
9459          $t25_26 = authorRelays.$get();
9460          { const $r = $rt.builtin.mapLookup($t25_26, $t24_25); $t26_27 = [$r.value, $r.ok]; }
9461          $t27_28 = $t26_27[0];
9462          $t28_29 = $t26_27[1];
9463          if ($t28_29) {
9464            $block = 9; break;
9465          }
9466          else {
9467            let $phi0 = $t19_20;
9468            let $phi1 = $t21_22;
9469            $t19_20 = $phi0;
9470            $t20_21 = $phi1;
9471            $block = 6; break;
9472          }
9473          break;
9474        }
9475        case 8: {
9476          $t29_30 = topRelays(4);
9477          $t30_31 = $rt.builtin.len($t29_30);
9478          $t39_40 = $t19_20;
9479          $t40_41 = -1;
9480          $block = 12; break;
9481          break;
9482        }
9483        case 9: {
9484          $t31_32 = $rt.builtin.len($t27_28);
9485          $t32_33 = $t19_20;
9486          $t33_34 = -1;
9487          $block = 10; break;
9488          break;
9489        }
9490        case 10: {
9491          $t34_35 = ($t33_34 + 1);
9492          $t35_36 = ($t34_35 < $t31_32);
9493          if ($t35_36) {
9494            $block = 11; break;
9495          }
9496          else {
9497            $t19_20 = $t32_33;
9498            $t20_21 = $t21_22;
9499            $block = 6; break;
9500          }
9501          break;
9502        }
9503        case 11: {
9504          $t36_37 = $t27_28.addr($t34_35);
9505          $t37_38 = $t36_37.$get();
9506          $t38_39 = appendUnique($t32_33, $t37_38);
9507          $t32_33 = $t38_39;
9508          $t33_34 = $t34_35;
9509          $block = 10; break;
9510          break;
9511        }
9512        case 12: {
9513          $t41_42 = ($t40_41 + 1);
9514          $t42_43 = ($t41_42 < $t30_31);
9515          if ($t42_43) {
9516            $block = 13; break;
9517          }
9518          else {
9519            $block = 14; break;
9520          }
9521          break;
9522        }
9523        case 13: {
9524          $t43_44 = $t29_30.addr($t41_42);
9525          $t44_45 = $t43_44.$get();
9526          $t45_46 = appendUnique($t39_40, $t44_45);
9527          $t39_40 = $t45_46;
9528          $t40_41 = $t41_42;
9529          $block = 12; break;
9530          break;
9531        }
9532        case 14: {
9533          $t46_47 = 0;
9534          $block = 15; break;
9535          break;
9536        }
9537        case 15: {
9538          $t47_48 = $rt.builtin.len($t3_4);
9539          $t48_49 = ($t46_47 < $t47_48);
9540          if ($t48_49) {
9541            $block = 16; break;
9542          }
9543          else {
9544            $block = 17; break;
9545          }
9546          break;
9547        }
9548        case 16: {
9549          $t49_50 = ($t46_47 + 100);
9550          $t50_51 = $rt.builtin.len($t3_4);
9551          $t51_52 = ($t49_50 > $t50_51);
9552          if ($t51_52) {
9553            $block = 18; break;
9554          }
9555          else {
9556            $t53_54 = $t49_50;
9557            $block = 19; break;
9558          }
9559          break;
9560        }
9561        case 17: {
9562          return;
9563          break;
9564        }
9565        case 18: {
9566          $t52_53 = $rt.builtin.len($t3_4);
9567          $t53_54 = $t52_53;
9568          $block = 19; break;
9569          break;
9570        }
9571        case 19: {
9572          $t54_55 = $rt.builtin.sliceSlice($t3_4, $t46_47, $t53_54, undefined);
9573          $t55_56 = $rt.builtin.len($t54_55);
9574          $t56_57 = '[';
9575          $t57_58 = -1;
9576          $block = 20; break;
9577          break;
9578        }
9579        case 20: {
9580          $t58_59 = ($t57_58 + 1);
9581          $t59_60 = ($t58_59 < $t55_56);
9582          if ($t59_60) {
9583            $block = 21; break;
9584          }
9585          else {
9586            $block = 22; break;
9587          }
9588          break;
9589        }
9590        case 21: {
9591          $t60_61 = $t54_55.addr($t58_59);
9592          $t61_62 = $t60_61.$get();
9593          $t62_63 = ($t58_59 > 0);
9594          if ($t62_63) {
9595            $block = 23; break;
9596          }
9597          else {
9598            $t93_94 = $t56_57;
9599            $block = 24; break;
9600          }
9601          break;
9602        }
9603        case 22: {
9604          $t63_64 = ($t56_57 + ']');
9605          $t64_65 = profileSubCounter.$get();
9606          $t65_66 = ($t64_65 + 1);
9607          profileSubCounter.$set($t65_66);
9608          $t66_67 = profileSubCounter.$get();
9609          $t67_68 = itoa($t66_67);
9610          $t68_69 = ('ap-batch-q-' + $t67_68);
9611          $t69_70 = ('{"authors":' + $t63_64);
9612          $t70_71 = ($t69_70 + ',"kinds":[0],"limit":');
9613          $t71_72 = $rt.builtin.len($t54_55);
9614          $t72_73 = itoa($t71_72);
9615          $t73_74 = ($t70_71 + $t72_73);
9616          $t74_75 = ($t73_74 + '}');
9617          $t75_76 = buildProxyMsg($t68_69, $t74_75, $t39_40);
9618          $t76_77 = common$jsbridge$dom.PostToSW($t75_76);
9619          $t77_78 = profileSubCounter.$get();
9620          $t78_79 = ($t77_78 + 1);
9621          profileSubCounter.$set($t78_79);
9622          $t79_80 = profileSubCounter.$get();
9623          $t80_81 = itoa($t79_80);
9624          $t81_82 = ('ap-d-' + $t80_81);
9625          $t82_83 = ('{"authors":' + $t63_64);
9626          $t83_84 = ($t82_83 + ',"kinds":[0],"limit":');
9627          $t84_85 = $rt.builtin.len($t54_55);
9628          $t85_86 = itoa($t84_85);
9629          $t86_87 = ($t83_84 + $t85_86);
9630          $t87_88 = ($t86_87 + '}');
9631          $t88_89 = relayURLs.$get();
9632          $t89_90 = buildProxyMsg($t81_82, $t87_88, $t88_89);
9633          $t90_91 = common$jsbridge$dom.PostToSW($t89_90);
9634          $t91_92 = ($t46_47 + 100);
9635          $t46_47 = $t91_92;
9636          $block = 15; break;
9637          break;
9638        }
9639        case 23: {
9640          $t92_93 = ($t56_57 + ',');
9641          $t93_94 = $t92_93;
9642          $block = 24; break;
9643          break;
9644        }
9645        case 24: {
9646          $t94_95 = jstr($t61_62);
9647          $t95_96 = ($t93_94 + $t94_95);
9648          $t56_57 = $t95_96;
9649          $t57_58 = $t58_59;
9650          $block = 20; break;
9651          break;
9652        }
9653      }
9654    }
9655  }
9656  
9657  export function retryMissingProfiles() {
9658    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102;
9659    let $block = 0;
9660    while (true) {
9661      switch ($block) {
9662        case 0: {
9663          $t0_1 = pendingNotes.$get();
9664          $t1_2 = { $entries: [...$t0_1.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
9665          $t2_3 = null;
9666          $block = 1; break;
9667          break;
9668        }
9669        case 1: {
9670          $t3_4 = $t1_2.next();
9671          $t4_5 = $t3_4[0];
9672          if ($t4_5) {
9673            $block = 2; break;
9674          }
9675          else {
9676            $block = 3; break;
9677          }
9678          break;
9679        }
9680        case 2: {
9681          $t5_6 = $t3_4[1];
9682          $t6_7 = authorNames.$get();
9683          { const $r = $rt.builtin.mapLookup($t6_7, $t5_6); $t7_8 = [$r.value, $r.ok]; }
9684          $t8_9 = $t7_8[0];
9685          $t9_10 = $t7_8[1];
9686          if ($t9_10) {
9687            $t2_3 = $t2_3;
9688            $block = 1; break;
9689          }
9690          else {
9691            $block = 4; break;
9692          }
9693          break;
9694        }
9695        case 3: {
9696          $t10_11 = $rt.builtin.len($t2_3);
9697          $t11_12 = ($t10_11 === 0);
9698          if ($t11_12) {
9699            $block = 5; break;
9700          }
9701          else {
9702            $block = 6; break;
9703          }
9704          break;
9705        }
9706        case 4: {
9707          $t12_13 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
9708          $t13_14 = $t12_13.$get().addr(0);
9709          $t13_14.$set($t5_6);
9710          $t14_15 = $rt.builtin.sliceSlice($t12_13.$get(), undefined, undefined, undefined);
9711          $t15_16 = $rt.builtin.appendSlice($t2_3, $t14_15);
9712          $t2_3 = $t15_16;
9713          $block = 1; break;
9714          break;
9715        }
9716        case 5: {
9717          return;
9718          break;
9719        }
9720        case 6: {
9721          $t16_17 = $rt.builtin.len($t2_3);
9722          $t17_18 = -1;
9723          $block = 7; break;
9724          break;
9725        }
9726        case 7: {
9727          $t18_19 = ($t17_18 + 1);
9728          $t19_20 = ($t18_19 < $t16_17);
9729          if ($t19_20) {
9730            $block = 8; break;
9731          }
9732          else {
9733            $block = 9; break;
9734          }
9735          break;
9736        }
9737        case 8: {
9738          $t20_21 = $t2_3.addr($t18_19);
9739          $t21_22 = $t20_21.$get();
9740          $t22_23 = fetchedK0.$get();
9741          $rt.builtin.mapUpdate($t22_23, $t21_22, false);
9742          $t17_18 = $t18_19;
9743          $block = 7; break;
9744          break;
9745        }
9746        case 9: {
9747          $t23_24 = discoveryRelays.$get();
9748          $t24_25 = $rt.builtin.len($t23_24);
9749          $t25_26 = $rt.builtin.makeSlice($t24_25, $t24_25, '');
9750          $t26_27 = discoveryRelays.$get();
9751          $t27_28 = $rt.builtin.copy($t25_26, $t26_27);
9752          $t28_29 = relayURLs.$get();
9753          $t29_30 = $rt.builtin.len($t28_29);
9754          $t30_31 = $t25_26;
9755          $t31_32 = -1;
9756          $block = 10; break;
9757          break;
9758        }
9759        case 10: {
9760          $t32_33 = ($t31_32 + 1);
9761          $t33_34 = ($t32_33 < $t29_30);
9762          if ($t33_34) {
9763            $block = 11; break;
9764          }
9765          else {
9766            $block = 12; break;
9767          }
9768          break;
9769        }
9770        case 11: {
9771          $t34_35 = $t28_29.addr($t32_33);
9772          $t35_36 = $t34_35.$get();
9773          $t36_37 = appendUnique($t30_31, $t35_36);
9774          $t30_31 = $t36_37;
9775          $t31_32 = $t32_33;
9776          $block = 10; break;
9777          break;
9778        }
9779        case 12: {
9780          $t37_38 = topRelays(8);
9781          $t38_39 = $rt.builtin.len($t37_38);
9782          $t39_40 = $t30_31;
9783          $t40_41 = -1;
9784          $block = 13; break;
9785          break;
9786        }
9787        case 13: {
9788          $t41_42 = ($t40_41 + 1);
9789          $t42_43 = ($t41_42 < $t38_39);
9790          if ($t42_43) {
9791            $block = 14; break;
9792          }
9793          else {
9794            $block = 15; break;
9795          }
9796          break;
9797        }
9798        case 14: {
9799          $t43_44 = $t37_38.addr($t41_42);
9800          $t44_45 = $t43_44.$get();
9801          $t45_46 = appendUnique($t39_40, $t44_45);
9802          $t39_40 = $t45_46;
9803          $t40_41 = $t41_42;
9804          $block = 13; break;
9805          break;
9806        }
9807        case 15: {
9808          $t46_47 = 0;
9809          $t47_48 = 0;
9810          $block = 16; break;
9811          break;
9812        }
9813        case 16: {
9814          $t48_49 = $rt.builtin.len($t2_3);
9815          $t49_50 = ($t47_48 < $t48_49);
9816          if ($t49_50) {
9817            $block = 17; break;
9818          }
9819          else {
9820            $block = 18; break;
9821          }
9822          break;
9823        }
9824        case 17: {
9825          $t50_51 = ($t47_48 + 100);
9826          $t51_52 = $rt.builtin.len($t2_3);
9827          $t52_53 = ($t50_51 > $t51_52);
9828          if ($t52_53) {
9829            $block = 19; break;
9830          }
9831          else {
9832            $t56_57 = $t50_51;
9833            $block = 20; break;
9834          }
9835          break;
9836        }
9837        case 18: {
9838          $t53_54 = retryRound.$get();
9839          $t54_55 = ($t53_54 + 1);
9840          retryRound.$set($t54_55);
9841          return;
9842          break;
9843        }
9844        case 19: {
9845          $t55_56 = $rt.builtin.len($t2_3);
9846          $t56_57 = $t55_56;
9847          $block = 20; break;
9848          break;
9849        }
9850        case 20: {
9851          $t57_58 = $rt.builtin.sliceSlice($t2_3, $t47_48, $t56_57, undefined);
9852          $t58_59 = $rt.builtin.len($t57_58);
9853          $t59_60 = '[';
9854          $t60_61 = -1;
9855          $block = 21; break;
9856          break;
9857        }
9858        case 21: {
9859          $t61_62 = ($t60_61 + 1);
9860          $t62_63 = ($t61_62 < $t58_59);
9861          if ($t62_63) {
9862            $block = 22; break;
9863          }
9864          else {
9865            $block = 23; break;
9866          }
9867          break;
9868        }
9869        case 22: {
9870          $t63_64 = $t57_58.addr($t61_62);
9871          $t64_65 = $t63_64.$get();
9872          $t65_66 = ($t61_62 > 0);
9873          if ($t65_66) {
9874            $block = 24; break;
9875          }
9876          else {
9877            $t99_100 = $t59_60;
9878            $block = 25; break;
9879          }
9880          break;
9881        }
9882        case 23: {
9883          $t66_67 = ($t59_60 + ']');
9884          $t67_68 = retryRound.$get();
9885          $t68_69 = itoa($t67_68);
9886          $t69_70 = ('ap-batch-' + $t68_69);
9887          $t70_71 = ($t69_70 + '-');
9888          $t71_72 = itoa($t46_47);
9889          $t72_73 = ($t70_71 + $t71_72);
9890          $t73_74 = ($t46_47 + 1);
9891          $t74_75 = ('{"authors":' + $t66_67);
9892          $t75_76 = ($t74_75 + ',"kinds":[0,10002],"limit":');
9893          $t76_77 = $rt.builtin.len($t57_58);
9894          $t77_78 = ($t76_77 * 2);
9895          $t78_79 = itoa($t77_78);
9896          $t79_80 = ($t75_76 + $t78_79);
9897          $t80_81 = ($t79_80 + '}');
9898          $t81_82 = buildProxyMsg($t72_73, $t80_81, $t39_40);
9899          $t82_83 = common$jsbridge$dom.PostToSW($t81_82);
9900          $t83_84 = profileSubCounter.$get();
9901          $t84_85 = ($t83_84 + 1);
9902          profileSubCounter.$set($t84_85);
9903          $t85_86 = profileSubCounter.$get();
9904          $t86_87 = itoa($t85_86);
9905          $t87_88 = ('ap-d-' + $t86_87);
9906          $t88_89 = ('{"authors":' + $t66_67);
9907          $t89_90 = ($t88_89 + ',"kinds":[0],"limit":');
9908          $t90_91 = $rt.builtin.len($t57_58);
9909          $t91_92 = itoa($t90_91);
9910          $t92_93 = ($t89_90 + $t91_92);
9911          $t93_94 = ($t92_93 + '}');
9912          $t94_95 = relayURLs.$get();
9913          $t95_96 = buildProxyMsg($t87_88, $t93_94, $t94_95);
9914          $t96_97 = common$jsbridge$dom.PostToSW($t95_96);
9915          $t97_98 = ($t47_48 + 100);
9916          $t46_47 = $t73_74;
9917          $t47_48 = $t97_98;
9918          $block = 16; break;
9919          break;
9920        }
9921        case 24: {
9922          $t98_99 = ($t59_60 + ',');
9923          $t99_100 = $t98_99;
9924          $block = 25; break;
9925          break;
9926        }
9927        case 25: {
9928          $t100_101 = jstr($t64_65);
9929          $t101_102 = ($t99_100 + $t100_101);
9930          $t59_60 = $t101_102;
9931          $t60_61 = $t61_62;
9932          $block = 21; break;
9933          break;
9934        }
9935      }
9936    }
9937  }
9938  
9939  export function applyAuthorProfile(pk, ev) {
9940    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62;
9941    let $block = 0;
9942    while (true) {
9943      switch ($block) {
9944        case 0: {
9945          $t0_1 = { $get() { return ev.$get().CreatedAt; }, $set(v) { const obj = ev.$get(); obj.CreatedAt = v; ev.$set(obj); } };
9946          $t1_2 = $t0_1.$get();
9947          $t2_3 = authorTs.$get();
9948          $t3_4 = $rt.builtin.mapLookup($t2_3, pk).value;
9949          $t4_5 = ($t1_2 <= $t3_4);
9950          if ($t4_5) {
9951            $block = 1; break;
9952          }
9953          else {
9954            $block = 2; break;
9955          }
9956          break;
9957        }
9958        case 1: {
9959          return;
9960          break;
9961        }
9962        case 2: {
9963          $t5_6 = authorTs.$get();
9964          $t6_7 = { $get() { return ev.$get().CreatedAt; }, $set(v) { const obj = ev.$get(); obj.CreatedAt = v; ev.$set(obj); } };
9965          $t7_8 = $t6_7.$get();
9966          $rt.builtin.mapUpdate($t5_6, pk, $t7_8);
9967          $t8_9 = authorContent.$get();
9968          $t9_10 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
9969          $t10_11 = $t9_10.$get();
9970          $rt.builtin.mapUpdate($t8_9, pk, $t10_11);
9971          $t11_12 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
9972          $t12_13 = $t11_12.$get();
9973          $t13_14 = common$helpers.JsonGetString($t12_13, 'name');
9974          $t14_15 = ($t13_14 === '');
9975          if ($t14_15) {
9976            $block = 3; break;
9977          }
9978          else {
9979            $t18_19 = $t13_14;
9980            $block = 4; break;
9981          }
9982          break;
9983        }
9984        case 3: {
9985          $t15_16 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
9986          $t16_17 = $t15_16.$get();
9987          $t17_18 = common$helpers.JsonGetString($t16_17, 'display_name');
9988          $t18_19 = $t17_18;
9989          $block = 4; break;
9990          break;
9991        }
9992        case 4: {
9993          $t19_20 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
9994          $t20_21 = $t19_20.$get();
9995          $t21_22 = common$helpers.JsonGetString($t20_21, 'picture');
9996          $t22_23 = ($t18_19 !== '');
9997          if ($t22_23) {
9998            $block = 5; break;
9999          }
10000          else {
10001            $block = 6; break;
10002          }
10003          break;
10004        }
10005        case 5: {
10006          $t23_24 = authorNames.$get();
10007          $rt.builtin.mapUpdate($t23_24, pk, $t18_19);
10008          $block = 6; break;
10009          break;
10010        }
10011        case 6: {
10012          $t24_25 = ($t21_22 !== '');
10013          if ($t24_25) {
10014            $block = 7; break;
10015          }
10016          else {
10017            $block = 8; break;
10018          }
10019          break;
10020        }
10021        case 7: {
10022          $t25_26 = authorPics.$get();
10023          $rt.builtin.mapUpdate($t25_26, pk, $t21_22);
10024          $block = 8; break;
10025          break;
10026        }
10027        case 8: {
10028          $t26_27 = ($t18_19 !== '');
10029          if ($t26_27) {
10030            $block = 9; break;
10031          }
10032          else {
10033            $block = 11; break;
10034          }
10035          break;
10036        }
10037        case 9: {
10038          $t27_28 = jsonEsc($t18_19);
10039          $t28_29 = ('{"name":"' + $t27_28);
10040          $t29_30 = ($t28_29 + '","picture":"');
10041          $t30_31 = jsonEsc($t21_22);
10042          $t31_32 = ($t29_30 + $t30_31);
10043          $t32_33 = ($t31_32 + '"}');
10044          $t33_34 = common$jsbridge$dom.IDBPut('profiles', pk, $t32_33);
10045          $block = 10; break;
10046          break;
10047        }
10048        case 10: {
10049          $t34_35 = pubhex.$get();
10050          $t35_36 = (pk === $t34_35);
10051          if ($t35_36) {
10052            $block = 12; break;
10053          }
10054          else {
10055            $block = 13; break;
10056          }
10057          break;
10058        }
10059        case 11: {
10060          $t36_37 = ($t21_22 !== '');
10061          if ($t36_37) {
10062            $block = 9; break;
10063          }
10064          else {
10065            $block = 10; break;
10066          }
10067          break;
10068        }
10069        case 12: {
10070          $t37_38 = ($t18_19 !== '');
10071          if ($t37_38) {
10072            $block = 14; break;
10073          }
10074          else {
10075            $block = 15; break;
10076          }
10077          break;
10078        }
10079        case 13: {
10080          $t38_39 = pendingNotes.$get();
10081          { const $r = $rt.builtin.mapLookup($t38_39, pk); $t39_40 = [$r.value, $r.ok]; }
10082          $t40_41 = $t39_40[0];
10083          $t41_42 = $t39_40[1];
10084          if ($t41_42) {
10085            $block = 19; break;
10086          }
10087          else {
10088            $block = 18; break;
10089          }
10090          break;
10091        }
10092        case 14: {
10093          profileName.$set($t18_19);
10094          $t42_43 = nameEl.$get();
10095          $t43_44 = common$jsbridge$dom.SetTextContent($t42_43, $t18_19);
10096          $block = 15; break;
10097          break;
10098        }
10099        case 15: {
10100          $t44_45 = ($t21_22 !== '');
10101          if ($t44_45) {
10102            $block = 16; break;
10103          }
10104          else {
10105            $block = 13; break;
10106          }
10107          break;
10108        }
10109        case 16: {
10110          profilePic.$set($t21_22);
10111          $t45_46 = avatarEl.$get();
10112          $t46_47 = common$jsbridge$dom.SetAttribute($t45_46, 'src', $t21_22);
10113          $t47_48 = avatarEl.$get();
10114          $t48_49 = common$jsbridge$dom.SetStyle($t47_48, 'display', 'block');
10115          $block = 13; break;
10116          break;
10117        }
10118        case 17: {
10119          $t49_50 = $rt.builtin.len($t40_41);
10120          $t53_54 = -1;
10121          $block = 20; break;
10122          break;
10123        }
10124        case 18: {
10125          $t50_51 = profileViewPK.$get();
10126          $t51_52 = ($t50_51 === pk);
10127          if ($t51_52) {
10128            $block = 23; break;
10129          }
10130          else {
10131            $block = 24; break;
10132          }
10133          break;
10134        }
10135        case 19: {
10136          $t52_53 = ($t18_19 !== '');
10137          if ($t52_53) {
10138            $block = 17; break;
10139          }
10140          else {
10141            $block = 18; break;
10142          }
10143          break;
10144        }
10145        case 20: {
10146          $t54_55 = ($t53_54 + 1);
10147          $t55_56 = ($t54_55 < $t49_50);
10148          if ($t55_56) {
10149            $block = 21; break;
10150          }
10151          else {
10152            $block = 22; break;
10153          }
10154          break;
10155        }
10156        case 21: {
10157          $t56_57 = $t40_41.addr($t54_55);
10158          $t57_58 = $t56_57.$get();
10159          $t58_59 = updateNoteHeader($t57_58, $t18_19, $t21_22);
10160          $t53_54 = $t54_55;
10161          $block = 20; break;
10162          break;
10163        }
10164        case 22: {
10165          $t59_60 = pendingNotes.$get();
10166          $t60_61 = $rt.builtin.mapDelete($t59_60, pk);
10167          $block = 18; break;
10168          break;
10169        }
10170        case 23: {
10171          $t61_62 = renderProfilePage(pk);
10172          $block = 24; break;
10173          break;
10174        }
10175        case 24: {
10176          return;
10177          break;
10178        }
10179      }
10180    }
10181  }
10182  
10183  export function updateNoteHeader(header, name, pic) {
10184    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
10185    let $block = 0;
10186    while (true) {
10187      switch ($block) {
10188        case 0: {
10189          $t0_1 = common$jsbridge$dom.FirstChild(header);
10190          $t1_2 = ($t0_1 === 0);
10191          if ($t1_2) {
10192            $block = 1; break;
10193          }
10194          else {
10195            $block = 2; break;
10196          }
10197          break;
10198        }
10199        case 1: {
10200          return;
10201          break;
10202        }
10203        case 2: {
10204          $t2_3 = common$jsbridge$dom.NextSibling($t0_1);
10205          $t3_4 = (pic !== '');
10206          if ($t3_4) {
10207            $block = 3; break;
10208          }
10209          else {
10210            $block = 4; break;
10211          }
10212          break;
10213        }
10214        case 3: {
10215          $t4_5 = common$jsbridge$dom.SetAttribute($t0_1, 'src', pic);
10216          $t5_6 = common$jsbridge$dom.SetAttribute($t0_1, 'onerror', 'this.style.display=\'none\'');
10217          $t6_7 = common$jsbridge$dom.SetStyle($t0_1, 'display', '');
10218          $block = 4; break;
10219          break;
10220        }
10221        case 4: {
10222          $t7_8 = (name !== '');
10223          if ($t7_8) {
10224            $block = 5; break;
10225          }
10226          else {
10227            $block = 6; break;
10228          }
10229          break;
10230        }
10231        case 5: {
10232          $t8_9 = common$jsbridge$dom.SetTextContent($t2_3, name);
10233          $block = 6; break;
10234          break;
10235        }
10236        case 6: {
10237          return;
10238          break;
10239        }
10240      }
10241    }
10242  }
10243  
10244  export function showProfile(pk) {
10245    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21;
10246    let $block = 0;
10247    while (true) {
10248      switch ($block) {
10249        case 0: {
10250          profileViewPK.$set(pk);
10251          $t0_1 = authorContent.$get();
10252          { const $r = $rt.builtin.mapLookup($t0_1, pk); $t1_2 = [$r.value, $r.ok]; }
10253          $t2_3 = $t1_2[0];
10254          $t3_4 = $t1_2[1];
10255          if ($t3_4) {
10256            $block = 2; break;
10257          }
10258          else {
10259            $block = 1; break;
10260          }
10261          break;
10262        }
10263        case 1: {
10264          $t4_5 = fetchedK0.$get();
10265          $rt.builtin.mapUpdate($t4_5, pk, false);
10266          $t5_6 = fetchAuthorProfile(pk);
10267          $block = 2; break;
10268          break;
10269        }
10270        case 2: {
10271          $t6_7 = renderProfilePage(pk);
10272          $t7_8 = authorNames.$get();
10273          { const $r = $rt.builtin.mapLookup($t7_8, pk); $t8_9 = [$r.value, $r.ok]; }
10274          $t9_10 = $t8_9[0];
10275          $t10_11 = $t8_9[1];
10276          if ($t10_11) {
10277            $block = 5; break;
10278          }
10279          else {
10280            $t11_12 = 'profile';
10281            $block = 4; break;
10282          }
10283          break;
10284        }
10285        case 3: {
10286          $t11_12 = $t9_10;
10287          $block = 4; break;
10288          break;
10289        }
10290        case 4: {
10291          activePage.$set('');
10292          $t12_13 = switchPage('profile');
10293          $t13_14 = pageTitleEl.$get();
10294          $t14_15 = common$jsbridge$dom.SetTextContent($t13_14, $t11_12);
10295          $t15_16 = navPop.$get();
10296          if ($t15_16) {
10297            $block = 7; break;
10298          }
10299          else {
10300            $block = 6; break;
10301          }
10302          break;
10303        }
10304        case 5: {
10305          $t16_17 = ($t9_10 !== '');
10306          if ($t16_17) {
10307            $block = 3; break;
10308          }
10309          else {
10310            $t11_12 = 'profile';
10311            $block = 4; break;
10312          }
10313          break;
10314        }
10315        case 6: {
10316          $t17_18 = common$helpers.HexDecode(pk);
10317          $t18_19 = common$helpers.EncodeNpub($t17_18);
10318          $t19_20 = ('/p/' + $t18_19);
10319          $t20_21 = common$jsbridge$dom.PushState($t19_20);
10320          $block = 7; break;
10321          break;
10322        }
10323        case 7: {
10324          return;
10325          break;
10326        }
10327      }
10328    }
10329  }
10330  
10331  export function verifyNip05(nip05, pubkeyHex, badge) {
10332    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
10333    let $block = 0;
10334    while (true) {
10335      switch ($block) {
10336        case 0: {
10337          $t0_1 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
10338          $t0_1.$set(pubkeyHex);
10339          $t1_2 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
10340          $t1_2.$set(badge);
10341          $t2_3 = 0;
10342          $block = 1; break;
10343          break;
10344        }
10345        case 1: {
10346          $t3_4 = $rt.builtin.len(nip05);
10347          $t4_5 = ($t2_3 < $t3_4);
10348          if ($t4_5) {
10349            $block = 2; break;
10350          }
10351          else {
10352            $t7_8 = -1;
10353            $block = 3; break;
10354          }
10355          break;
10356        }
10357        case 2: {
10358          $rt.runtime.boundsCheck($t2_3, $rt.builtin.byteLen(nip05));
10359          $t5_6 = $rt.builtin.stringByteAt(nip05, $t2_3);
10360          $t6_7 = ($t5_6 === 64);
10361          if ($t6_7) {
10362            $block = 4; break;
10363          }
10364          else {
10365            $block = 5; break;
10366          }
10367          break;
10368        }
10369        case 3: {
10370          $t8_9 = ($t7_8 < 1);
10371          if ($t8_9) {
10372            $block = 6; break;
10373          }
10374          else {
10375            $block = 8; break;
10376          }
10377          break;
10378        }
10379        case 4: {
10380          $t7_8 = $t2_3;
10381          $block = 3; break;
10382          break;
10383        }
10384        case 5: {
10385          $t9_10 = ($t2_3 + 1);
10386          $t2_3 = $t9_10;
10387          $block = 1; break;
10388          break;
10389        }
10390        case 6: {
10391          $t10_11 = $t1_2.$get();
10392          $t11_12 = common$jsbridge$dom.SetTextContent($t10_11, '⚠️');
10393          return;
10394          break;
10395        }
10396        case 7: {
10397          $t12_13 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
10398          $t13_14 = $rt.builtin.stringSlice(nip05, undefined, $t7_8);
10399          $t12_13.$set($t13_14);
10400          $t14_15 = ($t7_8 + 1);
10401          $t15_16 = $rt.builtin.stringSlice(nip05, $t14_15, undefined);
10402          $t16_17 = ('https://' + $t15_16);
10403          $t17_18 = ($t16_17 + '/.well-known/nostr.json?name=');
10404          $t18_19 = $t12_13.$get();
10405          $t19_20 = ($t17_18 + $t18_19);
10406          $t20_21 = verifyNip05$1.bind(null, $t1_2, $t12_13, $t0_1);
10407          $t21_22 = common$jsbridge$dom.FetchText($t19_20, $t20_21);
10408          return;
10409          break;
10410        }
10411        case 8: {
10412          $t22_23 = $rt.builtin.len(nip05);
10413          $t23_24 = ($t22_23 - 1);
10414          $t24_25 = ($t7_8 >= $t23_24);
10415          if ($t24_25) {
10416            $block = 6; break;
10417          }
10418          else {
10419            $block = 7; break;
10420          }
10421          break;
10422        }
10423      }
10424    }
10425  }
10426  
10427  function verifyNip05$1(badge, local, pubkeyHex, body) {
10428    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62;
10429    let $block = 0;
10430    while (true) {
10431      switch ($block) {
10432        case 0: {
10433          $t0_1 = (body === '');
10434          if ($t0_1) {
10435            $block = 1; break;
10436          }
10437          else {
10438            $block = 2; break;
10439          }
10440          break;
10441        }
10442        case 1: {
10443          $t1_2 = badge.$get();
10444          $t2_3 = common$jsbridge$dom.SetTextContent($t1_2, '⚠️');
10445          return;
10446          break;
10447        }
10448        case 2: {
10449          $t3_4 = common$helpers.JsonGetString(body, 'names');
10450          $t4_5 = ($t3_4 === '');
10451          if ($t4_5) {
10452            $block = 3; break;
10453          }
10454          else {
10455            $t5_6 = $t3_4;
10456            $block = 4; break;
10457          }
10458          break;
10459        }
10460        case 3: {
10461          $t10_11 = 0;
10462          $block = 5; break;
10463          break;
10464        }
10465        case 4: {
10466          $t6_7 = local.$get();
10467          $t7_8 = common$helpers.JsonGetString($t5_6, $t6_7);
10468          $t8_9 = pubkeyHex.$get();
10469          $t9_10 = ($t7_8 === $t8_9);
10470          if ($t9_10) {
10471            $block = 28; break;
10472          }
10473          else {
10474            $block = 30; break;
10475          }
10476          break;
10477        }
10478        case 5: {
10479          $t11_12 = $rt.builtin.len(body);
10480          $t12_13 = $rt.builtin.len('"names"');
10481          $t13_14 = ($t11_12 - $t12_13);
10482          $t14_15 = ($t10_11 < $t13_14);
10483          if ($t14_15) {
10484            $block = 6; break;
10485          }
10486          else {
10487            $t19_20 = -1;
10488            $block = 7; break;
10489          }
10490          break;
10491        }
10492        case 6: {
10493          $t15_16 = $rt.builtin.len('"names"');
10494          $t16_17 = ($t10_11 + $t15_16);
10495          $t17_18 = $rt.builtin.stringSlice(body, $t10_11, $t16_17);
10496          $t18_19 = ($t17_18 === '"names"');
10497          if ($t18_19) {
10498            $block = 8; break;
10499          }
10500          else {
10501            $block = 9; break;
10502          }
10503          break;
10504        }
10505        case 7: {
10506          $t20_21 = ($t19_20 < 0);
10507          if ($t20_21) {
10508            $block = 10; break;
10509          }
10510          else {
10511            $t29_30 = $t19_20;
10512            $block = 13; break;
10513          }
10514          break;
10515        }
10516        case 8: {
10517          $t21_22 = $rt.builtin.len('"names"');
10518          $t22_23 = ($t10_11 + $t21_22);
10519          $t19_20 = $t22_23;
10520          $block = 7; break;
10521          break;
10522        }
10523        case 9: {
10524          $t23_24 = ($t10_11 + 1);
10525          $t10_11 = $t23_24;
10526          $block = 5; break;
10527          break;
10528        }
10529        case 10: {
10530          $t24_25 = badge.$get();
10531          $t25_26 = common$jsbridge$dom.SetTextContent($t24_25, '⚠️');
10532          return;
10533          break;
10534        }
10535        case 11: {
10536          $t26_27 = ($t29_30 + 1);
10537          $t29_30 = $t26_27;
10538          $block = 13; break;
10539          break;
10540        }
10541        case 12: {
10542          $t27_28 = $rt.builtin.len(body);
10543          $t28_29 = ($t29_30 >= $t27_28);
10544          if ($t28_29) {
10545            $block = 17; break;
10546          }
10547          else {
10548            $block = 19; break;
10549          }
10550          break;
10551        }
10552        case 13: {
10553          $t30_31 = $rt.builtin.len(body);
10554          $t31_32 = ($t29_30 < $t30_31);
10555          if ($t31_32) {
10556            $block = 14; break;
10557          }
10558          else {
10559            $block = 12; break;
10560          }
10561          break;
10562        }
10563        case 14: {
10564          $rt.runtime.boundsCheck($t29_30, $rt.builtin.byteLen(body));
10565          $t32_33 = $rt.builtin.stringByteAt(body, $t29_30);
10566          $t33_34 = ($t32_33 === 58);
10567          if ($t33_34) {
10568            $block = 11; break;
10569          }
10570          else {
10571            $block = 16; break;
10572          }
10573          break;
10574        }
10575        case 15: {
10576          $rt.runtime.boundsCheck($t29_30, $rt.builtin.byteLen(body));
10577          $t34_35 = $rt.builtin.stringByteAt(body, $t29_30);
10578          $t35_36 = ($t34_35 === 9);
10579          if ($t35_36) {
10580            $block = 11; break;
10581          }
10582          else {
10583            $block = 12; break;
10584          }
10585          break;
10586        }
10587        case 16: {
10588          $rt.runtime.boundsCheck($t29_30, $rt.builtin.byteLen(body));
10589          $t36_37 = $rt.builtin.stringByteAt(body, $t29_30);
10590          $t37_38 = ($t36_37 === 32);
10591          if ($t37_38) {
10592            $block = 11; break;
10593          }
10594          else {
10595            $block = 15; break;
10596          }
10597          break;
10598        }
10599        case 17: {
10600          $t38_39 = badge.$get();
10601          $t39_40 = common$jsbridge$dom.SetTextContent($t38_39, '⚠️');
10602          return;
10603          break;
10604        }
10605        case 18: {
10606          $t46_47 = 0;
10607          $t47_48 = $t29_30;
10608          $block = 22; break;
10609          break;
10610        }
10611        case 19: {
10612          $rt.runtime.boundsCheck($t29_30, $rt.builtin.byteLen(body));
10613          $t40_41 = $rt.builtin.stringByteAt(body, $t29_30);
10614          $t41_42 = ($t40_41 !== 123);
10615          if ($t41_42) {
10616            $block = 17; break;
10617          }
10618          else {
10619            $block = 18; break;
10620          }
10621          break;
10622        }
10623        case 20: {
10624          $rt.runtime.boundsCheck($t47_48, $rt.builtin.byteLen(body));
10625          $t42_43 = $rt.builtin.stringByteAt(body, $t47_48);
10626          $t43_44 = ($t42_43 === 123);
10627          if ($t43_44) {
10628            $block = 23; break;
10629          }
10630          else {
10631            $block = 25; break;
10632          }
10633          break;
10634        }
10635        case 21: {
10636          $t45_46 = $rt.builtin.stringSlice(body, $t29_30, $t44_45);
10637          $t5_6 = $t45_46;
10638          $block = 4; break;
10639          break;
10640        }
10641        case 22: {
10642          $t48_49 = $rt.builtin.len(body);
10643          $t49_50 = ($t47_48 < $t48_49);
10644          if ($t49_50) {
10645            $block = 20; break;
10646          }
10647          else {
10648            $t44_45 = $t47_48;
10649            $block = 21; break;
10650          }
10651          break;
10652        }
10653        case 23: {
10654          $t50_51 = ($t46_47 + 1);
10655          $t51_52 = $t50_51;
10656          $block = 24; break;
10657          break;
10658        }
10659        case 24: {
10660          $t52_53 = ($t47_48 + 1);
10661          $t46_47 = $t51_52;
10662          $t47_48 = $t52_53;
10663          $block = 22; break;
10664          break;
10665        }
10666        case 25: {
10667          $rt.runtime.boundsCheck($t47_48, $rt.builtin.byteLen(body));
10668          $t53_54 = $rt.builtin.stringByteAt(body, $t47_48);
10669          $t54_55 = ($t53_54 === 125);
10670          if ($t54_55) {
10671            $block = 26; break;
10672          }
10673          else {
10674            $t51_52 = $t46_47;
10675            $block = 24; break;
10676          }
10677          break;
10678        }
10679        case 26: {
10680          $t55_56 = ($t46_47 - 1);
10681          $t56_57 = ($t55_56 === 0);
10682          if ($t56_57) {
10683            $block = 27; break;
10684          }
10685          else {
10686            $t51_52 = $t55_56;
10687            $block = 24; break;
10688          }
10689          break;
10690        }
10691        case 27: {
10692          $t57_58 = ($t47_48 + 1);
10693          $t44_45 = $t57_58;
10694          $block = 21; break;
10695          break;
10696        }
10697        case 28: {
10698          $t58_59 = badge.$get();
10699          $t59_60 = common$jsbridge$dom.SetTextContent($t58_59, '✅');
10700          $block = 29; break;
10701          break;
10702        }
10703        case 29: {
10704          return;
10705          break;
10706        }
10707        case 30: {
10708          $t60_61 = badge.$get();
10709          $t61_62 = common$jsbridge$dom.SetTextContent($t60_61, '⚠️');
10710          $block = 29; break;
10711          break;
10712        }
10713      }
10714    }
10715  }
10716  
10717  export function renderProfilePage(pk) {
10718    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129, $t129_130, $t130_131, $t131_132, $t132_133, $t133_134, $t134_135, $t135_136, $t136_137, $t137_138, $t138_139, $t139_140, $t140_141, $t141_142, $t142_143, $t143_144, $t144_145, $t145_146, $t146_147, $t147_148, $t148_149, $t149_150, $t150_151, $t151_152, $t152_153, $t153_154, $t154_155, $t155_156, $t156_157, $t157_158, $t158_159, $t159_160, $t160_161, $t161_162, $t162_163, $t163_164, $t164_165, $t165_166, $t166_167, $t167_168, $t168_169, $t169_170, $t170_171, $t171_172, $t172_173, $t173_174, $t174_175, $t175_176, $t176_177, $t177_178, $t178_179, $t179_180, $t180_181, $t181_182, $t182_183, $t183_184, $t184_185, $t185_186, $t186_187, $t187_188, $t188_189, $t189_190, $t190_191, $t191_192, $t192_193, $t193_194, $t194_195, $t195_196, $t196_197, $t197_198, $t198_199, $t199_200, $t200_201, $t201_202, $t202_203, $t203_204, $t204_205, $t205_206, $t206_207, $t207_208, $t208_209, $t209_210, $t210_211, $t211_212, $t212_213, $t213_214, $t214_215, $t215_216, $t216_217, $t217_218, $t218_219, $t219_220, $t220_221, $t221_222, $t222_223, $t223_224, $t224_225, $t225_226, $t226_227, $t227_228, $t228_229, $t229_230, $t230_231, $t231_232, $t232_233, $t233_234, $t234_235, $t235_236, $t236_237, $t237_238, $t238_239, $t239_240, $t240_241, $t241_242, $t242_243, $t243_244, $t244_245, $t245_246, $t246_247, $t247_248, $t248_249, $t249_250, $t250_251, $t251_252, $t252_253, $t253_254, $t254_255, $t255_256, $t256_257, $t257_258, $t258_259, $t259_260, $t260_261, $t261_262, $t262_263, $t263_264, $t264_265, $t265_266, $t266_267, $t267_268, $t268_269, $t269_270, $t270_271, $t271_272;
10719    let $block = 0;
10720    while (true) {
10721      switch ($block) {
10722        case 0: {
10723          $t0_1 = profileTab.$get();
10724          $t1_2 = profilePage.$get();
10725          $t2_3 = clearChildren($t1_2);
10726          $t3_4 = closeProfileNoteSub();
10727          $t4_5 = $rt.builtin.makeMap('string');
10728          profileNotesSeen.$set($t4_5);
10729          $t5_6 = authorContent.$get();
10730          $t6_7 = $rt.builtin.mapLookup($t5_6, pk).value;
10731          $t7_8 = authorNames.$get();
10732          $t8_9 = $rt.builtin.mapLookup($t7_8, pk).value;
10733          $t9_10 = authorPics.$get();
10734          $t10_11 = $rt.builtin.mapLookup($t9_10, pk).value;
10735          $t11_12 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
10736          $t12_13 = common$helpers.JsonGetString($t6_7, 'about');
10737          $t11_12.$set($t12_13);
10738          $t13_14 = common$helpers.JsonGetString($t6_7, 'website');
10739          $t14_15 = common$helpers.JsonGetString($t6_7, 'nip05');
10740          $t15_16 = common$helpers.JsonGetString($t6_7, 'lud16');
10741          $t16_17 = common$helpers.JsonGetString($t6_7, 'banner');
10742          $t17_18 = ($t16_17 !== '');
10743          if ($t17_18) {
10744            $block = 1; break;
10745          }
10746          else {
10747            $block = 2; break;
10748          }
10749          break;
10750        }
10751        case 1: {
10752          $t18_19 = common$jsbridge$dom.CreateElement('img');
10753          $t19_20 = common$jsbridge$dom.SetAttribute($t18_19, 'src', $t16_17);
10754          $t20_21 = common$jsbridge$dom.SetStyle($t18_19, 'width', '100%');
10755          $t21_22 = common$jsbridge$dom.SetStyle($t18_19, 'height', '240px');
10756          $t22_23 = common$jsbridge$dom.SetStyle($t18_19, 'objectFit', 'cover');
10757          $t23_24 = common$jsbridge$dom.SetStyle($t18_19, 'objectPosition', 'center');
10758          $t24_25 = common$jsbridge$dom.SetStyle($t18_19, 'display', 'block');
10759          $t25_26 = common$jsbridge$dom.SetAttribute($t18_19, 'onerror', 'this.style.display=\'none\'');
10760          $t26_27 = profilePage.$get();
10761          $t27_28 = common$jsbridge$dom.AppendChild($t26_27, $t18_19);
10762          $block = 2; break;
10763          break;
10764        }
10765        case 2: {
10766          $t28_29 = common$jsbridge$dom.CreateElement('div');
10767          $t29_30 = common$jsbridge$dom.SetStyle($t28_29, 'background', 'color-mix(in srgb, var(--bg) 85%, transparent)');
10768          $t30_31 = common$jsbridge$dom.SetStyle($t28_29, 'backdropFilter', 'blur(8px)');
10769          $t31_32 = common$jsbridge$dom.SetStyle($t28_29, 'borderRadius', '8px');
10770          $t32_33 = common$jsbridge$dom.SetStyle($t28_29, 'padding', '16px');
10771          $t33_34 = ($t16_17 !== '');
10772          if ($t33_34) {
10773            $block = 3; break;
10774          }
10775          else {
10776            $block = 5; break;
10777          }
10778          break;
10779        }
10780        case 3: {
10781          $t34_35 = common$jsbridge$dom.SetStyle($t28_29, 'margin', '-48px 16px 0');
10782          $block = 4; break;
10783          break;
10784        }
10785        case 4: {
10786          $t35_36 = common$jsbridge$dom.SetStyle($t28_29, 'position', 'relative');
10787          $t36_37 = common$jsbridge$dom.SetStyle($t28_29, 'width', 'fit-content');
10788          $t37_38 = common$jsbridge$dom.SetStyle($t28_29, 'maxWidth', 'calc(100% - 32px)');
10789          $t38_39 = common$jsbridge$dom.CreateElement('div');
10790          $t39_40 = common$jsbridge$dom.SetStyle($t38_39, 'display', 'flex');
10791          $t40_41 = common$jsbridge$dom.SetStyle($t38_39, 'gap', '16px');
10792          $t41_42 = common$jsbridge$dom.SetStyle($t38_39, 'alignItems', 'flex-start');
10793          $t42_43 = common$helpers.HexDecode(pk);
10794          $t43_44 = common$helpers.EncodeNpub($t42_43);
10795          $t44_45 = ($t10_11 !== '');
10796          if ($t44_45) {
10797            $block = 6; break;
10798          }
10799          else {
10800            $block = 7; break;
10801          }
10802          break;
10803        }
10804        case 5: {
10805          $t45_46 = common$jsbridge$dom.SetStyle($t28_29, 'margin', '16px');
10806          $block = 4; break;
10807          break;
10808        }
10809        case 6: {
10810          $t46_47 = common$jsbridge$dom.CreateElement('img');
10811          $t47_48 = common$jsbridge$dom.SetAttribute($t46_47, 'src', $t10_11);
10812          $t48_49 = common$jsbridge$dom.SetAttribute($t46_47, 'width', '64');
10813          $t49_50 = common$jsbridge$dom.SetAttribute($t46_47, 'height', '64');
10814          $t50_51 = common$jsbridge$dom.SetStyle($t46_47, 'borderRadius', '50%');
10815          $t51_52 = common$jsbridge$dom.SetStyle($t46_47, 'objectFit', 'cover');
10816          $t52_53 = common$jsbridge$dom.SetStyle($t46_47, 'flexShrink', '0');
10817          $t53_54 = common$jsbridge$dom.SetStyle($t46_47, 'border', '3px solid var(--bg)');
10818          $t54_55 = common$jsbridge$dom.SetStyle($t46_47, 'cursor', 'pointer');
10819          $t55_56 = common$jsbridge$dom.SetAttribute($t46_47, 'onerror', 'this.style.display=\'none\'');
10820          $t56_57 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
10821          $t56_57.$set($t43_44);
10822          $t57_58 = renderProfilePage$1.bind(null, $t56_57);
10823          $t58_59 = common$jsbridge$dom.RegisterCallback($t57_58);
10824          $t59_60 = common$jsbridge$dom.AddEventListener($t46_47, 'click', $t58_59);
10825          $t60_61 = common$jsbridge$dom.AppendChild($t38_39, $t46_47);
10826          $block = 7; break;
10827          break;
10828        }
10829        case 7: {
10830          $t61_62 = common$jsbridge$dom.CreateElement('div');
10831          $t62_63 = common$jsbridge$dom.SetStyle($t61_62, 'minWidth', '0');
10832          $t63_64 = common$jsbridge$dom.SetStyle($t61_62, 'flex', '1');
10833          $t64_65 = common$jsbridge$dom.SetStyle($t61_62, 'overflow', 'hidden');
10834          $t65_66 = ($t8_9 !== '');
10835          if ($t65_66) {
10836            $block = 8; break;
10837          }
10838          else {
10839            $block = 9; break;
10840          }
10841          break;
10842        }
10843        case 8: {
10844          $t66_67 = common$jsbridge$dom.CreateElement('div');
10845          $t67_68 = common$jsbridge$dom.SetTextContent($t66_67, $t8_9);
10846          $t68_69 = common$jsbridge$dom.SetStyle($t66_67, 'fontSize', '20px');
10847          $t69_70 = common$jsbridge$dom.SetStyle($t66_67, 'fontWeight', 'bold');
10848          $t70_71 = common$jsbridge$dom.SetStyle($t66_67, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
10849          $t71_72 = common$jsbridge$dom.SetStyle($t66_67, 'cursor', 'pointer');
10850          $t72_73 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
10851          $t72_73.$set($t43_44);
10852          $t73_74 = renderProfilePage$2.bind(null, $t72_73);
10853          $t74_75 = common$jsbridge$dom.RegisterCallback($t73_74);
10854          $t75_76 = common$jsbridge$dom.AddEventListener($t66_67, 'click', $t74_75);
10855          $t76_77 = common$jsbridge$dom.AppendChild($t61_62, $t66_67);
10856          $block = 9; break;
10857          break;
10858        }
10859        case 9: {
10860          $t77_78 = ($t14_15 !== '');
10861          if ($t77_78) {
10862            $block = 10; break;
10863          }
10864          else {
10865            $block = 11; break;
10866          }
10867          break;
10868        }
10869        case 10: {
10870          $t78_79 = common$jsbridge$dom.CreateElement('div');
10871          $t79_80 = common$jsbridge$dom.SetStyle($t78_79, 'display', 'flex');
10872          $t80_81 = common$jsbridge$dom.SetStyle($t78_79, 'alignItems', 'center');
10873          $t81_82 = common$jsbridge$dom.SetStyle($t78_79, 'gap', '4px');
10874          $t82_83 = common$jsbridge$dom.CreateElement('span');
10875          $t83_84 = common$jsbridge$dom.SetTextContent($t82_83, $t14_15);
10876          $t84_85 = common$jsbridge$dom.SetStyle($t82_83, 'color', 'var(--muted)');
10877          $t85_86 = common$jsbridge$dom.SetStyle($t82_83, 'fontSize', '13px');
10878          $t86_87 = common$jsbridge$dom.AppendChild($t78_79, $t82_83);
10879          $t87_88 = common$jsbridge$dom.CreateElement('span');
10880          $t88_89 = common$jsbridge$dom.SetStyle($t87_88, 'fontSize', '14px');
10881          $t89_90 = common$jsbridge$dom.AppendChild($t78_79, $t87_88);
10882          $t90_91 = common$jsbridge$dom.AppendChild($t61_62, $t78_79);
10883          $t91_92 = verifyNip05($t14_15, pk, $t87_88);
10884          $block = 11; break;
10885          break;
10886        }
10887        case 11: {
10888          $t92_93 = common$jsbridge$dom.CreateElement('div');
10889          $t93_94 = common$jsbridge$dom.SetStyle($t92_93, 'display', 'flex');
10890          $t94_95 = common$jsbridge$dom.SetStyle($t92_93, 'alignItems', 'flex-start');
10891          $t95_96 = common$jsbridge$dom.SetStyle($t92_93, 'gap', '6px');
10892          $t96_97 = common$jsbridge$dom.SetStyle($t92_93, 'marginTop', '2px');
10893          $t97_98 = common$jsbridge$dom.CreateElement('span');
10894          $t98_99 = common$jsbridge$dom.SetStyle($t97_98, 'color', 'var(--muted)');
10895          $t99_100 = common$jsbridge$dom.SetStyle($t97_98, 'fontSize', '12px');
10896          $t100_101 = common$jsbridge$dom.SetStyle($t97_98, 'wordBreak', 'break-all');
10897          $t101_102 = common$jsbridge$dom.SetTextContent($t97_98, $t43_44);
10898          $t102_103 = common$jsbridge$dom.AppendChild($t92_93, $t97_98);
10899          $t103_104 = common$jsbridge$dom.CreateElement('span');
10900          $t104_105 = common$jsbridge$dom.SetTextContent($t103_104, 'copy');
10901          $t105_106 = common$jsbridge$dom.SetStyle($t103_104, 'color', 'var(--accent)');
10902          $t106_107 = common$jsbridge$dom.SetStyle($t103_104, 'fontSize', '11px');
10903          $t107_108 = common$jsbridge$dom.SetStyle($t103_104, 'cursor', 'pointer');
10904          $t108_109 = ('navigator.clipboard.writeText(\'' + $t43_44);
10905          $t109_110 = ($t108_109 + '\').then(()=>{this.textContent=\'copied!\'});setTimeout(()=>{this.textContent=\'copy\'},1500)');
10906          $t110_111 = common$jsbridge$dom.SetAttribute($t103_104, 'onclick', $t109_110);
10907          $t111_112 = common$jsbridge$dom.AppendChild($t92_93, $t103_104);
10908          $t112_113 = common$jsbridge$dom.CreateElement('span');
10909          $t113_114 = common$jsbridge$dom.SetTextContent($t112_113, 'qr');
10910          $t114_115 = common$jsbridge$dom.SetStyle($t112_113, 'color', 'var(--accent)');
10911          $t115_116 = common$jsbridge$dom.SetStyle($t112_113, 'fontSize', '11px');
10912          $t116_117 = common$jsbridge$dom.SetStyle($t112_113, 'cursor', 'pointer');
10913          $t117_118 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
10914          $t117_118.$set($t43_44);
10915          $t118_119 = renderProfilePage$3.bind(null, $t117_118);
10916          $t119_120 = common$jsbridge$dom.RegisterCallback($t118_119);
10917          $t120_121 = common$jsbridge$dom.AddEventListener($t112_113, 'click', $t119_120);
10918          $t121_122 = common$jsbridge$dom.AppendChild($t92_93, $t112_113);
10919          $t122_123 = common$jsbridge$dom.AppendChild($t61_62, $t92_93);
10920          $t123_124 = ($t13_14 !== '');
10921          if ($t123_124) {
10922            $block = 12; break;
10923          }
10924          else {
10925            $block = 14; break;
10926          }
10927          break;
10928        }
10929        case 12: {
10930          $t124_125 = common$jsbridge$dom.CreateElement('div');
10931          $t125_126 = common$jsbridge$dom.SetStyle($t124_125, 'display', 'flex');
10932          $t126_127 = common$jsbridge$dom.SetStyle($t124_125, 'gap', '12px');
10933          $t127_128 = common$jsbridge$dom.SetStyle($t124_125, 'marginTop', '6px');
10934          $t128_129 = common$jsbridge$dom.SetStyle($t124_125, 'fontSize', '12px');
10935          $t129_130 = ($t13_14 !== '');
10936          if ($t129_130) {
10937            $block = 15; break;
10938          }
10939          else {
10940            $block = 16; break;
10941          }
10942          break;
10943        }
10944        case 13: {
10945          $t130_131 = common$jsbridge$dom.AppendChild($t38_39, $t61_62);
10946          $t131_132 = common$jsbridge$dom.AppendChild($t28_29, $t38_39);
10947          $t132_133 = pubhex.$get();
10948          $t133_134 = (pk !== $t132_133);
10949          if ($t133_134) {
10950            $block = 19; break;
10951          }
10952          else {
10953            $block = 20; break;
10954          }
10955          break;
10956        }
10957        case 14: {
10958          $t134_135 = ($t15_16 !== '');
10959          if ($t134_135) {
10960            $block = 12; break;
10961          }
10962          else {
10963            $block = 13; break;
10964          }
10965          break;
10966        }
10967        case 15: {
10968          $t135_136 = common$jsbridge$dom.CreateElement('span');
10969          $t136_137 = common$jsbridge$dom.SetStyle($t135_136, 'color', 'var(--accent)');
10970          $t137_138 = common$jsbridge$dom.SetStyle($t135_136, 'wordBreak', 'break-all');
10971          $t138_139 = common$jsbridge$dom.SetTextContent($t135_136, $t13_14);
10972          $t139_140 = common$jsbridge$dom.AppendChild($t124_125, $t135_136);
10973          $block = 16; break;
10974          break;
10975        }
10976        case 16: {
10977          $t140_141 = ($t15_16 !== '');
10978          if ($t140_141) {
10979            $block = 17; break;
10980          }
10981          else {
10982            $block = 18; break;
10983          }
10984          break;
10985        }
10986        case 17: {
10987          $t141_142 = common$jsbridge$dom.CreateElement('span');
10988          $t142_143 = common$jsbridge$dom.SetStyle($t141_142, 'color', 'var(--muted)');
10989          $t143_144 = common$jsbridge$dom.SetStyle($t141_142, 'wordBreak', 'break-all');
10990          $t144_145 = ('⚡ ' + $t15_16);
10991          $t145_146 = common$jsbridge$dom.SetTextContent($t141_142, $t144_145);
10992          $t146_147 = common$jsbridge$dom.AppendChild($t124_125, $t141_142);
10993          $block = 18; break;
10994          break;
10995        }
10996        case 18: {
10997          $t147_148 = common$jsbridge$dom.AppendChild($t61_62, $t124_125);
10998          $block = 13; break;
10999          break;
11000        }
11001        case 19: {
11002          $t148_149 = common$jsbridge$dom.CreateElement('button');
11003          $t149_150 = common$jsbridge$dom.SetTextContent($t148_149, 'message');
11004          $t150_151 = common$jsbridge$dom.SetStyle($t148_149, 'padding', '6px 16px');
11005          $t151_152 = common$jsbridge$dom.SetStyle($t148_149, 'fontFamily', '\'Fira Code\', monospace');
11006          $t152_153 = common$jsbridge$dom.SetStyle($t148_149, 'fontSize', '12px');
11007          $t153_154 = common$jsbridge$dom.SetStyle($t148_149, 'background', 'var(--accent)');
11008          $t154_155 = common$jsbridge$dom.SetStyle($t148_149, 'color', '#000');
11009          $t155_156 = common$jsbridge$dom.SetStyle($t148_149, 'border', 'none');
11010          $t156_157 = common$jsbridge$dom.SetStyle($t148_149, 'borderRadius', '4px');
11011          $t157_158 = common$jsbridge$dom.SetStyle($t148_149, 'cursor', 'pointer');
11012          $t158_159 = common$jsbridge$dom.SetStyle($t148_149, 'marginTop', '12px');
11013          $t159_160 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
11014          $t159_160.$set(pk);
11015          $t160_161 = renderProfilePage$4.bind(null, $t159_160);
11016          $t161_162 = common$jsbridge$dom.RegisterCallback($t160_161);
11017          $t162_163 = common$jsbridge$dom.AddEventListener($t148_149, 'click', $t161_162);
11018          $t163_164 = common$jsbridge$dom.AppendChild($t28_29, $t148_149);
11019          $block = 20; break;
11020          break;
11021        }
11022        case 20: {
11023          $t164_165 = profilePage.$get();
11024          $t165_166 = common$jsbridge$dom.AppendChild($t164_165, $t28_29);
11025          $t166_167 = $t11_12.$get();
11026          $t167_168 = ($t166_167 !== '');
11027          if ($t167_168) {
11028            $block = 21; break;
11029          }
11030          else {
11031            $block = 22; break;
11032          }
11033          break;
11034        }
11035        case 21: {
11036          $t168_169 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
11037          $t169_170 = common$jsbridge$dom.CreateElement('div');
11038          $t168_169.$set($t169_170);
11039          $t170_171 = $t168_169.$get();
11040          $t171_172 = common$jsbridge$dom.SetStyle($t170_171, 'padding', '12px 16px');
11041          $t172_173 = $t168_169.$get();
11042          $t173_174 = common$jsbridge$dom.SetStyle($t172_173, 'fontSize', '14px');
11043          $t174_175 = $t168_169.$get();
11044          $t175_176 = common$jsbridge$dom.SetStyle($t174_175, 'lineHeight', '1.5');
11045          $t176_177 = $t168_169.$get();
11046          $t177_178 = common$jsbridge$dom.SetStyle($t176_177, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
11047          $t178_179 = $t168_169.$get();
11048          $t179_180 = common$jsbridge$dom.SetStyle($t178_179, 'wordBreak', 'break-word');
11049          $t180_181 = $t11_12.$get();
11050          $t181_182 = $rt.builtin.len($t180_181);
11051          $t182_183 = ($t181_182 > 300);
11052          $t183_184 = $t11_12.$get();
11053          if ($t182_183) {
11054            $block = 23; break;
11055          }
11056          else {
11057            $t236_237 = $t183_184;
11058            $block = 24; break;
11059          }
11060          break;
11061        }
11062        case 22: {
11063          $t184_185 = common$jsbridge$dom.CreateElement('div');
11064          $t185_186 = common$jsbridge$dom.SetStyle($t184_185, 'display', 'flex');
11065          $t186_187 = common$jsbridge$dom.SetStyle($t184_185, 'gap', '0');
11066          $t187_188 = common$jsbridge$dom.SetStyle($t184_185, 'margin', '0 16px');
11067          $t188_189 = common$jsbridge$dom.SetStyle($t184_185, 'border', '1px solid var(--border)');
11068          $t189_190 = common$jsbridge$dom.SetStyle($t184_185, 'borderRadius', '6px');
11069          $t190_191 = common$jsbridge$dom.SetStyle($t184_185, 'overflow', 'hidden');
11070          $t191_192 = $rt.builtin.makeMap('string');
11071          profileTabBtns.$set($t191_192);
11072          $t192_193 = makeProtoBtn('notes');
11073          $t193_194 = common$jsbridge$dom.SetStyle($t192_193, 'cursor', 'pointer');
11074          $t194_195 = profileTabBtns.$get();
11075          $rt.builtin.mapUpdate($t194_195, 'notes', $t192_193);
11076          $t195_196 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
11077          $t195_196.$set(pk);
11078          $t196_197 = renderProfilePage$6.bind(null, $t195_196);
11079          $t197_198 = common$jsbridge$dom.RegisterCallback($t196_197);
11080          $t198_199 = common$jsbridge$dom.AddEventListener($t192_193, 'click', $t197_198);
11081          $t199_200 = common$jsbridge$dom.AppendChild($t184_185, $t192_193);
11082          $t200_201 = makeProtoBtn('follows');
11083          $t201_202 = common$jsbridge$dom.SetStyle($t200_201, 'cursor', 'pointer');
11084          $t202_203 = profileTabBtns.$get();
11085          $rt.builtin.mapUpdate($t202_203, 'follows', $t200_201);
11086          $t203_204 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
11087          $t203_204.$set(pk);
11088          $t204_205 = renderProfilePage$7.bind(null, $t203_204);
11089          $t205_206 = common$jsbridge$dom.RegisterCallback($t204_205);
11090          $t206_207 = common$jsbridge$dom.AddEventListener($t200_201, 'click', $t205_206);
11091          $t207_208 = common$jsbridge$dom.AppendChild($t184_185, $t200_201);
11092          $t208_209 = makeProtoBtn('relays');
11093          $t209_210 = common$jsbridge$dom.SetStyle($t208_209, 'cursor', 'pointer');
11094          $t210_211 = profileTabBtns.$get();
11095          $rt.builtin.mapUpdate($t210_211, 'relays', $t208_209);
11096          $t211_212 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
11097          $t211_212.$set(pk);
11098          $t212_213 = renderProfilePage$8.bind(null, $t211_212);
11099          $t213_214 = common$jsbridge$dom.RegisterCallback($t212_213);
11100          $t214_215 = common$jsbridge$dom.AddEventListener($t208_209, 'click', $t213_214);
11101          $t215_216 = common$jsbridge$dom.AppendChild($t184_185, $t208_209);
11102          $t216_217 = makeProtoBtn('mutes');
11103          $t217_218 = common$jsbridge$dom.SetStyle($t216_217, 'cursor', 'pointer');
11104          $t218_219 = profileTabBtns.$get();
11105          $rt.builtin.mapUpdate($t218_219, 'mutes', $t216_217);
11106          $t219_220 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
11107          $t219_220.$set(pk);
11108          $t220_221 = renderProfilePage$9.bind(null, $t219_220);
11109          $t221_222 = common$jsbridge$dom.RegisterCallback($t220_221);
11110          $t222_223 = common$jsbridge$dom.AddEventListener($t216_217, 'click', $t221_222);
11111          $t223_224 = common$jsbridge$dom.AppendChild($t184_185, $t216_217);
11112          $t224_225 = profilePage.$get();
11113          $t225_226 = common$jsbridge$dom.AppendChild($t224_225, $t184_185);
11114          $t226_227 = common$jsbridge$dom.CreateElement('div');
11115          profileTabContent.$set($t226_227);
11116          $t227_228 = profileTabContent.$get();
11117          $t228_229 = common$jsbridge$dom.SetStyle($t227_228, 'padding', '8px 0');
11118          $t229_230 = profilePage.$get();
11119          $t230_231 = profileTabContent.$get();
11120          $t231_232 = common$jsbridge$dom.AppendChild($t229_230, $t230_231);
11121          profileTab.$set('');
11122          $t232_233 = ($t0_1 !== '');
11123          if ($t232_233) {
11124            $block = 26; break;
11125          }
11126          else {
11127            $block = 28; break;
11128          }
11129          break;
11130        }
11131        case 23: {
11132          $t233_234 = $t11_12.$get();
11133          $t234_235 = $rt.builtin.stringSlice($t233_234, undefined, 300);
11134          $t235_236 = ($t234_235 + '...');
11135          $t236_237 = $t235_236;
11136          $block = 24; break;
11137          break;
11138        }
11139        case 24: {
11140          $t237_238 = $t168_169.$get();
11141          $t238_239 = renderMarkdown($t236_237);
11142          $t239_240 = common$jsbridge$dom.SetInnerHTML($t237_238, $t238_239);
11143          $t240_241 = profilePage.$get();
11144          $t241_242 = $t168_169.$get();
11145          $t242_243 = common$jsbridge$dom.AppendChild($t240_241, $t241_242);
11146          if ($t182_183) {
11147            $block = 25; break;
11148          }
11149          else {
11150            $block = 22; break;
11151          }
11152          break;
11153        }
11154        case 25: {
11155          $t243_244 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
11156          $t244_245 = common$jsbridge$dom.CreateElement('span');
11157          $t243_244.$set($t244_245);
11158          $t245_246 = $t243_244.$get();
11159          $t246_247 = common$jsbridge$dom.SetTextContent($t245_246, 'show more');
11160          $t247_248 = $t243_244.$get();
11161          $t248_249 = common$jsbridge$dom.SetStyle($t247_248, 'color', 'var(--accent)');
11162          $t249_250 = $t243_244.$get();
11163          $t250_251 = common$jsbridge$dom.SetStyle($t249_250, 'cursor', 'pointer');
11164          $t251_252 = $t243_244.$get();
11165          $t252_253 = common$jsbridge$dom.SetStyle($t251_252, 'fontSize', '13px');
11166          $t253_254 = $t243_244.$get();
11167          $t254_255 = common$jsbridge$dom.SetStyle($t253_254, 'display', 'inline-block');
11168          $t255_256 = $t243_244.$get();
11169          $t256_257 = common$jsbridge$dom.SetStyle($t255_256, 'padding', '0 16px 8px');
11170          $t257_258 = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
11171          $t257_258.$set(false);
11172          $t258_259 = $t243_244.$get();
11173          $t259_260 = renderProfilePage$5.bind(null, $t257_258, $t168_169, $t11_12, $t243_244);
11174          $t260_261 = common$jsbridge$dom.RegisterCallback($t259_260);
11175          $t261_262 = common$jsbridge$dom.AddEventListener($t258_259, 'click', $t260_261);
11176          $t262_263 = profilePage.$get();
11177          $t263_264 = $t243_244.$get();
11178          $t264_265 = common$jsbridge$dom.AppendChild($t262_263, $t263_264);
11179          $block = 22; break;
11180          break;
11181        }
11182        case 26: {
11183          $t265_266 = selectProfileTab($t0_1, pk);
11184          $block = 27; break;
11185          break;
11186        }
11187        case 27: {
11188          $t266_267 = ($t8_9 !== '');
11189          if ($t266_267) {
11190            $block = 31; break;
11191          }
11192          else {
11193            $block = 30; break;
11194          }
11195          break;
11196        }
11197        case 28: {
11198          $t267_268 = selectProfileTab('notes', pk);
11199          $block = 27; break;
11200          break;
11201        }
11202        case 29: {
11203          $t268_269 = pageTitleEl.$get();
11204          $t269_270 = common$jsbridge$dom.SetTextContent($t268_269, $t8_9);
11205          $block = 30; break;
11206          break;
11207        }
11208        case 30: {
11209          return;
11210          break;
11211        }
11212        case 31: {
11213          $t270_271 = activePage.$get();
11214          $t271_272 = ($t270_271 === 'profile');
11215          if ($t271_272) {
11216            $block = 29; break;
11217          }
11218          else {
11219            $block = 30; break;
11220          }
11221          break;
11222        }
11223      }
11224    }
11225  }
11226  
11227  function renderProfilePage$1(avNpub) {
11228    let $t0_1, $t1_2;
11229    $t0_1 = avNpub.$get();
11230    $t1_2 = showQRModal($t0_1);
11231    return;
11232  }
11233  
11234  function renderProfilePage$2(nameNpub) {
11235    let $t0_1, $t1_2;
11236    $t0_1 = nameNpub.$get();
11237    $t1_2 = showQRModal($t0_1);
11238    return;
11239  }
11240  
11241  function renderProfilePage$3(npubForQR) {
11242    let $t0_1, $t1_2;
11243    $t0_1 = npubForQR.$get();
11244    $t1_2 = showQRModal($t0_1);
11245    return;
11246  }
11247  
11248  function renderProfilePage$4(peerPK) {
11249    let $t0_1, $t1_2, $t2_3;
11250    $t0_1 = switchPage('messaging');
11251    $t1_2 = peerPK.$get();
11252    $t2_3 = openThread($t1_2);
11253    return;
11254  }
11255  
11256  function renderProfilePage$5(aboutExpanded, aboutEl, about, more) {
11257    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17;
11258    let $block = 0;
11259    while (true) {
11260      switch ($block) {
11261        case 0: {
11262          $t0_1 = aboutExpanded.$get();
11263          $t1_2 = !$t0_1;
11264          aboutExpanded.$set($t1_2);
11265          $t2_3 = aboutExpanded.$get();
11266          if ($t2_3) {
11267            $block = 1; break;
11268          }
11269          else {
11270            $block = 3; break;
11271          }
11272          break;
11273        }
11274        case 1: {
11275          $t3_4 = aboutEl.$get();
11276          $t4_5 = about.$get();
11277          $t5_6 = renderMarkdown($t4_5);
11278          $t6_7 = common$jsbridge$dom.SetInnerHTML($t3_4, $t5_6);
11279          $t7_8 = more.$get();
11280          $t8_9 = common$jsbridge$dom.SetTextContent($t7_8, 'show less');
11281          $block = 2; break;
11282          break;
11283        }
11284        case 2: {
11285          return;
11286          break;
11287        }
11288        case 3: {
11289          $t9_10 = aboutEl.$get();
11290          $t10_11 = about.$get();
11291          $t11_12 = $rt.builtin.stringSlice($t10_11, undefined, 300);
11292          $t12_13 = ($t11_12 + '...');
11293          $t13_14 = renderMarkdown($t12_13);
11294          $t14_15 = common$jsbridge$dom.SetInnerHTML($t9_10, $t13_14);
11295          $t15_16 = more.$get();
11296          $t16_17 = common$jsbridge$dom.SetTextContent($t15_16, 'show more');
11297          $block = 2; break;
11298          break;
11299        }
11300      }
11301    }
11302  }
11303  
11304  function renderProfilePage$6(tabNotesPK) {
11305    let $t0_1, $t1_2;
11306    $t0_1 = tabNotesPK.$get();
11307    $t1_2 = selectProfileTab('notes', $t0_1);
11308    return;
11309  }
11310  
11311  function renderProfilePage$7(tabFollowsPK) {
11312    let $t0_1, $t1_2;
11313    $t0_1 = tabFollowsPK.$get();
11314    $t1_2 = selectProfileTab('follows', $t0_1);
11315    return;
11316  }
11317  
11318  function renderProfilePage$8(tabRelaysPK) {
11319    let $t0_1, $t1_2;
11320    $t0_1 = tabRelaysPK.$get();
11321    $t1_2 = selectProfileTab('relays', $t0_1);
11322    return;
11323  }
11324  
11325  function renderProfilePage$9(tabMutesPK) {
11326    let $t0_1, $t1_2;
11327    $t0_1 = tabMutesPK.$get();
11328    $t1_2 = selectProfileTab('mutes', $t0_1);
11329    return;
11330  }
11331  
11332  export function profileMetaRow(icon, text, link) {
11333    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25;
11334    let $block = 0;
11335    while (true) {
11336      switch ($block) {
11337        case 0: {
11338          $t0_1 = common$jsbridge$dom.CreateElement('div');
11339          $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '4px 0');
11340          $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'display', 'flex');
11341          $t3_4 = common$jsbridge$dom.SetStyle($t0_1, 'alignItems', 'center');
11342          $t4_5 = common$jsbridge$dom.SetStyle($t0_1, 'gap', '8px');
11343          $t5_6 = common$jsbridge$dom.CreateElement('span');
11344          $t6_7 = common$jsbridge$dom.SetTextContent($t5_6, icon);
11345          $t7_8 = common$jsbridge$dom.AppendChild($t0_1, $t5_6);
11346          $t8_9 = (link !== '');
11347          if ($t8_9) {
11348            $block = 1; break;
11349          }
11350          else {
11351            $block = 3; break;
11352          }
11353          break;
11354        }
11355        case 1: {
11356          $t9_10 = strIndex(link, '://');
11357          $t10_11 = ($t9_10 < 0);
11358          if ($t10_11) {
11359            $block = 4; break;
11360          }
11361          else {
11362            $t16_17 = link;
11363            $block = 5; break;
11364          }
11365          break;
11366        }
11367        case 2: {
11368          return $t0_1;
11369          break;
11370        }
11371        case 3: {
11372          $t11_12 = common$jsbridge$dom.CreateElement('span');
11373          $t12_13 = common$jsbridge$dom.SetStyle($t11_12, 'color', 'var(--fg)');
11374          $t13_14 = common$jsbridge$dom.SetTextContent($t11_12, text);
11375          $t14_15 = common$jsbridge$dom.AppendChild($t0_1, $t11_12);
11376          $block = 2; break;
11377          break;
11378        }
11379        case 4: {
11380          $t15_16 = ('https://' + link);
11381          $t16_17 = $t15_16;
11382          $block = 5; break;
11383          break;
11384        }
11385        case 5: {
11386          $t17_18 = common$jsbridge$dom.CreateElement('a');
11387          $t18_19 = common$jsbridge$dom.SetAttribute($t17_18, 'href', $t16_17);
11388          $t19_20 = common$jsbridge$dom.SetAttribute($t17_18, 'target', '_blank');
11389          $t20_21 = common$jsbridge$dom.SetAttribute($t17_18, 'rel', 'noopener');
11390          $t21_22 = common$jsbridge$dom.SetStyle($t17_18, 'color', 'var(--accent)');
11391          $t22_23 = common$jsbridge$dom.SetStyle($t17_18, 'wordBreak', 'break-all');
11392          $t23_24 = common$jsbridge$dom.SetTextContent($t17_18, text);
11393          $t24_25 = common$jsbridge$dom.AppendChild($t0_1, $t17_18);
11394          $block = 2; break;
11395          break;
11396        }
11397      }
11398    }
11399  }
11400  
11401  export function closeProfileNoteSub() {
11402    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
11403    let $block = 0;
11404    while (true) {
11405      switch ($block) {
11406        case 0: {
11407          $t0_1 = activeProfileNoteSub.$get();
11408          $t1_2 = ($t0_1 !== '');
11409          if ($t1_2) {
11410            $block = 1; break;
11411          }
11412          else {
11413            $block = 2; break;
11414          }
11415          break;
11416        }
11417        case 1: {
11418          $t2_3 = activeProfileNoteSub.$get();
11419          $t3_4 = jstr($t2_3);
11420          $t4_5 = ('["CLOSE",' + $t3_4);
11421          $t5_6 = ($t4_5 + ']');
11422          $t6_7 = common$jsbridge$dom.PostToSW($t5_6);
11423          activeProfileNoteSub.$set('');
11424          $block = 2; break;
11425          break;
11426        }
11427        case 2: {
11428          return;
11429          break;
11430        }
11431      }
11432    }
11433  }
11434  
11435  export function refreshProfileTab(pk) {
11436    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
11437    let $block = 0;
11438    while (true) {
11439      switch ($block) {
11440        case 0: {
11441          $t0_1 = profileViewPK.$get();
11442          $t1_2 = ($t0_1 !== pk);
11443          if ($t1_2) {
11444            $block = 1; break;
11445          }
11446          else {
11447            $block = 3; break;
11448          }
11449          break;
11450        }
11451        case 1: {
11452          return;
11453          break;
11454        }
11455        case 2: {
11456          $t2_3 = profileTab.$get();
11457          profileTab.$set('');
11458          $t3_4 = selectProfileTab($t2_3, pk);
11459          return;
11460          break;
11461        }
11462        case 3: {
11463          $t4_5 = profileTab.$get();
11464          $t5_6 = ($t4_5 === '');
11465          if ($t5_6) {
11466            $block = 1; break;
11467          }
11468          else {
11469            $block = 2; break;
11470          }
11471          break;
11472        }
11473      }
11474    }
11475  }
11476  
11477  export function selectProfileTab(tab, pk) {
11478    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34;
11479    let $block = 0;
11480    while (true) {
11481      switch ($block) {
11482        case 0: {
11483          $t0_1 = profileTab.$get();
11484          $t1_2 = (tab === $t0_1);
11485          if ($t1_2) {
11486            $block = 1; break;
11487          }
11488          else {
11489            $block = 2; break;
11490          }
11491          break;
11492        }
11493        case 1: {
11494          return;
11495          break;
11496        }
11497        case 2: {
11498          $t2_3 = closeProfileNoteSub();
11499          profileTab.$set(tab);
11500          $t3_4 = profileTabContent.$get();
11501          $t4_5 = clearChildren($t3_4);
11502          $t5_6 = profileTabBtns.$get();
11503          $t6_7 = { $entries: [...$t5_6.entries()], $pos: 0, next() { if (this.$pos >= this.$entries.length) return [false, null, null]; const [k, v] = this.$entries[this.$pos++]; return [true, k, v]; } };
11504          $block = 3; break;
11505          break;
11506        }
11507        case 3: {
11508          $t7_8 = $t6_7.next();
11509          $t8_9 = $t7_8[0];
11510          if ($t8_9) {
11511            $block = 4; break;
11512          }
11513          else {
11514            $block = 5; break;
11515          }
11516          break;
11517        }
11518        case 4: {
11519          $t9_10 = $t7_8[1];
11520          $t10_11 = $t7_8[2];
11521          $t11_12 = ($t9_10 === tab);
11522          if ($t11_12) {
11523            $block = 6; break;
11524          }
11525          else {
11526            $block = 7; break;
11527          }
11528          break;
11529        }
11530        case 5: {
11531          $t12_13 = navPop.$get();
11532          if ($t12_13) {
11533            $block = 9; break;
11534          }
11535          else {
11536            $block = 10; break;
11537          }
11538          break;
11539        }
11540        case 6: {
11541          $t13_14 = common$jsbridge$dom.SetStyle($t10_11, 'background', 'var(--accent)');
11542          $t14_15 = common$jsbridge$dom.SetStyle($t10_11, 'color', '#000');
11543          $block = 3; break;
11544          break;
11545        }
11546        case 7: {
11547          $t15_16 = common$jsbridge$dom.SetStyle($t10_11, 'background', 'transparent');
11548          $t16_17 = common$jsbridge$dom.SetStyle($t10_11, 'color', 'var(--fg)');
11549          $block = 3; break;
11550          break;
11551        }
11552        case 8: {
11553          $t17_18 = profileViewPK.$get();
11554          $t18_19 = common$helpers.HexDecode($t17_18);
11555          $t19_20 = common$helpers.EncodeNpub($t18_19);
11556          $t20_21 = ('/p/' + $t19_20);
11557          $t21_22 = ($t20_21 + '#');
11558          $t22_23 = ($t21_22 + tab);
11559          $t23_24 = common$jsbridge$dom.ReplaceState($t22_23);
11560          $block = 9; break;
11561          break;
11562        }
11563        case 9: {
11564          $t24_25 = (tab === 'notes');
11565          if ($t24_25) {
11566            $block = 12; break;
11567          }
11568          else {
11569            $block = 14; break;
11570          }
11571          break;
11572        }
11573        case 10: {
11574          $t25_26 = profileViewPK.$get();
11575          $t26_27 = ($t25_26 !== '');
11576          if ($t26_27) {
11577            $block = 8; break;
11578          }
11579          else {
11580            $block = 9; break;
11581          }
11582          break;
11583        }
11584        case 11: {
11585          return;
11586          break;
11587        }
11588        case 12: {
11589          $t27_28 = renderProfileNotes(pk);
11590          $block = 11; break;
11591          break;
11592        }
11593        case 13: {
11594          $t28_29 = renderProfileFollows(pk);
11595          $block = 11; break;
11596          break;
11597        }
11598        case 14: {
11599          $t29_30 = (tab === 'follows');
11600          if ($t29_30) {
11601            $block = 13; break;
11602          }
11603          else {
11604            $block = 16; break;
11605          }
11606          break;
11607        }
11608        case 15: {
11609          $t30_31 = renderProfileRelays(pk);
11610          $block = 11; break;
11611          break;
11612        }
11613        case 16: {
11614          $t31_32 = (tab === 'relays');
11615          if ($t31_32) {
11616            $block = 15; break;
11617          }
11618          else {
11619            $block = 18; break;
11620          }
11621          break;
11622        }
11623        case 17: {
11624          $t32_33 = renderProfileMutes(pk);
11625          $block = 11; break;
11626          break;
11627        }
11628        case 18: {
11629          $t33_34 = (tab === 'mutes');
11630          if ($t33_34) {
11631            $block = 17; break;
11632          }
11633          else {
11634            $block = 11; break;
11635          }
11636          break;
11637        }
11638      }
11639    }
11640  }
11641  
11642  export function renderProfileNotes(pk) {
11643    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12;
11644    $t0_1 = $rt.builtin.makeMap('string');
11645    profileNotesSeen.$set($t0_1);
11646    $t1_2 = profileSubCounter.$get();
11647    $t2_3 = ($t1_2 + 1);
11648    profileSubCounter.$set($t2_3);
11649    $t3_4 = profileSubCounter.$get();
11650    $t4_5 = itoa($t3_4);
11651    $t5_6 = ('pn-' + $t4_5);
11652    activeProfileNoteSub.$set($t5_6);
11653    $t6_7 = buildProxy(pk);
11654    $t7_8 = jstr(pk);
11655    $t8_9 = ('{"authors":[' + $t7_8);
11656    $t9_10 = ($t8_9 + '],"kinds":[1],"limit":20}');
11657    $t10_11 = buildProxyMsg($t5_6, $t9_10, $t6_7);
11658    $t11_12 = common$jsbridge$dom.PostToSW($t10_11);
11659    return;
11660  }
11661  
11662  export function renderProfileNote(ev) {
11663    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67;
11664    let $block = 0;
11665    while (true) {
11666      switch ($block) {
11667        case 0: {
11668          $t0_1 = profileTabContent.$get();
11669          $t1_2 = ($t0_1 === 0);
11670          if ($t1_2) {
11671            $block = 1; break;
11672          }
11673          else {
11674            $block = 3; break;
11675          }
11676          break;
11677        }
11678        case 1: {
11679          return;
11680          break;
11681        }
11682        case 2: {
11683          $t2_3 = common$jsbridge$dom.CreateElement('div');
11684          $t3_4 = common$jsbridge$dom.SetStyle($t2_3, 'borderBottom', '1px solid var(--border)');
11685          $t4_5 = common$jsbridge$dom.SetStyle($t2_3, 'padding', '12px 16px');
11686          $t5_6 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
11687          $t6_7 = common$jsbridge$dom.CreateElement('div');
11688          $t5_6.$set($t6_7);
11689          $t7_8 = $t5_6.$get();
11690          $t8_9 = common$jsbridge$dom.SetStyle($t7_8, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
11691          $t9_10 = $t5_6.$get();
11692          $t10_11 = common$jsbridge$dom.SetStyle($t9_10, 'fontSize', '14px');
11693          $t11_12 = $t5_6.$get();
11694          $t12_13 = common$jsbridge$dom.SetStyle($t11_12, 'lineHeight', '1.5');
11695          $t13_14 = $t5_6.$get();
11696          $t14_15 = common$jsbridge$dom.SetStyle($t13_14, 'wordBreak', 'break-word');
11697          $t15_16 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
11698          $t16_17 = $t15_16.$get();
11699          $t17_18 = $rt.builtin.len($t16_17);
11700          $t18_19 = ($t17_18 > 500);
11701          if ($t18_19) {
11702            $block = 4; break;
11703          }
11704          else {
11705            $t23_24 = $t16_17;
11706            $block = 5; break;
11707          }
11708          break;
11709        }
11710        case 3: {
11711          $t19_20 = profileTab.$get();
11712          $t20_21 = ($t19_20 !== 'notes');
11713          if ($t20_21) {
11714            $block = 1; break;
11715          }
11716          else {
11717            $block = 2; break;
11718          }
11719          break;
11720        }
11721        case 4: {
11722          $t21_22 = $rt.builtin.stringSlice($t16_17, undefined, 500);
11723          $t22_23 = ($t21_22 + '...');
11724          $t23_24 = $t22_23;
11725          $block = 5; break;
11726          break;
11727        }
11728        case 5: {
11729          $t24_25 = $t5_6.$get();
11730          $t25_26 = renderMarkdown($t23_24);
11731          $t26_27 = common$jsbridge$dom.SetInnerHTML($t24_25, $t25_26);
11732          $t27_28 = $t5_6.$get();
11733          $t28_29 = common$jsbridge$dom.AppendChild($t2_3, $t27_28);
11734          if ($t18_19) {
11735            $block = 6; break;
11736          }
11737          else {
11738            $block = 7; break;
11739          }
11740          break;
11741        }
11742        case 6: {
11743          $t29_30 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
11744          $t30_31 = common$jsbridge$dom.CreateElement('span');
11745          $t29_30.$set($t30_31);
11746          $t31_32 = $t29_30.$get();
11747          $t32_33 = common$jsbridge$dom.SetTextContent($t31_32, 'show more');
11748          $t33_34 = $t29_30.$get();
11749          $t34_35 = common$jsbridge$dom.SetStyle($t33_34, 'color', 'var(--accent)');
11750          $t35_36 = $t29_30.$get();
11751          $t36_37 = common$jsbridge$dom.SetStyle($t35_36, 'cursor', 'pointer');
11752          $t37_38 = $t29_30.$get();
11753          $t38_39 = common$jsbridge$dom.SetStyle($t37_38, 'fontSize', '13px');
11754          $t39_40 = $t29_30.$get();
11755          $t40_41 = common$jsbridge$dom.SetStyle($t39_40, 'display', 'inline-block');
11756          $t41_42 = $t29_30.$get();
11757          $t42_43 = common$jsbridge$dom.SetStyle($t41_42, 'marginTop', '4px');
11758          $t43_44 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
11759          $t44_45 = { $get() { return ev.$get().Content; }, $set(v) { const obj = ev.$get(); obj.Content = v; ev.$set(obj); } };
11760          $t45_46 = $t44_45.$get();
11761          $t43_44.$set($t45_46);
11762          $t46_47 = { $value: false, $get() { return this.$value; }, $set(v) { this.$value = v; } };
11763          $t46_47.$set(false);
11764          $t47_48 = $t29_30.$get();
11765          $t48_49 = renderProfileNote$1.bind(null, $t46_47, $t5_6, $t43_44, $t29_30);
11766          $t49_50 = common$jsbridge$dom.RegisterCallback($t48_49);
11767          $t50_51 = common$jsbridge$dom.AddEventListener($t47_48, 'click', $t49_50);
11768          $t51_52 = $t29_30.$get();
11769          $t52_53 = common$jsbridge$dom.AppendChild($t2_3, $t51_52);
11770          $block = 7; break;
11771          break;
11772        }
11773        case 7: {
11774          $t53_54 = { $get() { return ev.$get().CreatedAt; }, $set(v) { const obj = ev.$get(); obj.CreatedAt = v; ev.$set(obj); } };
11775          $t54_55 = $t53_54.$get();
11776          $t55_56 = ($t54_55 > 0);
11777          if ($t55_56) {
11778            $block = 8; break;
11779          }
11780          else {
11781            $block = 9; break;
11782          }
11783          break;
11784        }
11785        case 8: {
11786          $t56_57 = common$jsbridge$dom.CreateElement('div');
11787          $t57_58 = { $get() { return ev.$get().CreatedAt; }, $set(v) { const obj = ev.$get(); obj.CreatedAt = v; ev.$set(obj); } };
11788          $t58_59 = $t57_58.$get();
11789          $t59_60 = formatTime($t58_59);
11790          $t60_61 = common$jsbridge$dom.SetTextContent($t56_57, $t59_60);
11791          $t61_62 = common$jsbridge$dom.SetStyle($t56_57, 'color', 'var(--muted)');
11792          $t62_63 = common$jsbridge$dom.SetStyle($t56_57, 'fontSize', '12px');
11793          $t63_64 = common$jsbridge$dom.SetStyle($t56_57, 'marginTop', '4px');
11794          $t64_65 = common$jsbridge$dom.AppendChild($t2_3, $t56_57);
11795          $block = 9; break;
11796          break;
11797        }
11798        case 9: {
11799          $t65_66 = profileTabContent.$get();
11800          $t66_67 = common$jsbridge$dom.AppendChild($t65_66, $t2_3);
11801          return;
11802          break;
11803        }
11804      }
11805    }
11806  }
11807  
11808  function renderProfileNote$1(expanded, content, fullContent, more) {
11809    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17;
11810    let $block = 0;
11811    while (true) {
11812      switch ($block) {
11813        case 0: {
11814          $t0_1 = expanded.$get();
11815          $t1_2 = !$t0_1;
11816          expanded.$set($t1_2);
11817          $t2_3 = expanded.$get();
11818          if ($t2_3) {
11819            $block = 1; break;
11820          }
11821          else {
11822            $block = 3; break;
11823          }
11824          break;
11825        }
11826        case 1: {
11827          $t3_4 = content.$get();
11828          $t4_5 = fullContent.$get();
11829          $t5_6 = renderMarkdown($t4_5);
11830          $t6_7 = common$jsbridge$dom.SetInnerHTML($t3_4, $t5_6);
11831          $t7_8 = more.$get();
11832          $t8_9 = common$jsbridge$dom.SetTextContent($t7_8, 'show less');
11833          $block = 2; break;
11834          break;
11835        }
11836        case 2: {
11837          return;
11838          break;
11839        }
11840        case 3: {
11841          $t9_10 = content.$get();
11842          $t10_11 = fullContent.$get();
11843          $t11_12 = $rt.builtin.stringSlice($t10_11, undefined, 500);
11844          $t12_13 = ($t11_12 + '...');
11845          $t13_14 = renderMarkdown($t12_13);
11846          $t14_15 = common$jsbridge$dom.SetInnerHTML($t9_10, $t13_14);
11847          $t15_16 = more.$get();
11848          $t16_17 = common$jsbridge$dom.SetTextContent($t15_16, 'show more');
11849          $block = 2; break;
11850          break;
11851        }
11852      }
11853    }
11854  }
11855  
11856  export function renderProfileFollows(pk) {
11857    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33;
11858    let $block = 0;
11859    while (true) {
11860      switch ($block) {
11861        case 0: {
11862          $t0_1 = authorFollows.$get();
11863          { const $r = $rt.builtin.mapLookup($t0_1, pk); $t1_2 = [$r.value, $r.ok]; }
11864          $t2_3 = $t1_2[0];
11865          $t3_4 = $t1_2[1];
11866          if ($t3_4) {
11867            $block = 3; break;
11868          }
11869          else {
11870            $block = 1; break;
11871          }
11872          break;
11873        }
11874        case 1: {
11875          $t4_5 = common$jsbridge$dom.CreateElement('div');
11876          $t5_6 = common$jsbridge$dom.SetTextContent($t4_5, 'no follows data');
11877          $t6_7 = common$jsbridge$dom.SetStyle($t4_5, 'padding', '16px');
11878          $t7_8 = common$jsbridge$dom.SetStyle($t4_5, 'color', 'var(--muted)');
11879          $t8_9 = common$jsbridge$dom.SetStyle($t4_5, 'fontSize', '13px');
11880          $t9_10 = profileTabContent.$get();
11881          $t10_11 = common$jsbridge$dom.AppendChild($t9_10, $t4_5);
11882          return;
11883          break;
11884        }
11885        case 2: {
11886          $t11_12 = common$jsbridge$dom.CreateElement('div');
11887          $t12_13 = $rt.builtin.len($t2_3);
11888          $t13_14 = itoa($t12_13);
11889          $t14_15 = ($t13_14 + ' following');
11890          $t15_16 = common$jsbridge$dom.SetTextContent($t11_12, $t14_15);
11891          $t16_17 = common$jsbridge$dom.SetStyle($t11_12, 'padding', '8px 16px');
11892          $t17_18 = common$jsbridge$dom.SetStyle($t11_12, 'color', 'var(--muted)');
11893          $t18_19 = common$jsbridge$dom.SetStyle($t11_12, 'fontSize', '12px');
11894          $t19_20 = profileTabContent.$get();
11895          $t20_21 = common$jsbridge$dom.AppendChild($t19_20, $t11_12);
11896          $t23_24 = 0;
11897          $block = 4; break;
11898          break;
11899        }
11900        case 3: {
11901          $t21_22 = $rt.builtin.len($t2_3);
11902          $t22_23 = ($t21_22 === 0);
11903          if ($t22_23) {
11904            $block = 1; break;
11905          }
11906          else {
11907            $block = 2; break;
11908          }
11909          break;
11910        }
11911        case 4: {
11912          $t24_25 = $rt.builtin.len($t2_3);
11913          $t25_26 = ($t23_24 < $t24_25);
11914          if ($t25_26) {
11915            $block = 5; break;
11916          }
11917          else {
11918            $block = 6; break;
11919          }
11920          break;
11921        }
11922        case 5: {
11923          $t26_27 = $t2_3.addr($t23_24);
11924          $t27_28 = $t26_27.$get();
11925          $t28_29 = makeProfileRow($t27_28);
11926          $t29_30 = profileTabContent.$get();
11927          $t30_31 = common$jsbridge$dom.AppendChild($t29_30, $t28_29);
11928          $t31_32 = ($t23_24 + 1);
11929          $t23_24 = $t31_32;
11930          $block = 4; break;
11931          break;
11932        }
11933        case 6: {
11934          $t32_33 = scheduleTabRetry();
11935          return;
11936          break;
11937        }
11938      }
11939    }
11940  }
11941  
11942  export function renderProfileRelays(pk) {
11943    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34;
11944    let $block = 0;
11945    while (true) {
11946      switch ($block) {
11947        case 0: {
11948          $t0_1 = authorRelays.$get();
11949          { const $r = $rt.builtin.mapLookup($t0_1, pk); $t1_2 = [$r.value, $r.ok]; }
11950          $t2_3 = $t1_2[0];
11951          $t3_4 = $t1_2[1];
11952          if ($t3_4) {
11953            $block = 3; break;
11954          }
11955          else {
11956            $block = 1; break;
11957          }
11958          break;
11959        }
11960        case 1: {
11961          $t4_5 = common$jsbridge$dom.CreateElement('div');
11962          $t5_6 = common$jsbridge$dom.SetTextContent($t4_5, 'no relay data');
11963          $t6_7 = common$jsbridge$dom.SetStyle($t4_5, 'padding', '16px');
11964          $t7_8 = common$jsbridge$dom.SetStyle($t4_5, 'color', 'var(--muted)');
11965          $t8_9 = common$jsbridge$dom.SetStyle($t4_5, 'fontSize', '13px');
11966          $t9_10 = profileTabContent.$get();
11967          $t10_11 = common$jsbridge$dom.AppendChild($t9_10, $t4_5);
11968          return;
11969          break;
11970        }
11971        case 2: {
11972          $t13_14 = 0;
11973          $block = 4; break;
11974          break;
11975        }
11976        case 3: {
11977          $t11_12 = $rt.builtin.len($t2_3);
11978          $t12_13 = ($t11_12 === 0);
11979          if ($t12_13) {
11980            $block = 1; break;
11981          }
11982          else {
11983            $block = 2; break;
11984          }
11985          break;
11986        }
11987        case 4: {
11988          $t14_15 = $rt.builtin.len($t2_3);
11989          $t15_16 = ($t13_14 < $t14_15);
11990          if ($t15_16) {
11991            $block = 5; break;
11992          }
11993          else {
11994            $block = 6; break;
11995          }
11996          break;
11997        }
11998        case 5: {
11999          $t16_17 = $t2_3.addr($t13_14);
12000          $t17_18 = $t16_17.$get();
12001          $t18_19 = common$jsbridge$dom.CreateElement('div');
12002          $t19_20 = common$jsbridge$dom.SetStyle($t18_19, 'padding', '10px 16px');
12003          $t20_21 = common$jsbridge$dom.SetStyle($t18_19, 'borderBottom', '1px solid var(--border)');
12004          $t21_22 = common$jsbridge$dom.SetStyle($t18_19, 'cursor', 'pointer');
12005          $t22_23 = common$jsbridge$dom.SetStyle($t18_19, 'fontSize', '13px');
12006          $t23_24 = common$jsbridge$dom.CreateElement('span');
12007          $t24_25 = common$jsbridge$dom.SetTextContent($t23_24, $t17_18);
12008          $t25_26 = common$jsbridge$dom.SetStyle($t23_24, 'color', 'var(--accent)');
12009          $t26_27 = common$jsbridge$dom.AppendChild($t18_19, $t23_24);
12010          $t27_28 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
12011          $t27_28.$set($t17_18);
12012          $t28_29 = renderProfileRelays$1.bind(null, $t27_28);
12013          $t29_30 = common$jsbridge$dom.RegisterCallback($t28_29);
12014          $t30_31 = common$jsbridge$dom.AddEventListener($t18_19, 'click', $t29_30);
12015          $t31_32 = profileTabContent.$get();
12016          $t32_33 = common$jsbridge$dom.AppendChild($t31_32, $t18_19);
12017          $t33_34 = ($t13_14 + 1);
12018          $t13_14 = $t33_34;
12019          $block = 4; break;
12020          break;
12021        }
12022        case 6: {
12023          return;
12024          break;
12025        }
12026      }
12027    }
12028  }
12029  
12030  function renderProfileRelays$1(clickURL) {
12031    let $t0_1, $t1_2;
12032    $t0_1 = clickURL.$get();
12033    $t1_2 = showRelayInfo($t0_1);
12034    return;
12035  }
12036  
12037  export function renderProfileMutes(pk) {
12038    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33;
12039    let $block = 0;
12040    while (true) {
12041      switch ($block) {
12042        case 0: {
12043          $t0_1 = authorMutes.$get();
12044          { const $r = $rt.builtin.mapLookup($t0_1, pk); $t1_2 = [$r.value, $r.ok]; }
12045          $t2_3 = $t1_2[0];
12046          $t3_4 = $t1_2[1];
12047          if ($t3_4) {
12048            $block = 3; break;
12049          }
12050          else {
12051            $block = 1; break;
12052          }
12053          break;
12054        }
12055        case 1: {
12056          $t4_5 = common$jsbridge$dom.CreateElement('div');
12057          $t5_6 = common$jsbridge$dom.SetTextContent($t4_5, 'no mutes data');
12058          $t6_7 = common$jsbridge$dom.SetStyle($t4_5, 'padding', '16px');
12059          $t7_8 = common$jsbridge$dom.SetStyle($t4_5, 'color', 'var(--muted)');
12060          $t8_9 = common$jsbridge$dom.SetStyle($t4_5, 'fontSize', '13px');
12061          $t9_10 = profileTabContent.$get();
12062          $t10_11 = common$jsbridge$dom.AppendChild($t9_10, $t4_5);
12063          return;
12064          break;
12065        }
12066        case 2: {
12067          $t11_12 = common$jsbridge$dom.CreateElement('div');
12068          $t12_13 = $rt.builtin.len($t2_3);
12069          $t13_14 = itoa($t12_13);
12070          $t14_15 = ($t13_14 + ' muted');
12071          $t15_16 = common$jsbridge$dom.SetTextContent($t11_12, $t14_15);
12072          $t16_17 = common$jsbridge$dom.SetStyle($t11_12, 'padding', '8px 16px');
12073          $t17_18 = common$jsbridge$dom.SetStyle($t11_12, 'color', 'var(--muted)');
12074          $t18_19 = common$jsbridge$dom.SetStyle($t11_12, 'fontSize', '12px');
12075          $t19_20 = profileTabContent.$get();
12076          $t20_21 = common$jsbridge$dom.AppendChild($t19_20, $t11_12);
12077          $t23_24 = 0;
12078          $block = 4; break;
12079          break;
12080        }
12081        case 3: {
12082          $t21_22 = $rt.builtin.len($t2_3);
12083          $t22_23 = ($t21_22 === 0);
12084          if ($t22_23) {
12085            $block = 1; break;
12086          }
12087          else {
12088            $block = 2; break;
12089          }
12090          break;
12091        }
12092        case 4: {
12093          $t24_25 = $rt.builtin.len($t2_3);
12094          $t25_26 = ($t23_24 < $t24_25);
12095          if ($t25_26) {
12096            $block = 5; break;
12097          }
12098          else {
12099            $block = 6; break;
12100          }
12101          break;
12102        }
12103        case 5: {
12104          $t26_27 = $t2_3.addr($t23_24);
12105          $t27_28 = $t26_27.$get();
12106          $t28_29 = makeProfileRow($t27_28);
12107          $t29_30 = profileTabContent.$get();
12108          $t30_31 = common$jsbridge$dom.AppendChild($t29_30, $t28_29);
12109          $t31_32 = ($t23_24 + 1);
12110          $t23_24 = $t31_32;
12111          $block = 4; break;
12112          break;
12113        }
12114        case 6: {
12115          $t32_33 = scheduleTabRetry();
12116          return;
12117          break;
12118        }
12119      }
12120    }
12121  }
12122  
12123  export function makeProfileRow(pk) {
12124    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61;
12125    let $block = 0;
12126    while (true) {
12127      switch ($block) {
12128        case 0: {
12129          $t0_1 = common$jsbridge$dom.CreateElement('div');
12130          $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'display', 'flex');
12131          $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'alignItems', 'center');
12132          $t3_4 = common$jsbridge$dom.SetStyle($t0_1, 'gap', '10px');
12133          $t4_5 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '10px 16px');
12134          $t5_6 = common$jsbridge$dom.SetStyle($t0_1, 'borderBottom', '1px solid var(--border)');
12135          $t6_7 = common$jsbridge$dom.SetStyle($t0_1, 'cursor', 'pointer');
12136          $t7_8 = common$jsbridge$dom.CreateElement('img');
12137          $t8_9 = common$jsbridge$dom.SetAttribute($t7_8, 'width', '32');
12138          $t9_10 = common$jsbridge$dom.SetAttribute($t7_8, 'height', '32');
12139          $t10_11 = common$jsbridge$dom.SetStyle($t7_8, 'borderRadius', '50%');
12140          $t11_12 = common$jsbridge$dom.SetStyle($t7_8, 'objectFit', 'cover');
12141          $t12_13 = common$jsbridge$dom.SetStyle($t7_8, 'flexShrink', '0');
12142          $t13_14 = authorPics.$get();
12143          { const $r = $rt.builtin.mapLookup($t13_14, pk); $t14_15 = [$r.value, $r.ok]; }
12144          $t15_16 = $t14_15[0];
12145          $t16_17 = $t14_15[1];
12146          if ($t16_17) {
12147            $block = 4; break;
12148          }
12149          else {
12150            $block = 3; break;
12151          }
12152          break;
12153        }
12154        case 1: {
12155          $t17_18 = common$jsbridge$dom.SetAttribute($t7_8, 'src', $t15_16);
12156          $block = 2; break;
12157          break;
12158        }
12159        case 2: {
12160          $t18_19 = common$jsbridge$dom.SetAttribute($t7_8, 'onerror', 'this.style.display=\'none\'');
12161          $t19_20 = common$jsbridge$dom.AppendChild($t0_1, $t7_8);
12162          $t20_21 = common$jsbridge$dom.CreateElement('span');
12163          $t21_22 = common$jsbridge$dom.SetStyle($t20_21, 'fontSize', '14px');
12164          $t22_23 = common$jsbridge$dom.SetStyle($t20_21, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
12165          $t23_24 = authorNames.$get();
12166          { const $r = $rt.builtin.mapLookup($t23_24, pk); $t24_25 = [$r.value, $r.ok]; }
12167          $t25_26 = $t24_25[0];
12168          $t26_27 = $t24_25[1];
12169          if ($t26_27) {
12170            $block = 8; break;
12171          }
12172          else {
12173            $block = 7; break;
12174          }
12175          break;
12176        }
12177        case 3: {
12178          $t27_28 = common$jsbridge$dom.SetStyle($t7_8, 'display', 'none');
12179          $block = 2; break;
12180          break;
12181        }
12182        case 4: {
12183          $t28_29 = ($t15_16 !== '');
12184          if ($t28_29) {
12185            $block = 1; break;
12186          }
12187          else {
12188            $block = 3; break;
12189          }
12190          break;
12191        }
12192        case 5: {
12193          $t29_30 = common$jsbridge$dom.SetTextContent($t20_21, $t25_26);
12194          $block = 6; break;
12195          break;
12196        }
12197        case 6: {
12198          $t30_31 = common$jsbridge$dom.AppendChild($t0_1, $t20_21);
12199          $t31_32 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
12200          $t31_32.$set(pk);
12201          $t32_33 = makeProfileRow$1.bind(null, $t31_32);
12202          $t33_34 = common$jsbridge$dom.RegisterCallback($t32_33);
12203          $t34_35 = common$jsbridge$dom.AddEventListener($t0_1, 'click', $t33_34);
12204          $t35_36 = authorNames.$get();
12205          { const $r = $rt.builtin.mapLookup($t35_36, pk); $t36_37 = [$r.value, $r.ok]; }
12206          $t37_38 = $t36_37[0];
12207          $t38_39 = $t36_37[1];
12208          if ($t38_39) {
12209            $block = 11; break;
12210          }
12211          else {
12212            $block = 10; break;
12213          }
12214          break;
12215        }
12216        case 7: {
12217          $t39_40 = common$helpers.HexDecode(pk);
12218          $t40_41 = common$helpers.EncodeNpub($t39_40);
12219          $t41_42 = $rt.builtin.len($t40_41);
12220          $t42_43 = ($t41_42 > 20);
12221          if ($t42_43) {
12222            $block = 9; break;
12223          }
12224          else {
12225            $block = 6; break;
12226          }
12227          break;
12228        }
12229        case 8: {
12230          $t43_44 = ($t25_26 !== '');
12231          if ($t43_44) {
12232            $block = 5; break;
12233          }
12234          else {
12235            $block = 7; break;
12236          }
12237          break;
12238        }
12239        case 9: {
12240          $t44_45 = $rt.builtin.stringSlice($t40_41, undefined, 12);
12241          $t45_46 = ($t44_45 + '...');
12242          $t46_47 = $rt.builtin.len($t40_41);
12243          $t47_48 = ($t46_47 - 4);
12244          $t48_49 = $rt.builtin.stringSlice($t40_41, $t47_48, undefined);
12245          $t49_50 = ($t45_46 + $t48_49);
12246          $t50_51 = common$jsbridge$dom.SetTextContent($t20_21, $t49_50);
12247          $block = 6; break;
12248          break;
12249        }
12250        case 10: {
12251          $t51_52 = pendingNotes.$get();
12252          $t52_53 = pendingNotes.$get();
12253          $t53_54 = $rt.builtin.mapLookup($t52_53, pk).value;
12254          $t54_55 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
12255          $t55_56 = $t54_55.$get().addr(0);
12256          $t55_56.$set($t0_1);
12257          $t56_57 = $rt.builtin.sliceSlice($t54_55.$get(), undefined, undefined, undefined);
12258          $t57_58 = $rt.builtin.appendSlice($t53_54, $t56_57);
12259          $rt.builtin.mapUpdate($t51_52, pk, $t57_58);
12260          $t58_59 = fetchedK0.$get();
12261          $t59_60 = $rt.builtin.mapLookup($t58_59, pk).value;
12262          if ($t59_60) {
12263            $block = 11; break;
12264          }
12265          else {
12266            $block = 12; break;
12267          }
12268          break;
12269        }
12270        case 11: {
12271          return $t0_1;
12272          break;
12273        }
12274        case 12: {
12275          $t60_61 = queueProfileFetch(pk);
12276          $block = 11; break;
12277          break;
12278        }
12279      }
12280    }
12281  }
12282  
12283  function makeProfileRow$1(rowPK) {
12284    let $t0_1, $t1_2;
12285    $t0_1 = rowPK.$get();
12286    $t1_2 = showProfile($t0_1);
12287    return;
12288  }
12289  
12290  export function showRelayInfo(url) {
12291    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57;
12292    let $block = 0;
12293    while (true) {
12294      switch ($block) {
12295        case 0: {
12296          profileViewPK.$set('');
12297          $t0_1 = closeProfileNoteSub();
12298          $t1_2 = profilePage.$get();
12299          $t2_3 = clearChildren($t1_2);
12300          $t3_4 = common$jsbridge$dom.CreateElement('div');
12301          $t4_5 = common$jsbridge$dom.SetStyle($t3_4, 'display', 'flex');
12302          $t5_6 = common$jsbridge$dom.SetStyle($t3_4, 'alignItems', 'center');
12303          $t6_7 = common$jsbridge$dom.SetStyle($t3_4, 'gap', '10px');
12304          $t7_8 = common$jsbridge$dom.SetStyle($t3_4, 'padding', '16px');
12305          $t8_9 = common$jsbridge$dom.SetStyle($t3_4, 'borderBottom', '1px solid var(--border)');
12306          $t9_10 = common$jsbridge$dom.CreateElement('button');
12307          $t10_11 = common$jsbridge$dom.SetInnerHTML($t9_10, '&#x2190;');
12308          $t11_12 = common$jsbridge$dom.SetStyle($t9_10, 'background', 'none');
12309          $t12_13 = common$jsbridge$dom.SetStyle($t9_10, 'border', 'none');
12310          $t13_14 = common$jsbridge$dom.SetStyle($t9_10, 'fontSize', '20px');
12311          $t14_15 = common$jsbridge$dom.SetStyle($t9_10, 'cursor', 'pointer');
12312          $t15_16 = common$jsbridge$dom.SetStyle($t9_10, 'color', 'var(--fg)');
12313          $t16_17 = common$jsbridge$dom.SetStyle($t9_10, 'padding', '0');
12314          $t17_18 = common$jsbridge$dom.RegisterCallback(showRelayInfo$1);
12315          $t18_19 = common$jsbridge$dom.AddEventListener($t9_10, 'click', $t17_18);
12316          $t19_20 = common$jsbridge$dom.AppendChild($t3_4, $t9_10);
12317          $t20_21 = common$jsbridge$dom.CreateElement('span');
12318          $t21_22 = common$jsbridge$dom.SetTextContent($t20_21, url);
12319          $t22_23 = common$jsbridge$dom.SetStyle($t20_21, 'fontWeight', 'bold');
12320          $t23_24 = common$jsbridge$dom.SetStyle($t20_21, 'fontSize', '14px');
12321          $t24_25 = common$jsbridge$dom.SetStyle($t20_21, 'wordBreak', 'break-all');
12322          $t25_26 = common$jsbridge$dom.AppendChild($t3_4, $t20_21);
12323          $t26_27 = profilePage.$get();
12324          $t27_28 = common$jsbridge$dom.AppendChild($t26_27, $t3_4);
12325          $t28_29 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
12326          $t29_30 = common$jsbridge$dom.CreateElement('div');
12327          $t28_29.$set($t29_30);
12328          $t30_31 = $t28_29.$get();
12329          $t31_32 = common$jsbridge$dom.SetTextContent($t30_31, 'loading...');
12330          $t32_33 = $t28_29.$get();
12331          $t33_34 = common$jsbridge$dom.SetStyle($t32_33, 'padding', '16px');
12332          $t34_35 = $t28_29.$get();
12333          $t35_36 = common$jsbridge$dom.SetStyle($t34_35, 'color', 'var(--muted)');
12334          $t36_37 = profilePage.$get();
12335          $t37_38 = $t28_29.$get();
12336          $t38_39 = common$jsbridge$dom.AppendChild($t36_37, $t37_38);
12337          activePage.$set('');
12338          $t39_40 = switchPage('profile');
12339          $t40_41 = pageTitleEl.$get();
12340          $t41_42 = common$jsbridge$dom.SetTextContent($t40_41, 'relay info');
12341          $t42_43 = $rt.builtin.len(url);
12342          $t43_44 = ($t42_43 > 6);
12343          if ($t43_44) {
12344            $block = 4; break;
12345          }
12346          else {
12347            $block = 3; break;
12348          }
12349          break;
12350        }
12351        case 1: {
12352          $t44_45 = $rt.builtin.stringSlice(url, 6, undefined);
12353          $t45_46 = ('https://' + $t44_45);
12354          $t46_47 = $t45_46;
12355          $block = 2; break;
12356          break;
12357        }
12358        case 2: {
12359          $t47_48 = showRelayInfo$2.bind(null, $t28_29);
12360          $t48_49 = common$jsbridge$dom.FetchRelayInfo($t46_47, $t47_48);
12361          return;
12362          break;
12363        }
12364        case 3: {
12365          $t49_50 = $rt.builtin.len(url);
12366          $t50_51 = ($t49_50 > 5);
12367          if ($t50_51) {
12368            $block = 6; break;
12369          }
12370          else {
12371            $t46_47 = url;
12372            $block = 2; break;
12373          }
12374          break;
12375        }
12376        case 4: {
12377          $t51_52 = $rt.builtin.stringSlice(url, undefined, 6);
12378          $t52_53 = ($t51_52 === 'wss://');
12379          if ($t52_53) {
12380            $block = 1; break;
12381          }
12382          else {
12383            $block = 3; break;
12384          }
12385          break;
12386        }
12387        case 5: {
12388          $t53_54 = $rt.builtin.stringSlice(url, 5, undefined);
12389          $t54_55 = ('http://' + $t53_54);
12390          $t46_47 = $t54_55;
12391          $block = 2; break;
12392          break;
12393        }
12394        case 6: {
12395          $t55_56 = $rt.builtin.stringSlice(url, undefined, 5);
12396          $t56_57 = ($t55_56 === 'ws://');
12397          if ($t56_57) {
12398            $block = 5; break;
12399          }
12400          else {
12401            $t46_47 = url;
12402            $block = 2; break;
12403          }
12404          break;
12405        }
12406      }
12407    }
12408  }
12409  
12410  function showRelayInfo$1() {
12411    let $t0_1;
12412    $t0_1 = switchPage('feed');
12413    return;
12414  }
12415  
12416  function showRelayInfo$2(loading, body) {
12417    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
12418    let $block = 0;
12419    while (true) {
12420      switch ($block) {
12421        case 0: {
12422          $t0_1 = profilePage.$get();
12423          $t1_2 = loading.$get();
12424          $t2_3 = common$jsbridge$dom.RemoveChild($t0_1, $t1_2);
12425          $t3_4 = (body === '');
12426          if ($t3_4) {
12427            $block = 1; break;
12428          }
12429          else {
12430            $block = 2; break;
12431          }
12432          break;
12433        }
12434        case 1: {
12435          $t4_5 = common$jsbridge$dom.CreateElement('div');
12436          $t5_6 = common$jsbridge$dom.SetTextContent($t4_5, 'failed to fetch relay info');
12437          $t6_7 = common$jsbridge$dom.SetStyle($t4_5, 'padding', '16px');
12438          $t7_8 = common$jsbridge$dom.SetStyle($t4_5, 'color', '#e55');
12439          $t8_9 = profilePage.$get();
12440          $t9_10 = common$jsbridge$dom.AppendChild($t8_9, $t4_5);
12441          return;
12442          break;
12443        }
12444        case 2: {
12445          $t10_11 = renderRelayInfoBody(body);
12446          return;
12447          break;
12448        }
12449      }
12450    }
12451  }
12452  
12453  export function renderRelayInfoBody(body) {
12454    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51;
12455    let $block = 0;
12456    while (true) {
12457      switch ($block) {
12458        case 0: {
12459          $t0_1 = common$jsbridge$dom.CreateElement('div');
12460          $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '16px');
12461          $t2_3 = common$helpers.JsonGetString(body, 'name');
12462          $t3_4 = common$helpers.JsonGetString(body, 'description');
12463          $t4_5 = common$helpers.JsonGetString(body, 'pubkey');
12464          $t5_6 = common$helpers.JsonGetString(body, 'contact');
12465          $t6_7 = common$helpers.JsonGetString(body, 'software');
12466          $t7_8 = common$helpers.JsonGetString(body, 'version');
12467          $t8_9 = ($t2_3 !== '');
12468          if ($t8_9) {
12469            $block = 1; break;
12470          }
12471          else {
12472            $block = 2; break;
12473          }
12474          break;
12475        }
12476        case 1: {
12477          $t9_10 = common$jsbridge$dom.CreateElement('div');
12478          $t10_11 = common$jsbridge$dom.SetTextContent($t9_10, $t2_3);
12479          $t11_12 = common$jsbridge$dom.SetStyle($t9_10, 'fontSize', '20px');
12480          $t12_13 = common$jsbridge$dom.SetStyle($t9_10, 'fontWeight', 'bold');
12481          $t13_14 = common$jsbridge$dom.SetStyle($t9_10, 'marginBottom', '8px');
12482          $t14_15 = common$jsbridge$dom.SetStyle($t9_10, 'fontFamily', 'system-ui, sans-serif');
12483          $t15_16 = common$jsbridge$dom.AppendChild($t0_1, $t9_10);
12484          $block = 2; break;
12485          break;
12486        }
12487        case 2: {
12488          $t16_17 = ($t3_4 !== '');
12489          if ($t16_17) {
12490            $block = 3; break;
12491          }
12492          else {
12493            $block = 4; break;
12494          }
12495          break;
12496        }
12497        case 3: {
12498          $t17_18 = common$jsbridge$dom.CreateElement('div');
12499          $t18_19 = renderMarkdown($t3_4);
12500          $t19_20 = common$jsbridge$dom.SetInnerHTML($t17_18, $t18_19);
12501          $t20_21 = common$jsbridge$dom.SetStyle($t17_18, 'fontSize', '14px');
12502          $t21_22 = common$jsbridge$dom.SetStyle($t17_18, 'lineHeight', '1.5');
12503          $t22_23 = common$jsbridge$dom.SetStyle($t17_18, 'marginBottom', '12px');
12504          $t23_24 = common$jsbridge$dom.SetStyle($t17_18, 'wordBreak', 'break-word');
12505          $t24_25 = common$jsbridge$dom.AppendChild($t0_1, $t17_18);
12506          $block = 4; break;
12507          break;
12508        }
12509        case 4: {
12510          $t25_26 = ($t5_6 !== '');
12511          if ($t25_26) {
12512            $block = 5; break;
12513          }
12514          else {
12515            $block = 6; break;
12516          }
12517          break;
12518        }
12519        case 5: {
12520          $t26_27 = profileMetaRow('@', $t5_6, '');
12521          $t27_28 = common$jsbridge$dom.AppendChild($t0_1, $t26_27);
12522          $block = 6; break;
12523          break;
12524        }
12525        case 6: {
12526          $t28_29 = ($t4_5 !== '');
12527          if ($t28_29) {
12528            $block = 7; break;
12529          }
12530          else {
12531            $block = 8; break;
12532          }
12533          break;
12534        }
12535        case 7: {
12536          $t29_30 = common$helpers.HexDecode($t4_5);
12537          $t30_31 = common$helpers.EncodeNpub($t29_30);
12538          $t31_32 = $rt.builtin.len($t30_31);
12539          $t32_33 = ($t31_32 > 20);
12540          if ($t32_33) {
12541            $block = 9; break;
12542          }
12543          else {
12544            $t40_41 = $t30_31;
12545            $block = 10; break;
12546          }
12547          break;
12548        }
12549        case 8: {
12550          $t33_34 = ($t6_7 !== '');
12551          if ($t33_34) {
12552            $block = 11; break;
12553          }
12554          else {
12555            $block = 12; break;
12556          }
12557          break;
12558        }
12559        case 9: {
12560          $t34_35 = $rt.builtin.stringSlice($t30_31, undefined, 16);
12561          $t35_36 = ($t34_35 + '...');
12562          $t36_37 = $rt.builtin.len($t30_31);
12563          $t37_38 = ($t36_37 - 8);
12564          $t38_39 = $rt.builtin.stringSlice($t30_31, $t37_38, undefined);
12565          $t39_40 = ($t35_36 + $t38_39);
12566          $t40_41 = $t39_40;
12567          $block = 10; break;
12568          break;
12569        }
12570        case 10: {
12571          $t41_42 = profileMetaRow('pk', $t40_41, '');
12572          $t42_43 = common$jsbridge$dom.AppendChild($t0_1, $t41_42);
12573          $block = 8; break;
12574          break;
12575        }
12576        case 11: {
12577          $t43_44 = ($t7_8 !== '');
12578          if ($t43_44) {
12579            $block = 13; break;
12580          }
12581          else {
12582            $t48_49 = $t6_7;
12583            $block = 14; break;
12584          }
12585          break;
12586        }
12587        case 12: {
12588          $t44_45 = profilePage.$get();
12589          $t45_46 = common$jsbridge$dom.AppendChild($t44_45, $t0_1);
12590          return;
12591          break;
12592        }
12593        case 13: {
12594          $t46_47 = (' ' + $t7_8);
12595          $t47_48 = ($t6_7 + $t46_47);
12596          $t48_49 = $t47_48;
12597          $block = 14; break;
12598          break;
12599        }
12600        case 14: {
12601          $t49_50 = profileMetaRow('sw', $t48_49, '');
12602          $t50_51 = common$jsbridge$dom.AppendChild($t0_1, $t49_50);
12603          $block = 12; break;
12604          break;
12605        }
12606      }
12607    }
12608  }
12609  
12610  export function relayURLsJSON() {
12611    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
12612    let $block = 0;
12613    while (true) {
12614      switch ($block) {
12615        case 0: {
12616          $t0_1 = relayURLs.$get();
12617          $t1_2 = $rt.builtin.len($t0_1);
12618          $t2_3 = '[';
12619          $t3_4 = -1;
12620          $block = 1; break;
12621          break;
12622        }
12623        case 1: {
12624          $t4_5 = ($t3_4 + 1);
12625          $t5_6 = ($t4_5 < $t1_2);
12626          if ($t5_6) {
12627            $block = 2; break;
12628          }
12629          else {
12630            $block = 3; break;
12631          }
12632          break;
12633        }
12634        case 2: {
12635          $t6_7 = $t0_1.addr($t4_5);
12636          $t7_8 = $t6_7.$get();
12637          $t8_9 = ($t4_5 > 0);
12638          if ($t8_9) {
12639            $block = 4; break;
12640          }
12641          else {
12642            $t11_12 = $t2_3;
12643            $block = 5; break;
12644          }
12645          break;
12646        }
12647        case 3: {
12648          $t9_10 = ($t2_3 + ']');
12649          return $t9_10;
12650          break;
12651        }
12652        case 4: {
12653          $t10_11 = ($t2_3 + ',');
12654          $t11_12 = $t10_11;
12655          $block = 5; break;
12656          break;
12657        }
12658        case 5: {
12659          $t12_13 = jstr($t7_8);
12660          $t13_14 = ($t11_12 + $t12_13);
12661          $t2_3 = $t13_14;
12662          $t3_4 = $t4_5;
12663          $block = 1; break;
12664          break;
12665        }
12666      }
12667    }
12668  }
12669  
12670  export function formatTime(ts) {
12671    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19;
12672    let $block = 0;
12673    while (true) {
12674      switch ($block) {
12675        case 0: {
12676          $t0_1 = (ts === 0);
12677          if ($t0_1) {
12678            $block = 1; break;
12679          }
12680          else {
12681            $block = 2; break;
12682          }
12683          break;
12684        }
12685        case 1: {
12686          return '';
12687          break;
12688        }
12689        case 2: {
12690          $t1_2 = (ts % 86400);
12691          $t2_3 = Math.trunc($t1_2 / 3600);
12692          $t3_4 = $t2_3;
12693          $t4_5 = itoa($t3_4);
12694          $t5_6 = ($t1_2 % 3600);
12695          $t6_7 = Math.trunc($t5_6 / 60);
12696          $t7_8 = $t6_7;
12697          $t8_9 = itoa($t7_8);
12698          $t9_10 = $rt.builtin.len($t4_5);
12699          $t10_11 = ($t9_10 < 2);
12700          if ($t10_11) {
12701            $block = 3; break;
12702          }
12703          else {
12704            $t12_13 = $t4_5;
12705            $block = 4; break;
12706          }
12707          break;
12708        }
12709        case 3: {
12710          $t11_12 = ('0' + $t4_5);
12711          $t12_13 = $t11_12;
12712          $block = 4; break;
12713          break;
12714        }
12715        case 4: {
12716          $t13_14 = $rt.builtin.len($t8_9);
12717          $t14_15 = ($t13_14 < 2);
12718          if ($t14_15) {
12719            $block = 5; break;
12720          }
12721          else {
12722            $t16_17 = $t8_9;
12723            $block = 6; break;
12724          }
12725          break;
12726        }
12727        case 5: {
12728          $t15_16 = ('0' + $t8_9);
12729          $t16_17 = $t15_16;
12730          $block = 6; break;
12731          break;
12732        }
12733        case 6: {
12734          $t17_18 = ($t12_13 + ':');
12735          $t18_19 = ($t17_18 + $t16_17);
12736          return $t18_19;
12737          break;
12738        }
12739      }
12740    }
12741  }
12742  
12743  export function initMessaging() {
12744    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19;
12745    let $block = 0;
12746    while (true) {
12747      switch ($block) {
12748        case 0: {
12749          $t0_1 = msgListContainer.$get();
12750          $t1_2 = clearChildren($t0_1);
12751          $t2_3 = common$jsbridge$signer.HasSigner();
12752          if ($t2_3) {
12753            $block = 2; break;
12754          }
12755          else {
12756            $block = 1; break;
12757          }
12758          break;
12759        }
12760        case 1: {
12761          $t3_4 = common$jsbridge$dom.CreateElement('div');
12762          $t4_5 = common$jsbridge$dom.SetStyle($t3_4, 'padding', '24px');
12763          $t5_6 = common$jsbridge$dom.SetStyle($t3_4, 'textAlign', 'center');
12764          $t6_7 = common$jsbridge$dom.SetStyle($t3_4, 'color', 'var(--muted)');
12765          $t7_8 = common$jsbridge$dom.SetStyle($t3_4, 'fontSize', '13px');
12766          $t8_9 = common$jsbridge$dom.SetStyle($t3_4, 'lineHeight', '1.6');
12767          $t9_10 = common$jsbridge$dom.SetInnerHTML($t3_4, 'encrypted DMs require the <b>Smesh Signer</b> extension');
12768          $t10_11 = msgListContainer.$get();
12769          $t11_12 = common$jsbridge$dom.AppendChild($t10_11, $t3_4);
12770          return;
12771          break;
12772        }
12773        case 2: {
12774          $t12_13 = renderNewChatButton();
12775          $t13_14 = common$jsbridge$dom.PostToSW('["DM_LIST"]');
12776          $t14_15 = marmotInited.$get();
12777          if ($t14_15) {
12778            $block = 4; break;
12779          }
12780          else {
12781            $block = 3; break;
12782          }
12783          break;
12784        }
12785        case 3: {
12786          marmotInited.$set(true);
12787          $t15_16 = relayURLsJSON();
12788          $t16_17 = ('["MLS_INIT",' + $t15_16);
12789          $t17_18 = ($t16_17 + ']');
12790          $t18_19 = common$jsbridge$dom.PostToSW($t17_18);
12791          $block = 4; break;
12792          break;
12793        }
12794        case 4: {
12795          return;
12796          break;
12797        }
12798      }
12799    }
12800  }
12801  
12802  export function renderNewChatButton() {
12803    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18;
12804    $t0_1 = common$jsbridge$dom.CreateElement('button');
12805    $t1_2 = common$jsbridge$dom.SetTextContent($t0_1, '+ new chat');
12806    $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'display', 'block');
12807    $t3_4 = common$jsbridge$dom.SetStyle($t0_1, 'width', '100%');
12808    $t4_5 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '10px');
12809    $t5_6 = common$jsbridge$dom.SetStyle($t0_1, 'marginBottom', '8px');
12810    $t6_7 = common$jsbridge$dom.SetStyle($t0_1, 'fontFamily', '\'Fira Code\', monospace');
12811    $t7_8 = common$jsbridge$dom.SetStyle($t0_1, 'fontSize', '13px');
12812    $t8_9 = common$jsbridge$dom.SetStyle($t0_1, 'background', 'var(--bg2)');
12813    $t9_10 = common$jsbridge$dom.SetStyle($t0_1, 'border', '1px solid var(--border)');
12814    $t10_11 = common$jsbridge$dom.SetStyle($t0_1, 'borderRadius', '6px');
12815    $t11_12 = common$jsbridge$dom.SetStyle($t0_1, 'color', 'var(--accent)');
12816    $t12_13 = common$jsbridge$dom.SetStyle($t0_1, 'cursor', 'pointer');
12817    $t13_14 = common$jsbridge$dom.SetStyle($t0_1, 'textAlign', 'left');
12818    $t14_15 = common$jsbridge$dom.RegisterCallback(renderNewChatButton$1);
12819    $t15_16 = common$jsbridge$dom.AddEventListener($t0_1, 'click', $t14_15);
12820    $t16_17 = msgListContainer.$get();
12821    $t17_18 = common$jsbridge$dom.AppendChild($t16_17, $t0_1);
12822    return;
12823  }
12824  
12825  function renderNewChatButton$1() {
12826    let $t0_1;
12827    $t0_1 = showNewChatInput();
12828    return;
12829  }
12830  
12831  export function renderConversationList(listJSON) {
12832    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69;
12833    let $block = 0;
12834    while (true) {
12835      switch ($block) {
12836        case 0: {
12837          $t0_1 = msgView.$get();
12838          $t1_2 = ($t0_1 !== 'list');
12839          if ($t1_2) {
12840            $block = 1; break;
12841          }
12842          else {
12843            $block = 2; break;
12844          }
12845          break;
12846        }
12847        case 1: {
12848          return;
12849          break;
12850        }
12851        case 2: {
12852          $t2_3 = msgListContainer.$get();
12853          $t3_4 = clearChildren($t2_3);
12854          $t4_5 = renderNewChatButton();
12855          $t5_6 = (listJSON === '');
12856          if ($t5_6) {
12857            $block = 3; break;
12858          }
12859          else {
12860            $block = 5; break;
12861          }
12862          break;
12863        }
12864        case 3: {
12865          $t6_7 = common$jsbridge$dom.CreateElement('div');
12866          $t7_8 = common$jsbridge$dom.SetStyle($t6_7, 'color', 'var(--muted)');
12867          $t8_9 = common$jsbridge$dom.SetStyle($t6_7, 'textAlign', 'center');
12868          $t9_10 = common$jsbridge$dom.SetStyle($t6_7, 'marginTop', '48px');
12869          $t10_11 = common$jsbridge$dom.SetTextContent($t6_7, 'no conversations yet');
12870          $t11_12 = msgListContainer.$get();
12871          $t12_13 = common$jsbridge$dom.AppendChild($t11_12, $t6_7);
12872          return;
12873          break;
12874        }
12875        case 4: {
12876          $t16_17 = 0;
12877          $block = 8; break;
12878          break;
12879        }
12880        case 5: {
12881          $t13_14 = (listJSON === '[]');
12882          if ($t13_14) {
12883            $block = 3; break;
12884          }
12885          else {
12886            $block = 4; break;
12887          }
12888          break;
12889        }
12890        case 6: {
12891          $t14_15 = ($t16_17 + 1);
12892          $t16_17 = $t14_15;
12893          $block = 8; break;
12894          break;
12895        }
12896        case 7: {
12897          $t15_16 = ($t16_17 + 1);
12898          $t21_22 = $t15_16;
12899          $block = 11; break;
12900          break;
12901        }
12902        case 8: {
12903          $t17_18 = $rt.builtin.len(listJSON);
12904          $t18_19 = ($t16_17 < $t17_18);
12905          if ($t18_19) {
12906            $block = 9; break;
12907          }
12908          else {
12909            $block = 7; break;
12910          }
12911          break;
12912        }
12913        case 9: {
12914          $rt.runtime.boundsCheck($t16_17, $rt.builtin.byteLen(listJSON));
12915          $t19_20 = $rt.builtin.stringByteAt(listJSON, $t16_17);
12916          $t20_21 = ($t19_20 !== 91);
12917          if ($t20_21) {
12918            $block = 6; break;
12919          }
12920          else {
12921            $block = 7; break;
12922          }
12923          break;
12924        }
12925        case 10: {
12926          return;
12927          break;
12928        }
12929        case 11: {
12930          $t22_23 = $rt.builtin.len(listJSON);
12931          $t23_24 = ($t21_22 < $t22_23);
12932          if ($t23_24) {
12933            $t28_29 = $t21_22;
12934            $block = 14; break;
12935          }
12936          else {
12937            $block = 10; break;
12938          }
12939          break;
12940        }
12941        case 12: {
12942          $rt.runtime.boundsCheck($t28_29, $rt.builtin.byteLen(listJSON));
12943          $t24_25 = $rt.builtin.stringByteAt(listJSON, $t28_29);
12944          $t25_26 = ($t24_25 === 93);
12945          if ($t25_26) {
12946            $block = 16; break;
12947          }
12948          else {
12949            $block = 17; break;
12950          }
12951          break;
12952        }
12953        case 13: {
12954          $t26_27 = $rt.builtin.len(listJSON);
12955          $t27_28 = ($t28_29 >= $t26_27);
12956          if ($t27_28) {
12957            $block = 10; break;
12958          }
12959          else {
12960            $block = 18; break;
12961          }
12962          break;
12963        }
12964        case 14: {
12965          $t29_30 = $rt.builtin.len(listJSON);
12966          $t30_31 = ($t28_29 < $t29_30);
12967          if ($t30_31) {
12968            $block = 15; break;
12969          }
12970          else {
12971            $block = 13; break;
12972          }
12973          break;
12974        }
12975        case 15: {
12976          $rt.runtime.boundsCheck($t28_29, $rt.builtin.byteLen(listJSON));
12977          $t31_32 = $rt.builtin.stringByteAt(listJSON, $t28_29);
12978          $t32_33 = ($t31_32 !== 123);
12979          if ($t32_33) {
12980            $block = 12; break;
12981          }
12982          else {
12983            $block = 13; break;
12984          }
12985          break;
12986        }
12987        case 16: {
12988          return;
12989          break;
12990        }
12991        case 17: {
12992          $t33_34 = ($t28_29 + 1);
12993          $t28_29 = $t33_34;
12994          $block = 14; break;
12995          break;
12996        }
12997        case 18: {
12998          $t42_43 = $t28_29;
12999          $t43_44 = 0;
13000          $block = 21; break;
13001          break;
13002        }
13003        case 19: {
13004          $rt.runtime.boundsCheck($t42_43, $rt.builtin.byteLen(listJSON));
13005          $t34_35 = $rt.builtin.stringByteAt(listJSON, $t42_43);
13006          $t35_36 = ($t34_35 === 123);
13007          if ($t35_36) {
13008            $block = 22; break;
13009          }
13010          else {
13011            $block = 24; break;
13012          }
13013          break;
13014        }
13015        case 20: {
13016          $t37_38 = $rt.builtin.stringSlice(listJSON, $t28_29, $t36_37);
13017          $t38_39 = common$helpers.JsonGetString($t37_38, 'peer');
13018          $t39_40 = common$helpers.JsonGetString($t37_38, 'lastMessage');
13019          $t40_41 = jsonGetNum($t37_38, 'lastTs');
13020          $t41_42 = ($t38_39 === '');
13021          if ($t41_42) {
13022            $t21_22 = $t36_37;
13023            $block = 11; break;
13024          }
13025          else {
13026            $block = 34; break;
13027          }
13028          break;
13029        }
13030        case 21: {
13031          $t44_45 = $rt.builtin.len(listJSON);
13032          $t45_46 = ($t42_43 < $t44_45);
13033          if ($t45_46) {
13034            $block = 19; break;
13035          }
13036          else {
13037            $t36_37 = $t42_43;
13038            $block = 20; break;
13039          }
13040          break;
13041        }
13042        case 22: {
13043          $t46_47 = ($t43_44 + 1);
13044          $t47_48 = $t42_43;
13045          $t48_49 = $t46_47;
13046          $block = 23; break;
13047          break;
13048        }
13049        case 23: {
13050          $t49_50 = ($t47_48 + 1);
13051          $t42_43 = $t49_50;
13052          $t43_44 = $t48_49;
13053          $block = 21; break;
13054          break;
13055        }
13056        case 24: {
13057          $rt.runtime.boundsCheck($t42_43, $rt.builtin.byteLen(listJSON));
13058          $t50_51 = $rt.builtin.stringByteAt(listJSON, $t42_43);
13059          $t51_52 = ($t50_51 === 125);
13060          if ($t51_52) {
13061            $block = 25; break;
13062          }
13063          else {
13064            $block = 26; break;
13065          }
13066          break;
13067        }
13068        case 25: {
13069          $t52_53 = ($t43_44 - 1);
13070          $t53_54 = ($t52_53 === 0);
13071          if ($t53_54) {
13072            $block = 27; break;
13073          }
13074          else {
13075            $t47_48 = $t42_43;
13076            $t48_49 = $t52_53;
13077            $block = 23; break;
13078          }
13079          break;
13080        }
13081        case 26: {
13082          $rt.runtime.boundsCheck($t42_43, $rt.builtin.byteLen(listJSON));
13083          $t54_55 = $rt.builtin.stringByteAt(listJSON, $t42_43);
13084          $t55_56 = ($t54_55 === 34);
13085          if ($t55_56) {
13086            $block = 28; break;
13087          }
13088          else {
13089            $t47_48 = $t42_43;
13090            $t48_49 = $t43_44;
13091            $block = 23; break;
13092          }
13093          break;
13094        }
13095        case 27: {
13096          $t56_57 = ($t42_43 + 1);
13097          $t36_37 = $t56_57;
13098          $block = 20; break;
13099          break;
13100        }
13101        case 28: {
13102          $t57_58 = ($t42_43 + 1);
13103          $t60_61 = $t57_58;
13104          $block = 30; break;
13105          break;
13106        }
13107        case 29: {
13108          $rt.runtime.boundsCheck($t60_61, $rt.builtin.byteLen(listJSON));
13109          $t58_59 = $rt.builtin.stringByteAt(listJSON, $t60_61);
13110          $t59_60 = ($t58_59 === 92);
13111          if ($t59_60) {
13112            $block = 32; break;
13113          }
13114          else {
13115            $t66_67 = $t60_61;
13116            $block = 33; break;
13117          }
13118          break;
13119        }
13120        case 30: {
13121          $t61_62 = $rt.builtin.len(listJSON);
13122          $t62_63 = ($t60_61 < $t61_62);
13123          if ($t62_63) {
13124            $block = 31; break;
13125          }
13126          else {
13127            $t47_48 = $t60_61;
13128            $t48_49 = $t43_44;
13129            $block = 23; break;
13130          }
13131          break;
13132        }
13133        case 31: {
13134          $rt.runtime.boundsCheck($t60_61, $rt.builtin.byteLen(listJSON));
13135          $t63_64 = $rt.builtin.stringByteAt(listJSON, $t60_61);
13136          $t64_65 = ($t63_64 !== 34);
13137          if ($t64_65) {
13138            $block = 29; break;
13139          }
13140          else {
13141            $t47_48 = $t60_61;
13142            $t48_49 = $t43_44;
13143            $block = 23; break;
13144          }
13145          break;
13146        }
13147        case 32: {
13148          $t65_66 = ($t60_61 + 1);
13149          $t66_67 = $t65_66;
13150          $block = 33; break;
13151          break;
13152        }
13153        case 33: {
13154          $t67_68 = ($t66_67 + 1);
13155          $t60_61 = $t67_68;
13156          $block = 30; break;
13157          break;
13158        }
13159        case 34: {
13160          $t68_69 = renderConversationRow($t38_39, $t39_40, $t40_41);
13161          $t21_22 = $t36_37;
13162          $block = 11; break;
13163          break;
13164        }
13165      }
13166    }
13167  }
13168  
13169  export function renderConversationRow(peer, lastMsg, lastTs) {
13170    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86;
13171    let $block = 0;
13172    while (true) {
13173      switch ($block) {
13174        case 0: {
13175          $t0_1 = common$jsbridge$dom.CreateElement('div');
13176          $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'display', 'flex');
13177          $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'alignItems', 'center');
13178          $t3_4 = common$jsbridge$dom.SetStyle($t0_1, 'gap', '10px');
13179          $t4_5 = common$jsbridge$dom.SetStyle($t0_1, 'padding', '10px 4px');
13180          $t5_6 = common$jsbridge$dom.SetStyle($t0_1, 'borderBottom', '1px solid var(--border)');
13181          $t6_7 = common$jsbridge$dom.SetStyle($t0_1, 'cursor', 'pointer');
13182          $t7_8 = common$jsbridge$dom.CreateElement('img');
13183          $t8_9 = common$jsbridge$dom.SetAttribute($t7_8, 'width', '32');
13184          $t9_10 = common$jsbridge$dom.SetAttribute($t7_8, 'height', '32');
13185          $t10_11 = common$jsbridge$dom.SetStyle($t7_8, 'borderRadius', '50%');
13186          $t11_12 = common$jsbridge$dom.SetStyle($t7_8, 'objectFit', 'cover');
13187          $t12_13 = common$jsbridge$dom.SetStyle($t7_8, 'flexShrink', '0');
13188          $t13_14 = authorPics.$get();
13189          { const $r = $rt.builtin.mapLookup($t13_14, peer); $t14_15 = [$r.value, $r.ok]; }
13190          $t15_16 = $t14_15[0];
13191          $t16_17 = $t14_15[1];
13192          if ($t16_17) {
13193            $block = 4; break;
13194          }
13195          else {
13196            $block = 3; break;
13197          }
13198          break;
13199        }
13200        case 1: {
13201          $t17_18 = common$jsbridge$dom.SetAttribute($t7_8, 'src', $t15_16);
13202          $block = 2; break;
13203          break;
13204        }
13205        case 2: {
13206          $t18_19 = common$jsbridge$dom.SetAttribute($t7_8, 'onerror', 'this.style.display=\'none\'');
13207          $t19_20 = common$jsbridge$dom.AppendChild($t0_1, $t7_8);
13208          $t20_21 = common$jsbridge$dom.CreateElement('div');
13209          $t21_22 = common$jsbridge$dom.SetStyle($t20_21, 'flex', '1');
13210          $t22_23 = common$jsbridge$dom.SetStyle($t20_21, 'minWidth', '0');
13211          $t23_24 = common$jsbridge$dom.CreateElement('div');
13212          $t24_25 = common$jsbridge$dom.SetStyle($t23_24, 'fontSize', '14px');
13213          $t25_26 = common$jsbridge$dom.SetStyle($t23_24, 'fontWeight', 'bold');
13214          $t26_27 = common$jsbridge$dom.SetStyle($t23_24, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
13215          $t27_28 = common$jsbridge$dom.SetStyle($t23_24, 'overflow', 'hidden');
13216          $t28_29 = common$jsbridge$dom.SetStyle($t23_24, 'textOverflow', 'ellipsis');
13217          $t29_30 = common$jsbridge$dom.SetStyle($t23_24, 'whiteSpace', 'nowrap');
13218          $t30_31 = authorNames.$get();
13219          { const $r = $rt.builtin.mapLookup($t30_31, peer); $t31_32 = [$r.value, $r.ok]; }
13220          $t32_33 = $t31_32[0];
13221          $t33_34 = $t31_32[1];
13222          if ($t33_34) {
13223            $block = 8; break;
13224          }
13225          else {
13226            $block = 7; break;
13227          }
13228          break;
13229        }
13230        case 3: {
13231          $t34_35 = common$jsbridge$dom.SetStyle($t7_8, 'background', 'var(--bg2)');
13232          $block = 2; break;
13233          break;
13234        }
13235        case 4: {
13236          $t35_36 = ($t15_16 !== '');
13237          if ($t35_36) {
13238            $block = 1; break;
13239          }
13240          else {
13241            $block = 3; break;
13242          }
13243          break;
13244        }
13245        case 5: {
13246          $t36_37 = common$jsbridge$dom.SetTextContent($t23_24, $t32_33);
13247          $block = 6; break;
13248          break;
13249        }
13250        case 6: {
13251          $t37_38 = common$jsbridge$dom.AppendChild($t20_21, $t23_24);
13252          $t38_39 = common$jsbridge$dom.CreateElement('div');
13253          $t39_40 = common$jsbridge$dom.SetStyle($t38_39, 'fontSize', '12px');
13254          $t40_41 = common$jsbridge$dom.SetStyle($t38_39, 'color', 'var(--muted)');
13255          $t41_42 = common$jsbridge$dom.SetStyle($t38_39, 'overflow', 'hidden');
13256          $t42_43 = common$jsbridge$dom.SetStyle($t38_39, 'textOverflow', 'ellipsis');
13257          $t43_44 = common$jsbridge$dom.SetStyle($t38_39, 'whiteSpace', 'nowrap');
13258          $t44_45 = $rt.builtin.len(lastMsg);
13259          $t45_46 = ($t44_45 > 80);
13260          if ($t45_46) {
13261            $block = 11; break;
13262          }
13263          else {
13264            $t61_62 = lastMsg;
13265            $block = 12; break;
13266          }
13267          break;
13268        }
13269        case 7: {
13270          $t46_47 = common$helpers.HexDecode(peer);
13271          $t47_48 = common$helpers.EncodeNpub($t46_47);
13272          $t48_49 = $rt.builtin.len($t47_48);
13273          $t49_50 = ($t48_49 > 20);
13274          if ($t49_50) {
13275            $block = 9; break;
13276          }
13277          else {
13278            $block = 10; break;
13279          }
13280          break;
13281        }
13282        case 8: {
13283          $t50_51 = ($t32_33 !== '');
13284          if ($t50_51) {
13285            $block = 5; break;
13286          }
13287          else {
13288            $block = 7; break;
13289          }
13290          break;
13291        }
13292        case 9: {
13293          $t51_52 = $rt.builtin.stringSlice($t47_48, undefined, 12);
13294          $t52_53 = ($t51_52 + '...');
13295          $t53_54 = $rt.builtin.len($t47_48);
13296          $t54_55 = ($t53_54 - 4);
13297          $t55_56 = $rt.builtin.stringSlice($t47_48, $t54_55, undefined);
13298          $t56_57 = ($t52_53 + $t55_56);
13299          $t57_58 = common$jsbridge$dom.SetTextContent($t23_24, $t56_57);
13300          $block = 6; break;
13301          break;
13302        }
13303        case 10: {
13304          $t58_59 = common$jsbridge$dom.SetTextContent($t23_24, $t47_48);
13305          $block = 6; break;
13306          break;
13307        }
13308        case 11: {
13309          $t59_60 = $rt.builtin.stringSlice(lastMsg, undefined, 80);
13310          $t60_61 = ($t59_60 + '...');
13311          $t61_62 = $t60_61;
13312          $block = 12; break;
13313          break;
13314        }
13315        case 12: {
13316          $t62_63 = common$jsbridge$dom.SetTextContent($t38_39, $t61_62);
13317          $t63_64 = common$jsbridge$dom.AppendChild($t20_21, $t38_39);
13318          $t64_65 = common$jsbridge$dom.AppendChild($t0_1, $t20_21);
13319          $t65_66 = (lastTs > 0);
13320          if ($t65_66) {
13321            $block = 13; break;
13322          }
13323          else {
13324            $block = 14; break;
13325          }
13326          break;
13327        }
13328        case 13: {
13329          $t66_67 = common$jsbridge$dom.CreateElement('span');
13330          $t67_68 = common$jsbridge$dom.SetStyle($t66_67, 'fontSize', '11px');
13331          $t68_69 = common$jsbridge$dom.SetStyle($t66_67, 'color', 'var(--muted)');
13332          $t69_70 = common$jsbridge$dom.SetStyle($t66_67, 'flexShrink', '0');
13333          $t70_71 = formatTime(lastTs);
13334          $t71_72 = common$jsbridge$dom.SetTextContent($t66_67, $t70_71);
13335          $t72_73 = common$jsbridge$dom.AppendChild($t0_1, $t66_67);
13336          $block = 14; break;
13337          break;
13338        }
13339        case 14: {
13340          $t73_74 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
13341          $t73_74.$set(peer);
13342          $t74_75 = renderConversationRow$1.bind(null, $t73_74);
13343          $t75_76 = common$jsbridge$dom.RegisterCallback($t74_75);
13344          $t76_77 = common$jsbridge$dom.AddEventListener($t0_1, 'click', $t75_76);
13345          $t77_78 = authorNames.$get();
13346          { const $r = $rt.builtin.mapLookup($t77_78, peer); $t78_79 = [$r.value, $r.ok]; }
13347          $t79_80 = $t78_79[0];
13348          $t80_81 = $t78_79[1];
13349          if ($t80_81) {
13350            $block = 16; break;
13351          }
13352          else {
13353            $block = 17; break;
13354          }
13355          break;
13356        }
13357        case 15: {
13358          $t81_82 = queueProfileFetch(peer);
13359          $block = 16; break;
13360          break;
13361        }
13362        case 16: {
13363          $t82_83 = msgListContainer.$get();
13364          $t83_84 = common$jsbridge$dom.AppendChild($t82_83, $t0_1);
13365          return;
13366          break;
13367        }
13368        case 17: {
13369          $t84_85 = fetchedK0.$get();
13370          $t85_86 = $rt.builtin.mapLookup($t84_85, peer).value;
13371          if ($t85_86) {
13372            $block = 16; break;
13373          }
13374          else {
13375            $block = 15; break;
13376          }
13377          break;
13378        }
13379      }
13380    }
13381  }
13382  
13383  function renderConversationRow$1(rowPeer) {
13384    let $t0_1, $t1_2;
13385    $t0_1 = rowPeer.$get();
13386    $t1_2 = openThread($t0_1);
13387    return;
13388  }
13389  
13390  export function showNewChatInput() {
13391    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65;
13392    let $block = 0;
13393    while (true) {
13394      switch ($block) {
13395        case 0: {
13396          $t0_1 = msgListContainer.$get();
13397          $t1_2 = common$jsbridge$dom.FirstChild($t0_1);
13398          $t2_3 = ($t1_2 !== 0);
13399          if ($t2_3) {
13400            $block = 1; break;
13401          }
13402          else {
13403            $block = 2; break;
13404          }
13405          break;
13406        }
13407        case 1: {
13408          $t3_4 = common$jsbridge$dom.NextSibling($t1_2);
13409          $t4_5 = ($t3_4 !== 0);
13410          if ($t4_5) {
13411            $block = 3; break;
13412          }
13413          else {
13414            $block = 2; break;
13415          }
13416          break;
13417        }
13418        case 2: {
13419          $t5_6 = common$jsbridge$dom.CreateElement('div');
13420          $t6_7 = common$jsbridge$dom.SetAttribute($t5_6, 'id', 'new-chat-row');
13421          $t7_8 = common$jsbridge$dom.SetStyle($t5_6, 'display', 'flex');
13422          $t8_9 = common$jsbridge$dom.SetStyle($t5_6, 'gap', '8px');
13423          $t9_10 = common$jsbridge$dom.SetStyle($t5_6, 'marginBottom', '8px');
13424          $t10_11 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
13425          $t11_12 = common$jsbridge$dom.CreateElement('input');
13426          $t10_11.$set($t11_12);
13427          $t12_13 = $t10_11.$get();
13428          $t13_14 = common$jsbridge$dom.SetAttribute($t12_13, 'type', 'text');
13429          $t14_15 = $t10_11.$get();
13430          $t15_16 = common$jsbridge$dom.SetAttribute($t14_15, 'placeholder', 'npub or hex pubkey');
13431          $t16_17 = $t10_11.$get();
13432          $t17_18 = common$jsbridge$dom.SetStyle($t16_17, 'flex', '1');
13433          $t18_19 = $t10_11.$get();
13434          $t19_20 = common$jsbridge$dom.SetStyle($t18_19, 'padding', '8px');
13435          $t20_21 = $t10_11.$get();
13436          $t21_22 = common$jsbridge$dom.SetStyle($t20_21, 'fontFamily', '\'Fira Code\', monospace');
13437          $t22_23 = $t10_11.$get();
13438          $t23_24 = common$jsbridge$dom.SetStyle($t22_23, 'fontSize', '12px');
13439          $t24_25 = $t10_11.$get();
13440          $t25_26 = common$jsbridge$dom.SetStyle($t24_25, 'background', 'var(--bg)');
13441          $t26_27 = $t10_11.$get();
13442          $t27_28 = common$jsbridge$dom.SetStyle($t26_27, 'border', '1px solid var(--border)');
13443          $t28_29 = $t10_11.$get();
13444          $t29_30 = common$jsbridge$dom.SetStyle($t28_29, 'borderRadius', '4px');
13445          $t30_31 = $t10_11.$get();
13446          $t31_32 = common$jsbridge$dom.SetStyle($t30_31, 'color', 'var(--fg)');
13447          $t32_33 = common$jsbridge$dom.CreateElement('button');
13448          $t33_34 = common$jsbridge$dom.SetTextContent($t32_33, 'go');
13449          $t34_35 = common$jsbridge$dom.SetStyle($t32_33, 'padding', '8px 16px');
13450          $t35_36 = common$jsbridge$dom.SetStyle($t32_33, 'fontFamily', '\'Fira Code\', monospace');
13451          $t36_37 = common$jsbridge$dom.SetStyle($t32_33, 'fontSize', '12px');
13452          $t37_38 = common$jsbridge$dom.SetStyle($t32_33, 'background', 'var(--accent)');
13453          $t38_39 = common$jsbridge$dom.SetStyle($t32_33, 'color', '#000');
13454          $t39_40 = common$jsbridge$dom.SetStyle($t32_33, 'border', 'none');
13455          $t40_41 = common$jsbridge$dom.SetStyle($t32_33, 'borderRadius', '4px');
13456          $t41_42 = common$jsbridge$dom.SetStyle($t32_33, 'cursor', 'pointer');
13457          $t42_43 = showNewChatInput$1.bind(null, $t10_11);
13458          $t43_44 = common$jsbridge$dom.RegisterCallback($t42_43);
13459          $t44_45 = common$jsbridge$dom.AddEventListener($t32_33, 'click', $t43_44);
13460          $t45_46 = $t10_11.$get();
13461          $t46_47 = common$jsbridge$dom.SetAttribute($t45_46, 'onkeydown', 'if(event.key===\'Enter\'){event.preventDefault();this.nextSibling.click()}');
13462          $t47_48 = $t10_11.$get();
13463          $t48_49 = common$jsbridge$dom.AppendChild($t5_6, $t47_48);
13464          $t49_50 = common$jsbridge$dom.AppendChild($t5_6, $t32_33);
13465          $t50_51 = msgListContainer.$get();
13466          $t51_52 = common$jsbridge$dom.FirstChild($t50_51);
13467          $t52_53 = ($t51_52 !== 0);
13468          if ($t52_53) {
13469            $block = 6; break;
13470          }
13471          else {
13472            $block = 8; break;
13473          }
13474          break;
13475        }
13476        case 3: {
13477          $t53_54 = common$jsbridge$dom.GetProperty($t3_4, 'tagName');
13478          $t54_55 = ($t53_54 === 'DIV');
13479          if ($t54_55) {
13480            $block = 4; break;
13481          }
13482          else {
13483            $block = 2; break;
13484          }
13485          break;
13486        }
13487        case 4: {
13488          $t55_56 = common$jsbridge$dom.GetProperty($t3_4, 'id');
13489          $t56_57 = ($t55_56 === 'new-chat-row');
13490          if ($t56_57) {
13491            $block = 5; break;
13492          }
13493          else {
13494            $block = 2; break;
13495          }
13496          break;
13497        }
13498        case 5: {
13499          return;
13500          break;
13501        }
13502        case 6: {
13503          $t57_58 = common$jsbridge$dom.NextSibling($t51_52);
13504          $t58_59 = ($t57_58 !== 0);
13505          if ($t58_59) {
13506            $block = 9; break;
13507          }
13508          else {
13509            $block = 10; break;
13510          }
13511          break;
13512        }
13513        case 7: {
13514          return;
13515          break;
13516        }
13517        case 8: {
13518          $t59_60 = msgListContainer.$get();
13519          $t60_61 = common$jsbridge$dom.AppendChild($t59_60, $t5_6);
13520          $block = 7; break;
13521          break;
13522        }
13523        case 9: {
13524          $t61_62 = msgListContainer.$get();
13525          $t62_63 = common$jsbridge$dom.InsertBefore($t61_62, $t5_6, $t57_58);
13526          $block = 7; break;
13527          break;
13528        }
13529        case 10: {
13530          $t63_64 = msgListContainer.$get();
13531          $t64_65 = common$jsbridge$dom.AppendChild($t63_64, $t5_6);
13532          $block = 7; break;
13533          break;
13534        }
13535      }
13536    }
13537  }
13538  
13539  function showNewChatInput$1(inp) {
13540    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14;
13541    let $block = 0;
13542    while (true) {
13543      switch ($block) {
13544        case 0: {
13545          $t0_1 = inp.$get();
13546          $t1_2 = common$jsbridge$dom.GetProperty($t0_1, 'value');
13547          $t2_3 = ($t1_2 === '');
13548          if ($t2_3) {
13549            $block = 1; break;
13550          }
13551          else {
13552            $block = 2; break;
13553          }
13554          break;
13555        }
13556        case 1: {
13557          return;
13558          break;
13559        }
13560        case 2: {
13561          $t3_4 = $rt.builtin.len($t1_2);
13562          $t4_5 = ($t3_4 === 64);
13563          if ($t4_5) {
13564            $block = 3; break;
13565          }
13566          else {
13567            $block = 5; break;
13568          }
13569          break;
13570        }
13571        case 3: {
13572          $t5_6 = $t1_2;
13573          $block = 4; break;
13574          break;
13575        }
13576        case 4: {
13577          $t6_7 = openThread($t5_6);
13578          return;
13579          break;
13580        }
13581        case 5: {
13582          $t7_8 = $rt.builtin.len($t1_2);
13583          $t8_9 = ($t7_8 > 4);
13584          if ($t8_9) {
13585            $block = 8; break;
13586          }
13587          else {
13588            $block = 7; break;
13589          }
13590          break;
13591        }
13592        case 6: {
13593          $t9_10 = common$helpers.DecodeNpub($t1_2);
13594          $t10_11 = ($t9_10 === null);
13595          if ($t10_11) {
13596            $block = 9; break;
13597          }
13598          else {
13599            $block = 10; break;
13600          }
13601          break;
13602        }
13603        case 7: {
13604          return;
13605          break;
13606        }
13607        case 8: {
13608          $t11_12 = $rt.builtin.stringSlice($t1_2, undefined, 4);
13609          $t12_13 = ($t11_12 === 'npub');
13610          if ($t12_13) {
13611            $block = 6; break;
13612          }
13613          else {
13614            $block = 7; break;
13615          }
13616          break;
13617        }
13618        case 9: {
13619          return;
13620          break;
13621        }
13622        case 10: {
13623          $t13_14 = common$helpers.HexEncode($t9_10);
13624          $t5_6 = $t13_14;
13625          $block = 4; break;
13626          break;
13627        }
13628      }
13629    }
13630  }
13631  
13632  export function openThread(peer) {
13633    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97, $t97_98, $t98_99, $t99_100, $t100_101, $t101_102, $t102_103, $t103_104, $t104_105, $t105_106, $t106_107, $t107_108, $t108_109, $t109_110, $t110_111, $t111_112, $t112_113, $t113_114, $t114_115, $t115_116, $t116_117, $t117_118, $t118_119, $t119_120, $t120_121, $t121_122, $t122_123, $t123_124, $t124_125, $t125_126, $t126_127, $t127_128, $t128_129, $t129_130, $t130_131, $t131_132, $t132_133, $t133_134, $t134_135, $t135_136, $t136_137, $t137_138, $t138_139, $t139_140, $t140_141, $t141_142, $t142_143, $t143_144, $t144_145, $t145_146, $t146_147, $t147_148, $t148_149, $t149_150, $t150_151, $t151_152, $t152_153, $t153_154, $t154_155, $t155_156, $t156_157, $t157_158, $t158_159, $t159_160, $t160_161, $t161_162, $t162_163, $t163_164, $t164_165, $t165_166, $t166_167, $t167_168, $t168_169, $t169_170, $t170_171, $t171_172, $t172_173, $t173_174, $t174_175, $t175_176, $t176_177;
13634    let $block = 0;
13635    while (true) {
13636      switch ($block) {
13637        case 0: {
13638          $t0_1 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
13639          $t0_1.$set(peer);
13640          $t1_2 = $t0_1.$get();
13641          msgCurrentPeer.$set($t1_2);
13642          msgView.$set('thread');
13643          $t2_3 = navPop.$get();
13644          if ($t2_3) {
13645            $block = 2; break;
13646          }
13647          else {
13648            $block = 1; break;
13649          }
13650          break;
13651        }
13652        case 1: {
13653          $t3_4 = $t0_1.$get();
13654          $t4_5 = common$helpers.HexDecode($t3_4);
13655          $t5_6 = common$helpers.EncodeNpub($t4_5);
13656          $t6_7 = ('/msg/' + $t5_6);
13657          $t7_8 = common$jsbridge$dom.PushState($t6_7);
13658          $block = 2; break;
13659          break;
13660        }
13661        case 2: {
13662          $t8_9 = msgListContainer.$get();
13663          $t9_10 = common$jsbridge$dom.SetStyle($t8_9, 'display', 'none');
13664          $t10_11 = msgThreadContainer.$get();
13665          $t11_12 = common$jsbridge$dom.SetStyle($t10_11, 'display', 'flex');
13666          $t12_13 = msgThreadContainer.$get();
13667          $t13_14 = clearChildren($t12_13);
13668          $t14_15 = common$jsbridge$dom.CreateElement('div');
13669          $t15_16 = common$jsbridge$dom.SetStyle($t14_15, 'display', 'flex');
13670          $t16_17 = common$jsbridge$dom.SetStyle($t14_15, 'alignItems', 'center');
13671          $t17_18 = common$jsbridge$dom.SetStyle($t14_15, 'gap', '10px');
13672          $t18_19 = common$jsbridge$dom.SetStyle($t14_15, 'padding', '12px 16px');
13673          $t19_20 = common$jsbridge$dom.SetStyle($t14_15, 'borderBottom', '1px solid var(--border)');
13674          $t20_21 = common$jsbridge$dom.SetStyle($t14_15, 'flexShrink', '0');
13675          $t21_22 = common$jsbridge$dom.CreateElement('button');
13676          $t22_23 = common$jsbridge$dom.SetInnerHTML($t21_22, '&#x2190;');
13677          $t23_24 = common$jsbridge$dom.SetStyle($t21_22, 'background', 'none');
13678          $t24_25 = common$jsbridge$dom.SetStyle($t21_22, 'border', 'none');
13679          $t25_26 = common$jsbridge$dom.SetStyle($t21_22, 'fontSize', '20px');
13680          $t26_27 = common$jsbridge$dom.SetStyle($t21_22, 'cursor', 'pointer');
13681          $t27_28 = common$jsbridge$dom.SetStyle($t21_22, 'color', 'var(--fg)');
13682          $t28_29 = common$jsbridge$dom.SetStyle($t21_22, 'padding', '0');
13683          $t29_30 = common$jsbridge$dom.RegisterCallback(openThread$1);
13684          $t30_31 = common$jsbridge$dom.AddEventListener($t21_22, 'click', $t29_30);
13685          $t31_32 = common$jsbridge$dom.AppendChild($t14_15, $t21_22);
13686          $t32_33 = common$jsbridge$dom.CreateElement('div');
13687          $t33_34 = common$jsbridge$dom.CreateElement('img');
13688          $t34_35 = common$jsbridge$dom.SetAttribute($t33_34, 'width', '28');
13689          $t35_36 = common$jsbridge$dom.SetAttribute($t33_34, 'height', '28');
13690          $t36_37 = common$jsbridge$dom.SetStyle($t33_34, 'borderRadius', '50%');
13691          $t37_38 = common$jsbridge$dom.SetStyle($t33_34, 'objectFit', 'cover');
13692          $t38_39 = common$jsbridge$dom.SetStyle($t33_34, 'flexShrink', '0');
13693          $t39_40 = authorPics.$get();
13694          $t40_41 = $t0_1.$get();
13695          { const $r = $rt.builtin.mapLookup($t39_40, $t40_41); $t41_42 = [$r.value, $r.ok]; }
13696          $t42_43 = $t41_42[0];
13697          $t43_44 = $t41_42[1];
13698          if ($t43_44) {
13699            $block = 6; break;
13700          }
13701          else {
13702            $block = 5; break;
13703          }
13704          break;
13705        }
13706        case 3: {
13707          $t44_45 = common$jsbridge$dom.SetAttribute($t33_34, 'src', $t42_43);
13708          $block = 4; break;
13709          break;
13710        }
13711        case 4: {
13712          $t45_46 = common$jsbridge$dom.SetAttribute($t33_34, 'onerror', 'this.style.display=\'none\'');
13713          $t46_47 = common$jsbridge$dom.AppendChild($t32_33, $t33_34);
13714          $t47_48 = common$jsbridge$dom.CreateElement('span');
13715          $t48_49 = common$jsbridge$dom.SetStyle($t47_48, 'fontSize', '15px');
13716          $t49_50 = common$jsbridge$dom.SetStyle($t47_48, 'fontWeight', 'bold');
13717          $t50_51 = common$jsbridge$dom.SetStyle($t47_48, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
13718          $t51_52 = authorNames.$get();
13719          $t52_53 = $t0_1.$get();
13720          { const $r = $rt.builtin.mapLookup($t51_52, $t52_53); $t53_54 = [$r.value, $r.ok]; }
13721          $t54_55 = $t53_54[0];
13722          $t55_56 = $t53_54[1];
13723          if ($t55_56) {
13724            $block = 10; break;
13725          }
13726          else {
13727            $block = 9; break;
13728          }
13729          break;
13730        }
13731        case 5: {
13732          $t56_57 = common$jsbridge$dom.SetStyle($t33_34, 'display', 'none');
13733          $block = 4; break;
13734          break;
13735        }
13736        case 6: {
13737          $t57_58 = ($t42_43 !== '');
13738          if ($t57_58) {
13739            $block = 3; break;
13740          }
13741          else {
13742            $block = 5; break;
13743          }
13744          break;
13745        }
13746        case 7: {
13747          $t58_59 = common$jsbridge$dom.SetTextContent($t47_48, $t54_55);
13748          $block = 8; break;
13749          break;
13750        }
13751        case 8: {
13752          $t59_60 = common$jsbridge$dom.AppendChild($t32_33, $t47_48);
13753          $t60_61 = common$jsbridge$dom.SetStyle($t32_33, 'display', 'flex');
13754          $t61_62 = common$jsbridge$dom.SetStyle($t32_33, 'alignItems', 'center');
13755          $t62_63 = common$jsbridge$dom.SetStyle($t32_33, 'gap', '10px');
13756          $t63_64 = common$jsbridge$dom.AppendChild($t14_15, $t32_33);
13757          $t64_65 = common$jsbridge$dom.CreateElement('button');
13758          $t65_66 = common$jsbridge$dom.SetTextContent($t64_65, 'ratchet');
13759          $t66_67 = common$jsbridge$dom.SetStyle($t64_65, 'marginLeft', 'auto');
13760          $t67_68 = common$jsbridge$dom.SetStyle($t64_65, 'background', 'none');
13761          $t68_69 = common$jsbridge$dom.SetStyle($t64_65, 'border', '1px solid var(--border)');
13762          $t69_70 = common$jsbridge$dom.SetStyle($t64_65, 'borderRadius', '4px');
13763          $t70_71 = common$jsbridge$dom.SetStyle($t64_65, 'color', 'var(--fg)');
13764          $t71_72 = common$jsbridge$dom.SetStyle($t64_65, 'cursor', 'pointer');
13765          $t72_73 = common$jsbridge$dom.SetStyle($t64_65, 'fontSize', '11px');
13766          $t73_74 = common$jsbridge$dom.SetStyle($t64_65, 'padding', '4px 8px');
13767          $t74_75 = common$jsbridge$dom.SetStyle($t64_65, 'fontFamily', '\'Fira Code\', monospace');
13768          $t75_76 = openThread$2.bind(null, $t0_1);
13769          $t76_77 = common$jsbridge$dom.RegisterCallback($t75_76);
13770          $t77_78 = common$jsbridge$dom.AddEventListener($t64_65, 'click', $t76_77);
13771          $t78_79 = common$jsbridge$dom.AppendChild($t14_15, $t64_65);
13772          $t79_80 = msgThreadContainer.$get();
13773          $t80_81 = common$jsbridge$dom.AppendChild($t79_80, $t14_15);
13774          $t81_82 = authorNames.$get();
13775          $t82_83 = $t0_1.$get();
13776          { const $r = $rt.builtin.mapLookup($t81_82, $t82_83); $t83_84 = [$r.value, $r.ok]; }
13777          $t84_85 = $t83_84[0];
13778          $t85_86 = $t83_84[1];
13779          if ($t85_86) {
13780            $block = 13; break;
13781          }
13782          else {
13783            $block = 12; break;
13784          }
13785          break;
13786        }
13787        case 9: {
13788          $t86_87 = $t0_1.$get();
13789          $t87_88 = common$helpers.HexDecode($t86_87);
13790          $t88_89 = common$helpers.EncodeNpub($t87_88);
13791          $t89_90 = $rt.builtin.len($t88_89);
13792          $t90_91 = ($t89_90 > 20);
13793          if ($t90_91) {
13794            $block = 11; break;
13795          }
13796          else {
13797            $block = 8; break;
13798          }
13799          break;
13800        }
13801        case 10: {
13802          $t91_92 = ($t54_55 !== '');
13803          if ($t91_92) {
13804            $block = 7; break;
13805          }
13806          else {
13807            $block = 9; break;
13808          }
13809          break;
13810        }
13811        case 11: {
13812          $t92_93 = $rt.builtin.stringSlice($t88_89, undefined, 12);
13813          $t93_94 = ($t92_93 + '...');
13814          $t94_95 = $rt.builtin.len($t88_89);
13815          $t95_96 = ($t94_95 - 4);
13816          $t96_97 = $rt.builtin.stringSlice($t88_89, $t95_96, undefined);
13817          $t97_98 = ($t93_94 + $t96_97);
13818          $t98_99 = common$jsbridge$dom.SetTextContent($t47_48, $t97_98);
13819          $block = 8; break;
13820          break;
13821        }
13822        case 12: {
13823          $t99_100 = pendingNotes.$get();
13824          $t100_101 = $t0_1.$get();
13825          $t101_102 = pendingNotes.$get();
13826          $t102_103 = $t0_1.$get();
13827          $t103_104 = $rt.builtin.mapLookup($t101_102, $t102_103).value;
13828          $t104_105 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
13829          $t105_106 = $t104_105.$get().addr(0);
13830          $t105_106.$set($t32_33);
13831          $t106_107 = $rt.builtin.sliceSlice($t104_105.$get(), undefined, undefined, undefined);
13832          $t107_108 = $rt.builtin.appendSlice($t103_104, $t106_107);
13833          $rt.builtin.mapUpdate($t99_100, $t100_101, $t107_108);
13834          $block = 13; break;
13835          break;
13836        }
13837        case 13: {
13838          $t108_109 = common$jsbridge$dom.CreateElement('div');
13839          msgThreadMessages.$set($t108_109);
13840          $t109_110 = msgThreadMessages.$get();
13841          $t110_111 = common$jsbridge$dom.SetStyle($t109_110, 'flex', '1');
13842          $t111_112 = msgThreadMessages.$get();
13843          $t112_113 = common$jsbridge$dom.SetStyle($t111_112, 'overflowY', 'auto');
13844          $t113_114 = msgThreadMessages.$get();
13845          $t114_115 = common$jsbridge$dom.SetStyle($t113_114, 'padding', '12px 16px');
13846          $t115_116 = msgThreadContainer.$get();
13847          $t116_117 = msgThreadMessages.$get();
13848          $t117_118 = common$jsbridge$dom.AppendChild($t115_116, $t116_117);
13849          $t118_119 = common$jsbridge$dom.CreateElement('div');
13850          $t119_120 = common$jsbridge$dom.SetStyle($t118_119, 'display', 'flex');
13851          $t120_121 = common$jsbridge$dom.SetStyle($t118_119, 'gap', '8px');
13852          $t121_122 = common$jsbridge$dom.SetStyle($t118_119, 'padding', '8px 16px');
13853          $t122_123 = common$jsbridge$dom.SetStyle($t118_119, 'borderTop', '1px solid var(--border)');
13854          $t123_124 = common$jsbridge$dom.SetStyle($t118_119, 'flexShrink', '0');
13855          $t124_125 = common$jsbridge$dom.CreateElement('textarea');
13856          msgComposeInput.$set($t124_125);
13857          $t125_126 = msgComposeInput.$get();
13858          $t126_127 = common$jsbridge$dom.SetAttribute($t125_126, 'rows', '1');
13859          $t127_128 = msgComposeInput.$get();
13860          $t128_129 = common$jsbridge$dom.SetAttribute($t127_128, 'placeholder', 'message...');
13861          $t129_130 = msgComposeInput.$get();
13862          $t130_131 = common$jsbridge$dom.SetStyle($t129_130, 'flex', '1');
13863          $t131_132 = msgComposeInput.$get();
13864          $t132_133 = common$jsbridge$dom.SetStyle($t131_132, 'padding', '8px');
13865          $t133_134 = msgComposeInput.$get();
13866          $t134_135 = common$jsbridge$dom.SetStyle($t133_134, 'fontFamily', '\'Fira Code\', monospace');
13867          $t135_136 = msgComposeInput.$get();
13868          $t136_137 = common$jsbridge$dom.SetStyle($t135_136, 'fontSize', '13px');
13869          $t137_138 = msgComposeInput.$get();
13870          $t138_139 = common$jsbridge$dom.SetStyle($t137_138, 'background', 'var(--bg)');
13871          $t139_140 = msgComposeInput.$get();
13872          $t140_141 = common$jsbridge$dom.SetStyle($t139_140, 'border', '1px solid var(--border)');
13873          $t141_142 = msgComposeInput.$get();
13874          $t142_143 = common$jsbridge$dom.SetStyle($t141_142, 'borderRadius', '4px');
13875          $t143_144 = msgComposeInput.$get();
13876          $t144_145 = common$jsbridge$dom.SetStyle($t143_144, 'color', 'var(--fg)');
13877          $t145_146 = msgComposeInput.$get();
13878          $t146_147 = common$jsbridge$dom.SetStyle($t145_146, 'resize', 'none');
13879          $t147_148 = msgComposeInput.$get();
13880          $t148_149 = common$jsbridge$dom.SetAttribute($t147_148, 'onkeydown', 'if(event.key===\'Enter\'&&!event.shiftKey){event.preventDefault();this.nextSibling.click()}');
13881          $t149_150 = msgComposeInput.$get();
13882          $t150_151 = common$jsbridge$dom.AppendChild($t118_119, $t149_150);
13883          $t151_152 = common$jsbridge$dom.CreateElement('button');
13884          $t152_153 = common$jsbridge$dom.SetTextContent($t151_152, 'send');
13885          $t153_154 = common$jsbridge$dom.SetStyle($t151_152, 'padding', '8px 16px');
13886          $t154_155 = common$jsbridge$dom.SetStyle($t151_152, 'fontFamily', '\'Fira Code\', monospace');
13887          $t155_156 = common$jsbridge$dom.SetStyle($t151_152, 'fontSize', '13px');
13888          $t156_157 = common$jsbridge$dom.SetStyle($t151_152, 'background', 'var(--accent)');
13889          $t157_158 = common$jsbridge$dom.SetStyle($t151_152, 'color', '#000');
13890          $t158_159 = common$jsbridge$dom.SetStyle($t151_152, 'border', 'none');
13891          $t159_160 = common$jsbridge$dom.SetStyle($t151_152, 'borderRadius', '4px');
13892          $t160_161 = common$jsbridge$dom.SetStyle($t151_152, 'cursor', 'pointer');
13893          $t161_162 = common$jsbridge$dom.SetStyle($t151_152, 'alignSelf', 'flex-end');
13894          $t162_163 = common$jsbridge$dom.RegisterCallback(openThread$3);
13895          $t163_164 = common$jsbridge$dom.AddEventListener($t151_152, 'click', $t162_163);
13896          $t164_165 = common$jsbridge$dom.AppendChild($t118_119, $t151_152);
13897          $t165_166 = msgThreadContainer.$get();
13898          $t166_167 = common$jsbridge$dom.AppendChild($t165_166, $t118_119);
13899          $t167_168 = fetchedK0.$get();
13900          $t168_169 = $t0_1.$get();
13901          $t169_170 = $rt.builtin.mapLookup($t167_168, $t168_169).value;
13902          if ($t169_170) {
13903            $block = 15; break;
13904          }
13905          else {
13906            $block = 14; break;
13907          }
13908          break;
13909        }
13910        case 14: {
13911          $t170_171 = $t0_1.$get();
13912          $t171_172 = queueProfileFetch($t170_171);
13913          $block = 15; break;
13914          break;
13915        }
13916        case 15: {
13917          $t172_173 = $t0_1.$get();
13918          $t173_174 = jstr($t172_173);
13919          $t174_175 = ('["DM_HISTORY",' + $t173_174);
13920          $t175_176 = ($t174_175 + ',50,0]');
13921          $t176_177 = common$jsbridge$dom.PostToSW($t175_176);
13922          return;
13923          break;
13924        }
13925      }
13926    }
13927  }
13928  
13929  function openThread$1() {
13930    let $t0_1;
13931    $t0_1 = closeThread();
13932    return;
13933  }
13934  
13935  function openThread$2(peer) {
13936    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8;
13937    let $block = 0;
13938    while (true) {
13939      switch ($block) {
13940        case 0: {
13941          $t0_1 = common$jsbridge$dom.Confirm('Delete all messages and rotate encryption keys?');
13942          if ($t0_1) {
13943            $block = 1; break;
13944          }
13945          else {
13946            $block = 2; break;
13947          }
13948          break;
13949        }
13950        case 1: {
13951          $t1_2 = peer.$get();
13952          $t2_3 = jstr($t1_2);
13953          $t3_4 = ('["MLS_RATCHET",' + $t2_3);
13954          $t4_5 = ($t3_4 + ']');
13955          $t5_6 = common$jsbridge$dom.PostToSW($t4_5);
13956          $t6_7 = msgThreadMessages.$get();
13957          $t7_8 = clearChildren($t6_7);
13958          $block = 2; break;
13959          break;
13960        }
13961        case 2: {
13962          return;
13963          break;
13964        }
13965      }
13966    }
13967  }
13968  
13969  function openThread$3() {
13970    let $t0_1;
13971    $t0_1 = sendMessage();
13972    return;
13973  }
13974  
13975  export function closeThread() {
13976    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
13977    let $block = 0;
13978    while (true) {
13979      switch ($block) {
13980        case 0: {
13981          msgCurrentPeer.$set('');
13982          msgView.$set('list');
13983          $t0_1 = msgThreadContainer.$get();
13984          $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'display', 'none');
13985          $t2_3 = msgListContainer.$get();
13986          $t3_4 = common$jsbridge$dom.SetStyle($t2_3, 'display', 'block');
13987          $t4_5 = navPop.$get();
13988          if ($t4_5) {
13989            $block = 2; break;
13990          }
13991          else {
13992            $block = 1; break;
13993          }
13994          break;
13995        }
13996        case 1: {
13997          $t5_6 = common$jsbridge$dom.PushState('/msg');
13998          $block = 2; break;
13999          break;
14000        }
14001        case 2: {
14002          $t6_7 = common$jsbridge$dom.PostToSW('["DM_LIST"]');
14003          return;
14004          break;
14005        }
14006      }
14007    }
14008  }
14009  
14010  export function renderThreadMessages(peer, msgsJSON) {
14011    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57, $t57_58, $t58_59, $t59_60, $t60_61, $t61_62, $t62_63, $t63_64, $t64_65, $t65_66, $t66_67, $t67_68, $t68_69, $t69_70, $t70_71, $t71_72, $t72_73, $t73_74, $t74_75, $t75_76, $t76_77, $t77_78, $t78_79, $t79_80, $t80_81, $t81_82, $t82_83, $t83_84, $t84_85, $t85_86, $t86_87, $t87_88, $t88_89, $t89_90, $t90_91, $t91_92, $t92_93, $t93_94, $t94_95, $t95_96, $t96_97;
14012    let $block = 0;
14013    while (true) {
14014      switch ($block) {
14015        case 0: {
14016          $t0_1 = msgCurrentPeer.$get();
14017          $t1_2 = (peer !== $t0_1);
14018          if ($t1_2) {
14019            $block = 1; break;
14020          }
14021          else {
14022            $block = 2; break;
14023          }
14024          break;
14025        }
14026        case 1: {
14027          return;
14028          break;
14029        }
14030        case 2: {
14031          $t2_3 = (msgsJSON === '');
14032          if ($t2_3) {
14033            $block = 3; break;
14034          }
14035          else {
14036            $block = 5; break;
14037          }
14038          break;
14039        }
14040        case 3: {
14041          return;
14042          break;
14043        }
14044        case 4: {
14045          $t6_7 = 0;
14046          $block = 8; break;
14047          break;
14048        }
14049        case 5: {
14050          $t3_4 = (msgsJSON === '[]');
14051          if ($t3_4) {
14052            $block = 3; break;
14053          }
14054          else {
14055            $block = 4; break;
14056          }
14057          break;
14058        }
14059        case 6: {
14060          $t4_5 = ($t6_7 + 1);
14061          $t6_7 = $t4_5;
14062          $block = 8; break;
14063          break;
14064        }
14065        case 7: {
14066          $t5_6 = ($t6_7 + 1);
14067          $t11_12 = null;
14068          $t12_13 = $t5_6;
14069          $block = 10; break;
14070          break;
14071        }
14072        case 8: {
14073          $t7_8 = $rt.builtin.len(msgsJSON);
14074          $t8_9 = ($t6_7 < $t7_8);
14075          if ($t8_9) {
14076            $block = 9; break;
14077          }
14078          else {
14079            $block = 7; break;
14080          }
14081          break;
14082        }
14083        case 9: {
14084          $rt.runtime.boundsCheck($t6_7, $rt.builtin.byteLen(msgsJSON));
14085          $t9_10 = $rt.builtin.stringByteAt(msgsJSON, $t6_7);
14086          $t10_11 = ($t9_10 !== 91);
14087          if ($t10_11) {
14088            $block = 6; break;
14089          }
14090          else {
14091            $block = 7; break;
14092          }
14093          break;
14094        }
14095        case 10: {
14096          $t13_14 = $rt.builtin.len(msgsJSON);
14097          $t14_15 = ($t12_13 < $t13_14);
14098          if ($t14_15) {
14099            $t19_20 = $t12_13;
14100            $block = 13; break;
14101          }
14102          else {
14103            $block = 16; break;
14104          }
14105          break;
14106        }
14107        case 11: {
14108          $rt.runtime.boundsCheck($t19_20, $rt.builtin.byteLen(msgsJSON));
14109          $t15_16 = $rt.builtin.stringByteAt(msgsJSON, $t19_20);
14110          $t16_17 = ($t15_16 === 93);
14111          if ($t16_17) {
14112            $block = 16; break;
14113          }
14114          else {
14115            $block = 15; break;
14116          }
14117          break;
14118        }
14119        case 12: {
14120          $t17_18 = $rt.builtin.len(msgsJSON);
14121          $t18_19 = ($t19_20 >= $t17_18);
14122          if ($t18_19) {
14123            $block = 16; break;
14124          }
14125          else {
14126            $block = 17; break;
14127          }
14128          break;
14129        }
14130        case 13: {
14131          $t20_21 = $rt.builtin.len(msgsJSON);
14132          $t21_22 = ($t19_20 < $t20_21);
14133          if ($t21_22) {
14134            $block = 14; break;
14135          }
14136          else {
14137            $block = 12; break;
14138          }
14139          break;
14140        }
14141        case 14: {
14142          $rt.runtime.boundsCheck($t19_20, $rt.builtin.byteLen(msgsJSON));
14143          $t22_23 = $rt.builtin.stringByteAt(msgsJSON, $t19_20);
14144          $t23_24 = ($t22_23 !== 123);
14145          if ($t23_24) {
14146            $block = 11; break;
14147          }
14148          else {
14149            $block = 12; break;
14150          }
14151          break;
14152        }
14153        case 15: {
14154          $t24_25 = ($t19_20 + 1);
14155          $t19_20 = $t24_25;
14156          $block = 13; break;
14157          break;
14158        }
14159        case 16: {
14160          $t25_26 = $rt.builtin.len($t11_12);
14161          $t26_27 = ($t25_26 - 1);
14162          $t69_70 = 0;
14163          $t70_71 = $t26_27;
14164          $block = 33; break;
14165          break;
14166        }
14167        case 17: {
14168          $t43_44 = $t19_20;
14169          $t44_45 = 0;
14170          $block = 20; break;
14171          break;
14172        }
14173        case 18: {
14174          $rt.runtime.boundsCheck($t43_44, $rt.builtin.byteLen(msgsJSON));
14175          $t27_28 = $rt.builtin.stringByteAt(msgsJSON, $t43_44);
14176          $t28_29 = ($t27_28 === 123);
14177          if ($t28_29) {
14178            $block = 21; break;
14179          }
14180          else {
14181            $block = 23; break;
14182          }
14183          break;
14184        }
14185        case 19: {
14186          $t30_31 = $rt.builtin.stringSlice(msgsJSON, $t19_20, $t29_30);
14187          $t31_32 = common$helpers.JsonGetString($t30_31, 'from');
14188          $t32_33 = common$helpers.JsonGetString($t30_31, 'content');
14189          $t33_34 = jsonGetNum($t30_31, 'created_at');
14190          $t34_35 = { $value: { from: '', content: '', ts: 0 }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
14191          $t35_36 = { $get() { return $t34_35.$get().from; }, $set(v) { const obj = $t34_35.$get(); obj.from = v; $t34_35.$set(obj); } };
14192          $t36_37 = { $get() { return $t34_35.$get().content; }, $set(v) { const obj = $t34_35.$get(); obj.content = v; $t34_35.$set(obj); } };
14193          $t37_38 = { $get() { return $t34_35.$get().ts; }, $set(v) { const obj = $t34_35.$get(); obj.ts = v; $t34_35.$set(obj); } };
14194          $t35_36.$set($t31_32);
14195          $t36_37.$set($t32_33);
14196          $t37_38.$set($t33_34);
14197          $t38_39 = $t34_35.$get();
14198          $t39_40 = { $value: $rt.builtin.makeSlice(1, 1, { from: '', content: '', ts: 0 }), $get() { return this.$value; }, $set(v) { this.$value = v; } };
14199          $t40_41 = $t39_40.$get().addr(0);
14200          $t40_41.$set($rt.builtin.cloneValue($t38_39));
14201          $t41_42 = $rt.builtin.sliceSlice($t39_40.$get(), undefined, undefined, undefined);
14202          $t42_43 = $rt.builtin.appendSlice($t11_12, $t41_42);
14203          $t11_12 = $t42_43;
14204          $t12_13 = $t29_30;
14205          $block = 10; break;
14206          break;
14207        }
14208        case 20: {
14209          $t45_46 = $rt.builtin.len(msgsJSON);
14210          $t46_47 = ($t43_44 < $t45_46);
14211          if ($t46_47) {
14212            $block = 18; break;
14213          }
14214          else {
14215            $t29_30 = $t43_44;
14216            $block = 19; break;
14217          }
14218          break;
14219        }
14220        case 21: {
14221          $t47_48 = ($t44_45 + 1);
14222          $t48_49 = $t43_44;
14223          $t49_50 = $t47_48;
14224          $block = 22; break;
14225          break;
14226        }
14227        case 22: {
14228          $t50_51 = ($t48_49 + 1);
14229          $t43_44 = $t50_51;
14230          $t44_45 = $t49_50;
14231          $block = 20; break;
14232          break;
14233        }
14234        case 23: {
14235          $rt.runtime.boundsCheck($t43_44, $rt.builtin.byteLen(msgsJSON));
14236          $t51_52 = $rt.builtin.stringByteAt(msgsJSON, $t43_44);
14237          $t52_53 = ($t51_52 === 125);
14238          if ($t52_53) {
14239            $block = 24; break;
14240          }
14241          else {
14242            $block = 25; break;
14243          }
14244          break;
14245        }
14246        case 24: {
14247          $t53_54 = ($t44_45 - 1);
14248          $t54_55 = ($t53_54 === 0);
14249          if ($t54_55) {
14250            $block = 26; break;
14251          }
14252          else {
14253            $t48_49 = $t43_44;
14254            $t49_50 = $t53_54;
14255            $block = 22; break;
14256          }
14257          break;
14258        }
14259        case 25: {
14260          $rt.runtime.boundsCheck($t43_44, $rt.builtin.byteLen(msgsJSON));
14261          $t55_56 = $rt.builtin.stringByteAt(msgsJSON, $t43_44);
14262          $t56_57 = ($t55_56 === 34);
14263          if ($t56_57) {
14264            $block = 27; break;
14265          }
14266          else {
14267            $t48_49 = $t43_44;
14268            $t49_50 = $t44_45;
14269            $block = 22; break;
14270          }
14271          break;
14272        }
14273        case 26: {
14274          $t57_58 = ($t43_44 + 1);
14275          $t29_30 = $t57_58;
14276          $block = 19; break;
14277          break;
14278        }
14279        case 27: {
14280          $t58_59 = ($t43_44 + 1);
14281          $t61_62 = $t58_59;
14282          $block = 29; break;
14283          break;
14284        }
14285        case 28: {
14286          $rt.runtime.boundsCheck($t61_62, $rt.builtin.byteLen(msgsJSON));
14287          $t59_60 = $rt.builtin.stringByteAt(msgsJSON, $t61_62);
14288          $t60_61 = ($t59_60 === 92);
14289          if ($t60_61) {
14290            $block = 31; break;
14291          }
14292          else {
14293            $t67_68 = $t61_62;
14294            $block = 32; break;
14295          }
14296          break;
14297        }
14298        case 29: {
14299          $t62_63 = $rt.builtin.len(msgsJSON);
14300          $t63_64 = ($t61_62 < $t62_63);
14301          if ($t63_64) {
14302            $block = 30; break;
14303          }
14304          else {
14305            $t48_49 = $t61_62;
14306            $t49_50 = $t44_45;
14307            $block = 22; break;
14308          }
14309          break;
14310        }
14311        case 30: {
14312          $rt.runtime.boundsCheck($t61_62, $rt.builtin.byteLen(msgsJSON));
14313          $t64_65 = $rt.builtin.stringByteAt(msgsJSON, $t61_62);
14314          $t65_66 = ($t64_65 !== 34);
14315          if ($t65_66) {
14316            $block = 28; break;
14317          }
14318          else {
14319            $t48_49 = $t61_62;
14320            $t49_50 = $t44_45;
14321            $block = 22; break;
14322          }
14323          break;
14324        }
14325        case 31: {
14326          $t66_67 = ($t61_62 + 1);
14327          $t67_68 = $t66_67;
14328          $block = 32; break;
14329          break;
14330        }
14331        case 32: {
14332          $t68_69 = ($t67_68 + 1);
14333          $t61_62 = $t68_69;
14334          $block = 29; break;
14335          break;
14336        }
14337        case 33: {
14338          $t71_72 = ($t69_70 < $t70_71);
14339          if ($t71_72) {
14340            $block = 34; break;
14341          }
14342          else {
14343            $block = 35; break;
14344          }
14345          break;
14346        }
14347        case 34: {
14348          $t72_73 = $t11_12.addr($t70_71);
14349          $t73_74 = $t72_73.$get();
14350          $t74_75 = $t11_12.addr($t69_70);
14351          $t75_76 = $t74_75.$get();
14352          $t76_77 = $t11_12.addr($t69_70);
14353          $t76_77.$set($rt.builtin.cloneValue($t73_74));
14354          $t77_78 = $t11_12.addr($t70_71);
14355          $t77_78.$set($rt.builtin.cloneValue($t75_76));
14356          $t78_79 = ($t69_70 + 1);
14357          $t79_80 = ($t70_71 - 1);
14358          $t69_70 = $t78_79;
14359          $t70_71 = $t79_80;
14360          $block = 33; break;
14361          break;
14362        }
14363        case 35: {
14364          $t80_81 = msgThreadMessages.$get();
14365          $t81_82 = clearChildren($t80_81);
14366          $t82_83 = $rt.builtin.len($t11_12);
14367          $t83_84 = -1;
14368          $block = 36; break;
14369          break;
14370        }
14371        case 36: {
14372          $t84_85 = ($t83_84 + 1);
14373          $t85_86 = ($t84_85 < $t82_83);
14374          if ($t85_86) {
14375            $block = 37; break;
14376          }
14377          else {
14378            $block = 38; break;
14379          }
14380          break;
14381        }
14382        case 37: {
14383          $t86_87 = $t11_12.addr($t84_85);
14384          $t87_88 = $t86_87.$get();
14385          $t88_89 = { $value: { from: '', content: '', ts: 0 }, $get() { return this.$value; }, $set(v) { this.$value = v; } };
14386          $t88_89.$set($rt.builtin.cloneValue($t87_88));
14387          $t89_90 = { $get() { return $t88_89.$get().from; }, $set(v) { const obj = $t88_89.$get(); obj.from = v; $t88_89.$set(obj); } };
14388          $t90_91 = $t89_90.$get();
14389          $t91_92 = { $get() { return $t88_89.$get().content; }, $set(v) { const obj = $t88_89.$get(); obj.content = v; $t88_89.$set(obj); } };
14390          $t92_93 = $t91_92.$get();
14391          $t93_94 = { $get() { return $t88_89.$get().ts; }, $set(v) { const obj = $t88_89.$get(); obj.ts = v; $t88_89.$set(obj); } };
14392          $t94_95 = $t93_94.$get();
14393          $t95_96 = appendBubble($t90_91, $t92_93, $t94_95);
14394          $t83_84 = $t84_85;
14395          $block = 36; break;
14396          break;
14397        }
14398        case 38: {
14399          $t96_97 = scrollToBottom();
14400          return;
14401          break;
14402        }
14403      }
14404    }
14405  }
14406  
14407  export function appendBubble(from, content, ts) {
14408    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50, $t50_51, $t51_52, $t52_53, $t53_54, $t54_55, $t55_56, $t56_57;
14409    let $block = 0;
14410    while (true) {
14411      switch ($block) {
14412        case 0: {
14413          $t0_1 = pubhex.$get();
14414          $t1_2 = (from === $t0_1);
14415          $t2_3 = common$jsbridge$dom.CreateElement('div');
14416          $t3_4 = common$jsbridge$dom.SetStyle($t2_3, 'display', 'flex');
14417          $t4_5 = common$jsbridge$dom.SetStyle($t2_3, 'marginBottom', '6px');
14418          if ($t1_2) {
14419            $block = 1; break;
14420          }
14421          else {
14422            $block = 2; break;
14423          }
14424          break;
14425        }
14426        case 1: {
14427          $t5_6 = common$jsbridge$dom.SetStyle($t2_3, 'justifyContent', 'flex-end');
14428          $block = 2; break;
14429          break;
14430        }
14431        case 2: {
14432          $t6_7 = common$jsbridge$dom.CreateElement('div');
14433          $t7_8 = common$jsbridge$dom.SetStyle($t6_7, 'maxWidth', '75%');
14434          $t8_9 = common$jsbridge$dom.SetStyle($t6_7, 'padding', '8px 12px');
14435          $t9_10 = common$jsbridge$dom.SetStyle($t6_7, 'borderRadius', '12px');
14436          $t10_11 = common$jsbridge$dom.SetStyle($t6_7, 'fontSize', '14px');
14437          $t11_12 = common$jsbridge$dom.SetStyle($t6_7, 'fontFamily', 'system-ui, sans-serif, \'Noto Color Emoji\'');
14438          $t12_13 = common$jsbridge$dom.SetStyle($t6_7, 'lineHeight', '1.4');
14439          $t13_14 = common$jsbridge$dom.SetStyle($t6_7, 'wordBreak', 'break-word');
14440          if ($t1_2) {
14441            $block = 3; break;
14442          }
14443          else {
14444            $block = 5; break;
14445          }
14446          break;
14447        }
14448        case 3: {
14449          $t14_15 = common$jsbridge$dom.SetStyle($t6_7, 'background', 'var(--accent)');
14450          $t15_16 = common$jsbridge$dom.SetStyle($t6_7, 'color', '#000');
14451          $block = 4; break;
14452          break;
14453        }
14454        case 4: {
14455          $t16_17 = renderMarkdown(content);
14456          $t17_18 = common$jsbridge$dom.SetInnerHTML($t6_7, $t16_17);
14457          $t18_19 = common$jsbridge$dom.CreateElement('div');
14458          $t19_20 = common$jsbridge$dom.SetStyle($t18_19, 'fontSize', '10px');
14459          $t20_21 = common$jsbridge$dom.SetStyle($t18_19, 'color', 'var(--muted)');
14460          $t21_22 = common$jsbridge$dom.SetStyle($t18_19, 'marginTop', '2px');
14461          if ($t1_2) {
14462            $block = 6; break;
14463          }
14464          else {
14465            $block = 7; break;
14466          }
14467          break;
14468        }
14469        case 5: {
14470          $t22_23 = common$jsbridge$dom.SetStyle($t6_7, 'background', 'var(--bg2)');
14471          $t23_24 = common$jsbridge$dom.SetStyle($t6_7, 'color', 'var(--fg)');
14472          $block = 4; break;
14473          break;
14474        }
14475        case 6: {
14476          $t24_25 = common$jsbridge$dom.SetStyle($t18_19, 'textAlign', 'right');
14477          $block = 7; break;
14478          break;
14479        }
14480        case 7: {
14481          $t25_26 = formatTime(ts);
14482          $t26_27 = common$jsbridge$dom.SetTextContent($t18_19, $t25_26);
14483          if ($t1_2) {
14484            $block = 10; break;
14485          }
14486          else {
14487            $block = 9; break;
14488          }
14489          break;
14490        }
14491        case 8: {
14492          $t27_28 = pendingTsEls.$get();
14493          $t28_29 = { $value: $rt.builtin.makeSlice(1, 1, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
14494          $t29_30 = $t28_29.$get().addr(0);
14495          $t29_30.$set($t18_19);
14496          $t30_31 = $rt.builtin.sliceSlice($t28_29.$get(), undefined, undefined, undefined);
14497          $t31_32 = $rt.builtin.appendSlice($t27_28, $t30_31);
14498          pendingTsEls.$set($t31_32);
14499          $block = 9; break;
14500          break;
14501        }
14502        case 9: {
14503          $t32_33 = common$jsbridge$dom.CreateElement('div');
14504          $t33_34 = common$jsbridge$dom.AppendChild($t32_33, $t6_7);
14505          $t34_35 = common$jsbridge$dom.AppendChild($t32_33, $t18_19);
14506          if ($t1_2) {
14507            $block = 12; break;
14508          }
14509          else {
14510            $block = 11; break;
14511          }
14512          break;
14513        }
14514        case 10: {
14515          $t35_36 = (ts === 0);
14516          if ($t35_36) {
14517            $block = 8; break;
14518          }
14519          else {
14520            $block = 9; break;
14521          }
14522          break;
14523        }
14524        case 11: {
14525          $t36_37 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
14526          $t37_38 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
14527          $t38_39 = { $value: '', $get() { return this.$value; }, $set(v) { this.$value = v; } };
14528          $t39_40 = parseEmailHeaders(content);
14529          $t40_41 = $t39_40[0];
14530          $t36_37.$set($t40_41);
14531          $t41_42 = $t39_40[1];
14532          $t37_38.$set($t41_42);
14533          $t42_43 = $t39_40[2];
14534          $t38_39.$set($t42_43);
14535          $t43_44 = $t39_40[3];
14536          if ($t43_44) {
14537            $block = 13; break;
14538          }
14539          else {
14540            $block = 12; break;
14541          }
14542          break;
14543        }
14544        case 12: {
14545          $t44_45 = common$jsbridge$dom.AppendChild($t2_3, $t32_33);
14546          $t45_46 = msgThreadMessages.$get();
14547          $t46_47 = common$jsbridge$dom.AppendChild($t45_46, $t2_3);
14548          return;
14549          break;
14550        }
14551        case 13: {
14552          $t47_48 = common$jsbridge$dom.CreateElement('div');
14553          $t48_49 = common$jsbridge$dom.SetStyle($t47_48, 'fontSize', '11px');
14554          $t49_50 = common$jsbridge$dom.SetStyle($t47_48, 'color', 'var(--accent)');
14555          $t50_51 = common$jsbridge$dom.SetStyle($t47_48, 'cursor', 'pointer');
14556          $t51_52 = common$jsbridge$dom.SetStyle($t47_48, 'marginTop', '2px');
14557          $t52_53 = common$jsbridge$dom.SetTextContent($t47_48, '↩ Reply');
14558          $t53_54 = appendBubble$1.bind(null, $t36_37, $t37_38, $t38_39);
14559          $t54_55 = common$jsbridge$dom.RegisterCallback($t53_54);
14560          $t55_56 = common$jsbridge$dom.AddEventListener($t47_48, 'click', $t54_55);
14561          $t56_57 = common$jsbridge$dom.AppendChild($t32_33, $t47_48);
14562          $block = 12; break;
14563          break;
14564        }
14565      }
14566    }
14567  }
14568  
14569  function appendBubble$1(emailFrom, emailSubject, emailBody) {
14570    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6;
14571    $t0_1 = emailFrom.$get();
14572    $t1_2 = emailSubject.$get();
14573    $t2_3 = emailBody.$get();
14574    $t3_4 = quoteReply($t0_1, $t1_2, $t2_3);
14575    $t4_5 = msgComposeInput.$get();
14576    $t5_6 = common$jsbridge$dom.SetProperty($t4_5, 'value', $t3_4);
14577    return;
14578  }
14579  
14580  export function appendSystemBubble(text) {
14581    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
14582    $t0_1 = common$jsbridge$dom.CreateElement('div');
14583    $t1_2 = common$jsbridge$dom.SetStyle($t0_1, 'display', 'flex');
14584    $t2_3 = common$jsbridge$dom.SetStyle($t0_1, 'justifyContent', 'center');
14585    $t3_4 = common$jsbridge$dom.SetStyle($t0_1, 'marginBottom', '6px');
14586    $t4_5 = common$jsbridge$dom.CreateElement('div');
14587    $t5_6 = common$jsbridge$dom.SetStyle($t4_5, 'maxWidth', '85%');
14588    $t6_7 = common$jsbridge$dom.SetStyle($t4_5, 'padding', '8px 12px');
14589    $t7_8 = common$jsbridge$dom.SetStyle($t4_5, 'borderRadius', '8px');
14590    $t8_9 = common$jsbridge$dom.SetStyle($t4_5, 'fontSize', '12px');
14591    $t9_10 = common$jsbridge$dom.SetStyle($t4_5, 'fontFamily', 'monospace');
14592    $t10_11 = common$jsbridge$dom.SetStyle($t4_5, 'lineHeight', '1.5');
14593    $t11_12 = common$jsbridge$dom.SetStyle($t4_5, 'whiteSpace', 'pre-wrap');
14594    $t12_13 = common$jsbridge$dom.SetStyle($t4_5, 'background', 'var(--bg2)');
14595    $t13_14 = common$jsbridge$dom.SetStyle($t4_5, 'color', 'var(--muted)');
14596    $t14_15 = common$jsbridge$dom.SetStyle($t4_5, 'border', '1px solid var(--muted)');
14597    $t15_16 = common$jsbridge$dom.SetTextContent($t4_5, text);
14598    $t16_17 = common$jsbridge$dom.AppendChild($t0_1, $t4_5);
14599    $t17_18 = msgThreadMessages.$get();
14600    $t18_19 = common$jsbridge$dom.AppendChild($t17_18, $t0_1);
14601    $t19_20 = scrollToBottom();
14602    return;
14603  }
14604  
14605  export function scrollToBottom() {
14606    let $t0_1, $t1_2;
14607    $t0_1 = msgThreadMessages.$get();
14608    $t1_2 = common$jsbridge$dom.SetProperty($t0_1, 'scrollTop', '999999');
14609    return;
14610  }
14611  
14612  export function sendMessage() {
14613    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18;
14614    let $block = 0;
14615    while (true) {
14616      switch ($block) {
14617        case 0: {
14618          $t0_1 = msgComposeInput.$get();
14619          $t1_2 = common$jsbridge$dom.GetProperty($t0_1, 'value');
14620          $t2_3 = ($t1_2 === '');
14621          if ($t2_3) {
14622            $block = 1; break;
14623          }
14624          else {
14625            $block = 3; break;
14626          }
14627          break;
14628        }
14629        case 1: {
14630          return;
14631          break;
14632        }
14633        case 2: {
14634          $t3_4 = msgComposeInput.$get();
14635          $t4_5 = common$jsbridge$dom.SetProperty($t3_4, 'value', '');
14636          $t5_6 = msgCurrentPeer.$get();
14637          $t6_7 = jstr($t5_6);
14638          $t7_8 = ('["MLS_SEND",' + $t6_7);
14639          $t8_9 = ($t7_8 + ',');
14640          $t9_10 = jstr($t1_2);
14641          $t10_11 = ($t8_9 + $t9_10);
14642          $t11_12 = ($t10_11 + ']');
14643          $t12_13 = common$jsbridge$dom.PostToSW($t11_12);
14644          $t13_14 = pubhex.$get();
14645          $t14_15 = appendBubble($t13_14, $t1_2, 0);
14646          $t15_16 = scrollToBottom();
14647          return;
14648          break;
14649        }
14650        case 3: {
14651          $t16_17 = msgCurrentPeer.$get();
14652          $t17_18 = ($t16_17 === '');
14653          if ($t17_18) {
14654            $block = 1; break;
14655          }
14656          else {
14657            $block = 2; break;
14658          }
14659          break;
14660        }
14661      }
14662    }
14663  }
14664  
14665  export function handleDMReceived(dmJSON) {
14666    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15;
14667    let $block = 0;
14668    while (true) {
14669      switch ($block) {
14670        case 0: {
14671          $t0_1 = common$helpers.JsonGetString(dmJSON, 'peer');
14672          $t1_2 = common$helpers.JsonGetString(dmJSON, 'from');
14673          $t2_3 = common$helpers.JsonGetString(dmJSON, 'content');
14674          $t3_4 = jsonGetNum(dmJSON, 'created_at');
14675          $t4_5 = msgView.$get();
14676          $t5_6 = ($t4_5 === 'thread');
14677          if ($t5_6) {
14678            $block = 4; break;
14679          }
14680          else {
14681            $block = 3; break;
14682          }
14683          break;
14684        }
14685        case 1: {
14686          $t6_7 = pubhex.$get();
14687          $t7_8 = ($t1_2 === $t6_7);
14688          if ($t7_8) {
14689            $block = 5; break;
14690          }
14691          else {
14692            $block = 6; break;
14693          }
14694          break;
14695        }
14696        case 2: {
14697          return;
14698          break;
14699        }
14700        case 3: {
14701          $t8_9 = msgView.$get();
14702          $t9_10 = ($t8_9 === 'list');
14703          if ($t9_10) {
14704            $block = 7; break;
14705          }
14706          else {
14707            $block = 2; break;
14708          }
14709          break;
14710        }
14711        case 4: {
14712          $t10_11 = msgCurrentPeer.$get();
14713          $t11_12 = ($t0_1 === $t10_11);
14714          if ($t11_12) {
14715            $block = 1; break;
14716          }
14717          else {
14718            $block = 3; break;
14719          }
14720          break;
14721        }
14722        case 5: {
14723          return;
14724          break;
14725        }
14726        case 6: {
14727          $t12_13 = appendBubble($t1_2, $t2_3, $t3_4);
14728          $t13_14 = scrollToBottom();
14729          $block = 2; break;
14730          break;
14731        }
14732        case 7: {
14733          $t14_15 = common$jsbridge$dom.PostToSW('["DM_LIST"]');
14734          $block = 2; break;
14735          break;
14736        }
14737      }
14738    }
14739  }
14740  
14741  export function doLogout() {
14742    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
14743    $t0_1 = common$jsbridge$dom.PostToSW('["CLOSE","prof"]');
14744    $t1_2 = common$jsbridge$dom.PostToSW('["CLOSE","feed"]');
14745    $t2_3 = common$jsbridge$dom.PostToSW('["CLEAR_KEY"]');
14746    pubkey.$set(null);
14747    pubhex.$set('');
14748    profileName.$set('');
14749    profilePic.$set('');
14750    profileTs.$set(0);
14751    eventCount.$set(0);
14752    popoverOpen.$set(false);
14753    marmotInited.$set(false);
14754    msgCurrentPeer.$set('');
14755    msgView.$set('list');
14756    relayURLs.$set(null);
14757    relayDots.$set(null);
14758    relayLabels.$set(null);
14759    relayUserPick.$set(null);
14760    $t3_4 = common$jsbridge$localstorage.RemoveItem('smesh-pubkey');
14761    $t4_5 = root.$get();
14762    $t5_6 = clearChildren($t4_5);
14763    $t6_7 = showLogin();
14764    return;
14765  }
14766  
14767  export function parseEmailHeaders(content) {
14768    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29;
14769    let $block = 0;
14770    while (true) {
14771      switch ($block) {
14772        case 0: {
14773          $t0_1 = splitLines(content);
14774          $t1_2 = $rt.builtin.len($t0_1);
14775          $t2_3 = '';
14776          $t3_4 = '';
14777          $t4_5 = -1;
14778          $block = 1; break;
14779          break;
14780        }
14781        case 1: {
14782          $t5_6 = ($t4_5 + 1);
14783          $t6_7 = ($t5_6 < $t1_2);
14784          if ($t6_7) {
14785            $block = 2; break;
14786          }
14787          else {
14788            $t10_11 = -1;
14789            $block = 3; break;
14790          }
14791          break;
14792        }
14793        case 2: {
14794          $t7_8 = $t0_1.addr($t5_6);
14795          $t8_9 = $t7_8.$get();
14796          $t9_10 = ($t8_9 === '');
14797          if ($t9_10) {
14798            $block = 4; break;
14799          }
14800          else {
14801            $block = 5; break;
14802          }
14803          break;
14804        }
14805        case 3: {
14806          $t11_12 = ($t2_3 === '');
14807          if ($t11_12) {
14808            $block = 16; break;
14809          }
14810          else {
14811            $block = 15; break;
14812          }
14813          break;
14814        }
14815        case 4: {
14816          $t10_11 = $t5_6;
14817          $block = 3; break;
14818          break;
14819        }
14820        case 5: {
14821          $t12_13 = hasPrefix($t8_9, 'From: ');
14822          if ($t12_13) {
14823            $block = 6; break;
14824          }
14825          else {
14826            $block = 7; break;
14827          }
14828          break;
14829        }
14830        case 6: {
14831          $t13_14 = $rt.builtin.stringSlice($t8_9, 6, undefined);
14832          let $phi0 = $t13_14;
14833          let $phi1 = $t3_4;
14834          let $phi2 = $t5_6;
14835          $t2_3 = $phi0;
14836          $t3_4 = $phi1;
14837          $t4_5 = $phi2;
14838          $block = 1; break;
14839          break;
14840        }
14841        case 7: {
14842          $t14_15 = hasPrefix($t8_9, 'Subject: ');
14843          if ($t14_15) {
14844            $block = 8; break;
14845          }
14846          else {
14847            $block = 9; break;
14848          }
14849          break;
14850        }
14851        case 8: {
14852          $t15_16 = $rt.builtin.stringSlice($t8_9, 9, undefined);
14853          let $phi0 = $t2_3;
14854          let $phi1 = $t15_16;
14855          let $phi2 = $t5_6;
14856          $t2_3 = $phi0;
14857          $t3_4 = $phi1;
14858          $t4_5 = $phi2;
14859          $block = 1; break;
14860          break;
14861        }
14862        case 9: {
14863          $t16_17 = hasPrefix($t8_9, 'To: ');
14864          if ($t16_17) {
14865            let $phi0 = $t2_3;
14866            let $phi1 = $t3_4;
14867            let $phi2 = $t5_6;
14868            $t2_3 = $phi0;
14869            $t3_4 = $phi1;
14870            $t4_5 = $phi2;
14871            $block = 1; break;
14872          }
14873          else {
14874            $block = 12; break;
14875          }
14876          break;
14877        }
14878        case 10: {
14879          $t17_18 = ($t5_6 === 0);
14880          if ($t17_18) {
14881            $block = 13; break;
14882          }
14883          else {
14884            let $phi0 = $t2_3;
14885            let $phi1 = $t3_4;
14886            let $phi2 = $t5_6;
14887            $t2_3 = $phi0;
14888            $t3_4 = $phi1;
14889            $t4_5 = $phi2;
14890            $block = 1; break;
14891          }
14892          break;
14893        }
14894        case 11: {
14895          $t18_19 = hasPrefix($t8_9, 'Cc: ');
14896          if ($t18_19) {
14897            let $phi0 = $t2_3;
14898            let $phi1 = $t3_4;
14899            let $phi2 = $t5_6;
14900            $t2_3 = $phi0;
14901            $t3_4 = $phi1;
14902            $t4_5 = $phi2;
14903            $block = 1; break;
14904          }
14905          else {
14906            $block = 10; break;
14907          }
14908          break;
14909        }
14910        case 12: {
14911          $t19_20 = hasPrefix($t8_9, 'Date: ');
14912          if ($t19_20) {
14913            let $phi0 = $t2_3;
14914            let $phi1 = $t3_4;
14915            let $phi2 = $t5_6;
14916            $t2_3 = $phi0;
14917            $t3_4 = $phi1;
14918            $t4_5 = $phi2;
14919            $block = 1; break;
14920          }
14921          else {
14922            $block = 11; break;
14923          }
14924          break;
14925        }
14926        case 13: {
14927          return ['', '', '', false];
14928          break;
14929        }
14930        case 14: {
14931          return ['', '', '', false];
14932          break;
14933        }
14934        case 15: {
14935          $t20_21 = ($t10_11 >= 0);
14936          if ($t20_21) {
14937            $block = 19; break;
14938          }
14939          else {
14940            $t25_26 = '';
14941            $block = 18; break;
14942          }
14943          break;
14944        }
14945        case 16: {
14946          $t21_22 = ($t3_4 === '');
14947          if ($t21_22) {
14948            $block = 14; break;
14949          }
14950          else {
14951            $block = 15; break;
14952          }
14953          break;
14954        }
14955        case 17: {
14956          $t22_23 = ($t10_11 + 1);
14957          $t23_24 = $rt.builtin.sliceSlice($t0_1, $t22_23, undefined, undefined);
14958          $t24_25 = joinLines($t23_24);
14959          $t25_26 = $t24_25;
14960          $block = 18; break;
14961          break;
14962        }
14963        case 18: {
14964          return [$t2_3, $t3_4, $t25_26, true];
14965          break;
14966        }
14967        case 19: {
14968          $t26_27 = ($t10_11 + 1);
14969          $t27_28 = $rt.builtin.len($t0_1);
14970          $t28_29 = ($t26_27 < $t27_28);
14971          if ($t28_29) {
14972            $block = 17; break;
14973          }
14974          else {
14975            $t25_26 = '';
14976            $block = 18; break;
14977          }
14978          break;
14979        }
14980      }
14981    }
14982  }
14983  
14984  export function quoteReply(from, subject, body) {
14985    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24;
14986    let $block = 0;
14987    while (true) {
14988      switch ($block) {
14989        case 0: {
14990          $t0_1 = ('To: ' + from);
14991          $t1_2 = ($t0_1 + '\n');
14992          $t2_3 = (subject !== '');
14993          if ($t2_3) {
14994            $block = 1; break;
14995          }
14996          else {
14997            $t4_5 = $t1_2;
14998            $block = 2; break;
14999          }
15000          break;
15001        }
15002        case 1: {
15003          $t3_4 = hasPrefix(subject, 'Re: ');
15004          if ($t3_4) {
15005            $t8_9 = subject;
15006            $block = 4; break;
15007          }
15008          else {
15009            $block = 3; break;
15010          }
15011          break;
15012        }
15013        case 2: {
15014          $t5_6 = ($t4_5 + '\n\n');
15015          $t6_7 = (body !== '');
15016          if ($t6_7) {
15017            $block = 5; break;
15018          }
15019          else {
15020            $t14_15 = $t5_6;
15021            $block = 6; break;
15022          }
15023          break;
15024        }
15025        case 3: {
15026          $t7_8 = ('Re: ' + subject);
15027          $t8_9 = $t7_8;
15028          $block = 4; break;
15029          break;
15030        }
15031        case 4: {
15032          $t9_10 = ('Subject: ' + $t8_9);
15033          $t10_11 = ($t9_10 + '\n');
15034          $t11_12 = ($t1_2 + $t10_11);
15035          $t4_5 = $t11_12;
15036          $block = 2; break;
15037          break;
15038        }
15039        case 5: {
15040          $t12_13 = splitLines(body);
15041          $t13_14 = $rt.builtin.len($t12_13);
15042          $t15_16 = $t5_6;
15043          $t16_17 = -1;
15044          $block = 7; break;
15045          break;
15046        }
15047        case 6: {
15048          return $t14_15;
15049          break;
15050        }
15051        case 7: {
15052          $t17_18 = ($t16_17 + 1);
15053          $t18_19 = ($t17_18 < $t13_14);
15054          if ($t18_19) {
15055            $block = 8; break;
15056          }
15057          else {
15058            $t14_15 = $t15_16;
15059            $block = 6; break;
15060          }
15061          break;
15062        }
15063        case 8: {
15064          $t19_20 = $t12_13.addr($t17_18);
15065          $t20_21 = $t19_20.$get();
15066          $t21_22 = ('> ' + $t20_21);
15067          $t22_23 = ($t21_22 + '\n');
15068          $t23_24 = ($t15_16 + $t22_23);
15069          $t15_16 = $t23_24;
15070          $t16_17 = $t17_18;
15071          $block = 7; break;
15072          break;
15073        }
15074      }
15075    }
15076  }
15077  
15078  export function splitLines(s) {
15079    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15;
15080    let $block = 0;
15081    while (true) {
15082      switch ($block) {
15083        case 0: {
15084          $t0_1 = s;
15085          $t1_2 = null;
15086          $block = 1; break;
15087          break;
15088        }
15089        case 1: {
15090          $t2_3 = strIndex($t0_1, '\n');
15091          $t3_4 = ($t2_3 < 0);
15092          if ($t3_4) {
15093            $block = 2; break;
15094          }
15095          else {
15096            $block = 3; break;
15097          }
15098          break;
15099        }
15100        case 2: {
15101          $t4_5 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
15102          $t5_6 = $t4_5.$get().addr(0);
15103          $t5_6.$set($t0_1);
15104          $t6_7 = $rt.builtin.sliceSlice($t4_5.$get(), undefined, undefined, undefined);
15105          $t7_8 = $rt.builtin.appendSlice($t1_2, $t6_7);
15106          return $t7_8;
15107          break;
15108        }
15109        case 3: {
15110          $t8_9 = $rt.builtin.stringSlice($t0_1, undefined, $t2_3);
15111          $t9_10 = { $value: $rt.builtin.makeSlice(1, 1, ''), $get() { return this.$value; }, $set(v) { this.$value = v; } };
15112          $t10_11 = $t9_10.$get().addr(0);
15113          $t10_11.$set($t8_9);
15114          $t11_12 = $rt.builtin.sliceSlice($t9_10.$get(), undefined, undefined, undefined);
15115          $t12_13 = $rt.builtin.appendSlice($t1_2, $t11_12);
15116          $t13_14 = ($t2_3 + 1);
15117          $t14_15 = $rt.builtin.stringSlice($t0_1, $t13_14, undefined);
15118          $t0_1 = $t14_15;
15119          $t1_2 = $t12_13;
15120          $block = 1; break;
15121          break;
15122        }
15123      }
15124    }
15125  }
15126  
15127  export function joinLines(lines) {
15128    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
15129    let $block = 0;
15130    while (true) {
15131      switch ($block) {
15132        case 0: {
15133          $t0_1 = $rt.builtin.len(lines);
15134          $t1_2 = '';
15135          $t2_3 = -1;
15136          $block = 1; break;
15137          break;
15138        }
15139        case 1: {
15140          $t3_4 = ($t2_3 + 1);
15141          $t4_5 = ($t3_4 < $t0_1);
15142          if ($t4_5) {
15143            $block = 2; break;
15144          }
15145          else {
15146            $block = 3; break;
15147          }
15148          break;
15149        }
15150        case 2: {
15151          $t5_6 = lines.addr($t3_4);
15152          $t6_7 = $t5_6.$get();
15153          $t7_8 = ($t3_4 > 0);
15154          if ($t7_8) {
15155            $block = 4; break;
15156          }
15157          else {
15158            $t9_10 = $t1_2;
15159            $block = 5; break;
15160          }
15161          break;
15162        }
15163        case 3: {
15164          return $t1_2;
15165          break;
15166        }
15167        case 4: {
15168          $t8_9 = ($t1_2 + '\n');
15169          $t9_10 = $t8_9;
15170          $block = 5; break;
15171          break;
15172        }
15173        case 5: {
15174          $t10_11 = ($t9_10 + $t6_7);
15175          $t1_2 = $t10_11;
15176          $t2_3 = $t3_4;
15177          $block = 1; break;
15178          break;
15179        }
15180      }
15181    }
15182  }
15183  
15184  export function hasPrefix(s, prefix) {
15185    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7;
15186    let $block = 0;
15187    while (true) {
15188      switch ($block) {
15189        case 0: {
15190          $t0_1 = $rt.builtin.len(s);
15191          $t1_2 = $rt.builtin.len(prefix);
15192          $t2_3 = ($t0_1 >= $t1_2);
15193          if ($t2_3) {
15194            $block = 1; break;
15195          }
15196          else {
15197            $t6_7 = false;
15198            $block = 2; break;
15199          }
15200          break;
15201        }
15202        case 1: {
15203          $t3_4 = $rt.builtin.len(prefix);
15204          $t4_5 = $rt.builtin.stringSlice(s, undefined, $t3_4);
15205          $t5_6 = ($t4_5 === prefix);
15206          $t6_7 = $t5_6;
15207          $block = 2; break;
15208          break;
15209        }
15210        case 2: {
15211          return $t6_7;
15212          break;
15213        }
15214      }
15215    }
15216  }
15217  
15218  export function renderMarkdown(s) {
15219    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
15220    $t0_1 = strReplace(s, '&', '&amp;');
15221    $t1_2 = strReplace($t0_1, '<', '&lt;');
15222    $t2_3 = strReplace($t1_2, '>', '&gt;');
15223    $t3_4 = strReplace($t2_3, '"', '&quot;');
15224    $t4_5 = wrapDelimited($t3_4, '`', '<code>', '</code>');
15225    $t5_6 = wrapDelimited($t4_5, '**', '<strong>', '</strong>');
15226    $t6_7 = wrapDelimited($t5_6, '*', '<em>', '</em>');
15227    $t7_8 = autoLinkURLs($t6_7);
15228    $t8_9 = strReplace($t7_8, '\n', '<br>');
15229    return $t8_9;
15230  }
15231  
15232  export function strReplace(s, old, nw) {
15233    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11;
15234    let $block = 0;
15235    while (true) {
15236      switch ($block) {
15237        case 0: {
15238          $t0_1 = s;
15239          $t1_2 = '';
15240          $block = 1; break;
15241          break;
15242        }
15243        case 1: {
15244          $t2_3 = strIndex($t0_1, old);
15245          $t3_4 = ($t2_3 < 0);
15246          if ($t3_4) {
15247            $block = 2; break;
15248          }
15249          else {
15250            $block = 3; break;
15251          }
15252          break;
15253        }
15254        case 2: {
15255          $t4_5 = ($t1_2 + $t0_1);
15256          return $t4_5;
15257          break;
15258        }
15259        case 3: {
15260          $t5_6 = $rt.builtin.stringSlice($t0_1, undefined, $t2_3);
15261          $t6_7 = ($t5_6 + nw);
15262          $t7_8 = ($t1_2 + $t6_7);
15263          $t8_9 = $rt.builtin.len(old);
15264          $t9_10 = ($t2_3 + $t8_9);
15265          $t10_11 = $rt.builtin.stringSlice($t0_1, $t9_10, undefined);
15266          $t0_1 = $t10_11;
15267          $t1_2 = $t7_8;
15268          $block = 1; break;
15269          break;
15270        }
15271      }
15272    }
15273  }
15274  
15275  export function wrapDelimited(s, delim, open, close) {
15276    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34;
15277    let $block = 0;
15278    while (true) {
15279      switch ($block) {
15280        case 0: {
15281          $t0_1 = s;
15282          $t1_2 = '';
15283          $block = 1; break;
15284          break;
15285        }
15286        case 1: {
15287          $t2_3 = strIndex($t0_1, delim);
15288          $t3_4 = ($t2_3 < 0);
15289          if ($t3_4) {
15290            $block = 2; break;
15291          }
15292          else {
15293            $block = 3; break;
15294          }
15295          break;
15296        }
15297        case 2: {
15298          $t4_5 = ($t1_2 + $t0_1);
15299          return $t4_5;
15300          break;
15301        }
15302        case 3: {
15303          $t5_6 = $rt.builtin.len(delim);
15304          $t6_7 = ($t2_3 + $t5_6);
15305          $t7_8 = $rt.builtin.stringSlice($t0_1, $t6_7, undefined);
15306          $t8_9 = strIndex($t7_8, delim);
15307          $t9_10 = ($t8_9 < 0);
15308          if ($t9_10) {
15309            $block = 4; break;
15310          }
15311          else {
15312            $block = 5; break;
15313          }
15314          break;
15315        }
15316        case 4: {
15317          $t10_11 = ($t1_2 + $t0_1);
15318          return $t10_11;
15319          break;
15320        }
15321        case 5: {
15322          $t11_12 = $rt.builtin.len(delim);
15323          $t12_13 = ($t2_3 + $t11_12);
15324          $t13_14 = ($t8_9 + $t12_13);
15325          $t14_15 = $rt.builtin.len(delim);
15326          $t15_16 = ($t2_3 + $t14_15);
15327          $t16_17 = $rt.builtin.stringSlice($t0_1, $t15_16, $t13_14);
15328          $t17_18 = $rt.builtin.len($t16_17);
15329          $t18_19 = ($t17_18 === 0);
15330          if ($t18_19) {
15331            $block = 6; break;
15332          }
15333          else {
15334            $block = 7; break;
15335          }
15336          break;
15337        }
15338        case 6: {
15339          $t19_20 = $rt.builtin.len(delim);
15340          $t20_21 = ($t2_3 + $t19_20);
15341          $t21_22 = $rt.builtin.stringSlice($t0_1, undefined, $t20_21);
15342          $t22_23 = ($t1_2 + $t21_22);
15343          $t23_24 = $rt.builtin.len(delim);
15344          $t24_25 = ($t2_3 + $t23_24);
15345          $t25_26 = $rt.builtin.stringSlice($t0_1, $t24_25, undefined);
15346          $t0_1 = $t25_26;
15347          $t1_2 = $t22_23;
15348          $block = 1; break;
15349          break;
15350        }
15351        case 7: {
15352          $t26_27 = $rt.builtin.stringSlice($t0_1, undefined, $t2_3);
15353          $t27_28 = ($t26_27 + open);
15354          $t28_29 = ($t27_28 + $t16_17);
15355          $t29_30 = ($t28_29 + close);
15356          $t30_31 = ($t1_2 + $t29_30);
15357          $t31_32 = $rt.builtin.len(delim);
15358          $t32_33 = ($t13_14 + $t31_32);
15359          $t33_34 = $rt.builtin.stringSlice($t0_1, $t32_33, undefined);
15360          $t0_1 = $t33_34;
15361          $t1_2 = $t30_31;
15362          $block = 1; break;
15363          break;
15364        }
15365      }
15366    }
15367  }
15368  
15369  export function autoLinkURLs(s) {
15370    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47;
15371    let $block = 0;
15372    while (true) {
15373      switch ($block) {
15374        case 0: {
15375          $t0_1 = s;
15376          $t1_2 = '';
15377          $block = 1; break;
15378          break;
15379        }
15380        case 1: {
15381          $t2_3 = strIndex($t0_1, 'https://');
15382          $t3_4 = strIndex($t0_1, 'http://');
15383          $t4_5 = ($t2_3 >= 0);
15384          if ($t4_5) {
15385            $block = 5; break;
15386          }
15387          else {
15388            $block = 4; break;
15389          }
15390          break;
15391        }
15392        case 2: {
15393          $t5_6 = $t2_3;
15394          $block = 3; break;
15395          break;
15396        }
15397        case 3: {
15398          $t6_7 = ($t5_6 < 0);
15399          if ($t6_7) {
15400            $block = 8; break;
15401          }
15402          else {
15403            $block = 9; break;
15404          }
15405          break;
15406        }
15407        case 4: {
15408          $t7_8 = ($t3_4 >= 0);
15409          if ($t7_8) {
15410            $block = 7; break;
15411          }
15412          else {
15413            $t5_6 = -1;
15414            $block = 3; break;
15415          }
15416          break;
15417        }
15418        case 5: {
15419          $t8_9 = ($t3_4 < 0);
15420          if ($t8_9) {
15421            $block = 2; break;
15422          }
15423          else {
15424            $block = 6; break;
15425          }
15426          break;
15427        }
15428        case 6: {
15429          $t9_10 = ($t2_3 <= $t3_4);
15430          if ($t9_10) {
15431            $block = 2; break;
15432          }
15433          else {
15434            $block = 4; break;
15435          }
15436          break;
15437        }
15438        case 7: {
15439          $t5_6 = $t3_4;
15440          $block = 3; break;
15441          break;
15442        }
15443        case 8: {
15444          $t10_11 = ($t1_2 + $t0_1);
15445          return $t10_11;
15446          break;
15447        }
15448        case 9: {
15449          $t11_12 = $rt.builtin.stringSlice($t0_1, undefined, $t5_6);
15450          $t12_13 = ($t1_2 + $t11_12);
15451          $t13_14 = $rt.builtin.stringSlice($t0_1, $t5_6, undefined);
15452          $t17_18 = 0;
15453          $block = 11; break;
15454          break;
15455        }
15456        case 10: {
15457          $t14_15 = ($t17_18 + 1);
15458          $t15_16 = $rt.builtin.stringSlice($t13_14, $t17_18, $t14_15);
15459          $t16_17 = ($t15_16 === ' ');
15460          if ($t16_17) {
15461            $t31_32 = $t17_18;
15462            $block = 20; break;
15463          }
15464          else {
15465            $block = 17; break;
15466          }
15467          break;
15468        }
15469        case 11: {
15470          $t18_19 = $rt.builtin.len($t13_14);
15471          $t19_20 = ($t17_18 < $t18_19);
15472          if ($t19_20) {
15473            $block = 10; break;
15474          }
15475          else {
15476            $t31_32 = $t17_18;
15477            $block = 20; break;
15478          }
15479          break;
15480        }
15481        case 12: {
15482          $t20_21 = ($t17_18 + 1);
15483          $t17_18 = $t20_21;
15484          $block = 11; break;
15485          break;
15486        }
15487        case 13: {
15488          $t21_22 = ($t15_16 === '>');
15489          if ($t21_22) {
15490            $t31_32 = $t17_18;
15491            $block = 20; break;
15492          }
15493          else {
15494            $block = 12; break;
15495          }
15496          break;
15497        }
15498        case 14: {
15499          $t22_23 = ($t15_16 === '<');
15500          if ($t22_23) {
15501            $t31_32 = $t17_18;
15502            $block = 20; break;
15503          }
15504          else {
15505            $block = 13; break;
15506          }
15507          break;
15508        }
15509        case 15: {
15510          $t23_24 = ($t15_16 === '\t');
15511          if ($t23_24) {
15512            $t31_32 = $t17_18;
15513            $block = 20; break;
15514          }
15515          else {
15516            $block = 14; break;
15517          }
15518          break;
15519        }
15520        case 16: {
15521          $t24_25 = ($t15_16 === '\r');
15522          if ($t24_25) {
15523            $t31_32 = $t17_18;
15524            $block = 20; break;
15525          }
15526          else {
15527            $block = 15; break;
15528          }
15529          break;
15530        }
15531        case 17: {
15532          $t25_26 = ($t15_16 === '\n');
15533          if ($t25_26) {
15534            $t31_32 = $t17_18;
15535            $block = 20; break;
15536          }
15537          else {
15538            $block = 16; break;
15539          }
15540          break;
15541        }
15542        case 18: {
15543          $t26_27 = ($t31_32 - 1);
15544          $t27_28 = $rt.builtin.stringSlice($t13_14, $t26_27, $t31_32);
15545          $t28_29 = ($t27_28 === '.');
15546          if ($t28_29) {
15547            $block = 21; break;
15548          }
15549          else {
15550            $block = 24; break;
15551          }
15552          break;
15553        }
15554        case 19: {
15555          $t29_30 = $rt.builtin.stringSlice($t13_14, undefined, $t31_32);
15556          $t30_31 = isImageURL($t29_30);
15557          if ($t30_31) {
15558            $block = 25; break;
15559          }
15560          else {
15561            $block = 27; break;
15562          }
15563          break;
15564        }
15565        case 20: {
15566          $t32_33 = ($t31_32 > 0);
15567          if ($t32_33) {
15568            $block = 18; break;
15569          }
15570          else {
15571            $block = 19; break;
15572          }
15573          break;
15574        }
15575        case 21: {
15576          $t33_34 = ($t31_32 - 1);
15577          $t31_32 = $t33_34;
15578          $block = 20; break;
15579          break;
15580        }
15581        case 22: {
15582          $t34_35 = ($t27_28 === ';');
15583          if ($t34_35) {
15584            $block = 21; break;
15585          }
15586          else {
15587            $block = 19; break;
15588          }
15589          break;
15590        }
15591        case 23: {
15592          $t35_36 = ($t27_28 === ')');
15593          if ($t35_36) {
15594            $block = 21; break;
15595          }
15596          else {
15597            $block = 22; break;
15598          }
15599          break;
15600        }
15601        case 24: {
15602          $t36_37 = ($t27_28 === ',');
15603          if ($t36_37) {
15604            $block = 21; break;
15605          }
15606          else {
15607            $block = 23; break;
15608          }
15609          break;
15610        }
15611        case 25: {
15612          $t37_38 = ('<img src="' + $t29_30);
15613          $t38_39 = ($t37_38 + '" style="display:block;max-width:100%;border-radius:8px;margin:4px 0" loading="lazy">');
15614          $t39_40 = ($t12_13 + $t38_39);
15615          $t40_41 = $t39_40;
15616          $block = 26; break;
15617          break;
15618        }
15619        case 26: {
15620          $t41_42 = $rt.builtin.stringSlice($t13_14, $t31_32, undefined);
15621          $t0_1 = $t41_42;
15622          $t1_2 = $t40_41;
15623          $block = 1; break;
15624          break;
15625        }
15626        case 27: {
15627          $t42_43 = ('<a href="' + $t29_30);
15628          $t43_44 = ($t42_43 + '" target="_blank" rel="noopener" style="color:var(--accent);word-break:break-all">');
15629          $t44_45 = ($t43_44 + $t29_30);
15630          $t45_46 = ($t44_45 + '</a>');
15631          $t46_47 = ($t12_13 + $t45_46);
15632          $t40_41 = $t46_47;
15633          $block = 26; break;
15634          break;
15635        }
15636      }
15637    }
15638  }
15639  
15640  export function isImageURL(url) {
15641    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8;
15642    let $block = 0;
15643    while (true) {
15644      switch ($block) {
15645        case 0: {
15646          $t0_1 = toLower(url);
15647          $t1_2 = hasSuffix($t0_1, '.jpg');
15648          if ($t1_2) {
15649            $t3_4 = true;
15650            $block = 2; break;
15651          }
15652          else {
15653            $block = 6; break;
15654          }
15655          break;
15656        }
15657        case 1: {
15658          $t2_3 = hasSuffix($t0_1, '.svg');
15659          $t3_4 = $t2_3;
15660          $block = 2; break;
15661          break;
15662        }
15663        case 2: {
15664          return $t3_4;
15665          break;
15666        }
15667        case 3: {
15668          $t4_5 = hasSuffix($t0_1, '.webp');
15669          if ($t4_5) {
15670            $t3_4 = true;
15671            $block = 2; break;
15672          }
15673          else {
15674            $block = 1; break;
15675          }
15676          break;
15677        }
15678        case 4: {
15679          $t5_6 = hasSuffix($t0_1, '.gif');
15680          if ($t5_6) {
15681            $t3_4 = true;
15682            $block = 2; break;
15683          }
15684          else {
15685            $block = 3; break;
15686          }
15687          break;
15688        }
15689        case 5: {
15690          $t6_7 = hasSuffix($t0_1, '.png');
15691          if ($t6_7) {
15692            $t3_4 = true;
15693            $block = 2; break;
15694          }
15695          else {
15696            $block = 4; break;
15697          }
15698          break;
15699        }
15700        case 6: {
15701          $t7_8 = hasSuffix($t0_1, '.jpeg');
15702          if ($t7_8) {
15703            $t3_4 = true;
15704            $block = 2; break;
15705          }
15706          else {
15707            $block = 5; break;
15708          }
15709          break;
15710        }
15711      }
15712    }
15713  }
15714  
15715  export function hasSuffix(s, suffix) {
15716    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
15717    let $block = 0;
15718    while (true) {
15719      switch ($block) {
15720        case 0: {
15721          $t0_1 = $rt.builtin.len(s);
15722          $t1_2 = $rt.builtin.len(suffix);
15723          $t2_3 = ($t0_1 >= $t1_2);
15724          if ($t2_3) {
15725            $block = 1; break;
15726          }
15727          else {
15728            $t8_9 = false;
15729            $block = 2; break;
15730          }
15731          break;
15732        }
15733        case 1: {
15734          $t3_4 = $rt.builtin.len(s);
15735          $t4_5 = $rt.builtin.len(suffix);
15736          $t5_6 = ($t3_4 - $t4_5);
15737          $t6_7 = $rt.builtin.stringSlice(s, $t5_6, undefined);
15738          $t7_8 = ($t6_7 === suffix);
15739          $t8_9 = $t7_8;
15740          $block = 2; break;
15741          break;
15742        }
15743        case 2: {
15744          return $t8_9;
15745          break;
15746        }
15747      }
15748    }
15749  }
15750  
15751  export function jsonGetNum(s, key) {
15752    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30;
15753    let $block = 0;
15754    while (true) {
15755      switch ($block) {
15756        case 0: {
15757          $t0_1 = ('"' + key);
15758          $t1_2 = ($t0_1 + '":');
15759          $t2_3 = strIndex(s, $t1_2);
15760          $t3_4 = ($t2_3 < 0);
15761          if ($t3_4) {
15762            $block = 1; break;
15763          }
15764          else {
15765            $block = 2; break;
15766          }
15767          break;
15768        }
15769        case 1: {
15770          return 0;
15771          break;
15772        }
15773        case 2: {
15774          $t4_5 = $rt.builtin.len($t1_2);
15775          $t5_6 = ($t2_3 + $t4_5);
15776          $t9_10 = $t5_6;
15777          $block = 5; break;
15778          break;
15779        }
15780        case 3: {
15781          $t6_7 = ($t9_10 + 1);
15782          $t9_10 = $t6_7;
15783          $block = 5; break;
15784          break;
15785        }
15786        case 4: {
15787          $t7_8 = $rt.builtin.len(s);
15788          $t8_9 = ($t9_10 >= $t7_8);
15789          if ($t8_9) {
15790            $block = 8; break;
15791          }
15792          else {
15793            $block = 9; break;
15794          }
15795          break;
15796        }
15797        case 5: {
15798          $t10_11 = $rt.builtin.len(s);
15799          $t11_12 = ($t9_10 < $t10_11);
15800          if ($t11_12) {
15801            $block = 6; break;
15802          }
15803          else {
15804            $block = 4; break;
15805          }
15806          break;
15807        }
15808        case 6: {
15809          $rt.runtime.boundsCheck($t9_10, $rt.builtin.byteLen(s));
15810          $t12_13 = $rt.builtin.stringByteAt(s, $t9_10);
15811          $t13_14 = ($t12_13 === 32);
15812          if ($t13_14) {
15813            $block = 3; break;
15814          }
15815          else {
15816            $block = 7; break;
15817          }
15818          break;
15819        }
15820        case 7: {
15821          $rt.runtime.boundsCheck($t9_10, $rt.builtin.byteLen(s));
15822          $t14_15 = $rt.builtin.stringByteAt(s, $t9_10);
15823          $t15_16 = ($t14_15 === 9);
15824          if ($t15_16) {
15825            $block = 3; break;
15826          }
15827          else {
15828            $block = 4; break;
15829          }
15830          break;
15831        }
15832        case 8: {
15833          return 0;
15834          break;
15835        }
15836        case 9: {
15837          $t22_23 = $t9_10;
15838          $t23_24 = 0;
15839          $block = 12; break;
15840          break;
15841        }
15842        case 10: {
15843          $t16_17 = ($t23_24 * 10);
15844          $rt.runtime.boundsCheck($t22_23, $rt.builtin.byteLen(s));
15845          $t17_18 = $rt.builtin.stringByteAt(s, $t22_23);
15846          $t18_19 = (($t17_18 - 48) & 0xFF);
15847          $t19_20 = $t18_19;
15848          $t20_21 = ($t16_17 + $t19_20);
15849          $t21_22 = ($t22_23 + 1);
15850          $t22_23 = $t21_22;
15851          $t23_24 = $t20_21;
15852          $block = 12; break;
15853          break;
15854        }
15855        case 11: {
15856          return $t23_24;
15857          break;
15858        }
15859        case 12: {
15860          $t24_25 = $rt.builtin.len(s);
15861          $t25_26 = ($t22_23 < $t24_25);
15862          if ($t25_26) {
15863            $block = 14; break;
15864          }
15865          else {
15866            $block = 11; break;
15867          }
15868          break;
15869        }
15870        case 13: {
15871          $rt.runtime.boundsCheck($t22_23, $rt.builtin.byteLen(s));
15872          $t26_27 = $rt.builtin.stringByteAt(s, $t22_23);
15873          $t27_28 = ($t26_27 <= 57);
15874          if ($t27_28) {
15875            $block = 10; break;
15876          }
15877          else {
15878            $block = 11; break;
15879          }
15880          break;
15881        }
15882        case 14: {
15883          $rt.runtime.boundsCheck($t22_23, $rt.builtin.byteLen(s));
15884          $t28_29 = $rt.builtin.stringByteAt(s, $t22_23);
15885          $t29_30 = ($t28_29 >= 48);
15886          if ($t29_30) {
15887            $block = 13; break;
15888          }
15889          else {
15890            $block = 11; break;
15891          }
15892          break;
15893        }
15894      }
15895    }
15896  }
15897  
15898  export function jsonEsc(s) {
15899    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5;
15900    $t0_1 = strReplace(s, '\\', '\\\\');
15901    $t1_2 = strReplace($t0_1, '"', '\\"');
15902    $t2_3 = strReplace($t1_2, '\n', '\\n');
15903    $t3_4 = strReplace($t2_3, '\r', '\\r');
15904    $t4_5 = strReplace($t3_4, '\t', '\\t');
15905    return $t4_5;
15906  }
15907  
15908  export function strIndex(s, sub) {
15909    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9;
15910    let $block = 0;
15911    while (true) {
15912      switch ($block) {
15913        case 0: {
15914          $t0_1 = $rt.builtin.len(sub);
15915          $t1_2 = 0;
15916          $block = 1; break;
15917          break;
15918        }
15919        case 1: {
15920          $t2_3 = $rt.builtin.len(s);
15921          $t3_4 = ($t2_3 - $t0_1);
15922          $t4_5 = ($t1_2 <= $t3_4);
15923          if ($t4_5) {
15924            $block = 2; break;
15925          }
15926          else {
15927            $block = 3; break;
15928          }
15929          break;
15930        }
15931        case 2: {
15932          $t5_6 = ($t1_2 + $t0_1);
15933          $t6_7 = $rt.builtin.stringSlice(s, $t1_2, $t5_6);
15934          $t7_8 = ($t6_7 === sub);
15935          if ($t7_8) {
15936            $block = 4; break;
15937          }
15938          else {
15939            $block = 5; break;
15940          }
15941          break;
15942        }
15943        case 3: {
15944          return -1;
15945          break;
15946        }
15947        case 4: {
15948          return $t1_2;
15949          break;
15950        }
15951        case 5: {
15952          $t8_9 = ($t1_2 + 1);
15953          $t1_2 = $t8_9;
15954          $block = 1; break;
15955          break;
15956        }
15957      }
15958    }
15959  }
15960  
15961  export function normalizeURL(u) {
15962    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42;
15963    let $block = 0;
15964    while (true) {
15965      switch ($block) {
15966        case 0: {
15967          $t5_6 = u;
15968          $block = 3; break;
15969          break;
15970        }
15971        case 1: {
15972          $t0_1 = $rt.builtin.len($t5_6);
15973          $t1_2 = ($t0_1 - 1);
15974          $t2_3 = $rt.builtin.stringSlice($t5_6, undefined, $t1_2);
15975          $t5_6 = $t2_3;
15976          $block = 3; break;
15977          break;
15978        }
15979        case 2: {
15980          $t3_4 = $rt.builtin.len($t5_6);
15981          $t4_5 = ($t3_4 > 6);
15982          if ($t4_5) {
15983            $block = 7; break;
15984          }
15985          else {
15986            $block = 6; break;
15987          }
15988          break;
15989        }
15990        case 3: {
15991          $t6_7 = $rt.builtin.len($t5_6);
15992          $t7_8 = ($t6_7 > 0);
15993          if ($t7_8) {
15994            $block = 4; break;
15995          }
15996          else {
15997            $block = 2; break;
15998          }
15999          break;
16000        }
16001        case 4: {
16002          $t8_9 = $rt.builtin.len($t5_6);
16003          $t9_10 = ($t8_9 - 1);
16004          $rt.runtime.boundsCheck($t9_10, $rt.builtin.byteLen($t5_6));
16005          $t10_11 = $rt.builtin.stringByteAt($t5_6, $t9_10);
16006          $t11_12 = ($t10_11 === 47);
16007          if ($t11_12) {
16008            $block = 1; break;
16009          }
16010          else {
16011            $block = 2; break;
16012          }
16013          break;
16014        }
16015        case 5: {
16016          $t12_13 = $rt.builtin.stringSlice($t5_6, 6, undefined);
16017          $t13_14 = strIndex($t12_13, '/');
16018          $t14_15 = ($t13_14 < 0);
16019          if ($t14_15) {
16020            $block = 8; break;
16021          }
16022          else {
16023            $block = 9; break;
16024          }
16025          break;
16026        }
16027        case 6: {
16028          $t15_16 = $rt.builtin.len($t5_6);
16029          $t16_17 = ($t15_16 > 5);
16030          if ($t16_17) {
16031            $block = 12; break;
16032          }
16033          else {
16034            $block = 11; break;
16035          }
16036          break;
16037        }
16038        case 7: {
16039          $t17_18 = $rt.builtin.stringSlice($t5_6, undefined, 6);
16040          $t18_19 = ($t17_18 === 'wss://');
16041          if ($t18_19) {
16042            $block = 5; break;
16043          }
16044          else {
16045            $block = 6; break;
16046          }
16047          break;
16048        }
16049        case 8: {
16050          $t19_20 = $rt.builtin.stringSlice($t5_6, undefined, 6);
16051          $t20_21 = toLower($t12_13);
16052          $t21_22 = ($t19_20 + $t20_21);
16053          return $t21_22;
16054          break;
16055        }
16056        case 9: {
16057          $t22_23 = $rt.builtin.stringSlice($t5_6, undefined, 6);
16058          $t23_24 = $rt.builtin.stringSlice($t12_13, undefined, $t13_14);
16059          $t24_25 = toLower($t23_24);
16060          $t25_26 = ($t22_23 + $t24_25);
16061          $t26_27 = $rt.builtin.stringSlice($t12_13, $t13_14, undefined);
16062          $t27_28 = ($t25_26 + $t26_27);
16063          return $t27_28;
16064          break;
16065        }
16066        case 10: {
16067          $t28_29 = $rt.builtin.stringSlice($t5_6, 5, undefined);
16068          $t29_30 = strIndex($t28_29, '/');
16069          $t30_31 = ($t29_30 < 0);
16070          if ($t30_31) {
16071            $block = 13; break;
16072          }
16073          else {
16074            $block = 14; break;
16075          }
16076          break;
16077        }
16078        case 11: {
16079          return $t5_6;
16080          break;
16081        }
16082        case 12: {
16083          $t31_32 = $rt.builtin.stringSlice($t5_6, undefined, 5);
16084          $t32_33 = ($t31_32 === 'ws://');
16085          if ($t32_33) {
16086            $block = 10; break;
16087          }
16088          else {
16089            $block = 11; break;
16090          }
16091          break;
16092        }
16093        case 13: {
16094          $t33_34 = $rt.builtin.stringSlice($t5_6, undefined, 5);
16095          $t34_35 = toLower($t28_29);
16096          $t35_36 = ($t33_34 + $t34_35);
16097          return $t35_36;
16098          break;
16099        }
16100        case 14: {
16101          $t36_37 = $rt.builtin.stringSlice($t5_6, undefined, 5);
16102          $t37_38 = $rt.builtin.stringSlice($t28_29, undefined, $t29_30);
16103          $t38_39 = toLower($t37_38);
16104          $t39_40 = ($t36_37 + $t38_39);
16105          $t40_41 = $rt.builtin.stringSlice($t28_29, $t29_30, undefined);
16106          $t41_42 = ($t39_40 + $t40_41);
16107          return $t41_42;
16108          break;
16109        }
16110      }
16111    }
16112  }
16113  
16114  export function toLower(s) {
16115    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13;
16116    let $block = 0;
16117    while (true) {
16118      switch ($block) {
16119        case 0: {
16120          $t0_1 = $rt.builtin.len(s);
16121          $t1_2 = $rt.builtin.makeSlice($t0_1, $t0_1, 0);
16122          $t2_3 = 0;
16123          $block = 1; break;
16124          break;
16125        }
16126        case 1: {
16127          $t3_4 = $rt.builtin.len(s);
16128          $t4_5 = ($t2_3 < $t3_4);
16129          if ($t4_5) {
16130            $block = 2; break;
16131          }
16132          else {
16133            $block = 3; break;
16134          }
16135          break;
16136        }
16137        case 2: {
16138          $rt.runtime.boundsCheck($t2_3, $rt.builtin.byteLen(s));
16139          $t5_6 = $rt.builtin.stringByteAt(s, $t2_3);
16140          $t6_7 = ($t5_6 >= 65);
16141          if ($t6_7) {
16142            $block = 6; break;
16143          }
16144          else {
16145            $t9_10 = $t5_6;
16146            $block = 5; break;
16147          }
16148          break;
16149        }
16150        case 3: {
16151          $t7_8 = $rt.builtin.bytesToString($t1_2);
16152          return $t7_8;
16153          break;
16154        }
16155        case 4: {
16156          $t8_9 = (($t5_6 + 32) & 0xFF);
16157          $t9_10 = $t8_9;
16158          $block = 5; break;
16159          break;
16160        }
16161        case 5: {
16162          $t10_11 = $t1_2.addr($t2_3);
16163          $t10_11.$set($t9_10);
16164          $t11_12 = ($t2_3 + 1);
16165          $t2_3 = $t11_12;
16166          $block = 1; break;
16167          break;
16168        }
16169        case 6: {
16170          $t12_13 = ($t5_6 <= 90);
16171          if ($t12_13) {
16172            $block = 4; break;
16173          }
16174          else {
16175            $t9_10 = $t5_6;
16176            $block = 5; break;
16177          }
16178          break;
16179        }
16180      }
16181    }
16182  }
16183  
16184  export function showQRModal(npubStr) {
16185    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20, $t20_21, $t21_22, $t22_23, $t23_24, $t24_25, $t25_26, $t26_27, $t27_28, $t28_29, $t29_30, $t30_31, $t31_32, $t32_33, $t33_34, $t34_35, $t35_36, $t36_37, $t37_38, $t38_39, $t39_40, $t40_41, $t41_42, $t42_43, $t43_44, $t44_45, $t45_46, $t46_47, $t47_48, $t48_49, $t49_50;
16186    let $block = 0;
16187    while (true) {
16188      switch ($block) {
16189        case 0: {
16190          $t0_1 = logoSVGCache.$get();
16191          $t1_2 = qrSVG(npubStr, 280, $t0_1);
16192          $t2_3 = ($t1_2 === '');
16193          if ($t2_3) {
16194            $block = 1; break;
16195          }
16196          else {
16197            $block = 2; break;
16198          }
16199          break;
16200        }
16201        case 1: {
16202          return;
16203          break;
16204        }
16205        case 2: {
16206          $t3_4 = { $value: 0, $get() { return this.$value; }, $set(v) { this.$value = v; } };
16207          $t4_5 = common$jsbridge$dom.CreateElement('div');
16208          $t3_4.$set($t4_5);
16209          $t5_6 = $t3_4.$get();
16210          $t6_7 = common$jsbridge$dom.SetStyle($t5_6, 'position', 'fixed');
16211          $t7_8 = $t3_4.$get();
16212          $t8_9 = common$jsbridge$dom.SetStyle($t7_8, 'inset', '0');
16213          $t9_10 = $t3_4.$get();
16214          $t10_11 = common$jsbridge$dom.SetStyle($t9_10, 'background', 'rgba(0,0,0,0.6)');
16215          $t11_12 = $t3_4.$get();
16216          $t12_13 = common$jsbridge$dom.SetStyle($t11_12, 'display', 'flex');
16217          $t13_14 = $t3_4.$get();
16218          $t14_15 = common$jsbridge$dom.SetStyle($t13_14, 'alignItems', 'center');
16219          $t15_16 = $t3_4.$get();
16220          $t16_17 = common$jsbridge$dom.SetStyle($t15_16, 'justifyContent', 'center');
16221          $t17_18 = $t3_4.$get();
16222          $t18_19 = common$jsbridge$dom.SetStyle($t17_18, 'zIndex', '9999');
16223          $t19_20 = $t3_4.$get();
16224          $t20_21 = common$jsbridge$dom.SetStyle($t19_20, 'cursor', 'pointer');
16225          $t21_22 = $t3_4.$get();
16226          $t22_23 = showQRModal$1.bind(null, $t3_4);
16227          $t23_24 = common$jsbridge$dom.RegisterCallback($t22_23);
16228          $t24_25 = common$jsbridge$dom.AddEventListener($t21_22, 'click', $t23_24);
16229          $t25_26 = common$jsbridge$dom.CreateElement('div');
16230          $t26_27 = common$jsbridge$dom.SetStyle($t25_26, 'background', 'white');
16231          $t27_28 = common$jsbridge$dom.SetStyle($t25_26, 'borderRadius', '16px');
16232          $t28_29 = common$jsbridge$dom.SetStyle($t25_26, 'padding', '24px');
16233          $t29_30 = common$jsbridge$dom.SetStyle($t25_26, 'display', 'flex');
16234          $t30_31 = common$jsbridge$dom.SetStyle($t25_26, 'flexDirection', 'column');
16235          $t31_32 = common$jsbridge$dom.SetStyle($t25_26, 'alignItems', 'center');
16236          $t32_33 = common$jsbridge$dom.SetStyle($t25_26, 'gap', '12px');
16237          $t33_34 = common$jsbridge$dom.SetStyle($t25_26, 'cursor', 'default');
16238          $t34_35 = common$jsbridge$dom.SetAttribute($t25_26, 'onclick', 'event.stopPropagation()');
16239          $t35_36 = common$jsbridge$dom.SetInnerHTML($t25_26, $t1_2);
16240          $t36_37 = common$jsbridge$dom.CreateElement('div');
16241          $t37_38 = common$jsbridge$dom.SetStyle($t36_37, 'fontSize', '11px');
16242          $t38_39 = common$jsbridge$dom.SetStyle($t36_37, 'color', '#666');
16243          $t39_40 = common$jsbridge$dom.SetStyle($t36_37, 'wordBreak', 'break-all');
16244          $t40_41 = common$jsbridge$dom.SetStyle($t36_37, 'textAlign', 'center');
16245          $t41_42 = common$jsbridge$dom.SetStyle($t36_37, 'maxWidth', '280px');
16246          $t42_43 = common$jsbridge$dom.SetStyle($t36_37, 'fontFamily', '\'Fira Code\', monospace');
16247          $t43_44 = common$jsbridge$dom.SetTextContent($t36_37, npubStr);
16248          $t44_45 = common$jsbridge$dom.AppendChild($t25_26, $t36_37);
16249          $t45_46 = $t3_4.$get();
16250          $t46_47 = common$jsbridge$dom.AppendChild($t45_46, $t25_26);
16251          $t47_48 = common$jsbridge$dom.Body();
16252          $t48_49 = $t3_4.$get();
16253          $t49_50 = common$jsbridge$dom.AppendChild($t47_48, $t48_49);
16254          return;
16255          break;
16256        }
16257      }
16258    }
16259  }
16260  
16261  function showQRModal$1(scrim) {
16262    let $t0_1, $t1_2, $t2_3;
16263    $t0_1 = common$jsbridge$dom.Body();
16264    $t1_2 = scrim.$get();
16265    $t2_3 = common$jsbridge$dom.RemoveChild($t0_1, $t1_2);
16266    return;
16267  }
16268  
16269  export function clearChildren(el) {
16270    let $t0_1;
16271    $t0_1 = common$jsbridge$dom.SetInnerHTML(el, '');
16272    return;
16273  }
16274  
16275  export function itoa(n) {
16276    let $t0_1, $t1_2, $t2_3, $t3_4, $t4_5, $t5_6, $t6_7, $t7_8, $t8_9, $t9_10, $t10_11, $t11_12, $t12_13, $t13_14, $t14_15, $t15_16, $t16_17, $t17_18, $t18_19, $t19_20;
16277    let $block = 0;
16278    while (true) {
16279      switch ($block) {
16280        case 0: {
16281          $t0_1 = (n === 0);
16282          if ($t0_1) {
16283            $block = 1; break;
16284          }
16285          else {
16286            $block = 2; break;
16287          }
16288          break;
16289        }
16290        case 1: {
16291          return '0';
16292          break;
16293        }
16294        case 2: {
16295          $t1_2 = (n < 0);
16296          if ($t1_2) {
16297            $block = 3; break;
16298          }
16299          else {
16300            $t3_4 = n;
16301            $t4_5 = false;
16302            $block = 4; break;
16303          }
16304          break;
16305        }
16306        case 3: {
16307          $t2_3 = -n;
16308          $t3_4 = $t2_3;
16309          $t4_5 = true;
16310          $block = 4; break;
16311          break;
16312        }
16313        case 4: {
16314          $t5_6 = { $value: $rt.builtin.makeSlice(20, 20, 0), $get() { return this.$value; }, $set(v) { this.$value = v; } };
16315          $t12_13 = $t3_4;
16316          $t13_14 = 20;
16317          $block = 7; break;
16318          break;
16319        }
16320        case 5: {
16321          $t6_7 = ($t13_14 - 1);
16322          $t7_8 = ($t12_13 % 10);
16323          $t8_9 = (48 + $t7_8);
16324          $t9_10 = ($t8_9 & 0xFF);
16325          $t10_11 = $t5_6.$get().addr($t6_7);
16326          $t10_11.$set($t9_10);
16327          $t11_12 = Math.trunc($t12_13 / 10);
16328          $t12_13 = $t11_12;
16329          $t13_14 = $t6_7;
16330          $block = 7; break;
16331          break;
16332        }
16333        case 6: {
16334          if ($t4_5) {
16335            $block = 8; break;
16336          }
16337          else {
16338            $t17_18 = $t13_14;
16339            $block = 9; break;
16340          }
16341          break;
16342        }
16343        case 7: {
16344          $t14_15 = ($t12_13 > 0);
16345          if ($t14_15) {
16346            $block = 5; break;
16347          }
16348          else {
16349            $block = 6; break;
16350          }
16351          break;
16352        }
16353        case 8: {
16354          $t15_16 = ($t13_14 - 1);
16355          $t16_17 = $t5_6.$get().addr($t15_16);
16356          $t16_17.$set(45);
16357          $t17_18 = $t15_16;
16358          $block = 9; break;
16359          break;
16360        }
16361        case 9: {
16362          $t18_19 = $rt.builtin.sliceSlice($t5_6.$get(), $t17_18, undefined, undefined);
16363          $t19_20 = $rt.builtin.bytesToString($t18_19);
16364          return $t19_20;
16365          break;
16366        }
16367      }
16368    }
16369  }
16370  
16371