index.html 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772
  1. <!DOCTYPE html>
  2. <html
  3. ng-app = "application"
  4. lang = "en-US">
  5. <head>
  6. <!-- Page title -->
  7. <title>Manche Numérique</title>
  8. <!-- Meta tags -->
  9. <meta charset = "UTF-8">
  10. <meta name = "description" content = "Zeno-Labs">
  11. <meta name = "keywords" content = "HTML,CSS,JavaScript">
  12. <meta name = "author" content = "Francois Beaufils">
  13. <!-- Angulars Material CSS using RawGit to load directly from `bower-material/master` -->
  14. <link rel = "stylesheet" href = "css/angular-material.css">
  15. <link rel = "stylesheet" href = "css/theme.css">
  16. <!-- Favicon-->
  17. <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
  18. <!-- Material design CSS font http://zavoloklom.github.io/material-design-iconic-font/examples.html -->
  19. <link rel="stylesheet" href="css/material-design-iconic-font.min.css">
  20. <link rel="stylesheet" href="css/font-awesome.min.css">
  21. <!-- Roboto font-->
  22. <link href='http://fonts.googleapis.com/css?family=Roboto:500,300,400' rel='stylesheet' type='text/css'>
  23. <!-- Specific CSS -->
  24. <link rel = "stylesheet" href = "css/main.css">
  25. <script type = "text/javascript" src = "https://code.jquery.com/jquery-1.11.3.min.js"></script>
  26. <script type = "text/javascript" src = "https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js"></script>
  27. <script type = "text/javascript" src = "js/proj4js/dist/proj4.js"></script>
  28. <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
  29. <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
  30. <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.min.js"></script>
  31. <!-- Angular Material Dependencies -->
  32. <script type = "text/javascript" src = "http://cdn.jsdelivr.net/hammerjs/2.0.4/hammer.js"></script>
  33. <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js"></script>
  34. <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-animate.js"></script>
  35. <script type = "text/javascript" src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-aria.js"></script>
  36. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/skrollr/0.6.29/skrollr.min.js"></script>
  37. <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
  38. <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
  39. <script src="js/typeahead.js"></script>
  40. <!-- Angular Material Javascript using RawGit to load directly from `bower-material/master` -->
  41. <script type = "text/javascript" src = "js/angular-material.js"></script>
  42. <script type = "text/javascript" src = "js/angular-adaptive-detection.js"></script>
  43. <script type = "text/javascript" src = "js/app.js"></script>
  44. </head>
  45. <!--[If lte IE 9]>
  46. <div class = "ie-compatibility">
  47. Votre navigateur Internet Explorer n'est pas compatible avec notre logiciel, il vous faut au minimum Internet Explorer 10.<br><br>
  48. Vous pouvez aussi télécharger un de ces navigateurs:<br><br>
  49. - <a href="https://www.google.fr/intl/fr/chrome/" target = "_blank">Google Chrome</a><br>
  50. - <a href="http://www.mozilla.org/download" target = "_blank">Mozilla Firefox</a>
  51. </div>
  52. <![endif]-->
  53. <body ng-controller = "mainController">
  54. <div class = "title">
  55. <img
  56. src = "img/logo.png"
  57. ng-click = "toggleResultPane()"/>
  58. </div>
  59. <div class = "address-bar">
  60. <div class = "input-type">
  61. <input
  62. type = "text"
  63. placeholder = "Pour tester votre éligibilité, merci de saisir une adresse"
  64. ng-model = "address"
  65. ng-focus = "closeRight()"
  66. class = "typeahead"
  67. options = "typeAheadOpts"
  68. datasets = "allAdresses"
  69. typeahead-on-select = "onSubmitAddress($item, $model, $label)"
  70. uib-typeahead = "address for address in suggestLocation($viewValue)"
  71. typeahead-loading = "loadingLocations"
  72. typeahead-no-results = "noResults"
  73. autofocus/>
  74. <div
  75. ng-show = "loadingLocations"
  76. class = "loading-typeahead-results">
  77. <i
  78. class = "glyphicon glyphicon-refresh">
  79. </i>
  80. Recherche en cours...
  81. </div>
  82. <div
  83. ng-show = "noResults"
  84. class = "no-typeahead-results">
  85. <i class = "glyphicon glyphicon-remove"></i>
  86. Aucun résultat trouvé!
  87. </div>
  88. </div>
  89. <md-button
  90. aria-label = "submit"
  91. ng-click = "suggestionsReady && onSubmitAddress()"
  92. class = "md-raised md-primary">
  93. <i class = "md-search md-2x"></i>
  94. </md-button>
  95. <i class = "md-menu md-2x" ng-click = "toggleRight()"></i>
  96. </div>
  97. <md-sidenav class="md-sidenav-right md-whiteframe-z2" md-component-id="right">
  98. <md-toolbar class="md-theme-light">
  99. <h1 class="md-toolbar-tools">Options</h1>
  100. <md-progress-circular
  101. id = "layer-loading"
  102. class = "md-warn md-hue-3 force-hidden"
  103. md-mode = "indeterminate"
  104. md-diameter = "25">
  105. </md-progress-circular>
  106. </md-toolbar>
  107. <md-content class="md-padding">
  108. <div class = "section-title">
  109. Type de vue
  110. </div>
  111. <md-radio-group ng-model="mapType">
  112. <md-radio-button
  113. value = "Satellite"
  114. ng-click = "changeMap('satellite')"
  115. aria-label = "Satellite">Satellite
  116. </md-radio-button>
  117. <br/>
  118. <md-radio-button
  119. value = "Carte"
  120. ng-click = "changeMap('carte')"
  121. aria-label = "Carte">Carte
  122. </md-radio-button>
  123. </md-radio-group>
  124. </md-content>
  125. </md-sidenav>
  126. <div id="map"></div>
  127. <div id="result">
  128. <div
  129. class = "result-container"
  130. layout = "row"
  131. layout-margin>
  132. <div
  133. flex
  134. flex-order = "1"
  135. class = "result-box">
  136. <div class = "box-header">
  137. <div class = "box-logo">
  138. <img src = "img/fibre.png"/>
  139. </div>
  140. <div class = "box-title-description">
  141. <div class = "box-title">
  142. Fibre optique (FTTH)
  143. </div>
  144. <div class = "box-desc">
  145. Le Ftth (Fiber To The Home) “signifie la fibre optique jusqu'à l'abonné”. Cette technologie présente des atouts majeurs (un débit très fortement augmenté - de l’ordre de 100 Mbit/s à 1 Gbit/s - et symétrique) et ouvre des possibilités nouvelles en termes d 'usages numériques.
  146. <a
  147. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/Internet-a-tres-haut-debit#ancre_contenu"
  148. target = "_blank">
  149. En savoir plus
  150. </a>
  151. </div>
  152. </div>
  153. </div>
  154. <div
  155. class = "box-body box-body-ftth"
  156. ng-style = "{'border-color': colors.ftth}">
  157. <hr>
  158. <div
  159. class = "box-eligibilite-title"
  160. ng-if = "results.ftth !== undefined && results.ftth.date !== true">
  161. éligibilité au pré-raccordement
  162. <span ng-init = "refreshInscriptionInfo()">
  163. <span
  164. ng-if = "inscription.open"
  165. class = "box-eligibilite-yes">
  166. OUI
  167. </span>
  168. <span
  169. ng-if = "!inscription.open"
  170. class = "box-eligibilite-no">
  171. NON
  172. </span>
  173. <div
  174. ng-if = "results.ftth.date && inscription.open"
  175. style = "text-align: center; margin-top: 14px;">
  176. <button
  177. type = "button"
  178. class = "btn btn-primary btn-lg"
  179. data-toggle = "modal"
  180. data-backdrop = "static"
  181. data-keyboard = "false"
  182. ng-click = "initPopup()"
  183. data-target = "#mn_inscription">
  184. Inscription
  185. </button>
  186. </div>
  187. </span>
  188. </div>
  189. <div class = "box-eligibilite">
  190. <div
  191. ng-if = "results.ftth !== undefined">
  192. <div
  193. ng-if = "results.ftth && results.ftth.date !== true"
  194. style = "margin-top: 30px;"
  195. ng-bind-html = "formatDateFTTH(results.ftth.date)">
  196. </div>
  197. <div
  198. ng-if = "results.ftth.eligible"
  199. style = "text-align: center; font-weight: bold;">
  200. <i
  201. class = "fa fa-check-circle"
  202. style = "font-size: 45px; color: #1fa67a">
  203. </i>
  204. <br>
  205. Vous êtes situé dans une zone éligible à la fibre optique.<br>
  206. Si vous souhaitez souscrire à une offre très haut débit merci de contacter:<br>
  207. <table style = "width: 100%;">
  208. <tr>
  209. <td style = "text-align: center;">
  210. <a
  211. href = "https://boutique.orange.fr/internet/offres-fibre"
  212. target = "_blank">
  213. <img
  214. src = "img/orange.jpg"
  215. alt = "Orange"
  216. style = "width: 80px;"/>
  217. </a>
  218. </td>
  219. <td>
  220. <a
  221. href = "http://www.sfr.fr/offre-internet/fibre-optique"
  222. target = "_blank">
  223. <img
  224. src = "img/sfr.jpg"
  225. alt = "SFR"
  226. style = "width: 80px;"/>
  227. </a>
  228. </td>
  229. </tr>
  230. </table>
  231. </div>
  232. <div ng-if = "inscription.message">
  233. {{inscription.message}}
  234. <div ng-if = "inscription.cas === 4">
  235. <table style="width:100%;">
  236. <tr>
  237. <td style="width:33%;text-align:center;">
  238. <a href = "http://www.comcable.fr" target="_blank">
  239. <img style="width:100%;" src="./img/comcable.png"/>
  240. </a>
  241. </td>
  242. <td style="width:33%;text-align:center;">
  243. <a href = "http://www.k-net.fr" target="_blank">
  244. <img style="width:100%;" src="./img/knet.png"/>
  245. </a>
  246. </td>
  247. <td style="width:33%;text-align:center;">
  248. <a href = "http://www.ozone.net" target="_blank">
  249. <img style="width:100%;" src="./img/ozone.png"/>
  250. </a>
  251. </td>
  252. </tr>
  253. <tr>
  254. <td style="width:33%;text-align:center;">
  255. <a href = "http://www.wibox.fr" target="_blank">
  256. <img style="width:110%;" src="./img/wibox.png"/>
  257. </a>
  258. </td>
  259. <td style="width:33%;text-align:center;">
  260. <a href = "http://www.lafibrevideofutur.fr/" target="_blank">
  261. <img style="width:80%;" src="./img/videofutur.png"/>
  262. </a>
  263. </td>
  264. <td style="width:33%;text-align:center;">
  265. <a href = "https://www.coriolis.com/forfait-internet/fibre" target="_blank">
  266. <img style="width:80%;" src="./img/coriolis.png"/>
  267. </a>
  268. </td>
  269. </tr>
  270. </table>
  271. </div>
  272. </div>
  273. <div
  274. class = "box-description-more"
  275. ng-if = "!results.ftth._advanced"
  276. style = "margin-bottom: 30px;">
  277. <a
  278. href = ""
  279. ng-click = "results.ftth._advanced = true">
  280. + détails
  281. </a>
  282. </div>
  283. <div
  284. ng-if = "results.ftth._advanced"
  285. ng-bind-html = "formatResults('ftth', results.ftth)">
  286. </div>
  287. </div>
  288. <div
  289. ng-if = "results.ftth === undefined"
  290. class = "box-eligibilite-spinner">
  291. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  292. </div>
  293. </div>
  294. </div>
  295. </div>
  296. <div
  297. flex
  298. flex-order = "2"
  299. class = "result-box">
  300. <div class = "box-header">
  301. <div class = "box-logo">
  302. <img src = "img/adsl.png"/>
  303. </div>
  304. <div class = "box-title-description">
  305. <div class = "box-title">
  306. ADSL (téléphone)
  307. </div>
  308. <div class = "box-desc">
  309. L'ADSL est une technologie permettant l'accès à internet haut débit par le biais de la ligne téléphonique, constituée de fils de cuivre. Cette ligne téléphonique relie votre domicile au central téléphonique de France Télécom.
  310. <a
  311. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/Acceder-a-internet-haut-debit-partout-dans-la-Manche"
  312. target = "_blank">
  313. En savoir plus
  314. </a>
  315. </div>
  316. </div>
  317. </div>
  318. <div
  319. class = "box-body box-body-adsl"
  320. ng-style = "{'border-color': colors.adsl}">
  321. <div class = "box-description-more">
  322. </div>
  323. <hr>
  324. <div
  325. class = "box-eligibilite-title"
  326. ng-if = "results.adsl !== undefined">
  327. éligibilité
  328. <span>
  329. <span
  330. ng-if = "results.adsl && results.adsl.LEGENDE !== 'Non eligible'"
  331. class = "box-eligibilite-yes">
  332. OUI
  333. </span>
  334. <span
  335. ng-if = "!results.adsl || results.adsl.LEGENDE === 'Non eligible'"
  336. class = "box-eligibilite-no">
  337. NON
  338. </span>
  339. </span>
  340. </div>
  341. <div class = "box-eligibilite">
  342. <div
  343. ng-if = "results.adsl !== undefined">
  344. <div
  345. class = "popup-line"
  346. ng-if = "!results.adsl._advanced && results.adsl.CLASSEDEBI && results.adsl.CLASSEDEBI !== 'Non eligible'">
  347. <span class="popup-title">
  348. <span
  349. ng-if = "results.adsl.CLASSEDEBI === '0'">
  350. Non éligible
  351. </span>
  352. <span
  353. ng-if = "results.adsl.CLASSEDEBI === '1'">
  354. ADSL < 3 Mbit/s
  355. </span>
  356. <span
  357. ng-if = "results.adsl.CLASSEDEBI === '2'">
  358. ADSL 3 à 8 Mbit/s
  359. </span>
  360. <span
  361. ng-if = "results.adsl.CLASSEDEBI === '3'">
  362. ADSL 8 à 30 Mbit/s
  363. </span>
  364. <span
  365. ng-if = "results.adsl.CLASSEDEBI === '4'">
  366. ADSL 30 à 100 Mbit/s
  367. </span>
  368. </span>
  369. </div>
  370. <div
  371. class = "box-description-more"
  372. ng-if = "!results.adsl._advanced"
  373. style = "margin-bottom: 30px;">
  374. <a
  375. href = ""
  376. ng-click = "results.adsl._advanced = true">
  377. + détails
  378. </a>
  379. </div>
  380. <div
  381. ng-if = "results.adsl._advanced"
  382. ng-bind-html = "formatResults('adsl', results.adsl)">
  383. </div>
  384. </div>
  385. <div
  386. ng-if = "results.adsl === undefined"
  387. class = "box-eligibilite-spinner">
  388. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  389. </div>
  390. </div>
  391. </div>
  392. </div>
  393. <div
  394. flex
  395. flex-order = "3"
  396. class = "result-box">
  397. <div class = "box-header">
  398. <div class = "box-logo">
  399. <img src = "img/mimo.png"/>
  400. </div>
  401. <div class = "box-title-description">
  402. <div class = "box-title">
  403. Réseau MiMo
  404. </div>
  405. <div class = "box-desc">
  406. Cette technologie hertzienne, déployée par Manche Numérique, permet de desservir les zones non-éligibles à I'ADSL dites "zones blanches" et les zones qui seront déployées ultérieurement par la fibre optique. Le MiMo permet un accès à internet et à un service de téléphonie. Cette technologie offre des débits de l'ordre de 10 Mbit/s descendants et de 3 Mbit/s montants.
  407. <a
  408. href = "http://www.manchenumerique.fr/Un-citoyen/Equipes-et-connectes/MiMo"
  409. target = "_blank">
  410. En savoir plus
  411. </a>
  412. </div>
  413. </div>
  414. </div>
  415. <div
  416. class = "box-body box-body-mimo"
  417. ng-style = "{'border-color': colors.mimo}">
  418. <hr>
  419. <div
  420. class = "box-eligibilite-title"
  421. ng-if = "results.mimo !== undefined">
  422. éligibilité
  423. <span>
  424. <span
  425. ng-if = "results.mimo"
  426. class = "box-eligibilite-yes">
  427. OUI
  428. </span>
  429. <span
  430. ng-if = "!results.mimo"
  431. class = "box-eligibilite-no">
  432. NON
  433. </span>
  434. </span>
  435. </div>
  436. <div class = "box-eligibilite">
  437. <div
  438. ng-if = "results.mimo">
  439. <p class="bg-warning">Votre éligibilité à la technologie MiMo est théorique. Seul le passage d'un antenniste pourra confirmer votre niveau de signal.</p>
  440. <div>
  441. Vous pouvez souscrire à une offre d'accès internet auprès de ce FAI:
  442. <table style = "width:100%">
  443. <tr>
  444. <td style = "width:50%">
  445. <div class = "bg-info">
  446. <a
  447. href = "https://www.ozone.net/"
  448. target = "_blank">
  449. <img style="height:40px;" src="./img/ozone.png"/>
  450. <br/>
  451. Ozone.net
  452. </a>
  453. <br/>
  454. <i class ="fa fa-phone"></i>
  455. 0 973 01 1000
  456. </div>
  457. </td>
  458. <td style = "width:50%">
  459. <div class = "bg-info">
  460. <a
  461. href = "https://www.nordnet.com/connexion-internet/internet-radio"
  462. target = "_blank">
  463. <img style="height:40px;" src="./img/nordnet.png"/>
  464. <br/>
  465. Nordnet.com
  466. </a>
  467. <br/>
  468. <i class ="fa fa-phone"></i>
  469. 3420
  470. </div>
  471. </td>
  472. </tr>
  473. </table>
  474. </div>
  475. <div
  476. class = "box-description-more"
  477. ng-if = "!results.mimo._advanced"
  478. style = "margin-bottom: 30px;">
  479. <a
  480. href = ""
  481. ng-click = "results.mimo._advanced = true">
  482. + détails
  483. </a>
  484. </div>
  485. <div
  486. ng-if = "results.mimo_advanced"
  487. ng-bind-html = "formatResults('mimo', results.mimo)">
  488. </div>
  489. </div>
  490. <div
  491. ng-init = "refreshInscriptionInfo()"
  492. ng-if = "(!results.ftth.date || !inscription.open) && (!results.adsl || results.adsl.LEGENDE === 'Non eligible') && !results.mimo && results.mimo !== undefined">
  493. <p class="bg-warning">Nous vous invitons à contacter les services de <a href="http://www.manchenumerique.fr" >Manche Numérique</a> qui vous indiqueront la procédure pour une connecion internet par satellite et bénéficier d'une prise en charge de l'installation du kit satellitaire par un antenniste.</p>
  494. </div>
  495. <div
  496. ng-if = "results.mimo === undefined"
  497. class = "box-eligibilite-spinner">
  498. <md-progress-circular class="md-warn md-hue-3" md-mode="indeterminate"></md-progress-circular>
  499. </div>
  500. </div>
  501. </div>
  502. </div>
  503. </div>
  504. </div>
  505. <!-- Modal -->
  506. <div
  507. class = "modal fade"
  508. id = "mn_inscription"
  509. tabindex = "-1"
  510. role = "dialog"
  511. backdrop = "static"
  512. aria-labelledby = "mn_inscriptionLabel">
  513. <div
  514. class = "modal-dialog"
  515. role = "document">
  516. <div class = "modal-content">
  517. <div class = "modal-header">
  518. <button
  519. type = "button"
  520. class = "close"
  521. data-dismiss = "modal"
  522. aria-label = "Close">
  523. <span aria-hidden = "true">&times;</span>
  524. </button>
  525. <h4
  526. class = "modal-title"
  527. id = "mn_inscriptionLabel">
  528. FORMULAIRE DE MANIFESTATION D'INTERET À LA FIBRE OPTIQUE
  529. </h4>
  530. </div>
  531. <div class = "modal-body">
  532. <div ng-if = "!postForm">
  533. Vous souhaitez bénéficier d’un abonnement à la fibre optique et pouvoir être raccordé au réseau FttH au tarif préférentiel de 50€, nous vous remercions de bien vouloir compléter ce formulaire. Après vérification, Manche Numérique se chargera de transmettre votre demande ainsi que vos coordonnées à la société Manche Fibre, délégataire de service public, qui vous informera des modalités du raccordement final et de la date d’ouverture du réseau à la commercialisation.
  534. </div>
  535. <div
  536. class = "mn-form"
  537. ng-if = "!postForm"
  538. ng-include = "'./html/form.html'">
  539. </div>
  540. <div
  541. class = "mn-form-in-progress"
  542. ng-if = "postForm.inProgress">
  543. <i class="fa fa-circle-o-notch fa-spin"></i>
  544. <br/>
  545. Enregistrement en cours...
  546. </div>
  547. <div
  548. class = "mn-form-error"
  549. ng-if = "postForm.error">
  550. <i class="fa fa-exclamation-circle"></i>
  551. <br/>
  552. Error: {{postForm.error}}
  553. </div>
  554. <div
  555. class = "mn-form-ok"
  556. ng-if = "postForm.ok">
  557. <i class="fa fa-check-circle-o"></i>
  558. <br/>
  559. Votre demande a bien été prise en compte. Un mail de confirmation vous a été envoyé.
  560. </div>
  561. </div>
  562. <div class = "modal-footer">
  563. <button
  564. type = "button"
  565. class = "btn btn-default"
  566. data-dismiss = "modal">
  567. Fermer
  568. </button>
  569. <button
  570. type = "button"
  571. ng-if = "!postForm"
  572. ng-click = "ready = true; isFormValid() ? postFormEl() : null"
  573. class = "btn btn-primary">
  574. Valider
  575. </button>
  576. </div>
  577. </div>
  578. </div>
  579. </div>
  580. </body>
  581. </html>