⌈⌋ ⎇ branch:  Bitrhythm


Hex Artifact Content

Artifact 0a129e43e33371229dbbd118d33a5d5bf406179ce3f3b2e740575b8dd5733243:


0000: 3c 21 64 6f 63 74 79 70 65 20 68 74 6d 6c 3e 0a  <!doctype html>.
0010: 3c 68 74 6d 6c 3e 0a 09 3c 68 65 61 64 3e 0a 09  <html>..<head>..
0020: 09 3c 74 69 74 6c 65 3e 6a 73 6f 6e 2d 75 72 6c  .<title>json-url
0030: 20 64 65 6d 6f 20 70 61 67 65 3c 2f 74 69 74 6c   demo page</titl
0040: 65 3e 0a 09 09 3c 73 74 79 6c 65 20 74 79 70 65  e>...<style type
0050: 3d 22 74 65 78 74 2f 63 73 73 22 3e 0a 09 09 09  ="text/css">....
0060: 62 6f 64 79 20 7b 0a 09 09 09 09 70 61 64 64 69  body {.....paddi
0070: 6e 67 3a 20 30 3b 0a 09 09 09 09 6d 61 72 67 69  ng: 0;.....margi
0080: 6e 3a 20 30 3b 0a 09 09 09 09 66 6f 6e 74 2d 66  n: 0;.....font-f
0090: 61 6d 69 6c 79 3a 20 48 65 6c 76 65 74 69 63 61  amily: Helvetica
00a0: 20 4e 65 75 65 2c 20 53 65 67 6f 65 20 55 49 2c   Neue, Segoe UI,
00b0: 20 52 6f 62 6f 74 6f 2c 20 73 61 6e 73 2d 73 65   Roboto, sans-se
00c0: 72 69 66 3b 0a 09 09 09 7d 0a 0a 09 09 09 68 65  rif;....}.....he
00d0: 61 64 65 72 20 7b 0a 09 09 09 09 66 6f 6e 74 2d  ader {.....font-
00e0: 66 61 6d 69 6c 79 3a 20 49 6f 77 61 6e 20 4f 6c  family: Iowan Ol
00f0: 64 20 53 74 79 6c 65 2c 20 73 65 72 69 66 3b 0a  d Style, serif;.
0100: 09 09 09 09 6d 61 72 67 69 6e 3a 20 30 3b 0a 09  ....margin: 0;..
0110: 09 09 09 70 61 64 64 69 6e 67 3a 20 31 65 6d 20  ...padding: 1em 
0120: 30 3b 0a 09 09 09 09 62 61 63 6b 67 72 6f 75 6e  0;.....backgroun
0130: 64 2d 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 09  d-color: #333;..
0140: 09 09 09 74 65 78 74 2d 61 6c 69 67 6e 3a 20 63  ...text-align: c
0150: 65 6e 74 65 72 3b 0a 09 09 09 09 63 6f 6c 6f 72  enter;.....color
0160: 3a 20 77 68 69 74 65 3b 0a 09 09 09 7d 0a 0a 09  : white;....}...
0170: 09 09 68 65 61 64 65 72 20 3e 20 68 31 20 7b 0a  ..header > h1 {.
0180: 09 09 09 09 6d 61 72 67 69 6e 3a 20 30 3b 0a 09  ....margin: 0;..
0190: 09 09 7d 0a 0a 09 09 09 23 63 6f 6e 74 61 69 6e  ..}.....#contain
01a0: 65 72 20 7b 0a 09 09 09 09 70 61 64 64 69 6e 67  er {.....padding
01b0: 3a 20 31 65 6d 3b 0a 09 09 09 7d 0a 0a 0a 09 09  : 1em;....}.....
01c0: 09 2a 2c 20 69 6e 70 75 74 2c 20 62 75 74 74 6f  .*, input, butto
01d0: 6e 2c 20 73 65 6c 65 63 74 20 7b 0a 09 09 09 09  n, select {.....
01e0: 62 6f 78 2d 73 69 7a 69 6e 67 3a 20 62 6f 72 64  box-sizing: bord
01f0: 65 72 2d 62 6f 78 3b 0a 09 09 09 7d 0a 0a 09 09  er-box;....}....
0200: 09 6c 61 62 65 6c 20 7b 0a 09 09 09 09 77 69 64  .label {.....wid
0210: 74 68 3a 20 31 30 65 6d 3b 0a 09 09 09 09 64 69  th: 10em;.....di
0220: 73 70 6c 61 79 3a 20 69 6e 6c 69 6e 65 2d 62 6c  splay: inline-bl
0230: 6f 63 6b 3b 0a 09 09 09 09 76 65 72 74 69 63 61  ock;.....vertica
0240: 6c 2d 61 6c 69 67 6e 3a 20 74 6f 70 3b 0a 09 09  l-align: top;...
0250: 09 7d 0a 0a 09 09 09 69 6e 70 75 74 2c 20 62 75  .}.....input, bu
0260: 74 74 6f 6e 2c 20 73 65 6c 65 63 74 2c 20 74 65  tton, select, te
0270: 78 74 61 72 65 61 20 7b 0a 09 09 09 09 62 6f 72  xtarea {.....bor
0280: 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23  der: 1px solid #
0290: 33 33 33 3b 0a 09 09 09 09 62 6f 72 64 65 72 2d  333;.....border-
02a0: 72 61 64 69 75 73 3a 20 2e 32 65 6d 3b 0a 09 09  radius: .2em;...
02b0: 09 09 70 61 64 64 69 6e 67 3a 20 2e 32 65 6d 3b  ..padding: .2em;
02c0: 0a 09 09 09 09 66 6f 6e 74 2d 73 69 7a 65 3a 20  .....font-size: 
02d0: 31 36 70 78 3b 0a 09 09 09 7d 0a 0a 09 09 09 23  16px;....}.....#
02e0: 6a 73 6f 6e 20 7b 0a 09 09 09 09 77 69 64 74 68  json {.....width
02f0: 3a 20 33 30 65 6d 3b 0a 09 09 09 09 68 65 69 67  : 30em;.....heig
0300: 68 74 3a 20 31 30 65 6d 3b 0a 09 09 09 09 66 6f  ht: 10em;.....fo
0310: 6e 74 2d 66 61 6d 69 6c 79 3a 20 4d 65 6e 6c 6f  nt-family: Menlo
0320: 2c 20 6d 6f 6e 6f 73 70 61 63 65 3b 0a 09 09 09  , monospace;....
0330: 7d 0a 0a 09 09 09 62 75 74 74 6f 6e 20 7b 0a 09  }.....button {..
0340: 09 09 09 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f  ...background-co
0350: 6c 6f 72 3a 20 23 63 63 63 3b 0a 09 09 09 09 70  lor: #ccc;.....p
0360: 61 64 64 69 6e 67 3a 20 2e 32 65 6d 20 31 65 6d  adding: .2em 1em
0370: 3b 0a 09 09 09 09 74 72 61 6e 73 69 74 69 6f 6e  ;.....transition
0380: 3a 20 2e 32 73 20 65 61 73 65 3b 0a 09 09 09 7d  : .2s ease;....}
0390: 0a 0a 09 09 09 62 75 74 74 6f 6e 3a 68 6f 76 65  .....button:hove
03a0: 72 2c 20 62 75 74 74 6f 6e 3a 66 6f 63 75 73 20  r, button:focus 
03b0: 7b 0a 09 09 09 09 62 61 63 6b 67 72 6f 75 6e 64  {.....background
03c0: 2d 63 6f 6c 6f 72 3a 20 23 65 65 65 3b 0a 09 09  -color: #eee;...
03d0: 09 09 63 75 72 73 6f 72 3a 20 70 6f 69 6e 74 65  ..cursor: pointe
03e0: 72 3b 0a 09 09 09 7d 0a 0a 0a 09 09 09 23 63 6f  r;....}......#co
03f0: 6e 74 61 69 6e 65 72 20 3e 20 64 69 76 20 7b 0a  ntainer > div {.
0400: 09 09 09 09 6d 61 72 67 69 6e 2d 62 6f 74 74 6f  ....margin-botto
0410: 6d 3a 20 2e 35 65 6d 3b 0a 09 09 09 7d 0a 0a 09  m: .5em;....}...
0420: 09 09 23 72 65 73 75 6c 74 2c 20 23 64 65 63 6f  ..#result, #deco
0430: 6d 70 72 65 73 73 65 64 20 7b 0a 09 09 09 09 66  mpressed {.....f
0440: 6f 6e 74 2d 66 61 6d 69 6c 79 3a 20 4d 65 6e 6c  ont-family: Menl
0450: 6f 2c 20 6d 6f 6e 6f 73 70 61 63 65 3b 0a 09 09  o, monospace;...
0460: 09 09 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c  ..background-col
0470: 6f 72 3a 20 23 65 65 65 3b 0a 09 09 09 09 6d 69  or: #eee;.....mi
0480: 6e 2d 68 65 69 67 68 74 3a 20 31 30 65 6d 3b 0a  n-height: 10em;.
0490: 09 09 09 09 70 61 64 64 69 6e 67 3a 20 30 2e 35  ....padding: 0.5
04a0: 65 6d 3b 0a 09 09 09 09 62 6f 72 64 65 72 2d 72  em;.....border-r
04b0: 61 64 69 75 73 3a 20 2e 32 65 6d 3b 0a 09 09 09  adius: .2em;....
04c0: 09 77 69 64 74 68 3a 20 31 30 30 25 3b 0a 09 09  .width: 100%;...
04d0: 09 7d 0a 0a 09 09 09 66 6f 6f 74 65 72 20 7b 0a  .}.....footer {.
04e0: 09 09 09 09 62 61 63 6b 67 72 6f 75 6e 64 2d 63  ....background-c
04f0: 6f 6c 6f 72 20 3a 23 33 33 33 3b 0a 09 09 09 09  olor :#333;.....
0500: 63 6f 6c 6f 72 3a 20 77 68 69 74 65 3b 0a 09 09  color: white;...
0510: 09 09 70 6f 73 69 74 69 6f 6e 3a 20 66 69 78 65  ..position: fixe
0520: 64 3b 0a 09 09 09 09 62 6f 74 74 6f 6d 3a 20 30  d;.....bottom: 0
0530: 3b 0a 09 09 09 09 6c 65 66 74 3a 20 30 3b 0a 09  ;.....left: 0;..
0540: 09 09 09 64 69 73 70 6c 61 79 3a 20 62 6c 6f 63  ...display: bloc
0550: 6b 3b 0a 09 09 09 09 77 69 64 74 68 3a 20 31 30  k;.....width: 10
0560: 30 25 3b 0a 09 09 09 09 74 65 78 74 2d 61 6c 69  0%;.....text-ali
0570: 67 6e 3a 20 63 65 6e 74 65 72 3b 0a 09 09 09 7d  gn: center;....}
0580: 0a 09 09 3c 2f 73 74 79 6c 65 3e 0a 09 3c 2f 68  ...</style>..</h
0590: 65 61 64 3e 0a 09 3c 62 6f 64 79 3e 0a 09 09 3c  ead>..<body>...<
05a0: 68 65 61 64 65 72 3e 0a 09 09 09 3c 68 31 3e 6a  header>....<h1>j
05b0: 73 6f 6e 2d 75 72 6c 20 64 65 6d 6f 3c 2f 68 31  son-url demo</h1
05c0: 3e 0a 09 09 09 3c 73 6d 61 6c 6c 3e 50 72 6f 75  >....<small>Prou
05d0: 64 6c 79 20 77 72 69 74 74 65 6e 20 69 6e 20 76  dly written in v
05e0: 61 6e 69 6c 6c 61 2e 6a 73 26 74 72 61 64 65 3b  anilla.js&trade;
05f0: 3c 2f 73 6d 61 6c 6c 3e 0a 09 09 3c 2f 68 65 61  </small>...</hea
0600: 64 65 72 3e 0a 09 09 3c 64 69 76 20 69 64 3d 22  der>...<div id="
0610: 63 6f 6e 74 61 69 6e 65 72 22 3e 0a 09 09 09 3c  container">....<
0620: 64 69 76 3e 0a 09 09 09 09 3c 6c 61 62 65 6c 20  div>.....<label 
0630: 66 6f 72 3d 22 61 6c 67 6f 72 69 74 68 6d 22 3e  for="algorithm">
0640: 41 6c 67 6f 72 69 74 68 6d 3c 2f 6c 61 62 65 6c  Algorithm</label
0650: 3e 0a 09 09 09 09 3c 73 65 6c 65 63 74 20 69 64  >.....<select id
0660: 3d 22 61 6c 67 6f 72 69 74 68 6d 22 20 6e 61 6d  ="algorithm" nam
0670: 65 3d 22 61 6c 67 6f 72 69 74 68 6d 22 3e 0a 09  e="algorithm">..
0680: 09 09 09 09 3c 6f 70 74 69 6f 6e 20 76 61 6c 75  ....<option valu
0690: 65 3d 22 6c 7a 77 22 3e 6c 7a 77 3c 2f 6f 70 74  e="lzw">lzw</opt
06a0: 69 6f 6e 3e 0a 09 09 09 09 09 3c 6f 70 74 69 6f  ion>......<optio
06b0: 6e 20 76 61 6c 75 65 3d 22 6c 7a 6d 61 22 3e 6c  n value="lzma">l
06c0: 7a 6d 61 3c 2f 6f 70 74 69 6f 6e 3e 0a 09 09 09  zma</option>....
06d0: 09 09 3c 6f 70 74 69 6f 6e 20 76 61 6c 75 65 3d  ..<option value=
06e0: 22 6c 7a 73 74 72 69 6e 67 22 3e 6c 7a 73 74 72  "lzstring">lzstr
06f0: 69 6e 67 3c 2f 6f 70 74 69 6f 6e 3e 0a 09 09 09  ing</option>....
0700: 09 09 3c 6f 70 74 69 6f 6e 20 76 61 6c 75 65 3d  ..<option value=
0710: 22 70 61 63 6b 22 3e 70 61 63 6b 3c 2f 6f 70 74  "pack">pack</opt
0720: 69 6f 6e 3e 0a 09 09 09 09 3c 2f 73 65 6c 65 63  ion>.....</selec
0730: 74 3e 0a 09 09 09 3c 2f 64 69 76 3e 0a 09 09 09  t>....</div>....
0740: 3c 64 69 76 3e 0a 09 09 09 09 3c 6c 61 62 65 6c  <div>.....<label
0750: 20 66 6f 72 3d 22 6a 73 6f 6e 22 3e 4a 53 4f 4e   for="json">JSON
0760: 20 49 6e 70 75 74 3c 2f 6c 61 62 65 6c 3e 0a 09   Input</label>..
0770: 09 09 09 3c 74 65 78 74 61 72 65 61 20 69 64 3d  ...<textarea id=
0780: 22 6a 73 6f 6e 22 20 6e 61 6d 65 3d 22 6a 73 6f  "json" name="jso
0790: 6e 22 3e 3c 2f 74 65 78 74 61 72 65 61 3e 0a 09  n"></textarea>..
07a0: 09 09 3c 2f 64 69 76 3e 0a 09 09 09 3c 62 75 74  ..</div>....<but
07b0: 74 6f 6e 20 69 64 3d 22 67 65 6e 65 72 61 74 65  ton id="generate
07c0: 22 20 74 79 70 65 3d 22 62 75 74 74 6f 6e 22 3e  " type="button">
07d0: 47 65 6e 65 72 61 74 65 3c 2f 62 75 74 74 6f 6e  Generate</button
07e0: 3e 0a 09 09 09 3c 64 69 76 3e 0a 09 09 09 09 3c  >....<div>.....<
07f0: 68 33 3e 52 65 73 75 6c 74 3c 2f 68 33 3e 0a 09  h3>Result</h3>..
0800: 09 09 09 3c 74 65 78 74 61 72 65 61 20 63 6c 61  ...<textarea cla
0810: 73 73 3d 22 69 6e 74 70 75 74 2d 6f 75 74 70 75  ss="intput-outpu
0820: 74 22 20 69 64 3d 22 72 65 73 75 6c 74 22 3e 0a  t" id="result">.
0830: 09 09 09 09 3c 2f 74 65 78 74 61 72 65 61 3e 0a  ....</textarea>.
0840: 09 09 09 3c 2f 64 69 76 3e 0a 09 09 09 3c 62 75  ...</div>....<bu
0850: 74 74 6f 6e 20 69 64 3d 22 64 65 63 6f 6d 70 72  tton id="decompr
0860: 65 73 73 22 20 74 79 70 65 3d 22 62 75 74 74 6f  ess" type="butto
0870: 6e 22 3e 44 65 63 6f 6d 70 72 65 73 73 3c 2f 62  n">Decompress</b
0880: 75 74 74 6f 6e 3e 0a 09 09 09 3c 64 69 76 3e 0a  utton>....<div>.
0890: 09 09 09 09 3c 68 33 3e 44 65 63 6f 6d 70 72 65  ....<h3>Decompre
08a0: 73 73 69 6f 6e 3c 2f 68 33 3e 0a 09 09 09 09 3c  ssion</h3>.....<
08b0: 74 65 78 74 61 72 65 61 20 63 6c 61 73 73 3d 22  textarea class="
08c0: 69 6e 70 75 74 2d 6f 75 74 70 75 74 22 20 69 64  input-output" id
08d0: 3d 22 64 65 63 6f 6d 70 72 65 73 73 65 64 22 3e  ="decompressed">
08e0: 0a 09 09 09 09 3c 2f 74 65 78 74 61 72 65 61 3e  .....</textarea>
08f0: 0a 09 09 09 3c 2f 64 69 76 3e 0a 09 09 3c 2f 64  ....</div>...</d
0900: 69 76 3e 0a 09 3c 2f 62 6f 64 79 3e 0a 09 3c 73  iv>..</body>..<s
0910: 63 72 69 70 74 20 74 79 70 65 3d 22 74 65 78 74  cript type="text
0920: 2f 6a 61 76 61 73 63 72 69 70 74 22 20 73 72 63  /javascript" src
0930: 3d 22 2f 64 69 73 74 2f 62 72 6f 77 73 65 72 2f  ="/dist/browser/
0940: 6a 73 6f 6e 2d 75 72 6c 2e 6a 73 22 3e 3c 2f 73  json-url.js"></s
0950: 63 72 69 70 74 3e 0a 09 3c 73 63 72 69 70 74 3e  cript>..<script>
0960: 0a 09 09 2f 2a 20 65 73 6c 69 6e 74 2d 64 69 73  .../* eslint-dis
0970: 61 62 6c 65 20 2a 2f 0a 09 09 6a 73 6f 6e 2e 76  able */...json.v
0980: 61 6c 75 65 20 3d 20 4a 53 4f 4e 2e 73 74 72 69  alue = JSON.stri
0990: 6e 67 69 66 79 28 7b 0a 09 09 09 72 6f 73 65 73  ngify({....roses
09a0: 3a 20 27 72 65 64 27 2c 0a 09 09 09 76 69 6f 6c  : 'red',....viol
09b0: 65 74 73 3a 20 27 62 6c 75 65 27 2c 0a 09 09 09  ets: 'blue',....
09c0: 66 72 75 69 74 73 3a 20 5b 20 27 61 70 70 6c 65  fruits: [ 'apple
09d0: 27 2c 20 32 20 5d 0a 09 09 7d 2c 20 6e 75 6c 6c  ', 2 ]...}, null
09e0: 2c 20 32 29 3b 0a 09 09 09 61 6c 67 6f 72 69 74  , 2);....algorit
09f0: 68 6d 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65  hm.addEventListe
0a00: 6e 65 72 28 27 63 68 61 6e 67 65 27 2c 20 28 29  ner('change', ()
0a10: 20 3d 3e 20 7b 0a 09 09 09 09 72 65 73 75 6c 74   => {.....result
0a20: 2e 76 61 6c 75 65 20 3d 20 27 27 3b 0a 09 09 09  .value = '';....
0a30: 09 64 65 63 6f 6d 70 72 65 73 73 65 64 2e 76 61  .decompressed.va
0a40: 6c 75 65 20 3d 20 27 27 3b 0a 09 09 09 09 67 65  lue = '';.....ge
0a50: 6e 65 72 61 74 65 2e 63 6c 69 63 6b 28 29 3b 0a  nerate.click();.
0a60: 09 09 09 7d 29 3b 0a 09 09 09 67 65 6e 65 72 61  ...});....genera
0a70: 74 65 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65  te.addEventListe
0a80: 6e 65 72 28 27 63 6c 69 63 6b 27 2c 20 28 29 20  ner('click', () 
0a90: 3d 3e 20 7b 0a 09 09 09 09 74 72 79 20 7b 0a 09  => {.....try {..
0aa0: 09 09 09 09 63 6f 6e 73 74 20 70 61 72 73 65 64  ....const parsed
0ab0: 20 3d 20 4a 53 4f 4e 2e 70 61 72 73 65 28 6a 73   = JSON.parse(js
0ac0: 6f 6e 2e 76 61 6c 75 65 29 3b 0a 09 09 09 09 09  on.value);......
0ad0: 63 6f 6e 73 74 20 6c 69 62 20 3d 20 4a 73 6f 6e  const lib = Json
0ae0: 55 72 6c 28 61 6c 67 6f 72 69 74 68 6d 2e 76 61  Url(algorithm.va
0af0: 6c 75 65 29 3b 0a 09 09 09 09 09 6c 69 62 2e 63  lue);......lib.c
0b00: 6f 6d 70 72 65 73 73 28 70 61 72 73 65 64 29 2e  ompress(parsed).
0b10: 74 68 65 6e 28 6f 75 74 70 75 74 20 3d 3e 20 7b  then(output => {
0b20: 20 72 65 73 75 6c 74 2e 76 61 6c 75 65 20 3d 20   result.value = 
0b30: 6f 75 74 70 75 74 3b 20 7d 29 3b 0a 09 09 09 09  output; });.....
0b40: 7d 20 63 61 74 63 68 20 28 65 72 72 29 20 7b 0a  } catch (err) {.
0b50: 09 09 09 09 09 72 65 73 75 6c 74 2e 76 61 6c 75  .....result.valu
0b60: 65 20 3d 20 60 55 6e 61 62 6c 65 20 74 6f 20 63  e = `Unable to c
0b70: 6f 6d 70 72 65 73 73 2e 20 52 65 61 73 6f 6e 3a  ompress. Reason:
0b80: 20 24 7b 65 72 72 7d 60 3b 0a 09 09 09 09 7d 0a   ${err}`;.....}.
0b90: 09 09 09 7d 29 3b 0a 09 09 09 64 65 63 6f 6d 70  ...});....decomp
0ba0: 72 65 73 73 2e 61 64 64 45 76 65 6e 74 4c 69 73  ress.addEventLis
0bb0: 74 65 6e 65 72 28 27 63 6c 69 63 6b 27 2c 20 28  tener('click', (
0bc0: 29 20 3d 3e 20 7b 0a 09 09 09 09 74 72 79 20 7b  ) => {.....try {
0bd0: 0a 09 09 09 09 09 63 6f 6e 73 74 20 63 6f 6d 70  ......const comp
0be0: 72 65 73 73 65 64 20 3d 20 72 65 73 75 6c 74 2e  ressed = result.
0bf0: 76 61 6c 75 65 2e 74 72 69 6d 28 29 3b 0a 09 09  value.trim();...
0c00: 09 09 09 63 6f 6e 73 74 20 6c 69 62 20 3d 20 4a  ...const lib = J
0c10: 73 6f 6e 55 72 6c 28 61 6c 67 6f 72 69 74 68 6d  sonUrl(algorithm
0c20: 2e 76 61 6c 75 65 29 3b 0a 09 09 09 09 09 6c 69  .value);......li
0c30: 62 2e 64 65 63 6f 6d 70 72 65 73 73 28 63 6f 6d  b.decompress(com
0c40: 70 72 65 73 73 65 64 29 2e 74 68 65 6e 28 6f 75  pressed).then(ou
0c50: 74 70 75 74 20 3d 3e 20 7b 20 64 65 63 6f 6d 70  tput => { decomp
0c60: 72 65 73 73 65 64 2e 76 61 6c 75 65 20 3d 20 4a  ressed.value = J
0c70: 53 4f 4e 2e 73 74 72 69 6e 67 69 66 79 28 6f 75  SON.stringify(ou
0c80: 74 70 75 74 2c 20 6e 75 6c 6c 2c 20 32 29 3b 20  tput, null, 2); 
0c90: 7d 29 0a 09 09 09 09 7d 20 63 61 74 63 68 20 28  }).....} catch (
0ca0: 65 72 72 29 20 7b 0a 09 09 09 09 09 64 65 63 6f  err) {......deco
0cb0: 6d 70 72 65 73 73 65 64 2e 76 61 6c 75 65 20 3d  mpressed.value =
0cc0: 20 60 55 6e 61 62 6c 65 20 74 6f 20 64 65 63 6f   `Unable to deco
0cd0: 6d 70 72 65 73 73 2e 20 52 65 61 73 6f 6e 3a 20  mpress. Reason: 
0ce0: 24 7b 65 72 72 7d 60 3b 0a 09 09 09 09 7d 0a 09  ${err}`;.....}..
0cf0: 09 09 7d 29 3b 0a 09 3c 2f 73 63 72 69 70 74 3e  ..});..</script>
0d00: 0a 3c 2f 68 74 6d 6c 3e                          .</html>