grnsight 6.0.4 → 6.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1197) hide show
  1. package/database/README.md +40 -16
  2. package/database/expression-database/README.md +2 -2
  3. package/database/expression-database/schema.sql +14 -14
  4. package/database/expression-database/scripts/loader.py +6 -6
  5. package/database/network-database/README.md +36 -4
  6. package/database/network-database/schema.sql +7 -7
  7. package/database/network-database/scripts/filter_genes.py +1 -1
  8. package/database/network-database/scripts/generate_network.py +1 -1
  9. package/database/network-database/scripts/generate_new_network_version.py +223 -0
  10. package/database/network-database/scripts/loader.py +3 -3
  11. package/database/network-database/scripts/loader_updates.py +99 -0
  12. package/package.json +2 -2
  13. package/server/controllers/custom-workbook-controller.js +4 -3
  14. package/server/dals/expression-dal.js +8 -7
  15. package/server/dals/network-dal.js +3 -3
  16. package/web-client/public/js/api/grnsight-api.js +56 -55
  17. package/web-client/public/js/generateNetwork.js +15 -7
  18. package/web-client/public/js/setup-load-and-import-handlers.js +171 -170
  19. package/web-client/public/js/upload.js +74 -95
  20. package/.bundle/config +0 -3
  21. package/GRNsight - Beta.html +0 -194
  22. package/Gemfile.lock +0 -259
  23. package/_gh_pages/about.html +0 -807
  24. package/_gh_pages/assets/css/bootstrap.min.css +0 -10
  25. package/_gh_pages/assets/css/footer.css +0 -3
  26. package/_gh_pages/assets/css/main.css +0 -363
  27. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_estimation_output_binary-no-targetless-genes_sif.png +0 -0
  28. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_estimation_output_binary_sif.png +0 -0
  29. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_3-edges-and-footer.png +0 -0
  30. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_header-and-3-nodes.png +0 -0
  31. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_output_3-edges-and-footer.png +0 -0
  32. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_graphml_output_header-and-3-nodes.png +0 -0
  33. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_binary-no-targetless-genes_sif.png +0 -0
  34. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_binary_sif.png +0 -0
  35. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_concatenated-no-targetless-genes_sif.png +0 -0
  36. package/_gh_pages/assets/images/21-genes_31-edges_Schade-data_input_concatenated_sif.png +0 -0
  37. package/_gh_pages/assets/images/Carrillo_Roque_LMU_Symposium_2015.pptx +0 -0
  38. package/_gh_pages/assets/images/Choe-Shin_CMSI402-poster-session_20180430.jpg +0 -0
  39. package/_gh_pages/assets/images/Choe_SCCUR_2017.jpg +0 -0
  40. package/_gh_pages/assets/images/Dahlquist-BMB-2015-Fig1.jpg +0 -0
  41. package/_gh_pages/assets/images/Dahlquist-BMB-2015-Fig8.jpg +0 -0
  42. package/_gh_pages/assets/images/Dahlquist-Choe-Shin_CMSI402-poster-session_20180430.jpg +0 -0
  43. package/_gh_pages/assets/images/Demo-3-auto-layout.jpg +0 -0
  44. package/_gh_pages/assets/images/Demo-3-paper-layout.jpg +0 -0
  45. package/_gh_pages/assets/images/Demo-4-auto-layout.jpg +0 -0
  46. package/_gh_pages/assets/images/Demo-4-paper-layout.jpg +0 -0
  47. package/_gh_pages/assets/images/Dionisio-Dahlquist_GRNsight-shades_20170506.jpg +0 -0
  48. package/_gh_pages/assets/images/GRNsight_logo_20140710_main.jpg +0 -0
  49. package/_gh_pages/assets/images/GRNsight_logo_20140710_main_resized.jpg +0 -0
  50. package/_gh_pages/assets/images/GRNsight_logo_20140710_rollover.jpg +0 -0
  51. package/_gh_pages/assets/images/GRNsight_logo_20140710_rollover_resized.jpg +0 -0
  52. package/_gh_pages/assets/images/Johnson_Williams_LMU_Symposium_2015.pptx +0 -0
  53. package/_gh_pages/assets/images/Klein_Samdarshi_TriBeta_2018_20180317.jpg +0 -0
  54. package/_gh_pages/assets/images/LMULogoHQ2.png +0 -0
  55. package/_gh_pages/assets/images/LMUSymposium_Group_20150321-2.jpg +0 -0
  56. package/_gh_pages/assets/images/LMUSymposium_Group_20150321-2_resized.jpg +0 -0
  57. package/_gh_pages/assets/images/Sample_network_optimized_weights_worksheet.jpg +0 -0
  58. package/_gh_pages/assets/images/Sample_network_worksheet.jpg +0 -0
  59. package/_gh_pages/assets/images/Shin_SCCUR_2017.jpg +0 -0
  60. package/_gh_pages/assets/images/demo-3_network-sheet.png +0 -0
  61. package/_gh_pages/assets/images/demo-4_network-optimized-weights-sheet.png +0 -0
  62. package/_gh_pages/assets/images/gene-pages-0.png +0 -0
  63. package/_gh_pages/assets/images/gene-pages-1.png +0 -0
  64. package/_gh_pages/assets/images/gene-pages-2.png +0 -0
  65. package/_gh_pages/assets/images/gene-pages-3.png +0 -0
  66. package/_gh_pages/assets/images/grnsight2020.png +0 -0
  67. package/_gh_pages/assets/images/lmu logo.gif +0 -0
  68. package/_gh_pages/assets/images/v3demo2-grid+nodecoloring.png +0 -0
  69. package/_gh_pages/assets/images/v3demo2-nodecoloring.png +0 -0
  70. package/_gh_pages/assets/images/v3demo2.png +0 -0
  71. package/_gh_pages/assets/js/ga-report.js +0 -35
  72. package/_gh_pages/assets/js/iframeResizer.min.js +0 -9
  73. package/_gh_pages/assets/js/main.js +0 -132
  74. package/_gh_pages/beta.html +0 -144
  75. package/_gh_pages/contact.html +0 -178
  76. package/_gh_pages/coverage/coverage.json +0 -1
  77. package/_gh_pages/coverage/coverage.raw.json +0 -1
  78. package/_gh_pages/coverage/lcov-report/base.css +0 -223
  79. package/_gh_pages/coverage/lcov-report/block-navigation.js +0 -63
  80. package/_gh_pages/coverage/lcov-report/controllers/additional-sheet-parser.js.html +0 -330
  81. package/_gh_pages/coverage/lcov-report/controllers/constants.js.html +0 -243
  82. package/_gh_pages/coverage/lcov-report/controllers/export-controller.js.html +0 -285
  83. package/_gh_pages/coverage/lcov-report/controllers/exporters/graphml.js.html +0 -405
  84. package/_gh_pages/coverage/lcov-report/controllers/exporters/index.html +0 -110
  85. package/_gh_pages/coverage/lcov-report/controllers/exporters/sif.js.html +0 -150
  86. package/_gh_pages/coverage/lcov-report/controllers/helpers.js.html +0 -114
  87. package/_gh_pages/coverage/lcov-report/controllers/import-controller.js.html +0 -233
  88. package/_gh_pages/coverage/lcov-report/controllers/importers/graphml.js.html +0 -716
  89. package/_gh_pages/coverage/lcov-report/controllers/importers/index.html +0 -106
  90. package/_gh_pages/coverage/lcov-report/controllers/importers/sif.js.html +0 -488
  91. package/_gh_pages/coverage/lcov-report/controllers/index.html +0 -162
  92. package/_gh_pages/coverage/lcov-report/controllers/semantic-checker.js.html +0 -810
  93. package/_gh_pages/coverage/lcov-report/controllers/spreadsheet-controller.js.html +0 -1779
  94. package/_gh_pages/coverage/lcov-report/index.html +0 -136
  95. package/_gh_pages/coverage/lcov-report/prettify.css +0 -1
  96. package/_gh_pages/coverage/lcov-report/prettify.js +0 -1
  97. package/_gh_pages/coverage/lcov-report/server/controllers/additional-sheet-parser.js.html +0 -330
  98. package/_gh_pages/coverage/lcov-report/server/controllers/constants.js.html +0 -243
  99. package/_gh_pages/coverage/lcov-report/server/controllers/export-controller.js.html +0 -285
  100. package/_gh_pages/coverage/lcov-report/server/controllers/exporters/graphml.js.html +0 -405
  101. package/_gh_pages/coverage/lcov-report/server/controllers/exporters/index.html +0 -110
  102. package/_gh_pages/coverage/lcov-report/server/controllers/exporters/sif.js.html +0 -150
  103. package/_gh_pages/coverage/lcov-report/server/controllers/graphml-constants.js.html +0 -585
  104. package/_gh_pages/coverage/lcov-report/server/controllers/helpers.js.html +0 -114
  105. package/_gh_pages/coverage/lcov-report/server/controllers/import-controller.js.html +0 -237
  106. package/_gh_pages/coverage/lcov-report/server/controllers/importers/graphml.js.html +0 -585
  107. package/_gh_pages/coverage/lcov-report/server/controllers/importers/index.html +0 -110
  108. package/_gh_pages/coverage/lcov-report/server/controllers/importers/sif.js.html +0 -492
  109. package/_gh_pages/coverage/lcov-report/server/controllers/index.html +0 -188
  110. package/_gh_pages/coverage/lcov-report/server/controllers/semantic-checker.js.html +0 -810
  111. package/_gh_pages/coverage/lcov-report/server/controllers/spreadsheet-controller.js.html +0 -1779
  112. package/_gh_pages/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  113. package/_gh_pages/coverage/lcov-report/sorter.js +0 -158
  114. package/_gh_pages/coverage/lcov-report/web-client/public/js/grnstate.js.html +0 -225
  115. package/_gh_pages/coverage/lcov-report/web-client/public/js/index.html +0 -97
  116. package/_gh_pages/coverage/lcov.info +0 -49
  117. package/_gh_pages/documentation.html +0 -1132
  118. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.aux +0 -47
  119. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.bbl +0 -73
  120. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.blg +0 -52
  121. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.log +0 -1056
  122. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.out +0 -7
  123. package/_gh_pages/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.synctex.gz +0 -0
  124. package/_gh_pages/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised-Dondi.docx +0 -0
  125. package/_gh_pages/encryption/server.cert +0 -21
  126. package/_gh_pages/encryption/server.key +0 -28
  127. package/_gh_pages/favicon.ico +0 -0
  128. package/_gh_pages/googlea1a858c5bc91c87e.html +0 -1
  129. package/_gh_pages/index.html +0 -163
  130. package/_gh_pages/links.html +0 -177
  131. package/_gh_pages/news.html +0 -367
  132. package/_gh_pages/onlyfooter.html +0 -78
  133. package/_gh_pages/onlyheader.html +0 -64
  134. package/_gh_pages/onlysidebar.html +0 -73
  135. package/_gh_pages/package-lock.json +0 -14048
  136. package/_gh_pages/params.json +0 -1
  137. package/_gh_pages/people.html +0 -260
  138. package/_gh_pages/privacy.html +0 -147
  139. package/_gh_pages/publications.html +0 -378
  140. package/_gh_pages/robots.txt +0 -1
  141. package/_gh_pages/server/API Project-7d45e9f24a96.p12 +0 -0
  142. package/_gh_pages/server/grnmap.pem +0 -31
  143. package/_gh_pages/server/grnsight.pem +0 -19
  144. package/_gh_pages/sitemap.xml +0 -174
  145. package/_gh_pages/test-files/import-samples/attributes.graphml +0 -40
  146. package/_gh_pages/test-files/import-samples/port.graphml +0 -32
  147. package/_gh_pages/test-files/import-samples/simple.graphml +0 -31
  148. package/_gh_pages/web-client/public/js/grnsight.min.js +0 -2347
  149. package/_gh_pages/web-client/public/stylesheets/grnsight.css +0 -443
  150. package/coverage/coverage.json +0 -1
  151. package/coverage/coverage.raw.json +0 -1
  152. package/coverage/lcov-report/base.css +0 -223
  153. package/coverage/lcov-report/block-navigation.js +0 -63
  154. package/coverage/lcov-report/controllers/additional-sheet-parser.js.html +0 -330
  155. package/coverage/lcov-report/controllers/constants.js.html +0 -243
  156. package/coverage/lcov-report/controllers/export-controller.js.html +0 -285
  157. package/coverage/lcov-report/controllers/exporters/graphml.js.html +0 -405
  158. package/coverage/lcov-report/controllers/exporters/index.html +0 -110
  159. package/coverage/lcov-report/controllers/exporters/sif.js.html +0 -150
  160. package/coverage/lcov-report/controllers/helpers.js.html +0 -114
  161. package/coverage/lcov-report/controllers/import-controller.js.html +0 -233
  162. package/coverage/lcov-report/controllers/importers/graphml.js.html +0 -716
  163. package/coverage/lcov-report/controllers/importers/index.html +0 -106
  164. package/coverage/lcov-report/controllers/importers/sif.js.html +0 -488
  165. package/coverage/lcov-report/controllers/index.html +0 -162
  166. package/coverage/lcov-report/controllers/semantic-checker.js.html +0 -810
  167. package/coverage/lcov-report/controllers/spreadsheet-controller.js.html +0 -1779
  168. package/coverage/lcov-report/index.html +0 -136
  169. package/coverage/lcov-report/prettify.css +0 -1
  170. package/coverage/lcov-report/prettify.js +0 -1
  171. package/coverage/lcov-report/server/controllers/additional-sheet-parser.js.html +0 -330
  172. package/coverage/lcov-report/server/controllers/constants.js.html +0 -243
  173. package/coverage/lcov-report/server/controllers/export-controller.js.html +0 -285
  174. package/coverage/lcov-report/server/controllers/exporters/graphml.js.html +0 -405
  175. package/coverage/lcov-report/server/controllers/exporters/index.html +0 -110
  176. package/coverage/lcov-report/server/controllers/exporters/sif.js.html +0 -150
  177. package/coverage/lcov-report/server/controllers/graphml-constants.js.html +0 -585
  178. package/coverage/lcov-report/server/controllers/helpers.js.html +0 -114
  179. package/coverage/lcov-report/server/controllers/import-controller.js.html +0 -237
  180. package/coverage/lcov-report/server/controllers/importers/graphml.js.html +0 -585
  181. package/coverage/lcov-report/server/controllers/importers/index.html +0 -110
  182. package/coverage/lcov-report/server/controllers/importers/sif.js.html +0 -492
  183. package/coverage/lcov-report/server/controllers/index.html +0 -188
  184. package/coverage/lcov-report/server/controllers/semantic-checker.js.html +0 -810
  185. package/coverage/lcov-report/server/controllers/spreadsheet-controller.js.html +0 -1779
  186. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  187. package/coverage/lcov-report/sorter.js +0 -158
  188. package/coverage/lcov-report/web-client/public/js/grnstate.js.html +0 -225
  189. package/coverage/lcov-report/web-client/public/js/index.html +0 -97
  190. package/coverage/lcov.info +0 -1952
  191. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.aux +0 -47
  192. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.bbl +0 -73
  193. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.blg +0 -52
  194. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.log +0 -1056
  195. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.out +0 -7
  196. package/documents/abstracts/SIGGRAPH 2017 Abstract/siggraph-abstract-review.synctex.gz +0 -0
  197. package/documents/manuscripts/peerj-computerscience-2016/revisions/GRNsight_PeerJ-CS_manuscript_2016_text-only_revised-Dondi.docx +0 -0
  198. package/encryption/server.cert +0 -21
  199. package/encryption/server.key +0 -28
  200. package/gdb/PG_VERSION +0 -1
  201. package/gdb/base/1/112 +0 -0
  202. package/gdb/base/1/113 +0 -0
  203. package/gdb/base/1/1247 +0 -0
  204. package/gdb/base/1/1247_fsm +0 -0
  205. package/gdb/base/1/1247_vm +0 -0
  206. package/gdb/base/1/1249 +0 -0
  207. package/gdb/base/1/1249_fsm +0 -0
  208. package/gdb/base/1/1249_vm +0 -0
  209. package/gdb/base/1/1255 +0 -0
  210. package/gdb/base/1/1255_fsm +0 -0
  211. package/gdb/base/1/1255_vm +0 -0
  212. package/gdb/base/1/1259 +0 -0
  213. package/gdb/base/1/1259_fsm +0 -0
  214. package/gdb/base/1/1259_vm +0 -0
  215. package/gdb/base/1/13852 +0 -0
  216. package/gdb/base/1/13852_fsm +0 -0
  217. package/gdb/base/1/13852_vm +0 -0
  218. package/gdb/base/1/13855 +0 -0
  219. package/gdb/base/1/13856 +0 -0
  220. package/gdb/base/1/13857 +0 -0
  221. package/gdb/base/1/13857_fsm +0 -0
  222. package/gdb/base/1/13857_vm +0 -0
  223. package/gdb/base/1/13860 +0 -0
  224. package/gdb/base/1/13861 +0 -0
  225. package/gdb/base/1/13862 +0 -0
  226. package/gdb/base/1/13862_fsm +0 -0
  227. package/gdb/base/1/13862_vm +0 -0
  228. package/gdb/base/1/13865 +0 -0
  229. package/gdb/base/1/13866 +0 -0
  230. package/gdb/base/1/13867 +0 -0
  231. package/gdb/base/1/13867_fsm +0 -0
  232. package/gdb/base/1/13867_vm +0 -0
  233. package/gdb/base/1/13870 +0 -0
  234. package/gdb/base/1/13871 +0 -0
  235. package/gdb/base/1/1417 +0 -0
  236. package/gdb/base/1/1418 +0 -0
  237. package/gdb/base/1/174 +0 -0
  238. package/gdb/base/1/175 +0 -0
  239. package/gdb/base/1/2187 +0 -0
  240. package/gdb/base/1/2224 +0 -0
  241. package/gdb/base/1/2228 +0 -0
  242. package/gdb/base/1/2328 +0 -0
  243. package/gdb/base/1/2336 +0 -0
  244. package/gdb/base/1/2337 +0 -0
  245. package/gdb/base/1/2579 +0 -0
  246. package/gdb/base/1/2600 +0 -0
  247. package/gdb/base/1/2600_fsm +0 -0
  248. package/gdb/base/1/2600_vm +0 -0
  249. package/gdb/base/1/2601 +0 -0
  250. package/gdb/base/1/2601_fsm +0 -0
  251. package/gdb/base/1/2601_vm +0 -0
  252. package/gdb/base/1/2602 +0 -0
  253. package/gdb/base/1/2602_fsm +0 -0
  254. package/gdb/base/1/2602_vm +0 -0
  255. package/gdb/base/1/2603 +0 -0
  256. package/gdb/base/1/2603_fsm +0 -0
  257. package/gdb/base/1/2603_vm +0 -0
  258. package/gdb/base/1/2604 +0 -0
  259. package/gdb/base/1/2605 +0 -0
  260. package/gdb/base/1/2605_fsm +0 -0
  261. package/gdb/base/1/2605_vm +0 -0
  262. package/gdb/base/1/2606 +0 -0
  263. package/gdb/base/1/2606_fsm +0 -0
  264. package/gdb/base/1/2606_vm +0 -0
  265. package/gdb/base/1/2607 +0 -0
  266. package/gdb/base/1/2607_fsm +0 -0
  267. package/gdb/base/1/2607_vm +0 -0
  268. package/gdb/base/1/2608 +0 -0
  269. package/gdb/base/1/2608_fsm +0 -0
  270. package/gdb/base/1/2608_vm +0 -0
  271. package/gdb/base/1/2609 +0 -0
  272. package/gdb/base/1/2609_fsm +0 -0
  273. package/gdb/base/1/2609_vm +0 -0
  274. package/gdb/base/1/2610 +0 -0
  275. package/gdb/base/1/2610_fsm +0 -0
  276. package/gdb/base/1/2610_vm +0 -0
  277. package/gdb/base/1/2611 +0 -0
  278. package/gdb/base/1/2612 +0 -0
  279. package/gdb/base/1/2612_fsm +0 -0
  280. package/gdb/base/1/2612_vm +0 -0
  281. package/gdb/base/1/2613 +0 -0
  282. package/gdb/base/1/2615 +0 -0
  283. package/gdb/base/1/2615_fsm +0 -0
  284. package/gdb/base/1/2615_vm +0 -0
  285. package/gdb/base/1/2616 +0 -0
  286. package/gdb/base/1/2616_fsm +0 -0
  287. package/gdb/base/1/2616_vm +0 -0
  288. package/gdb/base/1/2617 +0 -0
  289. package/gdb/base/1/2617_fsm +0 -0
  290. package/gdb/base/1/2617_vm +0 -0
  291. package/gdb/base/1/2618 +0 -0
  292. package/gdb/base/1/2618_fsm +0 -0
  293. package/gdb/base/1/2618_vm +0 -0
  294. package/gdb/base/1/2619 +0 -0
  295. package/gdb/base/1/2619_fsm +0 -0
  296. package/gdb/base/1/2619_vm +0 -0
  297. package/gdb/base/1/2620 +0 -0
  298. package/gdb/base/1/2650 +0 -0
  299. package/gdb/base/1/2651 +0 -0
  300. package/gdb/base/1/2652 +0 -0
  301. package/gdb/base/1/2653 +0 -0
  302. package/gdb/base/1/2654 +0 -0
  303. package/gdb/base/1/2655 +0 -0
  304. package/gdb/base/1/2656 +0 -0
  305. package/gdb/base/1/2657 +0 -0
  306. package/gdb/base/1/2658 +0 -0
  307. package/gdb/base/1/2659 +0 -0
  308. package/gdb/base/1/2660 +0 -0
  309. package/gdb/base/1/2661 +0 -0
  310. package/gdb/base/1/2662 +0 -0
  311. package/gdb/base/1/2663 +0 -0
  312. package/gdb/base/1/2664 +0 -0
  313. package/gdb/base/1/2665 +0 -0
  314. package/gdb/base/1/2666 +0 -0
  315. package/gdb/base/1/2667 +0 -0
  316. package/gdb/base/1/2668 +0 -0
  317. package/gdb/base/1/2669 +0 -0
  318. package/gdb/base/1/2670 +0 -0
  319. package/gdb/base/1/2673 +0 -0
  320. package/gdb/base/1/2673_fsm +0 -0
  321. package/gdb/base/1/2674 +0 -0
  322. package/gdb/base/1/2674_fsm +0 -0
  323. package/gdb/base/1/2675 +0 -0
  324. package/gdb/base/1/2678 +0 -0
  325. package/gdb/base/1/2679 +0 -0
  326. package/gdb/base/1/2680 +0 -0
  327. package/gdb/base/1/2681 +0 -0
  328. package/gdb/base/1/2682 +0 -0
  329. package/gdb/base/1/2683 +0 -0
  330. package/gdb/base/1/2684 +0 -0
  331. package/gdb/base/1/2685 +0 -0
  332. package/gdb/base/1/2686 +0 -0
  333. package/gdb/base/1/2687 +0 -0
  334. package/gdb/base/1/2688 +0 -0
  335. package/gdb/base/1/2689 +0 -0
  336. package/gdb/base/1/2690 +0 -0
  337. package/gdb/base/1/2691 +0 -0
  338. package/gdb/base/1/2692 +0 -0
  339. package/gdb/base/1/2693 +0 -0
  340. package/gdb/base/1/2696 +0 -0
  341. package/gdb/base/1/2699 +0 -0
  342. package/gdb/base/1/2701 +0 -0
  343. package/gdb/base/1/2702 +0 -0
  344. package/gdb/base/1/2703 +0 -0
  345. package/gdb/base/1/2704 +0 -0
  346. package/gdb/base/1/2753 +0 -0
  347. package/gdb/base/1/2753_fsm +0 -0
  348. package/gdb/base/1/2753_vm +0 -0
  349. package/gdb/base/1/2754 +0 -0
  350. package/gdb/base/1/2755 +0 -0
  351. package/gdb/base/1/2756 +0 -0
  352. package/gdb/base/1/2757 +0 -0
  353. package/gdb/base/1/2830 +0 -0
  354. package/gdb/base/1/2831 +0 -0
  355. package/gdb/base/1/2832 +0 -0
  356. package/gdb/base/1/2833 +0 -0
  357. package/gdb/base/1/2834 +0 -0
  358. package/gdb/base/1/2835 +0 -0
  359. package/gdb/base/1/2836 +0 -0
  360. package/gdb/base/1/2836_fsm +0 -0
  361. package/gdb/base/1/2836_vm +0 -0
  362. package/gdb/base/1/2837 +0 -0
  363. package/gdb/base/1/2838 +0 -0
  364. package/gdb/base/1/2838_fsm +0 -0
  365. package/gdb/base/1/2838_vm +0 -0
  366. package/gdb/base/1/2839 +0 -0
  367. package/gdb/base/1/2840 +0 -0
  368. package/gdb/base/1/2840_fsm +0 -0
  369. package/gdb/base/1/2840_vm +0 -0
  370. package/gdb/base/1/2841 +0 -0
  371. package/gdb/base/1/2995 +0 -0
  372. package/gdb/base/1/2996 +0 -0
  373. package/gdb/base/1/3079 +0 -0
  374. package/gdb/base/1/3079_fsm +0 -0
  375. package/gdb/base/1/3079_vm +0 -0
  376. package/gdb/base/1/3080 +0 -0
  377. package/gdb/base/1/3081 +0 -0
  378. package/gdb/base/1/3085 +0 -0
  379. package/gdb/base/1/3118 +0 -0
  380. package/gdb/base/1/3119 +0 -0
  381. package/gdb/base/1/3164 +0 -0
  382. package/gdb/base/1/3256 +0 -0
  383. package/gdb/base/1/3257 +0 -0
  384. package/gdb/base/1/3258 +0 -0
  385. package/gdb/base/1/3350 +0 -0
  386. package/gdb/base/1/3351 +0 -0
  387. package/gdb/base/1/3379 +0 -0
  388. package/gdb/base/1/3380 +0 -0
  389. package/gdb/base/1/3381 +0 -0
  390. package/gdb/base/1/3394 +0 -0
  391. package/gdb/base/1/3394_fsm +0 -0
  392. package/gdb/base/1/3394_vm +0 -0
  393. package/gdb/base/1/3395 +0 -0
  394. package/gdb/base/1/3429 +0 -0
  395. package/gdb/base/1/3430 +0 -0
  396. package/gdb/base/1/3431 +0 -0
  397. package/gdb/base/1/3433 +0 -0
  398. package/gdb/base/1/3439 +0 -0
  399. package/gdb/base/1/3440 +0 -0
  400. package/gdb/base/1/3455 +0 -0
  401. package/gdb/base/1/3456 +0 -0
  402. package/gdb/base/1/3456_fsm +0 -0
  403. package/gdb/base/1/3456_vm +0 -0
  404. package/gdb/base/1/3466 +0 -0
  405. package/gdb/base/1/3467 +0 -0
  406. package/gdb/base/1/3468 +0 -0
  407. package/gdb/base/1/3501 +0 -0
  408. package/gdb/base/1/3502 +0 -0
  409. package/gdb/base/1/3503 +0 -0
  410. package/gdb/base/1/3534 +0 -0
  411. package/gdb/base/1/3541 +0 -0
  412. package/gdb/base/1/3541_fsm +0 -0
  413. package/gdb/base/1/3541_vm +0 -0
  414. package/gdb/base/1/3542 +0 -0
  415. package/gdb/base/1/3574 +0 -0
  416. package/gdb/base/1/3575 +0 -0
  417. package/gdb/base/1/3576 +0 -0
  418. package/gdb/base/1/3596 +0 -0
  419. package/gdb/base/1/3597 +0 -0
  420. package/gdb/base/1/3598 +0 -0
  421. package/gdb/base/1/3599 +0 -0
  422. package/gdb/base/1/3600 +0 -0
  423. package/gdb/base/1/3600_fsm +0 -0
  424. package/gdb/base/1/3600_vm +0 -0
  425. package/gdb/base/1/3601 +0 -0
  426. package/gdb/base/1/3601_fsm +0 -0
  427. package/gdb/base/1/3601_vm +0 -0
  428. package/gdb/base/1/3602 +0 -0
  429. package/gdb/base/1/3602_fsm +0 -0
  430. package/gdb/base/1/3602_vm +0 -0
  431. package/gdb/base/1/3603 +0 -0
  432. package/gdb/base/1/3603_fsm +0 -0
  433. package/gdb/base/1/3603_vm +0 -0
  434. package/gdb/base/1/3604 +0 -0
  435. package/gdb/base/1/3605 +0 -0
  436. package/gdb/base/1/3606 +0 -0
  437. package/gdb/base/1/3607 +0 -0
  438. package/gdb/base/1/3608 +0 -0
  439. package/gdb/base/1/3609 +0 -0
  440. package/gdb/base/1/3712 +0 -0
  441. package/gdb/base/1/3764 +0 -0
  442. package/gdb/base/1/3764_fsm +0 -0
  443. package/gdb/base/1/3764_vm +0 -0
  444. package/gdb/base/1/3766 +0 -0
  445. package/gdb/base/1/3767 +0 -0
  446. package/gdb/base/1/3997 +0 -0
  447. package/gdb/base/1/4143 +0 -0
  448. package/gdb/base/1/4144 +0 -0
  449. package/gdb/base/1/4145 +0 -0
  450. package/gdb/base/1/4146 +0 -0
  451. package/gdb/base/1/4147 +0 -0
  452. package/gdb/base/1/4148 +0 -0
  453. package/gdb/base/1/4149 +0 -0
  454. package/gdb/base/1/4150 +0 -0
  455. package/gdb/base/1/4151 +0 -0
  456. package/gdb/base/1/4152 +0 -0
  457. package/gdb/base/1/4153 +0 -0
  458. package/gdb/base/1/4154 +0 -0
  459. package/gdb/base/1/4155 +0 -0
  460. package/gdb/base/1/4156 +0 -0
  461. package/gdb/base/1/4157 +0 -0
  462. package/gdb/base/1/4158 +0 -0
  463. package/gdb/base/1/4159 +0 -0
  464. package/gdb/base/1/4160 +0 -0
  465. package/gdb/base/1/4163 +0 -0
  466. package/gdb/base/1/4164 +0 -0
  467. package/gdb/base/1/4165 +0 -0
  468. package/gdb/base/1/4166 +0 -0
  469. package/gdb/base/1/4167 +0 -0
  470. package/gdb/base/1/4168 +0 -0
  471. package/gdb/base/1/4169 +0 -0
  472. package/gdb/base/1/4170 +0 -0
  473. package/gdb/base/1/4171 +0 -0
  474. package/gdb/base/1/4172 +0 -0
  475. package/gdb/base/1/4173 +0 -0
  476. package/gdb/base/1/4174 +0 -0
  477. package/gdb/base/1/5002 +0 -0
  478. package/gdb/base/1/548 +0 -0
  479. package/gdb/base/1/549 +0 -0
  480. package/gdb/base/1/6102 +0 -0
  481. package/gdb/base/1/6104 +0 -0
  482. package/gdb/base/1/6106 +0 -0
  483. package/gdb/base/1/6110 +0 -0
  484. package/gdb/base/1/6111 +0 -0
  485. package/gdb/base/1/6112 +0 -0
  486. package/gdb/base/1/6113 +0 -0
  487. package/gdb/base/1/6117 +0 -0
  488. package/gdb/base/1/6175 +0 -0
  489. package/gdb/base/1/6176 +0 -0
  490. package/gdb/base/1/826 +0 -0
  491. package/gdb/base/1/827 +0 -0
  492. package/gdb/base/1/828 +0 -0
  493. package/gdb/base/1/PG_VERSION +0 -1
  494. package/gdb/base/1/pg_filenode.map +0 -0
  495. package/gdb/base/14033/112 +0 -0
  496. package/gdb/base/14033/113 +0 -0
  497. package/gdb/base/14033/1247 +0 -0
  498. package/gdb/base/14033/1247_fsm +0 -0
  499. package/gdb/base/14033/1247_vm +0 -0
  500. package/gdb/base/14033/1249 +0 -0
  501. package/gdb/base/14033/1249_fsm +0 -0
  502. package/gdb/base/14033/1249_vm +0 -0
  503. package/gdb/base/14033/1255 +0 -0
  504. package/gdb/base/14033/1255_fsm +0 -0
  505. package/gdb/base/14033/1255_vm +0 -0
  506. package/gdb/base/14033/1259 +0 -0
  507. package/gdb/base/14033/1259_fsm +0 -0
  508. package/gdb/base/14033/1259_vm +0 -0
  509. package/gdb/base/14033/13852 +0 -0
  510. package/gdb/base/14033/13852_fsm +0 -0
  511. package/gdb/base/14033/13852_vm +0 -0
  512. package/gdb/base/14033/13855 +0 -0
  513. package/gdb/base/14033/13856 +0 -0
  514. package/gdb/base/14033/13857 +0 -0
  515. package/gdb/base/14033/13857_fsm +0 -0
  516. package/gdb/base/14033/13857_vm +0 -0
  517. package/gdb/base/14033/13860 +0 -0
  518. package/gdb/base/14033/13861 +0 -0
  519. package/gdb/base/14033/13862 +0 -0
  520. package/gdb/base/14033/13862_fsm +0 -0
  521. package/gdb/base/14033/13862_vm +0 -0
  522. package/gdb/base/14033/13865 +0 -0
  523. package/gdb/base/14033/13866 +0 -0
  524. package/gdb/base/14033/13867 +0 -0
  525. package/gdb/base/14033/13867_fsm +0 -0
  526. package/gdb/base/14033/13867_vm +0 -0
  527. package/gdb/base/14033/13870 +0 -0
  528. package/gdb/base/14033/13871 +0 -0
  529. package/gdb/base/14033/1417 +0 -0
  530. package/gdb/base/14033/1418 +0 -0
  531. package/gdb/base/14033/174 +0 -0
  532. package/gdb/base/14033/175 +0 -0
  533. package/gdb/base/14033/2187 +0 -0
  534. package/gdb/base/14033/2224 +0 -0
  535. package/gdb/base/14033/2228 +0 -0
  536. package/gdb/base/14033/2328 +0 -0
  537. package/gdb/base/14033/2336 +0 -0
  538. package/gdb/base/14033/2337 +0 -0
  539. package/gdb/base/14033/2579 +0 -0
  540. package/gdb/base/14033/2600 +0 -0
  541. package/gdb/base/14033/2600_fsm +0 -0
  542. package/gdb/base/14033/2600_vm +0 -0
  543. package/gdb/base/14033/2601 +0 -0
  544. package/gdb/base/14033/2601_fsm +0 -0
  545. package/gdb/base/14033/2601_vm +0 -0
  546. package/gdb/base/14033/2602 +0 -0
  547. package/gdb/base/14033/2602_fsm +0 -0
  548. package/gdb/base/14033/2602_vm +0 -0
  549. package/gdb/base/14033/2603 +0 -0
  550. package/gdb/base/14033/2603_fsm +0 -0
  551. package/gdb/base/14033/2603_vm +0 -0
  552. package/gdb/base/14033/2604 +0 -0
  553. package/gdb/base/14033/2605 +0 -0
  554. package/gdb/base/14033/2605_fsm +0 -0
  555. package/gdb/base/14033/2605_vm +0 -0
  556. package/gdb/base/14033/2606 +0 -0
  557. package/gdb/base/14033/2606_fsm +0 -0
  558. package/gdb/base/14033/2606_vm +0 -0
  559. package/gdb/base/14033/2607 +0 -0
  560. package/gdb/base/14033/2607_fsm +0 -0
  561. package/gdb/base/14033/2607_vm +0 -0
  562. package/gdb/base/14033/2608 +0 -0
  563. package/gdb/base/14033/2608_fsm +0 -0
  564. package/gdb/base/14033/2608_vm +0 -0
  565. package/gdb/base/14033/2609 +0 -0
  566. package/gdb/base/14033/2609_fsm +0 -0
  567. package/gdb/base/14033/2609_vm +0 -0
  568. package/gdb/base/14033/2610 +0 -0
  569. package/gdb/base/14033/2610_fsm +0 -0
  570. package/gdb/base/14033/2610_vm +0 -0
  571. package/gdb/base/14033/2611 +0 -0
  572. package/gdb/base/14033/2612 +0 -0
  573. package/gdb/base/14033/2612_fsm +0 -0
  574. package/gdb/base/14033/2612_vm +0 -0
  575. package/gdb/base/14033/2613 +0 -0
  576. package/gdb/base/14033/2615 +0 -0
  577. package/gdb/base/14033/2615_fsm +0 -0
  578. package/gdb/base/14033/2615_vm +0 -0
  579. package/gdb/base/14033/2616 +0 -0
  580. package/gdb/base/14033/2616_fsm +0 -0
  581. package/gdb/base/14033/2616_vm +0 -0
  582. package/gdb/base/14033/2617 +0 -0
  583. package/gdb/base/14033/2617_fsm +0 -0
  584. package/gdb/base/14033/2617_vm +0 -0
  585. package/gdb/base/14033/2618 +0 -0
  586. package/gdb/base/14033/2618_fsm +0 -0
  587. package/gdb/base/14033/2618_vm +0 -0
  588. package/gdb/base/14033/2619 +0 -0
  589. package/gdb/base/14033/2619_fsm +0 -0
  590. package/gdb/base/14033/2619_vm +0 -0
  591. package/gdb/base/14033/2620 +0 -0
  592. package/gdb/base/14033/2650 +0 -0
  593. package/gdb/base/14033/2651 +0 -0
  594. package/gdb/base/14033/2652 +0 -0
  595. package/gdb/base/14033/2653 +0 -0
  596. package/gdb/base/14033/2654 +0 -0
  597. package/gdb/base/14033/2655 +0 -0
  598. package/gdb/base/14033/2656 +0 -0
  599. package/gdb/base/14033/2657 +0 -0
  600. package/gdb/base/14033/2658 +0 -0
  601. package/gdb/base/14033/2659 +0 -0
  602. package/gdb/base/14033/2660 +0 -0
  603. package/gdb/base/14033/2661 +0 -0
  604. package/gdb/base/14033/2662 +0 -0
  605. package/gdb/base/14033/2663 +0 -0
  606. package/gdb/base/14033/2664 +0 -0
  607. package/gdb/base/14033/2665 +0 -0
  608. package/gdb/base/14033/2666 +0 -0
  609. package/gdb/base/14033/2667 +0 -0
  610. package/gdb/base/14033/2668 +0 -0
  611. package/gdb/base/14033/2669 +0 -0
  612. package/gdb/base/14033/2670 +0 -0
  613. package/gdb/base/14033/2673 +0 -0
  614. package/gdb/base/14033/2673_fsm +0 -0
  615. package/gdb/base/14033/2674 +0 -0
  616. package/gdb/base/14033/2674_fsm +0 -0
  617. package/gdb/base/14033/2675 +0 -0
  618. package/gdb/base/14033/2678 +0 -0
  619. package/gdb/base/14033/2679 +0 -0
  620. package/gdb/base/14033/2680 +0 -0
  621. package/gdb/base/14033/2681 +0 -0
  622. package/gdb/base/14033/2682 +0 -0
  623. package/gdb/base/14033/2683 +0 -0
  624. package/gdb/base/14033/2684 +0 -0
  625. package/gdb/base/14033/2685 +0 -0
  626. package/gdb/base/14033/2686 +0 -0
  627. package/gdb/base/14033/2687 +0 -0
  628. package/gdb/base/14033/2688 +0 -0
  629. package/gdb/base/14033/2689 +0 -0
  630. package/gdb/base/14033/2690 +0 -0
  631. package/gdb/base/14033/2691 +0 -0
  632. package/gdb/base/14033/2692 +0 -0
  633. package/gdb/base/14033/2693 +0 -0
  634. package/gdb/base/14033/2696 +0 -0
  635. package/gdb/base/14033/2699 +0 -0
  636. package/gdb/base/14033/2701 +0 -0
  637. package/gdb/base/14033/2702 +0 -0
  638. package/gdb/base/14033/2703 +0 -0
  639. package/gdb/base/14033/2704 +0 -0
  640. package/gdb/base/14033/2753 +0 -0
  641. package/gdb/base/14033/2753_fsm +0 -0
  642. package/gdb/base/14033/2753_vm +0 -0
  643. package/gdb/base/14033/2754 +0 -0
  644. package/gdb/base/14033/2755 +0 -0
  645. package/gdb/base/14033/2756 +0 -0
  646. package/gdb/base/14033/2757 +0 -0
  647. package/gdb/base/14033/2830 +0 -0
  648. package/gdb/base/14033/2831 +0 -0
  649. package/gdb/base/14033/2832 +0 -0
  650. package/gdb/base/14033/2833 +0 -0
  651. package/gdb/base/14033/2834 +0 -0
  652. package/gdb/base/14033/2835 +0 -0
  653. package/gdb/base/14033/2836 +0 -0
  654. package/gdb/base/14033/2836_fsm +0 -0
  655. package/gdb/base/14033/2836_vm +0 -0
  656. package/gdb/base/14033/2837 +0 -0
  657. package/gdb/base/14033/2838 +0 -0
  658. package/gdb/base/14033/2838_fsm +0 -0
  659. package/gdb/base/14033/2838_vm +0 -0
  660. package/gdb/base/14033/2839 +0 -0
  661. package/gdb/base/14033/2840 +0 -0
  662. package/gdb/base/14033/2840_fsm +0 -0
  663. package/gdb/base/14033/2840_vm +0 -0
  664. package/gdb/base/14033/2841 +0 -0
  665. package/gdb/base/14033/2995 +0 -0
  666. package/gdb/base/14033/2996 +0 -0
  667. package/gdb/base/14033/3079 +0 -0
  668. package/gdb/base/14033/3079_fsm +0 -0
  669. package/gdb/base/14033/3079_vm +0 -0
  670. package/gdb/base/14033/3080 +0 -0
  671. package/gdb/base/14033/3081 +0 -0
  672. package/gdb/base/14033/3085 +0 -0
  673. package/gdb/base/14033/3118 +0 -0
  674. package/gdb/base/14033/3119 +0 -0
  675. package/gdb/base/14033/3164 +0 -0
  676. package/gdb/base/14033/3256 +0 -0
  677. package/gdb/base/14033/3257 +0 -0
  678. package/gdb/base/14033/3258 +0 -0
  679. package/gdb/base/14033/3350 +0 -0
  680. package/gdb/base/14033/3351 +0 -0
  681. package/gdb/base/14033/3379 +0 -0
  682. package/gdb/base/14033/3380 +0 -0
  683. package/gdb/base/14033/3381 +0 -0
  684. package/gdb/base/14033/3394 +0 -0
  685. package/gdb/base/14033/3394_fsm +0 -0
  686. package/gdb/base/14033/3394_vm +0 -0
  687. package/gdb/base/14033/3395 +0 -0
  688. package/gdb/base/14033/3429 +0 -0
  689. package/gdb/base/14033/3430 +0 -0
  690. package/gdb/base/14033/3431 +0 -0
  691. package/gdb/base/14033/3433 +0 -0
  692. package/gdb/base/14033/3439 +0 -0
  693. package/gdb/base/14033/3440 +0 -0
  694. package/gdb/base/14033/3455 +0 -0
  695. package/gdb/base/14033/3456 +0 -0
  696. package/gdb/base/14033/3456_fsm +0 -0
  697. package/gdb/base/14033/3456_vm +0 -0
  698. package/gdb/base/14033/3466 +0 -0
  699. package/gdb/base/14033/3467 +0 -0
  700. package/gdb/base/14033/3468 +0 -0
  701. package/gdb/base/14033/3501 +0 -0
  702. package/gdb/base/14033/3502 +0 -0
  703. package/gdb/base/14033/3503 +0 -0
  704. package/gdb/base/14033/3534 +0 -0
  705. package/gdb/base/14033/3541 +0 -0
  706. package/gdb/base/14033/3541_fsm +0 -0
  707. package/gdb/base/14033/3541_vm +0 -0
  708. package/gdb/base/14033/3542 +0 -0
  709. package/gdb/base/14033/3574 +0 -0
  710. package/gdb/base/14033/3575 +0 -0
  711. package/gdb/base/14033/3576 +0 -0
  712. package/gdb/base/14033/3596 +0 -0
  713. package/gdb/base/14033/3597 +0 -0
  714. package/gdb/base/14033/3598 +0 -0
  715. package/gdb/base/14033/3599 +0 -0
  716. package/gdb/base/14033/3600 +0 -0
  717. package/gdb/base/14033/3600_fsm +0 -0
  718. package/gdb/base/14033/3600_vm +0 -0
  719. package/gdb/base/14033/3601 +0 -0
  720. package/gdb/base/14033/3601_fsm +0 -0
  721. package/gdb/base/14033/3601_vm +0 -0
  722. package/gdb/base/14033/3602 +0 -0
  723. package/gdb/base/14033/3602_fsm +0 -0
  724. package/gdb/base/14033/3602_vm +0 -0
  725. package/gdb/base/14033/3603 +0 -0
  726. package/gdb/base/14033/3603_fsm +0 -0
  727. package/gdb/base/14033/3603_vm +0 -0
  728. package/gdb/base/14033/3604 +0 -0
  729. package/gdb/base/14033/3605 +0 -0
  730. package/gdb/base/14033/3606 +0 -0
  731. package/gdb/base/14033/3607 +0 -0
  732. package/gdb/base/14033/3608 +0 -0
  733. package/gdb/base/14033/3609 +0 -0
  734. package/gdb/base/14033/3712 +0 -0
  735. package/gdb/base/14033/3764 +0 -0
  736. package/gdb/base/14033/3764_fsm +0 -0
  737. package/gdb/base/14033/3764_vm +0 -0
  738. package/gdb/base/14033/3766 +0 -0
  739. package/gdb/base/14033/3767 +0 -0
  740. package/gdb/base/14033/3997 +0 -0
  741. package/gdb/base/14033/4143 +0 -0
  742. package/gdb/base/14033/4144 +0 -0
  743. package/gdb/base/14033/4145 +0 -0
  744. package/gdb/base/14033/4146 +0 -0
  745. package/gdb/base/14033/4147 +0 -0
  746. package/gdb/base/14033/4148 +0 -0
  747. package/gdb/base/14033/4149 +0 -0
  748. package/gdb/base/14033/4150 +0 -0
  749. package/gdb/base/14033/4151 +0 -0
  750. package/gdb/base/14033/4152 +0 -0
  751. package/gdb/base/14033/4153 +0 -0
  752. package/gdb/base/14033/4154 +0 -0
  753. package/gdb/base/14033/4155 +0 -0
  754. package/gdb/base/14033/4156 +0 -0
  755. package/gdb/base/14033/4157 +0 -0
  756. package/gdb/base/14033/4158 +0 -0
  757. package/gdb/base/14033/4159 +0 -0
  758. package/gdb/base/14033/4160 +0 -0
  759. package/gdb/base/14033/4163 +0 -0
  760. package/gdb/base/14033/4164 +0 -0
  761. package/gdb/base/14033/4165 +0 -0
  762. package/gdb/base/14033/4166 +0 -0
  763. package/gdb/base/14033/4167 +0 -0
  764. package/gdb/base/14033/4168 +0 -0
  765. package/gdb/base/14033/4169 +0 -0
  766. package/gdb/base/14033/4170 +0 -0
  767. package/gdb/base/14033/4171 +0 -0
  768. package/gdb/base/14033/4172 +0 -0
  769. package/gdb/base/14033/4173 +0 -0
  770. package/gdb/base/14033/4174 +0 -0
  771. package/gdb/base/14033/5002 +0 -0
  772. package/gdb/base/14033/548 +0 -0
  773. package/gdb/base/14033/549 +0 -0
  774. package/gdb/base/14033/6102 +0 -0
  775. package/gdb/base/14033/6104 +0 -0
  776. package/gdb/base/14033/6106 +0 -0
  777. package/gdb/base/14033/6110 +0 -0
  778. package/gdb/base/14033/6111 +0 -0
  779. package/gdb/base/14033/6112 +0 -0
  780. package/gdb/base/14033/6113 +0 -0
  781. package/gdb/base/14033/6117 +0 -0
  782. package/gdb/base/14033/6175 +0 -0
  783. package/gdb/base/14033/6176 +0 -0
  784. package/gdb/base/14033/826 +0 -0
  785. package/gdb/base/14033/827 +0 -0
  786. package/gdb/base/14033/828 +0 -0
  787. package/gdb/base/14033/PG_VERSION +0 -1
  788. package/gdb/base/14033/pg_filenode.map +0 -0
  789. package/gdb/base/14034/112 +0 -0
  790. package/gdb/base/14034/113 +0 -0
  791. package/gdb/base/14034/1247 +0 -0
  792. package/gdb/base/14034/1247_fsm +0 -0
  793. package/gdb/base/14034/1247_vm +0 -0
  794. package/gdb/base/14034/1249 +0 -0
  795. package/gdb/base/14034/1249_fsm +0 -0
  796. package/gdb/base/14034/1249_vm +0 -0
  797. package/gdb/base/14034/1255 +0 -0
  798. package/gdb/base/14034/1255_fsm +0 -0
  799. package/gdb/base/14034/1255_vm +0 -0
  800. package/gdb/base/14034/1259 +0 -0
  801. package/gdb/base/14034/1259_fsm +0 -0
  802. package/gdb/base/14034/1259_vm +0 -0
  803. package/gdb/base/14034/13852 +0 -0
  804. package/gdb/base/14034/13852_fsm +0 -0
  805. package/gdb/base/14034/13852_vm +0 -0
  806. package/gdb/base/14034/13855 +0 -0
  807. package/gdb/base/14034/13856 +0 -0
  808. package/gdb/base/14034/13857 +0 -0
  809. package/gdb/base/14034/13857_fsm +0 -0
  810. package/gdb/base/14034/13857_vm +0 -0
  811. package/gdb/base/14034/13860 +0 -0
  812. package/gdb/base/14034/13861 +0 -0
  813. package/gdb/base/14034/13862 +0 -0
  814. package/gdb/base/14034/13862_fsm +0 -0
  815. package/gdb/base/14034/13862_vm +0 -0
  816. package/gdb/base/14034/13865 +0 -0
  817. package/gdb/base/14034/13866 +0 -0
  818. package/gdb/base/14034/13867 +0 -0
  819. package/gdb/base/14034/13867_fsm +0 -0
  820. package/gdb/base/14034/13867_vm +0 -0
  821. package/gdb/base/14034/13870 +0 -0
  822. package/gdb/base/14034/13871 +0 -0
  823. package/gdb/base/14034/1417 +0 -0
  824. package/gdb/base/14034/1418 +0 -0
  825. package/gdb/base/14034/16386 +0 -0
  826. package/gdb/base/14034/16389 +0 -0
  827. package/gdb/base/14034/16390 +0 -0
  828. package/gdb/base/14034/16391 +0 -0
  829. package/gdb/base/14034/16393 +0 -0
  830. package/gdb/base/14034/16396 +0 -0
  831. package/gdb/base/14034/16397 +0 -0
  832. package/gdb/base/14034/16398 +0 -0
  833. package/gdb/base/14034/16400 +0 -0
  834. package/gdb/base/14034/16403 +0 -0
  835. package/gdb/base/14034/16404 +0 -0
  836. package/gdb/base/14034/16420 +0 -0
  837. package/gdb/base/14034/16423 +0 -0
  838. package/gdb/base/14034/16424 +0 -0
  839. package/gdb/base/14034/16425 +0 -0
  840. package/gdb/base/14034/16427 +0 -0
  841. package/gdb/base/14034/16430 +0 -0
  842. package/gdb/base/14034/16431 +0 -0
  843. package/gdb/base/14034/16432 +0 -0
  844. package/gdb/base/14034/16434 +0 -0
  845. package/gdb/base/14034/16437 +0 -0
  846. package/gdb/base/14034/16438 +0 -0
  847. package/gdb/base/14034/16439 +0 -0
  848. package/gdb/base/14034/16446 +0 -0
  849. package/gdb/base/14034/16449 +0 -0
  850. package/gdb/base/14034/16450 +0 -0
  851. package/gdb/base/14034/16451 +0 -0
  852. package/gdb/base/14034/16458 +0 -0
  853. package/gdb/base/14034/16461 +0 -0
  854. package/gdb/base/14034/16462 +0 -0
  855. package/gdb/base/14034/16463 +0 -0
  856. package/gdb/base/14034/16475 +0 -0
  857. package/gdb/base/14034/16478 +0 -0
  858. package/gdb/base/14034/16479 +0 -0
  859. package/gdb/base/14034/16480 +0 -0
  860. package/gdb/base/14034/174 +0 -0
  861. package/gdb/base/14034/175 +0 -0
  862. package/gdb/base/14034/2187 +0 -0
  863. package/gdb/base/14034/2224 +0 -0
  864. package/gdb/base/14034/2228 +0 -0
  865. package/gdb/base/14034/2328 +0 -0
  866. package/gdb/base/14034/2336 +0 -0
  867. package/gdb/base/14034/2337 +0 -0
  868. package/gdb/base/14034/2579 +0 -0
  869. package/gdb/base/14034/2600 +0 -0
  870. package/gdb/base/14034/2600_fsm +0 -0
  871. package/gdb/base/14034/2600_vm +0 -0
  872. package/gdb/base/14034/2601 +0 -0
  873. package/gdb/base/14034/2601_fsm +0 -0
  874. package/gdb/base/14034/2601_vm +0 -0
  875. package/gdb/base/14034/2602 +0 -0
  876. package/gdb/base/14034/2602_fsm +0 -0
  877. package/gdb/base/14034/2602_vm +0 -0
  878. package/gdb/base/14034/2603 +0 -0
  879. package/gdb/base/14034/2603_fsm +0 -0
  880. package/gdb/base/14034/2603_vm +0 -0
  881. package/gdb/base/14034/2604 +0 -0
  882. package/gdb/base/14034/2605 +0 -0
  883. package/gdb/base/14034/2605_fsm +0 -0
  884. package/gdb/base/14034/2605_vm +0 -0
  885. package/gdb/base/14034/2606 +0 -0
  886. package/gdb/base/14034/2606_fsm +0 -0
  887. package/gdb/base/14034/2606_vm +0 -0
  888. package/gdb/base/14034/2607 +0 -0
  889. package/gdb/base/14034/2607_fsm +0 -0
  890. package/gdb/base/14034/2607_vm +0 -0
  891. package/gdb/base/14034/2608 +0 -0
  892. package/gdb/base/14034/2608_fsm +0 -0
  893. package/gdb/base/14034/2608_vm +0 -0
  894. package/gdb/base/14034/2609 +0 -0
  895. package/gdb/base/14034/2609_fsm +0 -0
  896. package/gdb/base/14034/2609_vm +0 -0
  897. package/gdb/base/14034/2610 +0 -0
  898. package/gdb/base/14034/2610_fsm +0 -0
  899. package/gdb/base/14034/2610_vm +0 -0
  900. package/gdb/base/14034/2611 +0 -0
  901. package/gdb/base/14034/2612 +0 -0
  902. package/gdb/base/14034/2612_fsm +0 -0
  903. package/gdb/base/14034/2612_vm +0 -0
  904. package/gdb/base/14034/2613 +0 -0
  905. package/gdb/base/14034/2615 +0 -0
  906. package/gdb/base/14034/2615_fsm +0 -0
  907. package/gdb/base/14034/2615_vm +0 -0
  908. package/gdb/base/14034/2616 +0 -0
  909. package/gdb/base/14034/2616_fsm +0 -0
  910. package/gdb/base/14034/2616_vm +0 -0
  911. package/gdb/base/14034/2617 +0 -0
  912. package/gdb/base/14034/2617_fsm +0 -0
  913. package/gdb/base/14034/2617_vm +0 -0
  914. package/gdb/base/14034/2618 +0 -0
  915. package/gdb/base/14034/2618_fsm +0 -0
  916. package/gdb/base/14034/2618_vm +0 -0
  917. package/gdb/base/14034/2619 +0 -0
  918. package/gdb/base/14034/2619_fsm +0 -0
  919. package/gdb/base/14034/2619_vm +0 -0
  920. package/gdb/base/14034/2620 +0 -0
  921. package/gdb/base/14034/2650 +0 -0
  922. package/gdb/base/14034/2651 +0 -0
  923. package/gdb/base/14034/2652 +0 -0
  924. package/gdb/base/14034/2653 +0 -0
  925. package/gdb/base/14034/2654 +0 -0
  926. package/gdb/base/14034/2655 +0 -0
  927. package/gdb/base/14034/2656 +0 -0
  928. package/gdb/base/14034/2657 +0 -0
  929. package/gdb/base/14034/2658 +0 -0
  930. package/gdb/base/14034/2659 +0 -0
  931. package/gdb/base/14034/2660 +0 -0
  932. package/gdb/base/14034/2661 +0 -0
  933. package/gdb/base/14034/2662 +0 -0
  934. package/gdb/base/14034/2663 +0 -0
  935. package/gdb/base/14034/2664 +0 -0
  936. package/gdb/base/14034/2665 +0 -0
  937. package/gdb/base/14034/2666 +0 -0
  938. package/gdb/base/14034/2667 +0 -0
  939. package/gdb/base/14034/2668 +0 -0
  940. package/gdb/base/14034/2669 +0 -0
  941. package/gdb/base/14034/2670 +0 -0
  942. package/gdb/base/14034/2673 +0 -0
  943. package/gdb/base/14034/2673_fsm +0 -0
  944. package/gdb/base/14034/2674 +0 -0
  945. package/gdb/base/14034/2674_fsm +0 -0
  946. package/gdb/base/14034/2675 +0 -0
  947. package/gdb/base/14034/2678 +0 -0
  948. package/gdb/base/14034/2679 +0 -0
  949. package/gdb/base/14034/2680 +0 -0
  950. package/gdb/base/14034/2681 +0 -0
  951. package/gdb/base/14034/2682 +0 -0
  952. package/gdb/base/14034/2683 +0 -0
  953. package/gdb/base/14034/2684 +0 -0
  954. package/gdb/base/14034/2685 +0 -0
  955. package/gdb/base/14034/2686 +0 -0
  956. package/gdb/base/14034/2687 +0 -0
  957. package/gdb/base/14034/2688 +0 -0
  958. package/gdb/base/14034/2689 +0 -0
  959. package/gdb/base/14034/2690 +0 -0
  960. package/gdb/base/14034/2691 +0 -0
  961. package/gdb/base/14034/2692 +0 -0
  962. package/gdb/base/14034/2693 +0 -0
  963. package/gdb/base/14034/2696 +0 -0
  964. package/gdb/base/14034/2699 +0 -0
  965. package/gdb/base/14034/2701 +0 -0
  966. package/gdb/base/14034/2702 +0 -0
  967. package/gdb/base/14034/2703 +0 -0
  968. package/gdb/base/14034/2704 +0 -0
  969. package/gdb/base/14034/2753 +0 -0
  970. package/gdb/base/14034/2753_fsm +0 -0
  971. package/gdb/base/14034/2753_vm +0 -0
  972. package/gdb/base/14034/2754 +0 -0
  973. package/gdb/base/14034/2755 +0 -0
  974. package/gdb/base/14034/2756 +0 -0
  975. package/gdb/base/14034/2757 +0 -0
  976. package/gdb/base/14034/2830 +0 -0
  977. package/gdb/base/14034/2831 +0 -0
  978. package/gdb/base/14034/2832 +0 -0
  979. package/gdb/base/14034/2833 +0 -0
  980. package/gdb/base/14034/2834 +0 -0
  981. package/gdb/base/14034/2835 +0 -0
  982. package/gdb/base/14034/2836 +0 -0
  983. package/gdb/base/14034/2836_fsm +0 -0
  984. package/gdb/base/14034/2836_vm +0 -0
  985. package/gdb/base/14034/2837 +0 -0
  986. package/gdb/base/14034/2838 +0 -0
  987. package/gdb/base/14034/2838_fsm +0 -0
  988. package/gdb/base/14034/2838_vm +0 -0
  989. package/gdb/base/14034/2839 +0 -0
  990. package/gdb/base/14034/2840 +0 -0
  991. package/gdb/base/14034/2840_fsm +0 -0
  992. package/gdb/base/14034/2840_vm +0 -0
  993. package/gdb/base/14034/2841 +0 -0
  994. package/gdb/base/14034/2995 +0 -0
  995. package/gdb/base/14034/2996 +0 -0
  996. package/gdb/base/14034/3079 +0 -0
  997. package/gdb/base/14034/3079_fsm +0 -0
  998. package/gdb/base/14034/3079_vm +0 -0
  999. package/gdb/base/14034/3080 +0 -0
  1000. package/gdb/base/14034/3081 +0 -0
  1001. package/gdb/base/14034/3085 +0 -0
  1002. package/gdb/base/14034/3118 +0 -0
  1003. package/gdb/base/14034/3119 +0 -0
  1004. package/gdb/base/14034/3164 +0 -0
  1005. package/gdb/base/14034/3256 +0 -0
  1006. package/gdb/base/14034/3257 +0 -0
  1007. package/gdb/base/14034/3258 +0 -0
  1008. package/gdb/base/14034/3350 +0 -0
  1009. package/gdb/base/14034/3351 +0 -0
  1010. package/gdb/base/14034/3379 +0 -0
  1011. package/gdb/base/14034/3380 +0 -0
  1012. package/gdb/base/14034/3381 +0 -0
  1013. package/gdb/base/14034/3394 +0 -0
  1014. package/gdb/base/14034/3394_fsm +0 -0
  1015. package/gdb/base/14034/3394_vm +0 -0
  1016. package/gdb/base/14034/3395 +0 -0
  1017. package/gdb/base/14034/3429 +0 -0
  1018. package/gdb/base/14034/3430 +0 -0
  1019. package/gdb/base/14034/3431 +0 -0
  1020. package/gdb/base/14034/3433 +0 -0
  1021. package/gdb/base/14034/3439 +0 -0
  1022. package/gdb/base/14034/3440 +0 -0
  1023. package/gdb/base/14034/3455 +0 -0
  1024. package/gdb/base/14034/3456 +0 -0
  1025. package/gdb/base/14034/3456_fsm +0 -0
  1026. package/gdb/base/14034/3456_vm +0 -0
  1027. package/gdb/base/14034/3466 +0 -0
  1028. package/gdb/base/14034/3467 +0 -0
  1029. package/gdb/base/14034/3468 +0 -0
  1030. package/gdb/base/14034/3501 +0 -0
  1031. package/gdb/base/14034/3502 +0 -0
  1032. package/gdb/base/14034/3503 +0 -0
  1033. package/gdb/base/14034/3534 +0 -0
  1034. package/gdb/base/14034/3541 +0 -0
  1035. package/gdb/base/14034/3541_fsm +0 -0
  1036. package/gdb/base/14034/3541_vm +0 -0
  1037. package/gdb/base/14034/3542 +0 -0
  1038. package/gdb/base/14034/3574 +0 -0
  1039. package/gdb/base/14034/3575 +0 -0
  1040. package/gdb/base/14034/3576 +0 -0
  1041. package/gdb/base/14034/3596 +0 -0
  1042. package/gdb/base/14034/3597 +0 -0
  1043. package/gdb/base/14034/3598 +0 -0
  1044. package/gdb/base/14034/3599 +0 -0
  1045. package/gdb/base/14034/3600 +0 -0
  1046. package/gdb/base/14034/3600_fsm +0 -0
  1047. package/gdb/base/14034/3600_vm +0 -0
  1048. package/gdb/base/14034/3601 +0 -0
  1049. package/gdb/base/14034/3601_fsm +0 -0
  1050. package/gdb/base/14034/3601_vm +0 -0
  1051. package/gdb/base/14034/3602 +0 -0
  1052. package/gdb/base/14034/3602_fsm +0 -0
  1053. package/gdb/base/14034/3602_vm +0 -0
  1054. package/gdb/base/14034/3603 +0 -0
  1055. package/gdb/base/14034/3603_fsm +0 -0
  1056. package/gdb/base/14034/3603_vm +0 -0
  1057. package/gdb/base/14034/3604 +0 -0
  1058. package/gdb/base/14034/3605 +0 -0
  1059. package/gdb/base/14034/3606 +0 -0
  1060. package/gdb/base/14034/3607 +0 -0
  1061. package/gdb/base/14034/3608 +0 -0
  1062. package/gdb/base/14034/3609 +0 -0
  1063. package/gdb/base/14034/3712 +0 -0
  1064. package/gdb/base/14034/3764 +0 -0
  1065. package/gdb/base/14034/3764_fsm +0 -0
  1066. package/gdb/base/14034/3764_vm +0 -0
  1067. package/gdb/base/14034/3766 +0 -0
  1068. package/gdb/base/14034/3767 +0 -0
  1069. package/gdb/base/14034/3997 +0 -0
  1070. package/gdb/base/14034/4143 +0 -0
  1071. package/gdb/base/14034/4144 +0 -0
  1072. package/gdb/base/14034/4145 +0 -0
  1073. package/gdb/base/14034/4146 +0 -0
  1074. package/gdb/base/14034/4147 +0 -0
  1075. package/gdb/base/14034/4148 +0 -0
  1076. package/gdb/base/14034/4149 +0 -0
  1077. package/gdb/base/14034/4150 +0 -0
  1078. package/gdb/base/14034/4151 +0 -0
  1079. package/gdb/base/14034/4152 +0 -0
  1080. package/gdb/base/14034/4153 +0 -0
  1081. package/gdb/base/14034/4154 +0 -0
  1082. package/gdb/base/14034/4155 +0 -0
  1083. package/gdb/base/14034/4156 +0 -0
  1084. package/gdb/base/14034/4157 +0 -0
  1085. package/gdb/base/14034/4158 +0 -0
  1086. package/gdb/base/14034/4159 +0 -0
  1087. package/gdb/base/14034/4160 +0 -0
  1088. package/gdb/base/14034/4163 +0 -0
  1089. package/gdb/base/14034/4164 +0 -0
  1090. package/gdb/base/14034/4165 +0 -0
  1091. package/gdb/base/14034/4166 +0 -0
  1092. package/gdb/base/14034/4167 +0 -0
  1093. package/gdb/base/14034/4168 +0 -0
  1094. package/gdb/base/14034/4169 +0 -0
  1095. package/gdb/base/14034/4170 +0 -0
  1096. package/gdb/base/14034/4171 +0 -0
  1097. package/gdb/base/14034/4172 +0 -0
  1098. package/gdb/base/14034/4173 +0 -0
  1099. package/gdb/base/14034/4174 +0 -0
  1100. package/gdb/base/14034/5002 +0 -0
  1101. package/gdb/base/14034/548 +0 -0
  1102. package/gdb/base/14034/549 +0 -0
  1103. package/gdb/base/14034/6102 +0 -0
  1104. package/gdb/base/14034/6104 +0 -0
  1105. package/gdb/base/14034/6106 +0 -0
  1106. package/gdb/base/14034/6110 +0 -0
  1107. package/gdb/base/14034/6111 +0 -0
  1108. package/gdb/base/14034/6112 +0 -0
  1109. package/gdb/base/14034/6113 +0 -0
  1110. package/gdb/base/14034/6117 +0 -0
  1111. package/gdb/base/14034/6175 +0 -0
  1112. package/gdb/base/14034/6176 +0 -0
  1113. package/gdb/base/14034/826 +0 -0
  1114. package/gdb/base/14034/827 +0 -0
  1115. package/gdb/base/14034/828 +0 -0
  1116. package/gdb/base/14034/PG_VERSION +0 -1
  1117. package/gdb/base/14034/pg_filenode.map +0 -0
  1118. package/gdb/base/14034/pg_internal.init +0 -0
  1119. package/gdb/global/1213 +0 -0
  1120. package/gdb/global/1213_fsm +0 -0
  1121. package/gdb/global/1213_vm +0 -0
  1122. package/gdb/global/1214 +0 -0
  1123. package/gdb/global/1214_fsm +0 -0
  1124. package/gdb/global/1214_vm +0 -0
  1125. package/gdb/global/1232 +0 -0
  1126. package/gdb/global/1233 +0 -0
  1127. package/gdb/global/1260 +0 -0
  1128. package/gdb/global/1260_fsm +0 -0
  1129. package/gdb/global/1260_vm +0 -0
  1130. package/gdb/global/1261 +0 -0
  1131. package/gdb/global/1261_fsm +0 -0
  1132. package/gdb/global/1261_vm +0 -0
  1133. package/gdb/global/1262 +0 -0
  1134. package/gdb/global/1262_fsm +0 -0
  1135. package/gdb/global/1262_vm +0 -0
  1136. package/gdb/global/2396 +0 -0
  1137. package/gdb/global/2396_fsm +0 -0
  1138. package/gdb/global/2396_vm +0 -0
  1139. package/gdb/global/2397 +0 -0
  1140. package/gdb/global/2671 +0 -0
  1141. package/gdb/global/2672 +0 -0
  1142. package/gdb/global/2676 +0 -0
  1143. package/gdb/global/2677 +0 -0
  1144. package/gdb/global/2694 +0 -0
  1145. package/gdb/global/2695 +0 -0
  1146. package/gdb/global/2697 +0 -0
  1147. package/gdb/global/2698 +0 -0
  1148. package/gdb/global/2846 +0 -0
  1149. package/gdb/global/2847 +0 -0
  1150. package/gdb/global/2964 +0 -0
  1151. package/gdb/global/2965 +0 -0
  1152. package/gdb/global/2966 +0 -0
  1153. package/gdb/global/2967 +0 -0
  1154. package/gdb/global/3592 +0 -0
  1155. package/gdb/global/3593 +0 -0
  1156. package/gdb/global/4060 +0 -0
  1157. package/gdb/global/4061 +0 -0
  1158. package/gdb/global/4175 +0 -0
  1159. package/gdb/global/4176 +0 -0
  1160. package/gdb/global/4177 +0 -0
  1161. package/gdb/global/4178 +0 -0
  1162. package/gdb/global/4181 +0 -0
  1163. package/gdb/global/4182 +0 -0
  1164. package/gdb/global/4183 +0 -0
  1165. package/gdb/global/4184 +0 -0
  1166. package/gdb/global/4185 +0 -0
  1167. package/gdb/global/4186 +0 -0
  1168. package/gdb/global/6000 +0 -0
  1169. package/gdb/global/6001 +0 -0
  1170. package/gdb/global/6002 +0 -0
  1171. package/gdb/global/6100 +0 -0
  1172. package/gdb/global/6114 +0 -0
  1173. package/gdb/global/6115 +0 -0
  1174. package/gdb/global/pg_control +0 -0
  1175. package/gdb/global/pg_filenode.map +0 -0
  1176. package/gdb/global/pg_internal.init +0 -0
  1177. package/gdb/pg_hba.conf +0 -98
  1178. package/gdb/pg_ident.conf +0 -42
  1179. package/gdb/pg_logical/replorigin_checkpoint +0 -0
  1180. package/gdb/pg_multixact/members/0000 +0 -0
  1181. package/gdb/pg_multixact/offsets/0000 +0 -0
  1182. package/gdb/pg_stat/db_0.stat +0 -0
  1183. package/gdb/pg_stat/db_14034.stat +0 -0
  1184. package/gdb/pg_stat/global.stat +0 -0
  1185. package/gdb/pg_subtrans/0000 +0 -0
  1186. package/gdb/pg_wal/000000010000000000000001 +0 -0
  1187. package/gdb/pg_xact/0000 +0 -0
  1188. package/gdb/postgresql.auto.conf +0 -2
  1189. package/gdb/postgresql.conf +0 -796
  1190. package/gdb/postmaster.opts +0 -1
  1191. package/server/API Project-7d45e9f24a96.p12 +0 -0
  1192. package/server/grnmap.pem +0 -31
  1193. package/server/grnsight.pem +0 -19
  1194. package/test-files/import-samples/attributes.graphml +0 -40
  1195. package/test-files/import-samples/port.graphml +0 -32
  1196. package/test-files/import-samples/simple.graphml +0 -31
  1197. package/web-client/public/js/grnsight.min.js +0 -2371
@@ -1,1779 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for controllers/spreadsheet-controller.js</title>
5
- <meta charset="utf-8" />
6
- <link rel="stylesheet" href="../prettify.css" />
7
- <link rel="stylesheet" href="../base.css" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <style type='text/css'>
10
- .coverage-summary .sorter {
11
- background-image: url(../sort-arrow-sprite.png);
12
- }
13
- </style>
14
- </head>
15
- <body>
16
- <div class='wrapper'>
17
- <div class='pad1'>
18
- <h1>
19
- <a href="../index.html">All files</a> / <a href="index.html">controllers</a> spreadsheet-controller.js
20
- </h1>
21
- <div class='clearfix'>
22
- <div class='fl pad1y space-right2'>
23
- <span class="strong">9.74% </span>
24
- <span class="quiet">Statements</span>
25
- <span class='fraction'>19/195</span>
26
- </div>
27
- <div class='fl pad1y space-right2'>
28
- <span class="strong">1.43% </span>
29
- <span class="quiet">Branches</span>
30
- <span class='fraction'>1/70</span>
31
- </div>
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">3.45% </span>
34
- <span class="quiet">Functions</span>
35
- <span class='fraction'>1/29</span>
36
- </div>
37
- <div class='fl pad1y space-right2'>
38
- <span class="strong">9.74% </span>
39
- <span class="quiet">Lines</span>
40
- <span class='fraction'>19/195</span>
41
- </div>
42
- </div>
43
- <p class="quiet">
44
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
45
- </p>
46
- </div>
47
- <div class='status-line low'></div>
48
- <pre><table class="coverage">
49
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
50
- <a name='L2'></a><a href='#L2'>2</a>
51
- <a name='L3'></a><a href='#L3'>3</a>
52
- <a name='L4'></a><a href='#L4'>4</a>
53
- <a name='L5'></a><a href='#L5'>5</a>
54
- <a name='L6'></a><a href='#L6'>6</a>
55
- <a name='L7'></a><a href='#L7'>7</a>
56
- <a name='L8'></a><a href='#L8'>8</a>
57
- <a name='L9'></a><a href='#L9'>9</a>
58
- <a name='L10'></a><a href='#L10'>10</a>
59
- <a name='L11'></a><a href='#L11'>11</a>
60
- <a name='L12'></a><a href='#L12'>12</a>
61
- <a name='L13'></a><a href='#L13'>13</a>
62
- <a name='L14'></a><a href='#L14'>14</a>
63
- <a name='L15'></a><a href='#L15'>15</a>
64
- <a name='L16'></a><a href='#L16'>16</a>
65
- <a name='L17'></a><a href='#L17'>17</a>
66
- <a name='L18'></a><a href='#L18'>18</a>
67
- <a name='L19'></a><a href='#L19'>19</a>
68
- <a name='L20'></a><a href='#L20'>20</a>
69
- <a name='L21'></a><a href='#L21'>21</a>
70
- <a name='L22'></a><a href='#L22'>22</a>
71
- <a name='L23'></a><a href='#L23'>23</a>
72
- <a name='L24'></a><a href='#L24'>24</a>
73
- <a name='L25'></a><a href='#L25'>25</a>
74
- <a name='L26'></a><a href='#L26'>26</a>
75
- <a name='L27'></a><a href='#L27'>27</a>
76
- <a name='L28'></a><a href='#L28'>28</a>
77
- <a name='L29'></a><a href='#L29'>29</a>
78
- <a name='L30'></a><a href='#L30'>30</a>
79
- <a name='L31'></a><a href='#L31'>31</a>
80
- <a name='L32'></a><a href='#L32'>32</a>
81
- <a name='L33'></a><a href='#L33'>33</a>
82
- <a name='L34'></a><a href='#L34'>34</a>
83
- <a name='L35'></a><a href='#L35'>35</a>
84
- <a name='L36'></a><a href='#L36'>36</a>
85
- <a name='L37'></a><a href='#L37'>37</a>
86
- <a name='L38'></a><a href='#L38'>38</a>
87
- <a name='L39'></a><a href='#L39'>39</a>
88
- <a name='L40'></a><a href='#L40'>40</a>
89
- <a name='L41'></a><a href='#L41'>41</a>
90
- <a name='L42'></a><a href='#L42'>42</a>
91
- <a name='L43'></a><a href='#L43'>43</a>
92
- <a name='L44'></a><a href='#L44'>44</a>
93
- <a name='L45'></a><a href='#L45'>45</a>
94
- <a name='L46'></a><a href='#L46'>46</a>
95
- <a name='L47'></a><a href='#L47'>47</a>
96
- <a name='L48'></a><a href='#L48'>48</a>
97
- <a name='L49'></a><a href='#L49'>49</a>
98
- <a name='L50'></a><a href='#L50'>50</a>
99
- <a name='L51'></a><a href='#L51'>51</a>
100
- <a name='L52'></a><a href='#L52'>52</a>
101
- <a name='L53'></a><a href='#L53'>53</a>
102
- <a name='L54'></a><a href='#L54'>54</a>
103
- <a name='L55'></a><a href='#L55'>55</a>
104
- <a name='L56'></a><a href='#L56'>56</a>
105
- <a name='L57'></a><a href='#L57'>57</a>
106
- <a name='L58'></a><a href='#L58'>58</a>
107
- <a name='L59'></a><a href='#L59'>59</a>
108
- <a name='L60'></a><a href='#L60'>60</a>
109
- <a name='L61'></a><a href='#L61'>61</a>
110
- <a name='L62'></a><a href='#L62'>62</a>
111
- <a name='L63'></a><a href='#L63'>63</a>
112
- <a name='L64'></a><a href='#L64'>64</a>
113
- <a name='L65'></a><a href='#L65'>65</a>
114
- <a name='L66'></a><a href='#L66'>66</a>
115
- <a name='L67'></a><a href='#L67'>67</a>
116
- <a name='L68'></a><a href='#L68'>68</a>
117
- <a name='L69'></a><a href='#L69'>69</a>
118
- <a name='L70'></a><a href='#L70'>70</a>
119
- <a name='L71'></a><a href='#L71'>71</a>
120
- <a name='L72'></a><a href='#L72'>72</a>
121
- <a name='L73'></a><a href='#L73'>73</a>
122
- <a name='L74'></a><a href='#L74'>74</a>
123
- <a name='L75'></a><a href='#L75'>75</a>
124
- <a name='L76'></a><a href='#L76'>76</a>
125
- <a name='L77'></a><a href='#L77'>77</a>
126
- <a name='L78'></a><a href='#L78'>78</a>
127
- <a name='L79'></a><a href='#L79'>79</a>
128
- <a name='L80'></a><a href='#L80'>80</a>
129
- <a name='L81'></a><a href='#L81'>81</a>
130
- <a name='L82'></a><a href='#L82'>82</a>
131
- <a name='L83'></a><a href='#L83'>83</a>
132
- <a name='L84'></a><a href='#L84'>84</a>
133
- <a name='L85'></a><a href='#L85'>85</a>
134
- <a name='L86'></a><a href='#L86'>86</a>
135
- <a name='L87'></a><a href='#L87'>87</a>
136
- <a name='L88'></a><a href='#L88'>88</a>
137
- <a name='L89'></a><a href='#L89'>89</a>
138
- <a name='L90'></a><a href='#L90'>90</a>
139
- <a name='L91'></a><a href='#L91'>91</a>
140
- <a name='L92'></a><a href='#L92'>92</a>
141
- <a name='L93'></a><a href='#L93'>93</a>
142
- <a name='L94'></a><a href='#L94'>94</a>
143
- <a name='L95'></a><a href='#L95'>95</a>
144
- <a name='L96'></a><a href='#L96'>96</a>
145
- <a name='L97'></a><a href='#L97'>97</a>
146
- <a name='L98'></a><a href='#L98'>98</a>
147
- <a name='L99'></a><a href='#L99'>99</a>
148
- <a name='L100'></a><a href='#L100'>100</a>
149
- <a name='L101'></a><a href='#L101'>101</a>
150
- <a name='L102'></a><a href='#L102'>102</a>
151
- <a name='L103'></a><a href='#L103'>103</a>
152
- <a name='L104'></a><a href='#L104'>104</a>
153
- <a name='L105'></a><a href='#L105'>105</a>
154
- <a name='L106'></a><a href='#L106'>106</a>
155
- <a name='L107'></a><a href='#L107'>107</a>
156
- <a name='L108'></a><a href='#L108'>108</a>
157
- <a name='L109'></a><a href='#L109'>109</a>
158
- <a name='L110'></a><a href='#L110'>110</a>
159
- <a name='L111'></a><a href='#L111'>111</a>
160
- <a name='L112'></a><a href='#L112'>112</a>
161
- <a name='L113'></a><a href='#L113'>113</a>
162
- <a name='L114'></a><a href='#L114'>114</a>
163
- <a name='L115'></a><a href='#L115'>115</a>
164
- <a name='L116'></a><a href='#L116'>116</a>
165
- <a name='L117'></a><a href='#L117'>117</a>
166
- <a name='L118'></a><a href='#L118'>118</a>
167
- <a name='L119'></a><a href='#L119'>119</a>
168
- <a name='L120'></a><a href='#L120'>120</a>
169
- <a name='L121'></a><a href='#L121'>121</a>
170
- <a name='L122'></a><a href='#L122'>122</a>
171
- <a name='L123'></a><a href='#L123'>123</a>
172
- <a name='L124'></a><a href='#L124'>124</a>
173
- <a name='L125'></a><a href='#L125'>125</a>
174
- <a name='L126'></a><a href='#L126'>126</a>
175
- <a name='L127'></a><a href='#L127'>127</a>
176
- <a name='L128'></a><a href='#L128'>128</a>
177
- <a name='L129'></a><a href='#L129'>129</a>
178
- <a name='L130'></a><a href='#L130'>130</a>
179
- <a name='L131'></a><a href='#L131'>131</a>
180
- <a name='L132'></a><a href='#L132'>132</a>
181
- <a name='L133'></a><a href='#L133'>133</a>
182
- <a name='L134'></a><a href='#L134'>134</a>
183
- <a name='L135'></a><a href='#L135'>135</a>
184
- <a name='L136'></a><a href='#L136'>136</a>
185
- <a name='L137'></a><a href='#L137'>137</a>
186
- <a name='L138'></a><a href='#L138'>138</a>
187
- <a name='L139'></a><a href='#L139'>139</a>
188
- <a name='L140'></a><a href='#L140'>140</a>
189
- <a name='L141'></a><a href='#L141'>141</a>
190
- <a name='L142'></a><a href='#L142'>142</a>
191
- <a name='L143'></a><a href='#L143'>143</a>
192
- <a name='L144'></a><a href='#L144'>144</a>
193
- <a name='L145'></a><a href='#L145'>145</a>
194
- <a name='L146'></a><a href='#L146'>146</a>
195
- <a name='L147'></a><a href='#L147'>147</a>
196
- <a name='L148'></a><a href='#L148'>148</a>
197
- <a name='L149'></a><a href='#L149'>149</a>
198
- <a name='L150'></a><a href='#L150'>150</a>
199
- <a name='L151'></a><a href='#L151'>151</a>
200
- <a name='L152'></a><a href='#L152'>152</a>
201
- <a name='L153'></a><a href='#L153'>153</a>
202
- <a name='L154'></a><a href='#L154'>154</a>
203
- <a name='L155'></a><a href='#L155'>155</a>
204
- <a name='L156'></a><a href='#L156'>156</a>
205
- <a name='L157'></a><a href='#L157'>157</a>
206
- <a name='L158'></a><a href='#L158'>158</a>
207
- <a name='L159'></a><a href='#L159'>159</a>
208
- <a name='L160'></a><a href='#L160'>160</a>
209
- <a name='L161'></a><a href='#L161'>161</a>
210
- <a name='L162'></a><a href='#L162'>162</a>
211
- <a name='L163'></a><a href='#L163'>163</a>
212
- <a name='L164'></a><a href='#L164'>164</a>
213
- <a name='L165'></a><a href='#L165'>165</a>
214
- <a name='L166'></a><a href='#L166'>166</a>
215
- <a name='L167'></a><a href='#L167'>167</a>
216
- <a name='L168'></a><a href='#L168'>168</a>
217
- <a name='L169'></a><a href='#L169'>169</a>
218
- <a name='L170'></a><a href='#L170'>170</a>
219
- <a name='L171'></a><a href='#L171'>171</a>
220
- <a name='L172'></a><a href='#L172'>172</a>
221
- <a name='L173'></a><a href='#L173'>173</a>
222
- <a name='L174'></a><a href='#L174'>174</a>
223
- <a name='L175'></a><a href='#L175'>175</a>
224
- <a name='L176'></a><a href='#L176'>176</a>
225
- <a name='L177'></a><a href='#L177'>177</a>
226
- <a name='L178'></a><a href='#L178'>178</a>
227
- <a name='L179'></a><a href='#L179'>179</a>
228
- <a name='L180'></a><a href='#L180'>180</a>
229
- <a name='L181'></a><a href='#L181'>181</a>
230
- <a name='L182'></a><a href='#L182'>182</a>
231
- <a name='L183'></a><a href='#L183'>183</a>
232
- <a name='L184'></a><a href='#L184'>184</a>
233
- <a name='L185'></a><a href='#L185'>185</a>
234
- <a name='L186'></a><a href='#L186'>186</a>
235
- <a name='L187'></a><a href='#L187'>187</a>
236
- <a name='L188'></a><a href='#L188'>188</a>
237
- <a name='L189'></a><a href='#L189'>189</a>
238
- <a name='L190'></a><a href='#L190'>190</a>
239
- <a name='L191'></a><a href='#L191'>191</a>
240
- <a name='L192'></a><a href='#L192'>192</a>
241
- <a name='L193'></a><a href='#L193'>193</a>
242
- <a name='L194'></a><a href='#L194'>194</a>
243
- <a name='L195'></a><a href='#L195'>195</a>
244
- <a name='L196'></a><a href='#L196'>196</a>
245
- <a name='L197'></a><a href='#L197'>197</a>
246
- <a name='L198'></a><a href='#L198'>198</a>
247
- <a name='L199'></a><a href='#L199'>199</a>
248
- <a name='L200'></a><a href='#L200'>200</a>
249
- <a name='L201'></a><a href='#L201'>201</a>
250
- <a name='L202'></a><a href='#L202'>202</a>
251
- <a name='L203'></a><a href='#L203'>203</a>
252
- <a name='L204'></a><a href='#L204'>204</a>
253
- <a name='L205'></a><a href='#L205'>205</a>
254
- <a name='L206'></a><a href='#L206'>206</a>
255
- <a name='L207'></a><a href='#L207'>207</a>
256
- <a name='L208'></a><a href='#L208'>208</a>
257
- <a name='L209'></a><a href='#L209'>209</a>
258
- <a name='L210'></a><a href='#L210'>210</a>
259
- <a name='L211'></a><a href='#L211'>211</a>
260
- <a name='L212'></a><a href='#L212'>212</a>
261
- <a name='L213'></a><a href='#L213'>213</a>
262
- <a name='L214'></a><a href='#L214'>214</a>
263
- <a name='L215'></a><a href='#L215'>215</a>
264
- <a name='L216'></a><a href='#L216'>216</a>
265
- <a name='L217'></a><a href='#L217'>217</a>
266
- <a name='L218'></a><a href='#L218'>218</a>
267
- <a name='L219'></a><a href='#L219'>219</a>
268
- <a name='L220'></a><a href='#L220'>220</a>
269
- <a name='L221'></a><a href='#L221'>221</a>
270
- <a name='L222'></a><a href='#L222'>222</a>
271
- <a name='L223'></a><a href='#L223'>223</a>
272
- <a name='L224'></a><a href='#L224'>224</a>
273
- <a name='L225'></a><a href='#L225'>225</a>
274
- <a name='L226'></a><a href='#L226'>226</a>
275
- <a name='L227'></a><a href='#L227'>227</a>
276
- <a name='L228'></a><a href='#L228'>228</a>
277
- <a name='L229'></a><a href='#L229'>229</a>
278
- <a name='L230'></a><a href='#L230'>230</a>
279
- <a name='L231'></a><a href='#L231'>231</a>
280
- <a name='L232'></a><a href='#L232'>232</a>
281
- <a name='L233'></a><a href='#L233'>233</a>
282
- <a name='L234'></a><a href='#L234'>234</a>
283
- <a name='L235'></a><a href='#L235'>235</a>
284
- <a name='L236'></a><a href='#L236'>236</a>
285
- <a name='L237'></a><a href='#L237'>237</a>
286
- <a name='L238'></a><a href='#L238'>238</a>
287
- <a name='L239'></a><a href='#L239'>239</a>
288
- <a name='L240'></a><a href='#L240'>240</a>
289
- <a name='L241'></a><a href='#L241'>241</a>
290
- <a name='L242'></a><a href='#L242'>242</a>
291
- <a name='L243'></a><a href='#L243'>243</a>
292
- <a name='L244'></a><a href='#L244'>244</a>
293
- <a name='L245'></a><a href='#L245'>245</a>
294
- <a name='L246'></a><a href='#L246'>246</a>
295
- <a name='L247'></a><a href='#L247'>247</a>
296
- <a name='L248'></a><a href='#L248'>248</a>
297
- <a name='L249'></a><a href='#L249'>249</a>
298
- <a name='L250'></a><a href='#L250'>250</a>
299
- <a name='L251'></a><a href='#L251'>251</a>
300
- <a name='L252'></a><a href='#L252'>252</a>
301
- <a name='L253'></a><a href='#L253'>253</a>
302
- <a name='L254'></a><a href='#L254'>254</a>
303
- <a name='L255'></a><a href='#L255'>255</a>
304
- <a name='L256'></a><a href='#L256'>256</a>
305
- <a name='L257'></a><a href='#L257'>257</a>
306
- <a name='L258'></a><a href='#L258'>258</a>
307
- <a name='L259'></a><a href='#L259'>259</a>
308
- <a name='L260'></a><a href='#L260'>260</a>
309
- <a name='L261'></a><a href='#L261'>261</a>
310
- <a name='L262'></a><a href='#L262'>262</a>
311
- <a name='L263'></a><a href='#L263'>263</a>
312
- <a name='L264'></a><a href='#L264'>264</a>
313
- <a name='L265'></a><a href='#L265'>265</a>
314
- <a name='L266'></a><a href='#L266'>266</a>
315
- <a name='L267'></a><a href='#L267'>267</a>
316
- <a name='L268'></a><a href='#L268'>268</a>
317
- <a name='L269'></a><a href='#L269'>269</a>
318
- <a name='L270'></a><a href='#L270'>270</a>
319
- <a name='L271'></a><a href='#L271'>271</a>
320
- <a name='L272'></a><a href='#L272'>272</a>
321
- <a name='L273'></a><a href='#L273'>273</a>
322
- <a name='L274'></a><a href='#L274'>274</a>
323
- <a name='L275'></a><a href='#L275'>275</a>
324
- <a name='L276'></a><a href='#L276'>276</a>
325
- <a name='L277'></a><a href='#L277'>277</a>
326
- <a name='L278'></a><a href='#L278'>278</a>
327
- <a name='L279'></a><a href='#L279'>279</a>
328
- <a name='L280'></a><a href='#L280'>280</a>
329
- <a name='L281'></a><a href='#L281'>281</a>
330
- <a name='L282'></a><a href='#L282'>282</a>
331
- <a name='L283'></a><a href='#L283'>283</a>
332
- <a name='L284'></a><a href='#L284'>284</a>
333
- <a name='L285'></a><a href='#L285'>285</a>
334
- <a name='L286'></a><a href='#L286'>286</a>
335
- <a name='L287'></a><a href='#L287'>287</a>
336
- <a name='L288'></a><a href='#L288'>288</a>
337
- <a name='L289'></a><a href='#L289'>289</a>
338
- <a name='L290'></a><a href='#L290'>290</a>
339
- <a name='L291'></a><a href='#L291'>291</a>
340
- <a name='L292'></a><a href='#L292'>292</a>
341
- <a name='L293'></a><a href='#L293'>293</a>
342
- <a name='L294'></a><a href='#L294'>294</a>
343
- <a name='L295'></a><a href='#L295'>295</a>
344
- <a name='L296'></a><a href='#L296'>296</a>
345
- <a name='L297'></a><a href='#L297'>297</a>
346
- <a name='L298'></a><a href='#L298'>298</a>
347
- <a name='L299'></a><a href='#L299'>299</a>
348
- <a name='L300'></a><a href='#L300'>300</a>
349
- <a name='L301'></a><a href='#L301'>301</a>
350
- <a name='L302'></a><a href='#L302'>302</a>
351
- <a name='L303'></a><a href='#L303'>303</a>
352
- <a name='L304'></a><a href='#L304'>304</a>
353
- <a name='L305'></a><a href='#L305'>305</a>
354
- <a name='L306'></a><a href='#L306'>306</a>
355
- <a name='L307'></a><a href='#L307'>307</a>
356
- <a name='L308'></a><a href='#L308'>308</a>
357
- <a name='L309'></a><a href='#L309'>309</a>
358
- <a name='L310'></a><a href='#L310'>310</a>
359
- <a name='L311'></a><a href='#L311'>311</a>
360
- <a name='L312'></a><a href='#L312'>312</a>
361
- <a name='L313'></a><a href='#L313'>313</a>
362
- <a name='L314'></a><a href='#L314'>314</a>
363
- <a name='L315'></a><a href='#L315'>315</a>
364
- <a name='L316'></a><a href='#L316'>316</a>
365
- <a name='L317'></a><a href='#L317'>317</a>
366
- <a name='L318'></a><a href='#L318'>318</a>
367
- <a name='L319'></a><a href='#L319'>319</a>
368
- <a name='L320'></a><a href='#L320'>320</a>
369
- <a name='L321'></a><a href='#L321'>321</a>
370
- <a name='L322'></a><a href='#L322'>322</a>
371
- <a name='L323'></a><a href='#L323'>323</a>
372
- <a name='L324'></a><a href='#L324'>324</a>
373
- <a name='L325'></a><a href='#L325'>325</a>
374
- <a name='L326'></a><a href='#L326'>326</a>
375
- <a name='L327'></a><a href='#L327'>327</a>
376
- <a name='L328'></a><a href='#L328'>328</a>
377
- <a name='L329'></a><a href='#L329'>329</a>
378
- <a name='L330'></a><a href='#L330'>330</a>
379
- <a name='L331'></a><a href='#L331'>331</a>
380
- <a name='L332'></a><a href='#L332'>332</a>
381
- <a name='L333'></a><a href='#L333'>333</a>
382
- <a name='L334'></a><a href='#L334'>334</a>
383
- <a name='L335'></a><a href='#L335'>335</a>
384
- <a name='L336'></a><a href='#L336'>336</a>
385
- <a name='L337'></a><a href='#L337'>337</a>
386
- <a name='L338'></a><a href='#L338'>338</a>
387
- <a name='L339'></a><a href='#L339'>339</a>
388
- <a name='L340'></a><a href='#L340'>340</a>
389
- <a name='L341'></a><a href='#L341'>341</a>
390
- <a name='L342'></a><a href='#L342'>342</a>
391
- <a name='L343'></a><a href='#L343'>343</a>
392
- <a name='L344'></a><a href='#L344'>344</a>
393
- <a name='L345'></a><a href='#L345'>345</a>
394
- <a name='L346'></a><a href='#L346'>346</a>
395
- <a name='L347'></a><a href='#L347'>347</a>
396
- <a name='L348'></a><a href='#L348'>348</a>
397
- <a name='L349'></a><a href='#L349'>349</a>
398
- <a name='L350'></a><a href='#L350'>350</a>
399
- <a name='L351'></a><a href='#L351'>351</a>
400
- <a name='L352'></a><a href='#L352'>352</a>
401
- <a name='L353'></a><a href='#L353'>353</a>
402
- <a name='L354'></a><a href='#L354'>354</a>
403
- <a name='L355'></a><a href='#L355'>355</a>
404
- <a name='L356'></a><a href='#L356'>356</a>
405
- <a name='L357'></a><a href='#L357'>357</a>
406
- <a name='L358'></a><a href='#L358'>358</a>
407
- <a name='L359'></a><a href='#L359'>359</a>
408
- <a name='L360'></a><a href='#L360'>360</a>
409
- <a name='L361'></a><a href='#L361'>361</a>
410
- <a name='L362'></a><a href='#L362'>362</a>
411
- <a name='L363'></a><a href='#L363'>363</a>
412
- <a name='L364'></a><a href='#L364'>364</a>
413
- <a name='L365'></a><a href='#L365'>365</a>
414
- <a name='L366'></a><a href='#L366'>366</a>
415
- <a name='L367'></a><a href='#L367'>367</a>
416
- <a name='L368'></a><a href='#L368'>368</a>
417
- <a name='L369'></a><a href='#L369'>369</a>
418
- <a name='L370'></a><a href='#L370'>370</a>
419
- <a name='L371'></a><a href='#L371'>371</a>
420
- <a name='L372'></a><a href='#L372'>372</a>
421
- <a name='L373'></a><a href='#L373'>373</a>
422
- <a name='L374'></a><a href='#L374'>374</a>
423
- <a name='L375'></a><a href='#L375'>375</a>
424
- <a name='L376'></a><a href='#L376'>376</a>
425
- <a name='L377'></a><a href='#L377'>377</a>
426
- <a name='L378'></a><a href='#L378'>378</a>
427
- <a name='L379'></a><a href='#L379'>379</a>
428
- <a name='L380'></a><a href='#L380'>380</a>
429
- <a name='L381'></a><a href='#L381'>381</a>
430
- <a name='L382'></a><a href='#L382'>382</a>
431
- <a name='L383'></a><a href='#L383'>383</a>
432
- <a name='L384'></a><a href='#L384'>384</a>
433
- <a name='L385'></a><a href='#L385'>385</a>
434
- <a name='L386'></a><a href='#L386'>386</a>
435
- <a name='L387'></a><a href='#L387'>387</a>
436
- <a name='L388'></a><a href='#L388'>388</a>
437
- <a name='L389'></a><a href='#L389'>389</a>
438
- <a name='L390'></a><a href='#L390'>390</a>
439
- <a name='L391'></a><a href='#L391'>391</a>
440
- <a name='L392'></a><a href='#L392'>392</a>
441
- <a name='L393'></a><a href='#L393'>393</a>
442
- <a name='L394'></a><a href='#L394'>394</a>
443
- <a name='L395'></a><a href='#L395'>395</a>
444
- <a name='L396'></a><a href='#L396'>396</a>
445
- <a name='L397'></a><a href='#L397'>397</a>
446
- <a name='L398'></a><a href='#L398'>398</a>
447
- <a name='L399'></a><a href='#L399'>399</a>
448
- <a name='L400'></a><a href='#L400'>400</a>
449
- <a name='L401'></a><a href='#L401'>401</a>
450
- <a name='L402'></a><a href='#L402'>402</a>
451
- <a name='L403'></a><a href='#L403'>403</a>
452
- <a name='L404'></a><a href='#L404'>404</a>
453
- <a name='L405'></a><a href='#L405'>405</a>
454
- <a name='L406'></a><a href='#L406'>406</a>
455
- <a name='L407'></a><a href='#L407'>407</a>
456
- <a name='L408'></a><a href='#L408'>408</a>
457
- <a name='L409'></a><a href='#L409'>409</a>
458
- <a name='L410'></a><a href='#L410'>410</a>
459
- <a name='L411'></a><a href='#L411'>411</a>
460
- <a name='L412'></a><a href='#L412'>412</a>
461
- <a name='L413'></a><a href='#L413'>413</a>
462
- <a name='L414'></a><a href='#L414'>414</a>
463
- <a name='L415'></a><a href='#L415'>415</a>
464
- <a name='L416'></a><a href='#L416'>416</a>
465
- <a name='L417'></a><a href='#L417'>417</a>
466
- <a name='L418'></a><a href='#L418'>418</a>
467
- <a name='L419'></a><a href='#L419'>419</a>
468
- <a name='L420'></a><a href='#L420'>420</a>
469
- <a name='L421'></a><a href='#L421'>421</a>
470
- <a name='L422'></a><a href='#L422'>422</a>
471
- <a name='L423'></a><a href='#L423'>423</a>
472
- <a name='L424'></a><a href='#L424'>424</a>
473
- <a name='L425'></a><a href='#L425'>425</a>
474
- <a name='L426'></a><a href='#L426'>426</a>
475
- <a name='L427'></a><a href='#L427'>427</a>
476
- <a name='L428'></a><a href='#L428'>428</a>
477
- <a name='L429'></a><a href='#L429'>429</a>
478
- <a name='L430'></a><a href='#L430'>430</a>
479
- <a name='L431'></a><a href='#L431'>431</a>
480
- <a name='L432'></a><a href='#L432'>432</a>
481
- <a name='L433'></a><a href='#L433'>433</a>
482
- <a name='L434'></a><a href='#L434'>434</a>
483
- <a name='L435'></a><a href='#L435'>435</a>
484
- <a name='L436'></a><a href='#L436'>436</a>
485
- <a name='L437'></a><a href='#L437'>437</a>
486
- <a name='L438'></a><a href='#L438'>438</a>
487
- <a name='L439'></a><a href='#L439'>439</a>
488
- <a name='L440'></a><a href='#L440'>440</a>
489
- <a name='L441'></a><a href='#L441'>441</a>
490
- <a name='L442'></a><a href='#L442'>442</a>
491
- <a name='L443'></a><a href='#L443'>443</a>
492
- <a name='L444'></a><a href='#L444'>444</a>
493
- <a name='L445'></a><a href='#L445'>445</a>
494
- <a name='L446'></a><a href='#L446'>446</a>
495
- <a name='L447'></a><a href='#L447'>447</a>
496
- <a name='L448'></a><a href='#L448'>448</a>
497
- <a name='L449'></a><a href='#L449'>449</a>
498
- <a name='L450'></a><a href='#L450'>450</a>
499
- <a name='L451'></a><a href='#L451'>451</a>
500
- <a name='L452'></a><a href='#L452'>452</a>
501
- <a name='L453'></a><a href='#L453'>453</a>
502
- <a name='L454'></a><a href='#L454'>454</a>
503
- <a name='L455'></a><a href='#L455'>455</a>
504
- <a name='L456'></a><a href='#L456'>456</a>
505
- <a name='L457'></a><a href='#L457'>457</a>
506
- <a name='L458'></a><a href='#L458'>458</a>
507
- <a name='L459'></a><a href='#L459'>459</a>
508
- <a name='L460'></a><a href='#L460'>460</a>
509
- <a name='L461'></a><a href='#L461'>461</a>
510
- <a name='L462'></a><a href='#L462'>462</a>
511
- <a name='L463'></a><a href='#L463'>463</a>
512
- <a name='L464'></a><a href='#L464'>464</a>
513
- <a name='L465'></a><a href='#L465'>465</a>
514
- <a name='L466'></a><a href='#L466'>466</a>
515
- <a name='L467'></a><a href='#L467'>467</a>
516
- <a name='L468'></a><a href='#L468'>468</a>
517
- <a name='L469'></a><a href='#L469'>469</a>
518
- <a name='L470'></a><a href='#L470'>470</a>
519
- <a name='L471'></a><a href='#L471'>471</a>
520
- <a name='L472'></a><a href='#L472'>472</a>
521
- <a name='L473'></a><a href='#L473'>473</a>
522
- <a name='L474'></a><a href='#L474'>474</a>
523
- <a name='L475'></a><a href='#L475'>475</a>
524
- <a name='L476'></a><a href='#L476'>476</a>
525
- <a name='L477'></a><a href='#L477'>477</a>
526
- <a name='L478'></a><a href='#L478'>478</a>
527
- <a name='L479'></a><a href='#L479'>479</a>
528
- <a name='L480'></a><a href='#L480'>480</a>
529
- <a name='L481'></a><a href='#L481'>481</a>
530
- <a name='L482'></a><a href='#L482'>482</a>
531
- <a name='L483'></a><a href='#L483'>483</a>
532
- <a name='L484'></a><a href='#L484'>484</a>
533
- <a name='L485'></a><a href='#L485'>485</a>
534
- <a name='L486'></a><a href='#L486'>486</a>
535
- <a name='L487'></a><a href='#L487'>487</a>
536
- <a name='L488'></a><a href='#L488'>488</a>
537
- <a name='L489'></a><a href='#L489'>489</a>
538
- <a name='L490'></a><a href='#L490'>490</a>
539
- <a name='L491'></a><a href='#L491'>491</a>
540
- <a name='L492'></a><a href='#L492'>492</a>
541
- <a name='L493'></a><a href='#L493'>493</a>
542
- <a name='L494'></a><a href='#L494'>494</a>
543
- <a name='L495'></a><a href='#L495'>495</a>
544
- <a name='L496'></a><a href='#L496'>496</a>
545
- <a name='L497'></a><a href='#L497'>497</a>
546
- <a name='L498'></a><a href='#L498'>498</a>
547
- <a name='L499'></a><a href='#L499'>499</a>
548
- <a name='L500'></a><a href='#L500'>500</a>
549
- <a name='L501'></a><a href='#L501'>501</a>
550
- <a name='L502'></a><a href='#L502'>502</a>
551
- <a name='L503'></a><a href='#L503'>503</a>
552
- <a name='L504'></a><a href='#L504'>504</a>
553
- <a name='L505'></a><a href='#L505'>505</a>
554
- <a name='L506'></a><a href='#L506'>506</a>
555
- <a name='L507'></a><a href='#L507'>507</a>
556
- <a name='L508'></a><a href='#L508'>508</a>
557
- <a name='L509'></a><a href='#L509'>509</a>
558
- <a name='L510'></a><a href='#L510'>510</a>
559
- <a name='L511'></a><a href='#L511'>511</a>
560
- <a name='L512'></a><a href='#L512'>512</a>
561
- <a name='L513'></a><a href='#L513'>513</a>
562
- <a name='L514'></a><a href='#L514'>514</a>
563
- <a name='L515'></a><a href='#L515'>515</a>
564
- <a name='L516'></a><a href='#L516'>516</a>
565
- <a name='L517'></a><a href='#L517'>517</a>
566
- <a name='L518'></a><a href='#L518'>518</a>
567
- <a name='L519'></a><a href='#L519'>519</a>
568
- <a name='L520'></a><a href='#L520'>520</a>
569
- <a name='L521'></a><a href='#L521'>521</a>
570
- <a name='L522'></a><a href='#L522'>522</a>
571
- <a name='L523'></a><a href='#L523'>523</a>
572
- <a name='L524'></a><a href='#L524'>524</a>
573
- <a name='L525'></a><a href='#L525'>525</a>
574
- <a name='L526'></a><a href='#L526'>526</a>
575
- <a name='L527'></a><a href='#L527'>527</a>
576
- <a name='L528'></a><a href='#L528'>528</a>
577
- <a name='L529'></a><a href='#L529'>529</a>
578
- <a name='L530'></a><a href='#L530'>530</a>
579
- <a name='L531'></a><a href='#L531'>531</a>
580
- <a name='L532'></a><a href='#L532'>532</a>
581
- <a name='L533'></a><a href='#L533'>533</a>
582
- <a name='L534'></a><a href='#L534'>534</a>
583
- <a name='L535'></a><a href='#L535'>535</a>
584
- <a name='L536'></a><a href='#L536'>536</a>
585
- <a name='L537'></a><a href='#L537'>537</a>
586
- <a name='L538'></a><a href='#L538'>538</a>
587
- <a name='L539'></a><a href='#L539'>539</a>
588
- <a name='L540'></a><a href='#L540'>540</a>
589
- <a name='L541'></a><a href='#L541'>541</a>
590
- <a name='L542'></a><a href='#L542'>542</a>
591
- <a name='L543'></a><a href='#L543'>543</a>
592
- <a name='L544'></a><a href='#L544'>544</a>
593
- <a name='L545'></a><a href='#L545'>545</a>
594
- <a name='L546'></a><a href='#L546'>546</a>
595
- <a name='L547'></a><a href='#L547'>547</a>
596
- <a name='L548'></a><a href='#L548'>548</a>
597
- <a name='L549'></a><a href='#L549'>549</a>
598
- <a name='L550'></a><a href='#L550'>550</a>
599
- <a name='L551'></a><a href='#L551'>551</a>
600
- <a name='L552'></a><a href='#L552'>552</a>
601
- <a name='L553'></a><a href='#L553'>553</a>
602
- <a name='L554'></a><a href='#L554'>554</a>
603
- <a name='L555'></a><a href='#L555'>555</a>
604
- <a name='L556'></a><a href='#L556'>556</a>
605
- <a name='L557'></a><a href='#L557'>557</a>
606
- <a name='L558'></a><a href='#L558'>558</a>
607
- <a name='L559'></a><a href='#L559'>559</a>
608
- <a name='L560'></a><a href='#L560'>560</a>
609
- <a name='L561'></a><a href='#L561'>561</a>
610
- <a name='L562'></a><a href='#L562'>562</a>
611
- <a name='L563'></a><a href='#L563'>563</a>
612
- <a name='L564'></a><a href='#L564'>564</a>
613
- <a name='L565'></a><a href='#L565'>565</a>
614
- <a name='L566'></a><a href='#L566'>566</a>
615
- <a name='L567'></a><a href='#L567'>567</a>
616
- <a name='L568'></a><a href='#L568'>568</a>
617
- <a name='L569'></a><a href='#L569'>569</a>
618
- <a name='L570'></a><a href='#L570'>570</a>
619
- <a name='L571'></a><a href='#L571'>571</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
620
- <span class="cline-any cline-yes">1x</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-yes">1x</span>
623
- <span class="cline-any cline-yes">1x</span>
624
- <span class="cline-any cline-neutral">&nbsp;</span>
625
- <span class="cline-any cline-neutral">&nbsp;</span>
626
- <span class="cline-any cline-yes">1x</span>
627
- <span class="cline-any cline-neutral">&nbsp;</span>
628
- <span class="cline-any cline-yes">1x</span>
629
- <span class="cline-any cline-neutral">&nbsp;</span>
630
- <span class="cline-any cline-neutral">&nbsp;</span>
631
- <span class="cline-any cline-yes">1x</span>
632
- <span class="cline-any cline-neutral">&nbsp;</span>
633
- <span class="cline-any cline-neutral">&nbsp;</span>
634
- <span class="cline-any cline-neutral">&nbsp;</span>
635
- <span class="cline-any cline-neutral">&nbsp;</span>
636
- <span class="cline-any cline-neutral">&nbsp;</span>
637
- <span class="cline-any cline-neutral">&nbsp;</span>
638
- <span class="cline-any cline-neutral">&nbsp;</span>
639
- <span class="cline-any cline-neutral">&nbsp;</span>
640
- <span class="cline-any cline-neutral">&nbsp;</span>
641
- <span class="cline-any cline-neutral">&nbsp;</span>
642
- <span class="cline-any cline-yes">1x</span>
643
- <span class="cline-any cline-neutral">&nbsp;</span>
644
- <span class="cline-any cline-neutral">&nbsp;</span>
645
- <span class="cline-any cline-neutral">&nbsp;</span>
646
- <span class="cline-any cline-neutral">&nbsp;</span>
647
- <span class="cline-any cline-neutral">&nbsp;</span>
648
- <span class="cline-any cline-neutral">&nbsp;</span>
649
- <span class="cline-any cline-neutral">&nbsp;</span>
650
- <span class="cline-any cline-neutral">&nbsp;</span>
651
- <span class="cline-any cline-neutral">&nbsp;</span>
652
- <span class="cline-any cline-no">&nbsp;</span>
653
- <span class="cline-any cline-no">&nbsp;</span>
654
- <span class="cline-any cline-no">&nbsp;</span>
655
- <span class="cline-any cline-neutral">&nbsp;</span>
656
- <span class="cline-any cline-neutral">&nbsp;</span>
657
- <span class="cline-any cline-neutral">&nbsp;</span>
658
- <span class="cline-any cline-neutral">&nbsp;</span>
659
- <span class="cline-any cline-neutral">&nbsp;</span>
660
- <span class="cline-any cline-neutral">&nbsp;</span>
661
- <span class="cline-any cline-neutral">&nbsp;</span>
662
- <span class="cline-any cline-no">&nbsp;</span>
663
- <span class="cline-any cline-no">&nbsp;</span>
664
- <span class="cline-any cline-no">&nbsp;</span>
665
- <span class="cline-any cline-neutral">&nbsp;</span>
666
- <span class="cline-any cline-neutral">&nbsp;</span>
667
- <span class="cline-any cline-neutral">&nbsp;</span>
668
- <span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-no">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-no">&nbsp;</span>
682
- <span class="cline-any cline-no">&nbsp;</span>
683
- <span class="cline-any cline-no">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-neutral">&nbsp;</span>
686
- <span class="cline-any cline-neutral">&nbsp;</span>
687
- <span class="cline-any cline-neutral">&nbsp;</span>
688
- <span class="cline-any cline-neutral">&nbsp;</span>
689
- <span class="cline-any cline-neutral">&nbsp;</span>
690
- <span class="cline-any cline-neutral">&nbsp;</span>
691
- <span class="cline-any cline-no">&nbsp;</span>
692
- <span class="cline-any cline-no">&nbsp;</span>
693
- <span class="cline-any cline-neutral">&nbsp;</span>
694
- <span class="cline-any cline-neutral">&nbsp;</span>
695
- <span class="cline-any cline-neutral">&nbsp;</span>
696
- <span class="cline-any cline-neutral">&nbsp;</span>
697
- <span class="cline-any cline-neutral">&nbsp;</span>
698
- <span class="cline-any cline-neutral">&nbsp;</span>
699
- <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-neutral">&nbsp;</span>
702
- <span class="cline-any cline-no">&nbsp;</span>
703
- <span class="cline-any cline-no">&nbsp;</span>
704
- <span class="cline-any cline-no">&nbsp;</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-neutral">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-neutral">&nbsp;</span>
712
- <span class="cline-any cline-neutral">&nbsp;</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-neutral">&nbsp;</span>
717
- <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-neutral">&nbsp;</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-neutral">&nbsp;</span>
721
- <span class="cline-any cline-neutral">&nbsp;</span>
722
- <span class="cline-any cline-neutral">&nbsp;</span>
723
- <span class="cline-any cline-neutral">&nbsp;</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-neutral">&nbsp;</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-yes">1x</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-no">&nbsp;</span>
745
- <span class="cline-any cline-no">&nbsp;</span>
746
- <span class="cline-any cline-no">&nbsp;</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-neutral">&nbsp;</span>
751
- <span class="cline-any cline-neutral">&nbsp;</span>
752
- <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-no">&nbsp;</span>
754
- <span class="cline-any cline-no">&nbsp;</span>
755
- <span class="cline-any cline-no">&nbsp;</span>
756
- <span class="cline-any cline-neutral">&nbsp;</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-neutral">&nbsp;</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-no">&nbsp;</span>
763
- <span class="cline-any cline-no">&nbsp;</span>
764
- <span class="cline-any cline-no">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-neutral">&nbsp;</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-no">&nbsp;</span>
772
- <span class="cline-any cline-no">&nbsp;</span>
773
- <span class="cline-any cline-no">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-neutral">&nbsp;</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-neutral">&nbsp;</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-no">&nbsp;</span>
782
- <span class="cline-any cline-no">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-neutral">&nbsp;</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-neutral">&nbsp;</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-no">&nbsp;</span>
790
- <span class="cline-any cline-neutral">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-neutral">&nbsp;</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-no">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-neutral">&nbsp;</span>
800
- <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-neutral">&nbsp;</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-yes">1x</span>
808
- <span class="cline-any cline-no">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-yes">1x</span>
812
- <span class="cline-any cline-no">&nbsp;</span>
813
- <span class="cline-any cline-no">&nbsp;</span>
814
- <span class="cline-any cline-no">&nbsp;</span>
815
- <span class="cline-any cline-no">&nbsp;</span>
816
- <span class="cline-any cline-neutral">&nbsp;</span>
817
- <span class="cline-any cline-no">&nbsp;</span>
818
- <span class="cline-any cline-no">&nbsp;</span>
819
- <span class="cline-any cline-neutral">&nbsp;</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-neutral">&nbsp;</span>
822
- <span class="cline-any cline-yes">1x</span>
823
- <span class="cline-any cline-no">&nbsp;</span>
824
- <span class="cline-any cline-no">&nbsp;</span>
825
- <span class="cline-any cline-no">&nbsp;</span>
826
- <span class="cline-any cline-no">&nbsp;</span>
827
- <span class="cline-any cline-neutral">&nbsp;</span>
828
- <span class="cline-any cline-no">&nbsp;</span>
829
- <span class="cline-any cline-no">&nbsp;</span>
830
- <span class="cline-any cline-neutral">&nbsp;</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-neutral">&nbsp;</span>
833
- <span class="cline-any cline-yes">1x</span>
834
- <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-no">&nbsp;</span>
836
- <span class="cline-any cline-no">&nbsp;</span>
837
- <span class="cline-any cline-no">&nbsp;</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-no">&nbsp;</span>
842
- <span class="cline-any cline-no">&nbsp;</span>
843
- <span class="cline-any cline-no">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-neutral">&nbsp;</span>
847
- <span class="cline-any cline-neutral">&nbsp;</span>
848
- <span class="cline-any cline-yes">1x</span>
849
- <span class="cline-any cline-neutral">&nbsp;</span>
850
- <span class="cline-any cline-no">&nbsp;</span>
851
- <span class="cline-any cline-neutral">&nbsp;</span>
852
- <span class="cline-any cline-neutral">&nbsp;</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-neutral">&nbsp;</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-neutral">&nbsp;</span>
862
- <span class="cline-any cline-neutral">&nbsp;</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-neutral">&nbsp;</span>
865
- <span class="cline-any cline-no">&nbsp;</span>
866
- <span class="cline-any cline-no">&nbsp;</span>
867
- <span class="cline-any cline-no">&nbsp;</span>
868
- <span class="cline-any cline-neutral">&nbsp;</span>
869
- <span class="cline-any cline-neutral">&nbsp;</span>
870
- <span class="cline-any cline-no">&nbsp;</span>
871
- <span class="cline-any cline-no">&nbsp;</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-neutral">&nbsp;</span>
874
- <span class="cline-any cline-no">&nbsp;</span>
875
- <span class="cline-any cline-no">&nbsp;</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-neutral">&nbsp;</span>
878
- <span class="cline-any cline-no">&nbsp;</span>
879
- <span class="cline-any cline-no">&nbsp;</span>
880
- <span class="cline-any cline-no">&nbsp;</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-neutral">&nbsp;</span>
887
- <span class="cline-any cline-no">&nbsp;</span>
888
- <span class="cline-any cline-no">&nbsp;</span>
889
- <span class="cline-any cline-no">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-no">&nbsp;</span>
893
- <span class="cline-any cline-no">&nbsp;</span>
894
- <span class="cline-any cline-no">&nbsp;</span>
895
- <span class="cline-any cline-no">&nbsp;</span>
896
- <span class="cline-any cline-neutral">&nbsp;</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-neutral">&nbsp;</span>
899
- <span class="cline-any cline-neutral">&nbsp;</span>
900
- <span class="cline-any cline-neutral">&nbsp;</span>
901
- <span class="cline-any cline-no">&nbsp;</span>
902
- <span class="cline-any cline-no">&nbsp;</span>
903
- <span class="cline-any cline-neutral">&nbsp;</span>
904
- <span class="cline-any cline-no">&nbsp;</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-no">&nbsp;</span>
907
- <span class="cline-any cline-no">&nbsp;</span>
908
- <span class="cline-any cline-neutral">&nbsp;</span>
909
- <span class="cline-any cline-no">&nbsp;</span>
910
- <span class="cline-any cline-no">&nbsp;</span>
911
- <span class="cline-any cline-no">&nbsp;</span>
912
- <span class="cline-any cline-no">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-no">&nbsp;</span>
916
- <span class="cline-any cline-no">&nbsp;</span>
917
- <span class="cline-any cline-no">&nbsp;</span>
918
- <span class="cline-any cline-no">&nbsp;</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-neutral">&nbsp;</span>
921
- <span class="cline-any cline-no">&nbsp;</span>
922
- <span class="cline-any cline-no">&nbsp;</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-no">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-no">&nbsp;</span>
927
- <span class="cline-any cline-no">&nbsp;</span>
928
- <span class="cline-any cline-no">&nbsp;</span>
929
- <span class="cline-any cline-no">&nbsp;</span>
930
- <span class="cline-any cline-no">&nbsp;</span>
931
- <span class="cline-any cline-no">&nbsp;</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-no">&nbsp;</span>
935
- <span class="cline-any cline-no">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-neutral">&nbsp;</span>
939
- <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-no">&nbsp;</span>
941
- <span class="cline-any cline-no">&nbsp;</span>
942
- <span class="cline-any cline-no">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-neutral">&nbsp;</span>
945
- <span class="cline-any cline-neutral">&nbsp;</span>
946
- <span class="cline-any cline-no">&nbsp;</span>
947
- <span class="cline-any cline-no">&nbsp;</span>
948
- <span class="cline-any cline-no">&nbsp;</span>
949
- <span class="cline-any cline-no">&nbsp;</span>
950
- <span class="cline-any cline-neutral">&nbsp;</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-no">&nbsp;</span>
953
- <span class="cline-any cline-no">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-no">&nbsp;</span>
956
- <span class="cline-any cline-no">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-no">&nbsp;</span>
959
- <span class="cline-any cline-no">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-no">&nbsp;</span>
962
- <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-no">&nbsp;</span>
964
- <span class="cline-any cline-no">&nbsp;</span>
965
- <span class="cline-any cline-no">&nbsp;</span>
966
- <span class="cline-any cline-no">&nbsp;</span>
967
- <span class="cline-any cline-no">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-no">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-no">&nbsp;</span>
973
- <span class="cline-any cline-no">&nbsp;</span>
974
- <span class="cline-any cline-no">&nbsp;</span>
975
- <span class="cline-any cline-neutral">&nbsp;</span>
976
- <span class="cline-any cline-neutral">&nbsp;</span>
977
- <span class="cline-any cline-neutral">&nbsp;</span>
978
- <span class="cline-any cline-no">&nbsp;</span>
979
- <span class="cline-any cline-no">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-no">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
- <span class="cline-any cline-no">&nbsp;</span>
986
- <span class="cline-any cline-no">&nbsp;</span>
987
- <span class="cline-any cline-neutral">&nbsp;</span>
988
- <span class="cline-any cline-no">&nbsp;</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-neutral">&nbsp;</span>
991
- <span class="cline-any cline-no">&nbsp;</span>
992
- <span class="cline-any cline-no">&nbsp;</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-no">&nbsp;</span>
995
- <span class="cline-any cline-no">&nbsp;</span>
996
- <span class="cline-any cline-no">&nbsp;</span>
997
- <span class="cline-any cline-no">&nbsp;</span>
998
- <span class="cline-any cline-no">&nbsp;</span>
999
- <span class="cline-any cline-no">&nbsp;</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-no">&nbsp;</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-no">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-neutral">&nbsp;</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-no">&nbsp;</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-no">&nbsp;</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-no">&nbsp;</span>
1015
- <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-no">&nbsp;</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-no">&nbsp;</span>
1020
- <span class="cline-any cline-no">&nbsp;</span>
1021
- <span class="cline-any cline-neutral">&nbsp;</span>
1022
- <span class="cline-any cline-neutral">&nbsp;</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-neutral">&nbsp;</span>
1025
- <span class="cline-any cline-neutral">&nbsp;</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-no">&nbsp;</span>
1031
- <span class="cline-any cline-no">&nbsp;</span>
1032
- <span class="cline-any cline-neutral">&nbsp;</span>
1033
- <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-no">&nbsp;</span>
1035
- <span class="cline-any cline-neutral">&nbsp;</span>
1036
- <span class="cline-any cline-neutral">&nbsp;</span>
1037
- <span class="cline-any cline-neutral">&nbsp;</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-no">&nbsp;</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-yes">1x</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-no">&nbsp;</span>
1050
- <span class="cline-any cline-neutral">&nbsp;</span>
1051
- <span class="cline-any cline-no">&nbsp;</span>
1052
- <span class="cline-any cline-no">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-no">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-no">&nbsp;</span>
1058
- <span class="cline-any cline-no">&nbsp;</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-neutral">&nbsp;</span>
1061
- <span class="cline-any cline-no">&nbsp;</span>
1062
- <span class="cline-any cline-no">&nbsp;</span>
1063
- <span class="cline-any cline-neutral">&nbsp;</span>
1064
- <span class="cline-any cline-no">&nbsp;</span>
1065
- <span class="cline-any cline-neutral">&nbsp;</span>
1066
- <span class="cline-any cline-neutral">&nbsp;</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-neutral">&nbsp;</span>
1069
- <span class="cline-any cline-neutral">&nbsp;</span>
1070
- <span class="cline-any cline-neutral">&nbsp;</span>
1071
- <span class="cline-any cline-yes">1x</span>
1072
- <span class="cline-any cline-no">&nbsp;</span>
1073
- <span class="cline-any cline-no">&nbsp;</span>
1074
- <span class="cline-any cline-no">&nbsp;</span>
1075
- <span class="cline-any cline-neutral">&nbsp;</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-neutral">&nbsp;</span>
1079
- <span class="cline-any cline-neutral">&nbsp;</span>
1080
- <span class="cline-any cline-neutral">&nbsp;</span>
1081
- <span class="cline-any cline-no">&nbsp;</span>
1082
- <span class="cline-any cline-no">&nbsp;</span>
1083
- <span class="cline-any cline-no">&nbsp;</span>
1084
- <span class="cline-any cline-no">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-neutral">&nbsp;</span>
1087
- <span class="cline-any cline-neutral">&nbsp;</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-neutral">&nbsp;</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-no">&nbsp;</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-neutral">&nbsp;</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-neutral">&nbsp;</span>
1108
- <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-neutral">&nbsp;</span>
1117
- <span class="cline-any cline-neutral">&nbsp;</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-neutral">&nbsp;</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-neutral">&nbsp;</span>
1126
- <span class="cline-any cline-neutral">&nbsp;</span>
1127
- <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-neutral">&nbsp;</span>
1129
- <span class="cline-any cline-neutral">&nbsp;</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-neutral">&nbsp;</span>
1132
- <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-yes">1x</span>
1134
- <span class="cline-any cline-yes">2x</span>
1135
- <span class="cline-any cline-neutral">&nbsp;</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-no">&nbsp;</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-no">&nbsp;</span>
1140
- <span class="cline-any cline-no">&nbsp;</span>
1141
- <span class="cline-any cline-no">&nbsp;</span>
1142
- <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-neutral">&nbsp;</span>
1144
- <span class="cline-any cline-no">&nbsp;</span>
1145
- <span class="cline-any cline-no">&nbsp;</span>
1146
- <span class="cline-any cline-neutral">&nbsp;</span>
1147
- <span class="cline-any cline-no">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-neutral">&nbsp;</span>
1150
- <span class="cline-any cline-no">&nbsp;</span>
1151
- <span class="cline-any cline-no">&nbsp;</span>
1152
- <span class="cline-any cline-neutral">&nbsp;</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-neutral">&nbsp;</span>
1156
- <span class="cline-any cline-neutral">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-neutral">&nbsp;</span>
1159
- <span class="cline-any cline-no">&nbsp;</span>
1160
- <span class="cline-any cline-neutral">&nbsp;</span>
1161
- <span class="cline-any cline-neutral">&nbsp;</span>
1162
- <span class="cline-any cline-neutral">&nbsp;</span>
1163
- <span class="cline-any cline-neutral">&nbsp;</span>
1164
- <span class="cline-any cline-no">&nbsp;</span>
1165
- <span class="cline-any cline-no">&nbsp;</span>
1166
- <span class="cline-any cline-neutral">&nbsp;</span>
1167
- <span class="cline-any cline-neutral">&nbsp;</span>
1168
- <span class="cline-any cline-no">&nbsp;</span>
1169
- <span class="cline-any cline-no">&nbsp;</span>
1170
- <span class="cline-any cline-neutral">&nbsp;</span>
1171
- <span class="cline-any cline-neutral">&nbsp;</span>
1172
- <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-no">&nbsp;</span>
1174
- <span class="cline-any cline-no">&nbsp;</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-no">&nbsp;</span>
1178
- <span class="cline-any cline-no">&nbsp;</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-neutral">&nbsp;</span>
1181
- <span class="cline-any cline-neutral">&nbsp;</span>
1182
- <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-neutral">&nbsp;</span>
1184
- <span class="cline-any cline-yes">2x</span>
1185
- <span class="cline-any cline-neutral">&nbsp;</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-neutral">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">var multiparty = require("multiparty");
1190
- var xlsx = require("node-xlsx");
1191
- // var util = require("util");
1192
- var path = require("path");
1193
- var parseAdditionalSheets = require(__dirname + "/additional-sheet-parser");
1194
- // var cytoscape = require("cytoscape"); //NOTE: Commented out for issue #474
1195
- &nbsp;
1196
- var helpers = require(__dirname + "/helpers");
1197
- &nbsp;
1198
- var semanticChecker = require(__dirname + "/semantic-checker");
1199
- &nbsp;
1200
- // Currently only going to number 76 because currently the network errors out at 75+ genes.
1201
- var numbersToLetters = {0:"A", 1:"B", 2:"C", 3:"D", 4:"E", 5:"F", 6:"G", 7:"H", 8: "I", 9:"J", 10:"K", 11:"L",
1202
- 12:"M", 13:"N", 14:"O", 15:"P", 16:"Q", 17:"R", 18:"S", 19:"T", 20:"U", 21:"V", 22:"W", 23:"X", 24:"Y",
1203
- 25:"Z", 26:"AA", 27:"AB", 28:"AC", 29:"AD", 30:"AE", 31:"AF", 32:"AG", 33:"AH", 34:"AI", 35:"AJ", 36:"AK",
1204
- 37:"AL", 38:"AM", 39:"AN", 40:"AO", 41:"AP", 42:"AQ", 43:"AR", 44:"AS", 45:"AT", 46:"AU", 47:"AV", 48:"AW",
1205
- 49:"AX", 51:"AY", 52:"AZ", 53:"BA", 54:"BB", 55:"BC", 56:"BD", 57:"BE", 58:"BF", 59:"BG", 60:"BH", 61:"BI",
1206
- 62:"BJ", 63:"BK", 64:"BL", 65:"BM", 66:"BN", 67:"BO", 68:"BP", 69:"BQ", 70:"BR", 71:"BS", 72:"BT", 73:"BU",
1207
- 74:"BV", 75:"BW", 76:"BX"};
1208
- &nbsp;
1209
- // TODO: Put this and the warnings list into helpers.
1210
- // This is the massive list of errors. Yay!
1211
- // The graph will not load if an error is detected.
1212
- var errorList = {
1213
- missingNetworkError: {
1214
- errorCode: "MISSING_NETWORK",
1215
- possibleCause: "This file does not have a 'network' sheet or a 'network_optimized_weights' sheet.",
1216
- suggestedFix: "Please select another file, or rename the sheet containing the adjacency matrix accordingly. \
1217
- Please refer to the " + "&lt;a href='http://dondi.github.io/GRNsight/documentation.html#section1' \
1218
- target='_blank'&gt;Documentation page&lt;/a&gt; for more information."
1219
- },
1220
- &nbsp;
1221
- corruptGeneError: <span class="fstat-no" title="function not covered" >fu</span>nction (row, column) {
1222
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1223
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1224
- <span class="cstat-no" title="statement not covered" > return {</span>
1225
- errorCode: "CORRUPT_GENE",
1226
- possibleCause: "The gene name in cell " + colLetter + rowNum + " appears to be invalid.",
1227
- suggestedFix: "Please fix the error and try uploading again."
1228
- };
1229
- },
1230
- &nbsp;
1231
- missingValueError: <span class="fstat-no" title="function not covered" >fu</span>nction (row, column) {
1232
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1233
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1234
- <span class="cstat-no" title="statement not covered" > return {</span>
1235
- errorCode: "MISSING_VALUE",
1236
- possibleCause: "The value in the cell " + colLetter + rowNum +
1237
- " in the adjacency matrix appears to have a missing value.",
1238
- suggestedFix: "Please ensure that all cells have a value, then upload the file again."
1239
- };
1240
- },
1241
- &nbsp;
1242
- duplicateGeneError: <span class="fstat-no" title="function not covered" >fu</span>nction (geneType, geneName) {
1243
- <span class="cstat-no" title="statement not covered" > return {</span>
1244
- errorCode: "DUPLICATE_GENE",
1245
- possibleCause: "There exists a duplicate for " + geneType + " gene " + geneName + ".",
1246
- suggestedFix: "Please remove the duplicate gene and submit again."
1247
- };
1248
- },
1249
- &nbsp;
1250
- dataTypeError: <span class="fstat-no" title="function not covered" >fu</span>nction (row, column) {
1251
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1252
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1253
- <span class="cstat-no" title="statement not covered" > return {</span>
1254
- errorCode: "INVALID_CELL_DATA_TYPE",
1255
- possibleCause: "The value in cell " + colLetter + rowNum + " is not a number.",
1256
- suggestedFix: "Please ensure all values in the data matrix are numbers and try again."
1257
- };
1258
- },
1259
- &nbsp;
1260
- emptyRowError: <span class="fstat-no" title="function not covered" >fu</span>nction (row) {
1261
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1262
- <span class="cstat-no" title="statement not covered" > return {</span>
1263
- errorCode: "EMPTY_ROW",
1264
- possibleCause: "Row " + rowNum + " does not contain any data.",
1265
- suggestedFix: "Please ensure all rows contain data and all empty rows are removed. " +
1266
- "Also, please ensure that no extraneous data is outside of the matrix, " +
1267
- "as this may cause this error."
1268
- };
1269
- },
1270
- &nbsp;
1271
- outsideCellError: <span class="fstat-no" title="function not covered" >fu</span>nction (row, column) {
1272
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1273
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1274
- <span class="cstat-no" title="statement not covered" > return {</span>
1275
- errorCode: "EMPTY_CELL",
1276
- possibleCause: "The cell at " + colLetter + rowNum + " contains data that is outside the matrix.",
1277
- suggestedFix: "Please remove all extraneous data from outside the matrix and ensure" +
1278
- " the matrix is "
1279
- };
1280
- },
1281
- &nbsp;
1282
- errorsCountError: {
1283
- errorCode: "ERRORS_OVERLOAD",
1284
- possibleCause: "This network has over 20 errors.",
1285
- suggestedFix: "Please check the format of your spreadsheet with the guidlines outlined on the" +
1286
- "Documentation page and try again. If you fix these errors and try to upload again, there may be " +
1287
- "further errors detected. As a general approach for fixing the errors, consider copying and " +
1288
- "pasting just your adjacency matrix into a fresh Excel Workbook and saving it."
1289
- },
1290
- &nbsp;
1291
- warningsCountError: {
1292
- errorCode: "WARNINGS_OVERLOAD",
1293
- possibleCause: "This network has over 75 warnings.",
1294
- suggestedFix: "Please check the format of your spreadsheet with the guidlines outlined on the" +
1295
- " Documentation page and try again. If you fix these errors and try to upload again, there may be " +
1296
- " further errors detected. As a general approach for fixing the errors, consider copying and " +
1297
- " pasting just your adjacency matrix into a fresh Excel Workbook and saving it."
1298
- },
1299
- &nbsp;
1300
- unknownError: {
1301
- errorCode: "UNKNOWN_ERROR",
1302
- possibleCause: "An unexpected error occurred.",
1303
- suggestedFix: "Please contact the GRNsight team at kdahlquist@lmu.edu, \
1304
- and attach the spreadsheet you attempted to upload."
1305
- }
1306
- &nbsp;
1307
- };
1308
- &nbsp;
1309
- &nbsp;
1310
- // This is the list of warnings.
1311
- // The graph will still load if warnings are detected, but these will be reported to the user.
1312
- var warningsList = {
1313
- missingSourceGeneWarning: <span class="fstat-no" title="function not covered" >fu</span>nction (row, column) {
1314
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1315
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1316
- <span class="cstat-no" title="statement not covered" > return {</span>
1317
- warningCode: "MISSING_SOURCE",
1318
- errorDescription: "A source gene name is missing in cell " + colLetter + rowNum + "."
1319
- };
1320
- },
1321
- &nbsp;
1322
- missingTargetGeneWarning: <span class="fstat-no" title="function not covered" >fu</span>nction (row, column) {
1323
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1324
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1325
- <span class="cstat-no" title="statement not covered" > return {</span>
1326
- warningCode: "MISSING_TARGET",
1327
- errorDescription: "A target gene name is missing in cell " + colLetter + rowNum + "."
1328
- };
1329
- },
1330
- &nbsp;
1331
- invalidMatrixDataWarning: <span class="fstat-no" title="function not covered" >fu</span>nction (row, column) {
1332
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1333
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1334
- <span class="cstat-no" title="statement not covered" > return {</span>
1335
- warningCode: "INVALID_DATA",
1336
- errorDescription: "The value in cell " + colLetter + rowNum + ", is undefined."
1337
- };
1338
- },
1339
- &nbsp;
1340
- randomDataWarning: <span class="fstat-no" title="function not covered" >fu</span>nction (type, row, column) {
1341
- var colLetter = <span class="cstat-no" title="statement not covered" >numbersToLetters[column];</span>
1342
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1343
- <span class="cstat-no" title="statement not covered" > return {</span>
1344
- warningCode: "RANDOM_DATA",
1345
- errorDescription: "The value in cell " + colLetter + rowNum +
1346
- ", has a corresponding source and/or target gene that is detected as " + type + "."
1347
- };
1348
- },
1349
- &nbsp;
1350
- emptyRowWarning: <span class="fstat-no" title="function not covered" >fu</span>nction (row) {
1351
- var rowNum = <span class="cstat-no" title="statement not covered" >row + 1;</span>
1352
- <span class="cstat-no" title="statement not covered" > return {</span>
1353
- warningCode: "EMPTY_ROW",
1354
- errorDescription: "Row " + rowNum + " was found to contain no data."
1355
- };
1356
- },
1357
- &nbsp;
1358
- networkSizeWarning: <span class="fstat-no" title="function not covered" >fu</span>nction (genesLength, edgesLength) {
1359
- <span class="cstat-no" title="statement not covered" > return {</span>
1360
- warningCode: "INVALID_NETWORK_SIZE",
1361
- errorDescription: "Your network has " + genesLength + " genes, and " + edgesLength +
1362
- " edges. Please note that networks are recommended to have less than 50 genes and 100 edges."
1363
- };
1364
- },
1365
- &nbsp;
1366
- incorrectlyNamedSheetWarning: <span class="fstat-no" title="function not covered" >fu</span>nction () {
1367
- <span class="cstat-no" title="statement not covered" > return {</span>
1368
- warningCode: "INCORRECTLY_NAMED_SHEET",
1369
- errorDescription: "The uploaded file appears to contain a weighted network, but contains no \
1370
- 'network_optimized_weights' sheet. A weighted network must be contained in a sheet called \
1371
- 'network_optimized_weights' in order to be drawn as a weighted graph. \
1372
- Please check if the sheet(s) in the uploaded spreadsheet have been named properly."
1373
- };
1374
- }
1375
- };
1376
- &nbsp;
1377
- var addMessageToArray = <span class="fstat-no" title="function not covered" >fu</span>nction (messageArray, message) {
1378
- <span class="cstat-no" title="statement not covered" > messageArray.push(message);</span>
1379
- };
1380
- &nbsp;
1381
- var addWarning = <span class="fstat-no" title="function not covered" >fu</span>nction (network, message) {
1382
- var warningsCount = <span class="cstat-no" title="statement not covered" >network.warnings.length;</span>
1383
- var MAX_WARNINGS = <span class="cstat-no" title="statement not covered" >75;</span>
1384
- <span class="cstat-no" title="statement not covered" > if (warningsCount &lt; MAX_WARNINGS) {</span>
1385
- <span class="cstat-no" title="statement not covered" > addMessageToArray(network.warnings, message);</span>
1386
- } else {
1387
- <span class="cstat-no" title="statement not covered" > addMessageToArray(network.errors, errorList.warningsCountError);</span>
1388
- <span class="cstat-no" title="statement not covered" > return false;</span>
1389
- }
1390
- };
1391
- &nbsp;
1392
- var addError = <span class="fstat-no" title="function not covered" >fu</span>nction (network, message) {
1393
- var errorsCount = <span class="cstat-no" title="statement not covered" >network.errors.length;</span>
1394
- var MAX_ERRORS = <span class="cstat-no" title="statement not covered" >20;</span>
1395
- <span class="cstat-no" title="statement not covered" > if (errorsCount &lt; MAX_ERRORS) {</span>
1396
- <span class="cstat-no" title="statement not covered" > addMessageToArray(network.errors, message);</span>
1397
- } else {
1398
- <span class="cstat-no" title="statement not covered" > addMessageToArray(network.errors, errorList.errorsCountError);</span>
1399
- <span class="cstat-no" title="statement not covered" > return false;</span>
1400
- }
1401
- };
1402
- &nbsp;
1403
- var checkDuplicates = <span class="fstat-no" title="function not covered" >fu</span>nction (errorArray, sourceGenes, targetGenes) {
1404
- // Run through the source genes and check if the gene in slot i is the same as the one next to it
1405
- <span class="cstat-no" title="statement not covered" > for (var i = 0; i &lt; sourceGenes.length - 1; i++) {</span>
1406
- <span class="cstat-no" title="statement not covered" > if (sourceGenes[i] === sourceGenes[i + 1]) {</span>
1407
- <span class="cstat-no" title="statement not covered" > errorArray.push(errorList.duplicateGeneError("source", sourceGenes[i]));</span>
1408
- }
1409
- }
1410
- // Run through the target genes and check if the gene in slot j is the same as the one next to it
1411
- <span class="cstat-no" title="statement not covered" > for (var j = 0; j &lt; targetGenes.length - 1; j++) {</span>
1412
- <span class="cstat-no" title="statement not covered" > if (targetGenes[j] === targetGenes[j + 1]) {</span>
1413
- <span class="cstat-no" title="statement not covered" > errorArray.push(errorList.duplicateGeneError("target", targetGenes[j]));</span>
1414
- }
1415
- }
1416
- };
1417
- &nbsp;
1418
- var parseSheet = <span class="fstat-no" title="function not covered" >fu</span>nction (sheet) {
1419
- var currentSheet;
1420
- var network = <span class="cstat-no" title="statement not covered" >{</span>
1421
- genes: [],
1422
- links: [],
1423
- errors: [],
1424
- warnings: [],
1425
- positiveWeights: [],
1426
- negativeWeights: [],
1427
- sheetType: "unweighted",
1428
- };
1429
- var currentLink;
1430
- var currentGene;
1431
- var sourceGene;
1432
- var targetGene;
1433
- var sourceGeneNumber;
1434
- var targetGeneNumber;
1435
- var genesList = <span class="cstat-no" title="statement not covered" >[];</span> // This will contain all of the genes in upper case for use in error checking
1436
- var sourceGenes = <span class="cstat-no" title="statement not covered" >[];</span>
1437
- var targetGenes = <span class="cstat-no" title="statement not covered" >[];</span>
1438
- &nbsp;
1439
- // Look for the worksheet containing the network data
1440
- <span class="cstat-no" title="statement not covered" > for (var i = 0; i &lt; sheet.length; i++) {</span>
1441
- <span class="cstat-no" title="statement not covered" > if (sheet[i].name === "network") {</span>
1442
- // Here we have found a sheet containing simple data. We keep looking
1443
- // in case there is also a sheet with optimized weights
1444
- <span class="cstat-no" title="statement not covered" > currentSheet = sheet[i];</span>
1445
- } else <span class="cstat-no" title="statement not covered" >if (sheet[i].name === "network_optimized_weights") {</span>
1446
- // We found a sheet with optimized weights, which is the ideal data source.
1447
- // So we stop looking.
1448
- <span class="cstat-no" title="statement not covered" > currentSheet = sheet[i];</span>
1449
- <span class="cstat-no" title="statement not covered" > network.sheetType = "weighted";</span>
1450
- <span class="cstat-no" title="statement not covered" > break;</span>
1451
- }
1452
- }
1453
- &nbsp;
1454
- // If it didn't find a network/network_optimized_weights sheet
1455
- // TODO For expediency, we are wrapping every `return network` statement in `semanticChecker`.
1456
- // Some refactoring may be desirable to prevent excessive repetition.
1457
- <span class="cstat-no" title="statement not covered" > if (currentSheet === undefined) {</span>
1458
- <span class="cstat-no" title="statement not covered" > addError(network, errorList.missingNetworkError);</span>
1459
- <span class="cstat-no" title="statement not covered" > return network;</span>
1460
- }
1461
- &nbsp;
1462
- <span class="cstat-no" title="statement not covered" > for (var row = 0, column = 1; row &lt; currentSheet.data.length; row++) {</span>
1463
- <span class="cstat-no" title="statement not covered" > if (currentSheet.data[row].length === 0) { // if the current row is empty</span>
1464
- <span class="cstat-no" title="statement not covered" > if (addError(network, errorList.emptyRowError(row)) === false) {</span>
1465
- <span class="cstat-no" title="statement not covered" > return network;</span>
1466
- }
1467
- } else { // if the row has data...
1468
- // Genes found when row = 0 are targets. Genes found when column = 0 are source genes.
1469
- // We set column = 1 in the for loop so it skips row 0 column 0, since that contains no matrix data.
1470
- // Yes, the rows and columns use array numbering. That is, they start at 0, not 1.
1471
- <span class="cstat-no" title="statement not covered" > try { // This prevents the server from crashing if something goes wrong anywhere in here</span>
1472
- <span class="cstat-no" title="statement not covered" > while (column &lt; currentSheet.data[row].length) {</span>
1473
- // While we haven't gone through all of the columns in this row...
1474
- <span class="cstat-no" title="statement not covered" > if (row === 0) { // If we are at the top of a new column...</span>
1475
- // These genes are the source genes
1476
- <span class="cstat-no" title="statement not covered" > try {</span>
1477
- <span class="cstat-no" title="statement not covered" > currentGene = {name: currentSheet.data[0][column]};</span>
1478
- // ie: Cin5 is the same as cin5
1479
- <span class="cstat-no" title="statement not covered" > if (currentGene.name === undefined) {</span>
1480
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.missingSourceGeneWarning(row, column));</span>
1481
- } else <span class="cstat-no" title="statement not covered" >if (isNaN(currentGene.name) &amp;&amp; typeof currentGene.name !== "string") {</span>
1482
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.missingSourceGeneWarning(row, column));</span>
1483
- } else {
1484
- // set currentGeneName to a String so toUpperCase doesn't mess up
1485
- <span class="cstat-no" title="statement not covered" > currentGene.name = currentGene.name.toString();</span>
1486
- <span class="cstat-no" title="statement not covered" > sourceGenes.push(String(currentGene.name.toUpperCase()));</span>
1487
- <span class="cstat-no" title="statement not covered" > genesList.push(String(currentGene.name.toUpperCase()));</span>
1488
- <span class="cstat-no" title="statement not covered" > network.genes.push(currentGene);</span>
1489
- }
1490
- } catch (err) {
1491
- <span class="cstat-no" title="statement not covered" > addError(network, errorList.corruptGeneError(row, column));</span>
1492
- <span class="cstat-no" title="statement not covered" > return network;</span>
1493
- }
1494
- } else <span class="cstat-no" title="statement not covered" >if (column === 0) { // If we are at the far left of a new row...</span>
1495
- // These genes are the target genes
1496
- <span class="cstat-no" title="statement not covered" > try {</span>
1497
- <span class="cstat-no" title="statement not covered" > currentGene = {name: currentSheet.data[row][0]};</span>
1498
- <span class="cstat-no" title="statement not covered" > if (currentGene.name === undefined) {</span>
1499
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.missingTargetGeneWarning(row, column));</span>
1500
- } else <span class="cstat-no" title="statement not covered" >if (isNaN(currentGene.name) &amp;&amp; typeof currentGene.name !== "string") {</span>
1501
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.missingTargetGeneWarning(row, column));</span>
1502
- } else {
1503
- // set currentGeneName to a String so toUpperCase doesn't mess up
1504
- <span class="cstat-no" title="statement not covered" > currentGene.name = currentGene.name.toString();</span>
1505
- <span class="cstat-no" title="statement not covered" > targetGenes.push(String(currentGene.name.toUpperCase()));</span>
1506
- // Here we check to see if we've already seen the gene name that we're about to store
1507
- // Genes may or may not be present due to asymmetry or unorderedness
1508
- // If it's in the genesList, it will return a number &gt; 0, so we won't store it
1509
- // If it's not there, it will return -1, so we add it.
1510
- <span class="cstat-no" title="statement not covered" > if (genesList.indexOf(String(currentGene.name.toUpperCase())) === -1) {</span>
1511
- <span class="cstat-no" title="statement not covered" > genesList.push(String(currentGene.name.toUpperCase()));</span>
1512
- <span class="cstat-no" title="statement not covered" > network.genes.push(currentGene);</span>
1513
- }
1514
- }
1515
- } catch (err) {
1516
- <span class="cstat-no" title="statement not covered" > sourceGene = currentSheet.data[0][column];</span>
1517
- <span class="cstat-no" title="statement not covered" > targetGene = currentSheet.data[row][0];</span>
1518
- <span class="cstat-no" title="statement not covered" > addError(network, errorList.corruptGeneError(row, column));</span>
1519
- <span class="cstat-no" title="statement not covered" > return network;</span>
1520
- }
1521
- } else { // If we're within the matrix and lookin' at the data...
1522
- <span class="cstat-no" title="statement not covered" > try {</span>
1523
- <span class="cstat-no" title="statement not covered" > if (currentSheet.data[row][column] === undefined) {</span>
1524
- // SHOULD BE: addError(network, errorList.missingValueError(row, column));
1525
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.invalidMatrixDataWarning(row, column));</span>
1526
- } else <span class="cstat-no" title="statement not covered" >if (isNaN(+("" + currentSheet.data[row][column])) ||</span>
1527
- typeof currentSheet.data[row][column] !== "number") {
1528
- <span class="cstat-no" title="statement not covered" > addError(network, errorList.dataTypeError(row, column));</span>
1529
- <span class="cstat-no" title="statement not covered" > return network;</span>
1530
- } else {
1531
- <span class="cstat-no" title="statement not covered" > if (currentSheet.data[row][column] !== 0) { // We only care about non-zero values</span>
1532
- // Grab the source and target genes' names
1533
- <span class="cstat-no" title="statement not covered" > sourceGene = currentSheet.data[0][column];</span>
1534
- <span class="cstat-no" title="statement not covered" > targetGene = currentSheet.data[row][0];</span>
1535
- <span class="cstat-no" title="statement not covered" > if (sourceGene === undefined || targetGene === undefined) {</span>
1536
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.randomDataWarning("undefined", row, column));</span>
1537
- } else <span class="cstat-no" title="statement not covered" >if ((isNaN(sourceGene) &amp;&amp; typeof sourceGene !== "string") ||</span>
1538
- (isNaN(targetGene) &amp;&amp; typeof targetGene !== "string")) {
1539
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.randomDataWarning("NaN", row, column));</span>
1540
- } else {
1541
- // Grab the source and target genes' numbers
1542
- <span class="cstat-no" title="statement not covered" > sourceGeneNumber = genesList.indexOf(sourceGene.toString().toUpperCase());</span>
1543
- <span class="cstat-no" title="statement not covered" > targetGeneNumber = genesList.indexOf(targetGene.toString().toUpperCase());</span>
1544
- <span class="cstat-no" title="statement not covered" > currentLink = {source: sourceGeneNumber, target: targetGeneNumber,</span>
1545
- value: currentSheet.data[row][column]};
1546
- // Here we set the properties of the current link
1547
- // before we push them to the network
1548
- <span class="cstat-no" title="statement not covered" > if (network.sheetType === "weighted") {</span>
1549
- <span class="cstat-no" title="statement not covered" > if (currentLink.value &gt; 0) {</span>
1550
- // If it's a positive number, mark it as an activator
1551
- <span class="cstat-no" title="statement not covered" > currentLink.type = "arrowhead";</span>
1552
- // GRNsight v1 magenta edge color
1553
- // currentLink.stroke = "MediumVioletRed";
1554
- // Node coloring-consistent red edge color
1555
- <span class="cstat-no" title="statement not covered" > currentLink.stroke = "rgb(195, 61, 61)";</span>
1556
- <span class="cstat-no" title="statement not covered" > network.positiveWeights.push(currentLink.value);</span>
1557
- } else { // if it's a negative number, mark it as a repressor
1558
- <span class="cstat-no" title="statement not covered" > currentLink.type = "repressor";</span>
1559
- // currentLink.stroke = "DarkTurquoise"; // GRNsight v1 cyan edge color
1560
- // Node coloring-consistent blue edge color
1561
- <span class="cstat-no" title="statement not covered" > currentLink.stroke = "rgb(51, 124, 183)";</span>
1562
- <span class="cstat-no" title="statement not covered" > network.negativeWeights.push(currentLink.value);</span>
1563
- }
1564
- } else <span class="cstat-no" title="statement not covered" >if (network.sheetType === "unweighted") {</span>
1565
- <span class="cstat-no" title="statement not covered" > currentLink.type = "arrowhead";</span>
1566
- <span class="cstat-no" title="statement not covered" > currentLink.stroke = "black";</span>
1567
- <span class="cstat-no" title="statement not covered" > if (currentLink.value !== 1) {</span>
1568
- <span class="cstat-no" title="statement not covered" > addWarning(network, warningsList.incorrectlyNamedSheetWarning());</span>
1569
- <span class="cstat-no" title="statement not covered" > currentLink.value = 1;</span>
1570
- }
1571
- <span class="cstat-no" title="statement not covered" > network.positiveWeights.push(currentLink.value);</span>
1572
- }
1573
- <span class="cstat-no" title="statement not covered" > network.links.push(currentLink);</span>
1574
- }
1575
- }
1576
- }
1577
- &nbsp;
1578
- } catch (err) {
1579
- <span class="cstat-no" title="statement not covered" > addError(network, errorList.missingValueError(row, column));</span>
1580
- // SHOULD BE: addError(network, errorList.unknownFileError);
1581
- <span class="cstat-no" title="statement not covered" > return network;</span>
1582
- }
1583
- }
1584
- <span class="cstat-no" title="statement not covered" > column++; </span>// Let's move on to the next column!
1585
- } // Once we finish with the current row...
1586
- <span class="cstat-no" title="statement not covered" > column = 0; </span>// let's go back to column 0 on the next row!
1587
- } catch (err) {
1588
- // We only get here if something goes drastically wrong. We don't want to get here.
1589
- <span class="cstat-no" title="statement not covered" > addError(network, errorList.unknownError);</span>
1590
- <span class="cstat-no" title="statement not covered" > return network;</span>
1591
- }
1592
- }
1593
- }
1594
- &nbsp;
1595
- // Move on to semanticChecker.
1596
- &nbsp;
1597
- &nbsp;
1598
- // We sort them here because gene order is not relevant before this point
1599
- // Sorting them now means duplicates will be right next to each other
1600
- <span class="cstat-no" title="statement not covered" > sourceGenes.sort();</span>
1601
- <span class="cstat-no" title="statement not covered" > targetGenes.sort();</span>
1602
- &nbsp;
1603
- // syntactic duplicate checker for both columns and rows
1604
- <span class="cstat-no" title="statement not covered" > checkDuplicates(network.errors, sourceGenes, targetGenes);</span>
1605
- &nbsp;
1606
- // NOTE: Temporarily commented out pending resolution of #474, and other related issues
1607
- // try {
1608
- // network.graphStatisticsReport = graphStatisticsReport(network);
1609
- // } catch (err) {
1610
- // console.log ("Graph statistics report failed to be complete.");
1611
- // }
1612
- <span class="cstat-no" title="statement not covered" > return semanticChecker(network);</span>
1613
- };
1614
- &nbsp;
1615
- var processGRNmap = <span class="fstat-no" title="function not covered" >fu</span>nction (path, res, app) {
1616
- var sheet;
1617
- var network;
1618
- &nbsp;
1619
- <span class="cstat-no" title="statement not covered" > helpers.attachCorsHeader(res, app);</span>
1620
- &nbsp;
1621
- <span class="cstat-no" title="statement not covered" > try {</span>
1622
- <span class="cstat-no" title="statement not covered" > sheet = xlsx.parse(path);</span>
1623
- } catch (err) {
1624
- <span class="cstat-no" title="statement not covered" > return res.json(400, "Unable to read input. The file may be corrupt.");</span>
1625
- }
1626
- &nbsp;
1627
- <span class="cstat-no" title="statement not covered" > helpers.attachFileHeaders(res, path);</span>
1628
- <span class="cstat-no" title="statement not covered" > network = parseSheet(sheet);</span>
1629
- &nbsp;
1630
- // Parse expression and 2-column data, then add to network object
1631
- var additionalData = <span class="cstat-no" title="statement not covered" >parseAdditionalSheets(sheet);</span>
1632
- <span class="cstat-no" title="statement not covered" > Object.assign(network, additionalData);</span>
1633
- &nbsp;
1634
- <span class="cstat-no" title="statement not covered" > return (network.errors.length === 0) ?</span>
1635
- // If all looks well, return the network with an all clear
1636
- res.json(network) :
1637
- // If all does not look well, return the network with an error 400
1638
- res.status(400).json(network);
1639
- };
1640
- &nbsp;
1641
- var grnSightToCytoscape = <span class="fstat-no" title="function not covered" >fu</span>nction (network) {
1642
- var result = <span class="cstat-no" title="statement not covered" >[];</span>
1643
- <span class="cstat-no" title="statement not covered" > network.genes.forEach(<span class="fstat-no" title="function not covered" >fu</span>nction (gene) {</span>
1644
- <span class="cstat-no" title="statement not covered" > result.push({</span>
1645
- data: {
1646
- id: gene.name
1647
- }
1648
- });
1649
- });
1650
- &nbsp;
1651
- <span class="cstat-no" title="statement not covered" > network.links.forEach(<span class="fstat-no" title="function not covered" >fu</span>nction (link) {</span>
1652
- var sourceGene = <span class="cstat-no" title="statement not covered" >network.genes[link.source];</span>
1653
- var targetGene = <span class="cstat-no" title="statement not covered" >network.genes[link.target];</span>
1654
- <span class="cstat-no" title="statement not covered" > result.push({</span>
1655
- data: {
1656
- id: sourceGene.name + targetGene.name,
1657
- source: sourceGene.name,
1658
- target: targetGene.name
1659
- }
1660
- });
1661
- });
1662
- &nbsp;
1663
- <span class="cstat-no" title="statement not covered" > return result;</span>
1664
- };
1665
- &nbsp;
1666
- /* NOTE: See above. Commented out until resolution of #474
1667
- var graphStatisticsReport = function(network) {
1668
- var betweennessCentrality = [];
1669
- var shortestPath = [];
1670
- var cytoscapeElements = grnSightToCytoscape(network);
1671
- &nbsp;
1672
- var cy = cytoscape({
1673
- headless: true,
1674
- elements: cytoscapeElements
1675
- });
1676
- &nbsp;
1677
- for (var i = 0; i &lt; network.genes.length; i++) {
1678
- var bc = cy.$().bc();
1679
- betweennessCentrality.push({
1680
- gene: network.genes[i],
1681
- betweennessCentrality: bc.betweenness("#" + network.genes[i].name, null, true)
1682
- });
1683
- &nbsp;
1684
- var dijkstra = cy.elements().dijkstra("#" + network.genes[i].name, null, true);
1685
- &nbsp;
1686
- for (var j = 0; j &lt; network.genes.length; j++) {
1687
- shortestPath.push({
1688
- source: network.genes[i].name,
1689
- pathData: {
1690
- target: network.genes[j].name,
1691
- shortestPath: dijkstra.distanceTo("#" + network.genes[j].name, null, true)
1692
- }
1693
- });
1694
- }
1695
- }
1696
- return {
1697
- betweennessCentrality: betweennessCentrality,
1698
- shortestPath: shortestPath
1699
- };
1700
- };
1701
- */
1702
- &nbsp;
1703
- module.exports = function (app) {
1704
- <span class="missing-if-branch" title="if path not taken" >I</span>if (app) {
1705
- &nbsp;
1706
- // parse the incoming form data, then parse the spreadsheet. Finally, send back json.
1707
- <span class="cstat-no" title="statement not covered" > app.post("/upload", <span class="fstat-no" title="function not covered" >fu</span>nction (req, res) {</span>
1708
- // TODO: Add file validation
1709
- <span class="cstat-no" title="statement not covered" > (new multiparty.Form()).parse(req, <span class="fstat-no" title="function not covered" >fu</span>nction (err, fields, files) {</span>
1710
- <span class="cstat-no" title="statement not covered" > if (err) {</span>
1711
- <span class="cstat-no" title="statement not covered" > return res.json(400, "There was a problem uploading your file. Please try again.");</span>
1712
- }
1713
- var input;
1714
- <span class="cstat-no" title="statement not covered" > try {</span>
1715
- <span class="cstat-no" title="statement not covered" > input = files.file[0].path;</span>
1716
- } catch (err) {
1717
- <span class="cstat-no" title="statement not covered" > return res.json(400, "No upload file selected.");</span>
1718
- }
1719
- &nbsp;
1720
- <span class="cstat-no" title="statement not covered" > if (path.extname(input) !== ".xlsx") {</span>
1721
- <span class="cstat-no" title="statement not covered" > return res.json(400, "This file cannot be loaded because:&lt;br&gt;&lt;br&gt; The file is \</span>
1722
- not in a format GRNsight can read." + "&lt;br&gt;Please select an Excel Workbook \
1723
- (.xlsx) file. Note that Excel 97-2003 Workbook (.xls) files are not " +
1724
- " able to be read by GRNsight. &lt;br&gt;&lt;br&gt;SIF and GraphML files can be loaded \
1725
- using the importer under File &gt; Import." + " Additional information about file \
1726
- types that GRNsight supports is in the Documentation.");
1727
- }
1728
- &nbsp;
1729
- <span class="cstat-no" title="statement not covered" > return processGRNmap(input, res, app);</span>
1730
- });
1731
- });
1732
- &nbsp;
1733
- // Load the demos
1734
- <span class="cstat-no" title="statement not covered" > app.get("/demo/unweighted", <span class="fstat-no" title="function not covered" >fu</span>nction (req, res) {</span>
1735
- <span class="cstat-no" title="statement not covered" > return processGRNmap("test-files/demo-files/15-genes_28-edges_db5_Dahlquist-data_input.xlsx", res, app);</span>
1736
- });
1737
- &nbsp;
1738
- <span class="cstat-no" title="statement not covered" > app.get("/demo/weighted", <span class="fstat-no" title="function not covered" >fu</span>nction (req, res) {</span>
1739
- <span class="cstat-no" title="statement not covered" > return processGRNmap("test-files/demo-files/15-genes_28-edges_db5_Dahlquist-data_estimation_output.xlsx",</span>
1740
- res, app);
1741
- });
1742
- &nbsp;
1743
- <span class="cstat-no" title="statement not covered" > app.get("/demo/schadeInput", <span class="fstat-no" title="function not covered" >fu</span>nction (req, res) {</span>
1744
- <span class="cstat-no" title="statement not covered" > return processGRNmap("test-files/demo-files/21-genes_31-edges_Schade-data_input.xlsx", res, app);</span>
1745
- });
1746
- &nbsp;
1747
- <span class="cstat-no" title="statement not covered" > app.get("/demo/schadeOutput", <span class="fstat-no" title="function not covered" >fu</span>nction (req, res) {</span>
1748
- <span class="cstat-no" title="statement not covered" > return processGRNmap("test-files/demo-files/21-genes_31-edges_Schade-data_estimation_output.xlsx",</span>
1749
- res, app);
1750
- });
1751
- }
1752
- &nbsp;
1753
- // exporting parseSheet for use in testing. Do not remove!
1754
- return {
1755
- parseSheet: parseSheet,
1756
- grnSightToCytoscape: grnSightToCytoscape
1757
- };
1758
- };
1759
- &nbsp;</pre></td></tr>
1760
- </table></pre>
1761
- <div class='push'></div><!-- for sticky footer -->
1762
- </div><!-- /wrapper -->
1763
- <div class='footer quiet pad2 space-top1 center small'>
1764
- Code coverage
1765
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Thu May 31 2018 15:29:17 GMT-0700 (PDT)
1766
- </div>
1767
- </div>
1768
- <script src="../prettify.js"></script>
1769
- <script>
1770
- window.onload = function () {
1771
- if (typeof prettyPrint === 'function') {
1772
- prettyPrint();
1773
- }
1774
- };
1775
- </script>
1776
- <script src="../sorter.js"></script>
1777
- <script src="../block-navigation.js"></script>
1778
- </body>
1779
- </html>