slitaz-forge annotate dvd/en/index.html @ rev 602
New style on mirror1
mirror1.slitaz.org/ : mirror1.slitaz.org/info/ : mirror1.slitaz.org/webboot/ : dvd.slitaz.org
mirror1.slitaz.org/ : mirror1.slitaz.org/info/ : mirror1.slitaz.org/webboot/ : dvd.slitaz.org
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Fri Oct 16 02:08:09 2015 +0300 (2015-10-16) |
parents | |
children | f974819085be |
rev | line source |
---|---|
al@602 | 1 <!DOCTYPE html> |
al@602 | 2 <html lang="en"> |
al@602 | 3 <head> |
al@602 | 4 <meta charset="UTF-8"> |
al@602 | 5 <title>SliTaz DVD/USB Key builder</title> |
al@602 | 6 <meta name="description" content="SliTaz DVD and USB key generator"> |
al@602 | 7 <meta name="robots" content="index, nofollow"> |
al@602 | 8 <meta name="author" content="SliTaz Contributors"> |
al@602 | 9 <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
al@602 | 10 <link rel="shortcut icon" href="/static/favicon.ico"> |
al@602 | 11 <link rel="stylesheet" type="text/css" href="/static/slitaz.min.css"> |
al@602 | 12 <style type="text/css"> |
al@602 | 13 th:nth-child(2),th:nth-child(3),th:nth-child(4),th:nth-child(5),th:nth-child(6),th:nth-child(7),th:nth-child(8), |
al@602 | 14 td:nth-child(2),td:nth-child(3),td:nth-child(4),td:nth-child(5),td:nth-child(6),td:nth-child(7),td:nth-child(8) { text-align: right; } |
al@602 | 15 </style> |
al@602 | 16 </head> |
al@602 | 17 <body> |
al@602 | 18 |
al@602 | 19 <script>de=document.documentElement;de.className+=(("ontouchstart" in de)?' touch':' no-touch');</script> |
al@602 | 20 |
al@602 | 21 <header> |
al@602 | 22 <h1><a href="http://www.slitaz.org/">SliTaz DVD & USB key builder</a></h1> |
al@602 | 23 <div class="network"> |
al@602 | 24 <a href="http://www.slitaz.org/" class="home"></a> |
al@602 | 25 <a href="http://scn.slitaz.org/">Community</a> |
al@602 | 26 <a href="http://doc.slitaz.org/" title="SliTaz Community Documentation">Doc</a> |
al@602 | 27 <a href="http://forum.slitaz.org/" title="Slitaz Forum">Forum</a> |
al@602 | 28 <a href="http://bugs.slitaz.org/" title="Bug Tracking System">Bugs</a> |
al@602 | 29 <a href="http://hg.slitaz.org/" title="SliTaz repositories">Hg</a> |
al@602 | 30 </div> |
al@602 | 31 </header> |
al@602 | 32 |
al@602 | 33 <!-- Block --> |
al@602 | 34 <div class="block"><div> |
al@602 | 35 |
al@602 | 36 <!-- Information/image --> |
al@602 | 37 <div class="block_info"> |
al@602 | 38 <header>DVD and USB key generator</header> |
al@602 | 39 <p> |
al@602 | 40 This tool will create a shell script. You should run this script |
al@602 | 41 on your own SliTaz to build the DVD iso image. You can put this image on |
al@602 | 42 a DVD with <code>wodim</code> or on an USB key with <code>tazusb geniso2usb</code>. |
al@602 | 43 </p> |
al@602 | 44 <p> |
al@602 | 45 GUI tools are also available: <code>burnbox</code> and <code>tazusbbox</code>. |
al@602 | 46 </p> |
al@602 | 47 </div> |
al@602 | 48 |
al@602 | 49 <!-- Navigation --> |
al@602 | 50 <nav> |
al@602 | 51 <header>Developers Corner</header> |
al@602 | 52 <ul> |
al@602 | 53 <li><a href="http://www.slitaz.org/en/devel/">Website devel</a></li> |
al@602 | 54 <li><a href="http://cook.slitaz.org/">Build Bot</a></li> |
al@602 | 55 <li><a href="http://pkgs.slitaz.org/">packages database</a></li> |
al@602 | 56 </ul> |
al@602 | 57 <p><strong>Online tools:</strong></p> |
al@602 | 58 <ul> |
al@602 | 59 <li><a href="http://pizza.slitaz.org/">Live Builder</a></li> |
al@602 | 60 <li><a href="http://boot.slitaz.org/">Web Boot</a></li> |
al@602 | 61 <li><a href="http://mirror.slitaz.org/floppies/builder/">Floppies Builder</a></li> |
al@602 | 62 <!-- li><a href="http://mirror.slitaz.org/packages/convert/">Package Converter</a></li --> |
al@602 | 63 </ul> |
al@602 | 64 </nav> |
al@602 | 65 </div></div> |
al@602 | 66 |
al@602 | 67 <!-- Content, from http://en.wikipedia.org/wiki/Miscellaneous_Symbols_Unicode_block --> |
al@602 | 68 <main> |
al@602 | 69 |
al@602 | 70 <!-- Languages --> |
al@602 | 71 <div class="lang"> |
al@602 | 72 <b>English</b> |
al@602 | 73 <a href="../ru/index.html">Русский</a> |
al@602 | 74 </div> |
al@602 | 75 |
al@602 | 76 <form method="post" enctype="multipart/form-data" action="../download.php"> |
al@602 | 77 <input type="hidden" name="rsync" value="on" /> |
al@602 | 78 <input type="hidden" name="filter" value="on" /> |
al@602 | 79 <input type="hidden" id="size" name="size" value="0" /> |
al@602 | 80 |
al@602 | 81 <table> |
al@602 | 82 <thead> |
al@602 | 83 <tr> |
al@602 | 84 <th>Features</th> |
al@602 | 85 <!-- th><label><input type="radio" name="version" value="4.0"/>stable 4.0</label></th --> |
al@602 | 86 <th><label><input type="radio" name="version" value="cooking"/>cooking</label></th> |
al@602 | 87 <th><label><input type="radio" name="version" value="4.0" checked="checked"/>4.0</label></th> |
al@602 | 88 <th><label><input type="radio" name="version" value="3.0"/>3.0</label></th> |
al@602 | 89 <th><label><input type="radio" name="version" value="2.0"/>2.0</label></th> |
al@602 | 90 <th><label><input type="radio" name="version" value="1.0"/>1.0</label></th> |
al@602 | 91 <!-- th><label><input type="radio" name="version" value="all"/>all</label></th --> |
al@602 | 92 </tr> |
al@602 | 93 </thead> |
al@602 | 94 <tbody> |
al@602 | 95 <tr> |
al@602 | 96 <td><label><input type="checkbox" checked="checked" disabled="disabled" name="boot"/>bootable on SliTaz</label></td> |
al@602 | 97 <!-- td id="boot_stable">29 MB</td --> |
al@602 | 98 <td id="boot_cooking">35 MB</td> |
al@602 | 99 <td id="boot_4.0">35 MB</td> |
al@602 | 100 <td id="boot_3.0">29 MB</td> |
al@602 | 101 <td id="boot_2.0">28 MB</td> |
al@602 | 102 <td id="boot_1.0">24 MB</td> |
al@602 | 103 <!-- td id="boot_all">139 MB</td --> |
al@602 | 104 </tr> |
al@602 | 105 <tr> |
al@602 | 106 <td><label><input type="checkbox" checked="checked" name="webboot"/>bootable on Internet ☺</label></td> |
al@602 | 107 <!-- td id="webboot_stable">196 KB</td --> |
al@602 | 108 <td id="webboot_cooking">196 KB</td> |
al@602 | 109 <td id="webboot_4.0">196 KB</td> |
al@602 | 110 <td id="webboot_3.0">196 KB</td> |
al@602 | 111 <td id="webboot_2.0">196 KB</td> |
al@602 | 112 <td id="webboot_1.0">196 KB</td> |
al@602 | 113 <!-- td id="webboot_all">196 KB</td --> |
al@602 | 114 </tr> |
al@602 | 115 <tr> |
al@602 | 116 <td><label><input type="checkbox" checked="checked" name="website"/>with the SliTaz website</label></td> |
al@602 | 117 <!-- td id="website_stable">23 MB</td --> |
al@602 | 118 <td id="website_cooking">23 MB</td> |
al@602 | 119 <td id="website_4.0">23 MB</td> |
al@602 | 120 <td id="website_3.0">23 MB</td> |
al@602 | 121 <td id="website_2.0">23 MB</td> |
al@602 | 122 <td id="website_1.0">23 MB</td> |
al@602 | 123 <!-- td id="website_all">23 MB</td --> |
al@602 | 124 </tr> |
al@602 | 125 <tr> |
al@602 | 126 <td><label><input type="checkbox" name="doc"/>with the SliTaz doc website</label></td> |
al@602 | 127 <!-- td id="doc_stable">85 MB</td --> |
al@602 | 128 <td id="doc_cooking">85 MB</td> |
al@602 | 129 <td id="doc_4.0">85 MB</td> |
al@602 | 130 <td id="doc_3.0">85 MB</td> |
al@602 | 131 <td id="doc_2.0">85 MB</td> |
al@602 | 132 <td id="doc_1.0">85 MB</td> |
al@602 | 133 <!-- td id="doc_all">85 MB</td --> |
al@602 | 134 </tr> |
al@602 | 135 <tr> |
al@602 | 136 <td><label><input type="checkbox" name="tiny"/>with the Tiny SliTaz website</label></td> |
al@602 | 137 <!-- td id="tiny_stable">15 MB</td --> |
al@602 | 138 <td id="tiny_cooking">15 MB</td> |
al@602 | 139 <td id="tiny_4.0">15 MB</td> |
al@602 | 140 <td id="tiny_3.0">15 MB</td> |
al@602 | 141 <td id="tiny_2.0">15 MB</td> |
al@602 | 142 <td id="tiny_1.0">15 MB</td> |
al@602 | 143 <!-- td id="tiny_all">15 MB</td --> |
al@602 | 144 </tr> |
al@602 | 145 <tr> |
al@602 | 146 <td><label><input type="checkbox" name="pxe"/>with the SliTaz PXE website</label></td> |
al@602 | 147 <!-- td id="pxe_stable">112 MB</td --> |
al@602 | 148 <td id="pxe_cooking">112 MB</td> |
al@602 | 149 <td id="pxe_4.0">112 MB</td> |
al@602 | 150 <td id="pxe_3.0">112 MB</td> |
al@602 | 151 <td id="pxe_2.0">82 MB</td> |
al@602 | 152 <td id="pxe_1.0">25 MB</td> |
al@602 | 153 <!-- td id="pxe_all">444 MB</td --> |
al@602 | 154 </tr> |
al@602 | 155 <tr> |
al@602 | 156 <td><label><input type="checkbox" name="tools"/>with online tools (pkgs, pizza, convert, floppy, dvd)</label></td> |
al@602 | 157 <!-- td id="tools_stable">1 MB</td --> |
al@602 | 158 <td id="tools_cooking">1 MB</td> |
al@602 | 159 <td id="tools_4.0">1 MB</td> |
al@602 | 160 <td id="tools_3.0">1 MB</td> |
al@602 | 161 <td id="tools_2.0">1 MB</td> |
al@602 | 162 <td id="tools_1.0">1 MB</td> |
al@602 | 163 <!-- td id="tools_all">1 MB</td --> |
al@602 | 164 </tr> |
al@602 | 165 <tr> |
al@602 | 166 <td><label><input type="checkbox" checked="checked" name="wok"/>with the SliTaz wok (rules to build any package)</label></td> |
al@602 | 167 <!-- td id="wok_stable">87 MB</td --> |
al@602 | 168 <td id="wok_cooking">87 MB</td> |
al@602 | 169 <td id="wok_4.0">87 MB</td> |
al@602 | 170 <td id="wok_3.0">87 MB</td> |
al@602 | 171 <td id="wok_2.0">87 MB</td> |
al@602 | 172 <td id="wok_1.0">87 MB</td> |
al@602 | 173 <!-- td id="wok_all">87 MB</td --> |
al@602 | 174 </tr> |
al@602 | 175 <tr> |
al@602 | 176 <td><label><input type="checkbox" name="hg"/>with all Mercurial repositories</label></td> |
al@602 | 177 <!-- td id="hg_stable">250 MB</td --> |
al@602 | 178 <td id="hg_cooking">250 MB</td> |
al@602 | 179 <td id="hg_4.0">250 MB</td> |
al@602 | 180 <td id="hg_3.0">250 MB</td> |
al@602 | 181 <td id="hg_2.0">250 MB</td> |
al@602 | 182 <td id="hg_1.0">250 MB</td> |
al@602 | 183 <!-- td id="hg_all">250 MB</td --> |
al@602 | 184 </tr> |
al@602 | 185 <tr> |
al@602 | 186 <td><label><input type="checkbox" checked="checked" name="packages"/>with all packages & flavors files</label></td> |
al@602 | 187 <!-- td id="packages_stable">2.6 GB</td --> |
al@602 | 188 <td id="packages_cooking">2.6 GB</td> |
al@602 | 189 <td id="packages_4.0">2.6 GB</td> |
al@602 | 190 <td id="packages_3.0">1.4 GB</td> |
al@602 | 191 <td id="packages_2.0">910 MB</td> |
al@602 | 192 <td id="packages_1.0">230 MB</td> |
al@602 | 193 <!-- td id="packages_all">5.1 GB</td --> |
al@602 | 194 </tr> |
al@602 | 195 <tr> |
al@602 | 196 <td><label><input type="checkbox" name="nonfree"/>with non-free ⚠ packages (from get-* scripts) <sup>1</sup></label></td> |
al@602 | 197 <!-- td id="nonfree_stable">500 MB</td --> |
al@602 | 198 <td id="xnonfree_cooking">not yet</td> |
al@602 | 199 <td id="xnonfree_4.0">not yet</td> |
al@602 | 200 <td id="xnonfree_3.0">not yet</td> |
al@602 | 201 <td id="nonfree_2.0">200 MB</td> |
al@602 | 202 <td id="nonfree_1.0">50 MB</td> |
al@602 | 203 <!-- td id="nonfree_all">500 MB</td --> |
al@602 | 204 </tr> |
al@602 | 205 <tr> |
al@602 | 206 <td><label><input type="checkbox" name="huge"/>with free but huge packages (from get-* scripts) <sup>2</sup></label></td> |
al@602 | 207 <!-- td id="huge_stable">500 MB</td --> |
al@602 | 208 <td id="xhuge_cooking">not yet</td> |
al@602 | 209 <td id="xhuge_4.0">not yet</td> |
al@602 | 210 <td id="xhuge_3.0">not yet</td> |
al@602 | 211 <td id="huge_2.0">500 MB</td> |
al@602 | 212 <td id="xhuge_1.0">none</td> |
al@602 | 213 <!-- td id="huge_all">900 MB</td --> |
al@602 | 214 </tr> |
al@602 | 215 <tr> |
al@602 | 216 <td><label><input type="checkbox" name="sources"/>with all sources files <sup>3</sup></label></td> |
al@602 | 217 <!-- td id="sources_stable">5.0 GB</td --> |
al@602 | 218 <td id="sources_cooking">5.0 GB</td> |
al@602 | 219 <td id="sources_4.0">5.0 GB</td> |
al@602 | 220 <td id="sources_3.0">2.4 GB</td> |
al@602 | 221 <td id="sources_2.0">1.5 GB</td> |
al@602 | 222 <td id="sources_1.0">650 MB</td> |
al@602 | 223 <!-- td id="sources_all">9.6 GB</td --> |
al@602 | 224 </tr> |
al@602 | 225 <tr> |
al@602 | 226 <td><label><input type="checkbox" checked="checked" name="loram_detect"/>with loram ♲ autodetection</label></td> |
al@602 | 227 <!-- td id="loram_detect_stable">129 MB</td --> |
al@602 | 228 <td id="loram_detect_cooking">129 MB</td> |
al@602 | 229 <td id="loram_detect_4.0">132 MB</td> |
al@602 | 230 <td id="loram_detect_3.0">132 MB</td> |
al@602 | 231 <td id="loram_detect_2.0">99 MB</td> |
al@602 | 232 <td id="loram_detect_1.0">82 MB</td> |
al@602 | 233 <!-- td id="loram_detect_all">570 MB</td --> |
al@602 | 234 </tr> |
al@602 | 235 <tr> |
al@602 | 236 <td><label><input type="checkbox" checked="checked" name="auto_install"/>with auto activation on boot (standalone mode)</label></td> |
al@602 | 237 <!-- td id="auto_install_stable">2 KB</td --> |
al@602 | 238 <td id="auto_install_cooking">2 KB</td> |
al@602 | 239 <td id="auto_install_4.0">2 KB</td> |
al@602 | 240 <td id="auto_install_3.0">2 KB</td> |
al@602 | 241 <td id="auto_install_2.0">2 KB</td> |
al@602 | 242 <td id="auto_install_1.0">2 KB</td> |
al@602 | 243 <!-- td id="auto_install_all">2 KB</td --> |
al@602 | 244 </tr> |
al@602 | 245 </tbody> |
al@602 | 246 </table> |
al@602 | 247 |
al@602 | 248 <hr> |
al@602 | 249 |
al@602 | 250 <p><input name="download" value="Download" type="submit"/> |
al@602 | 251 the script to build the ISO image. |
al@602 | 252 <span id="result"></span> |
al@602 | 253 </form> |
al@602 | 254 |
al@602 | 255 <script> |
al@602 | 256 document.documentElement.className += (("ontouchstart" in document.documentElement) ? ' touch' : ' no-touch'); |
al@602 | 257 |
al@602 | 258 function toKb(size) { |
al@602 | 259 var divisor = 1, result = 0; |
al@602 | 260 for (var i = 0; i < size.length; i++) { |
al@602 | 261 switch (size.charAt(i)) { |
al@602 | 262 case '.' : divisor = 10; continue; |
al@602 | 263 case 'K' : return result/divisor; |
al@602 | 264 case 'M' : return (1024*result)/divisor; |
al@602 | 265 case 'G' : return (1024*1024*result)/divisor; |
al@602 | 266 case 'T' : return (1024*1024*1024*result)/divisor; |
al@602 | 267 } |
al@602 | 268 if (size.charAt(i) >= '0' && size.charAt(i) <= '9') { |
al@602 | 269 result *= 10 |
al@602 | 270 result += parseInt(size.charAt(i) - '0') |
al@602 | 271 } |
al@602 | 272 } |
al@602 | 273 return result/divisor |
al@602 | 274 } |
al@602 | 275 |
al@602 | 276 function toHuman(size) { |
al@602 | 277 var i; |
al@602 | 278 for (size *= 10, i = 0; size > 10000; size /= 1024, i++); |
al@602 | 279 if (size >= 100) size = parseInt(size / 10) |
al@602 | 280 else size = parseInt(size / 10) + "." + parseInt(size % 10) |
al@602 | 281 return size + " " + "KMGT".charAt(i) + "B" |
al@602 | 282 } |
al@602 | 283 |
al@602 | 284 function update_size() { |
al@602 | 285 var total = 1024; // padding |
al@602 | 286 for (var i = 0; i < document.getElementsByTagName("td").length; i++) { |
al@602 | 287 var obj = document.getElementsByTagName("td")[i] |
al@602 | 288 var reg = new RegExp("^[0-9\.]* [KMGT]B$") |
al@602 | 289 if (!reg.test(obj.innerHTML)) continue |
al@602 | 290 obj.style.fontWeight="normal" |
al@602 | 291 obj.style.textDecoration="none" |
al@602 | 292 obj.style.backgroundColor="inherit" |
al@602 | 293 } |
al@602 | 294 for (var i = 0; i < document.forms[0].elements.length; i++) { |
al@602 | 295 var obj = document.forms[0].elements[i] |
al@602 | 296 if (obj.checked == false) continue |
al@602 | 297 var version = document.forms[0].version |
al@602 | 298 for (j = 0; j < version.length; j++) { |
al@602 | 299 if (version[j].checked) { |
al@602 | 300 version = version[j].value |
al@602 | 301 break |
al@602 | 302 } |
al@602 | 303 } |
al@602 | 304 var size = document.getElementById(obj.name + "_" + version) |
al@602 | 305 if (size == null) continue |
al@602 | 306 size.style.fontWeight="bold" |
al@602 | 307 //size.style.textDecoration="underline" |
al@602 | 308 size.style.backgroundColor="#ccc" |
al@602 | 309 total += parseInt(toKb(size.innerHTML)) |
al@602 | 310 } |
al@602 | 311 var size = document.getElementById("size") |
al@602 | 312 size.value = total |
al@602 | 313 var result=document.getElementById("result") |
al@602 | 314 result.innerHTML="Expected size: <u><b>"+toHuman(total)+"</b></u>"+ |
al@602 | 315 " (✔ needs "+toHuman(2*total)+" free space)." |
al@602 | 316 } |
al@602 | 317 |
al@602 | 318 function QRCodePNG(str, obj) { |
al@602 | 319 try { |
al@602 | 320 obj.height = obj.width += 200; |
al@602 | 321 return QRCode.generatePNG(str, {ecclevel: 'H'}); |
al@602 | 322 } |
al@602 | 323 catch (any) { |
al@602 | 324 var element = document.createElement("script"); |
al@602 | 325 element.src = "/static/qrcode.min.js"; |
al@602 | 326 element.type = "text/javascript"; |
al@602 | 327 element.onload = function() { |
al@602 | 328 obj.src = QRCode.generatePNG(str, {ecclevel: 'H'}); |
al@602 | 329 }; |
al@602 | 330 document.body.appendChild(element); |
al@602 | 331 } |
al@602 | 332 } |
al@602 | 333 |
al@602 | 334 update_size() |
al@602 | 335 window.onchange = update_size |
al@602 | 336 </script> |
al@602 | 337 |
al@602 | 338 <p> |
al@602 | 339 <sup>1</sup> SliTaz can't and doesn't want to provide non free software. |
al@602 | 340 Many people want to use software such as <b>Opera</b>, <b>Skype ☎</b> or <b>flash-plugin</b>. |
al@602 | 341 SliTaz provides some <b>get-*</b> scripts to let you install them. |
al@602 | 342 The DVD creation tool will launch this script, repackage the software and |
al@602 | 343 store it in the package directory. |
al@602 | 344 </p> |
al@602 | 345 |
al@602 | 346 <p> |
al@602 | 347 <sup>2</sup> Some software such as <b>OpenOffice</b> or <b>LibreOffice</b> are |
al@602 | 348 so huge that they don't compile on a SliTaz build bot. |
al@602 | 349 The DVD creation tool will use <b>get-*</b> scripts (see above) to store these |
al@602 | 350 packages in the package directory. The scripts download pre-built binaries for |
al@602 | 351 another Linux distribution. |
al@602 | 352 </p> |
al@602 | 353 |
al@602 | 354 <p> |
al@602 | 355 <sup>3</sup> Original source files. Install <b>SliTaz wok</b> to get the SliTaz |
al@602 | 356 patches. |
al@602 | 357 </p> |
al@602 | 358 <!-- End of content --> |
al@602 | 359 </main> |
al@602 | 360 |
al@602 | 361 <footer> |
al@602 | 362 <div> |
al@602 | 363 Copyright © <span class="year"></span> |
al@602 | 364 <a href="http://www.slitaz.org/">SliTaz</a> |
al@602 | 365 </div> |
al@602 | 366 <div> |
al@602 | 367 Network: |
al@602 | 368 <a href="http://scn.slitaz.org/">Community</a> · |
al@602 | 369 <a href="http://doc.slitaz.org/">Doc</a> · |
al@602 | 370 <a href="http://forum.slitaz.org/">Forum</a> · |
al@602 | 371 <a href="http://pkgs.slitaz.org/">Packages</a> · |
al@602 | 372 <a href="http://bugs.slitaz.org/">Bugs</a> · |
al@602 | 373 <a href="http://hg.slitaz.org/?sort=lastchange">Hg</a> |
al@602 | 374 </div> |
al@602 | 375 <div> |
al@602 | 376 SliTaz @ |
al@602 | 377 <a href="http://twitter.com/slitaz">Twitter</a> · |
al@602 | 378 <a href="http://www.facebook.com/slitaz">Facebook</a> · |
al@602 | 379 <a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> · |
al@602 | 380 <a href="http://flattr.com/profile/slitaz">Flattr</a> |
al@602 | 381 </div> |
al@602 | 382 <img src="/static/qr.png" alt="#" onmouseover="this.title = location.href" |
al@602 | 383 onclick="this.src=QRCodePNG(location.href, this)"/> |
al@602 | 384 </footer> |
al@602 | 385 |
al@602 | 386 </body> |
al@602 | 387 </html> |