bfg-common 1.2.136 → 1.2.137

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 (753) hide show
  1. package/.eslintrc.js +21 -21
  2. package/.idea/inspectionProfiles/Project_Default.xml +48 -48
  3. package/.idea/modules.xml +7 -7
  4. package/.idea/prettier.xml +5 -5
  5. package/.idea/uikit.iml +11 -11
  6. package/.idea/vcs.xml +5 -5
  7. package/.prettierrc +4 -4
  8. package/PROJECT_STRUCTURE.md +42 -42
  9. package/README.md +42 -42
  10. package/assets/img/icons/icon-hcs.svg +3 -3
  11. package/assets/img/icons/icon-life-m-dark.svg +3 -3
  12. package/assets/img/icons/icon-life-m-light.svg +3 -3
  13. package/assets/img/icons/icon-ro-dark.svg +1 -1
  14. package/assets/img/icons/icon-ro-light.svg +2 -2
  15. package/assets/img/icons/icons-sprite-dark-6.svg +1 -1
  16. package/assets/img/icons/icons-sprite-light-6.svg +1 -1
  17. package/assets/img/icons/info.svg +8 -8
  18. package/assets/img/icons/vc.svg +52 -52
  19. package/assets/img/logo copy.svg +50 -50
  20. package/assets/img/logo.svg +51 -51
  21. package/assets/localization/local_be.json +2118 -2123
  22. package/assets/localization/local_en.json +2121 -2126
  23. package/assets/localization/local_hy.json +2121 -2126
  24. package/assets/localization/local_kk.json +2121 -2126
  25. package/assets/localization/local_ru.json +2121 -2126
  26. package/assets/localization/local_zh.json +2121 -2126
  27. package/assets/scss/clarity/clr-ui.min.css +8 -8
  28. package/assets/scss/common/animations.scss +28 -28
  29. package/assets/scss/common/global.scss +172 -172
  30. package/assets/scss/common/icons/icons-1.scss +224 -224
  31. package/assets/scss/common/icons/icons-2.scss +222 -222
  32. package/assets/scss/common/icons/icons-3.scss +203 -203
  33. package/assets/scss/common/icons/icons-4.scss +185 -185
  34. package/assets/scss/common/icons/icons-5.scss +59 -59
  35. package/assets/scss/common/icons/icons-6.scss +29 -29
  36. package/assets/scss/common/icons/icons.scss +15 -15
  37. package/assets/scss/common/mixins.scss +39 -39
  38. package/assets/scss/common/normalize.scss +320 -320
  39. package/assets/scss/common/theme.scss +230 -230
  40. package/assets/scss/common/utilities.scss +18 -18
  41. package/assets/scss/common/variables.scss +43 -43
  42. package/assets/scss/main.scss +13 -13
  43. package/components/atoms/DiagramIcon.vue +356 -356
  44. package/components/atoms/TheIcon.vue +1687 -1687
  45. package/components/atoms/TheIcon2.vue +1136 -1136
  46. package/components/atoms/alert/Alert.spec.ts +38 -38
  47. package/components/atoms/alert/Alert.vue +84 -84
  48. package/components/atoms/alert/Notification.spec.ts +34 -34
  49. package/components/atoms/alert/Notification.vue +167 -167
  50. package/components/atoms/alert/models/enums.ts +12 -12
  51. package/components/atoms/alert/models/interfaces.ts +27 -27
  52. package/components/atoms/alert/models/types.ts +7 -7
  53. package/components/atoms/autocomplete/Autocomplete.vue +236 -236
  54. package/components/atoms/collapse/CollapseNav.vue +164 -164
  55. package/components/atoms/collapse/CollapseNavItem.vue +190 -190
  56. package/components/atoms/collapse/models/interfaces.ts +10 -10
  57. package/components/atoms/combobox/Combobox.vue +147 -147
  58. package/components/atoms/datepicker/Datepicker.vue +612 -612
  59. package/components/atoms/datepicker/config/allShortMonths.ts +103 -103
  60. package/components/atoms/datepicker/config/datapicker.ts +43 -43
  61. package/components/atoms/datepicker/models/interfaces.ts +8 -8
  62. package/components/atoms/dropdown/Portlet.spec.ts +26 -26
  63. package/components/atoms/dropdown/Portlet.vue +111 -111
  64. package/components/atoms/dropdown/dropdown/Dropdown.vue +148 -148
  65. package/components/atoms/dropdown/dropdown/models/interfaces.ts +8 -8
  66. package/components/atoms/dropdown/tree/Tree.vue +134 -134
  67. package/components/atoms/dropdown/tree/models/interfaces.ts +9 -9
  68. package/components/atoms/input/Search.vue +16 -16
  69. package/components/atoms/list/SelectList.vue +62 -62
  70. package/components/atoms/list/SimpleList.vue +29 -29
  71. package/components/atoms/list/dragDropList/DragDropList.vue +139 -139
  72. package/components/atoms/list/dragDropList/config/events.ts +4 -4
  73. package/components/atoms/loader/BarLoader.vue +27 -27
  74. package/components/atoms/loader/Loader.vue +26 -26
  75. package/components/atoms/loader/PreLoader.vue +35 -35
  76. package/components/atoms/loader/Preloader.spec.ts +24 -24
  77. package/components/atoms/modal/Modal.spec.ts +55 -55
  78. package/components/atoms/modal/Modal.vue +244 -244
  79. package/components/atoms/modal/bySteps/BySteps.spec.ts +66 -66
  80. package/components/atoms/modal/bySteps/BySteps.vue +247 -247
  81. package/components/atoms/modal/byStepsSecond/ByStepsSecond.vue +175 -175
  82. package/components/atoms/models/interfaces.ts +12 -12
  83. package/components/atoms/nav/NavBar.spec.ts +34 -34
  84. package/components/atoms/nav/NavBar.vue +140 -140
  85. package/components/atoms/nav/VerticalNavBar.vue +89 -89
  86. package/components/atoms/nav/models/interfaces.ts +5 -5
  87. package/components/atoms/notificationBar/NotificationBar.vue +170 -170
  88. package/components/atoms/notificationBar/models/enums.ts +13 -13
  89. package/components/atoms/notificationBar/models/interfaces.ts +6 -6
  90. package/components/atoms/notificationBar/models/types.ts +1 -1
  91. package/components/atoms/perPage/PerPage.vue +52 -52
  92. package/components/atoms/popover/Popover.vue +61 -61
  93. package/components/atoms/popup/SimplePopup.vue +90 -90
  94. package/components/atoms/select/TheSelect.vue +175 -175
  95. package/components/atoms/select/models/interfaces.ts +4 -4
  96. package/components/atoms/stack/StackBlock.vue +178 -178
  97. package/components/atoms/stack/StackContent.vue +63 -63
  98. package/components/atoms/step/VerticalStep.spec.ts +68 -68
  99. package/components/atoms/step/VerticalStep.vue +104 -104
  100. package/components/atoms/step/models/verticalStepItem.ts +7 -7
  101. package/components/atoms/switch/Switch.vue +107 -107
  102. package/components/atoms/table/compact/Compact.vue +526 -526
  103. package/components/atoms/table/compact/models/interfaces.ts +10 -10
  104. package/components/atoms/table/dataGrid/DataGrid.spec.ts +61 -61
  105. package/components/atoms/table/dataGrid/DataGrid.vue +1489 -1490
  106. package/components/atoms/table/dataGrid/DataGridColumnSwitch.vue +206 -206
  107. package/components/atoms/table/dataGrid/DataGridPage.vue +191 -191
  108. package/components/atoms/table/dataGrid/DataGridPagination.vue +89 -89
  109. package/components/atoms/table/dataGrid/config/itemsPerPage.ts +20 -20
  110. package/components/atoms/table/dataGrid/models/interfaces.ts +25 -25
  111. package/components/atoms/table/dataGrid/models/types.ts +5 -5
  112. package/components/atoms/table/dataGrid/utils/constructDataTable.ts +32 -32
  113. package/components/atoms/table/info/Info.vue +60 -60
  114. package/components/atoms/table/info/models/interfaces.ts +9 -9
  115. package/components/atoms/table/simpleEvent/SimpleEvent.vue +98 -98
  116. package/components/atoms/table/simpleEvent/models/interfaces.ts +9 -9
  117. package/components/atoms/table/simpleInfo/SimpleInfo.vue +68 -68
  118. package/components/atoms/table/simpleInfo/models/interfaces.ts +4 -4
  119. package/components/atoms/table/simpleTable/SimpleTable.vue +293 -293
  120. package/components/atoms/table/simpleTable/models/interfaces.ts +10 -10
  121. package/components/atoms/tabs/Tabs.vue +217 -217
  122. package/components/atoms/tabs/VerticalTabs.vue +87 -87
  123. package/components/atoms/tabs/models/interfaces.ts +4 -4
  124. package/components/atoms/tabs/models/types.ts +1 -1
  125. package/components/atoms/tooltip/Models/interfaces.ts +4 -4
  126. package/components/atoms/tooltip/Signpost.vue +225 -225
  127. package/components/atoms/tooltip/Text.vue +37 -37
  128. package/components/atoms/tooltip/Tooltip.vue +57 -57
  129. package/components/atoms/tooltip/TooltipError.vue +113 -113
  130. package/components/common/BadBrowser.vue +114 -114
  131. package/components/common/accordion/Accordion.vue +176 -176
  132. package/components/common/accordion/Recursion.vue +216 -216
  133. package/components/common/accordion/models/enums.ts +5 -5
  134. package/components/common/accordion/models/interfaces.ts +15 -15
  135. package/components/common/accordion/models/types.ts +1 -1
  136. package/components/common/accordion/utils/accordion.ts +31 -31
  137. package/components/common/adapterManager/AdapterManager.vue +715 -715
  138. package/components/common/adapterManager/AddAdapterModal.vue +555 -555
  139. package/components/common/adapterManager/AddAdapterWarningModal.vue +82 -82
  140. package/components/common/adapterManager/NoActiveAdaptersModal.vue +62 -62
  141. package/components/common/adapterManager/NoConnectedActiveAdaptersModal.vue +62 -62
  142. package/components/common/adapterManager/config/index.ts +19 -19
  143. package/components/common/adapterManager/ui/NoSelectedAdapter.vue +39 -39
  144. package/components/common/adapterManager/ui/SecondTitle.vue +37 -37
  145. package/components/common/adapterManager/ui/actions/ActionsBar.vue +93 -93
  146. package/components/common/adapterManager/ui/actions/AddAdapterButton.vue +28 -28
  147. package/components/common/adapterManager/ui/actions/MoveDownAdapterButton.vue +33 -33
  148. package/components/common/adapterManager/ui/actions/MoveUpAdapterButton.vue +33 -33
  149. package/components/common/adapterManager/ui/actions/RemoveAdapterButton.vue +34 -34
  150. package/components/common/adapterManager/ui/actions/VerticalSeparator.vue +10 -10
  151. package/components/common/adapterManager/ui/table/Adapters.vue +91 -91
  152. package/components/common/adapterManager/ui/table/Header.vue +89 -89
  153. package/components/common/adapterManager/ui/table/Table.vue +167 -167
  154. package/components/common/addNetworking/AddNetworking.vue +1123 -1123
  155. package/components/common/addNetworking/Wizard.vue +286 -286
  156. package/components/common/addNetworking/config/addNetworkingSteps.ts +438 -438
  157. package/components/common/addNetworking/config/index.ts +47 -47
  158. package/components/common/addNetworking/config/initialData.ts +78 -78
  159. package/components/common/addNetworking/config/portPropertiesStep.ts +31 -31
  160. package/components/common/addNetworking/config/selectSwitch.ts +19 -19
  161. package/components/common/addNetworking/config/sendData.ts +102 -102
  162. package/components/common/addNetworking/config/temporaryData.ts +7 -7
  163. package/components/common/addNetworking/config/validation.ts +23 -23
  164. package/components/common/addNetworking/mappers/mappers.ts +166 -166
  165. package/components/common/addNetworking/modals/SelectNetwork.vue +149 -149
  166. package/components/common/addNetworking/modals/SelectStandardSwitch.vue +125 -125
  167. package/components/common/addNetworking/modals/SelectSwitch.vue +114 -114
  168. package/components/common/addNetworking/models/enums.ts +6 -6
  169. package/components/common/addNetworking/models/interfaces.ts +208 -208
  170. package/components/common/addNetworking/models/types.ts +13 -13
  171. package/components/common/addNetworking/steps/ConnectionSettings.vue +269 -269
  172. package/components/common/addNetworking/steps/CreateStandardSwitch.vue +91 -91
  173. package/components/common/addNetworking/steps/Header.vue +52 -52
  174. package/components/common/addNetworking/steps/IpFourSettings.vue +361 -361
  175. package/components/common/addNetworking/steps/PhysicalAdapter.vue +24 -24
  176. package/components/common/addNetworking/steps/PortProperties.vue +492 -492
  177. package/components/common/addNetworking/steps/ReadyComplete.vue +29 -29
  178. package/components/common/addNetworking/steps/SelectConnectionType.vue +106 -106
  179. package/components/common/addNetworking/steps/SelectedTargetDevice.vue +557 -557
  180. package/components/common/addNetworking/utils/index.ts +212 -212
  181. package/components/common/browse/Browse.vue +182 -182
  182. package/components/common/browse/blocks/Container.vue +102 -102
  183. package/components/common/browse/blocks/Title.vue +66 -66
  184. package/components/common/browse/blocks/contents/Files.vue +68 -68
  185. package/components/common/browse/blocks/info/Date.vue +21 -21
  186. package/components/common/browse/blocks/info/Size.vue +17 -17
  187. package/components/common/browse/blocks/info/Text.vue +16 -16
  188. package/components/common/browse/blocks/models/types.ts +1 -1
  189. package/components/common/browse/models/interfaces.ts +5 -5
  190. package/components/common/config/states.ts +81 -81
  191. package/components/common/context/Context.spec.ts +20 -20
  192. package/components/common/context/Context.vue +97 -97
  193. package/components/common/context/ContextRecursion.spec.ts +55 -55
  194. package/components/common/context/ContextRecursion.vue +251 -251
  195. package/components/common/context/models/interfaces.ts +26 -26
  196. package/components/common/details/DetailsItem.vue +106 -106
  197. package/components/common/details/DetailsList.vue +23 -23
  198. package/components/common/details/model/interfaces.ts +9 -9
  199. package/components/common/diagramMain/Diagram.vue +192 -192
  200. package/components/common/diagramMain/DiagramMain.vue +990 -990
  201. package/components/common/diagramMain/Header.vue +190 -190
  202. package/components/common/diagramMain/Highlights.vue +124 -124
  203. package/components/common/diagramMain/adapter/Adapter.vue +114 -114
  204. package/components/common/diagramMain/adapter/AdapterItem.vue +246 -246
  205. package/components/common/diagramMain/adapter/AdapterItems.vue +59 -59
  206. package/components/common/diagramMain/adapter/Block.vue +48 -48
  207. package/components/common/diagramMain/adapter/Contents.vue +110 -110
  208. package/components/common/diagramMain/adapter/Lines.vue +58 -58
  209. package/components/common/diagramMain/adapter/SecondBlock.vue +49 -49
  210. package/components/common/diagramMain/config/index.ts +51 -51
  211. package/components/common/diagramMain/config/initial.ts +37 -37
  212. package/components/common/diagramMain/modals/ManagePhysicalAdaptersModal.vue +236 -236
  213. package/components/common/diagramMain/modals/MigrateVmkernelAdapter.vue +603 -603
  214. package/components/common/diagramMain/modals/config/adapterModal.ts +111 -111
  215. package/components/common/diagramMain/modals/config/diagramConfig.ts +17 -17
  216. package/components/common/diagramMain/modals/config/index.ts +57 -57
  217. package/components/common/diagramMain/modals/config/initial.ts +181 -181
  218. package/components/common/diagramMain/modals/config/migrateVmkernelAdapterSteps.ts +81 -81
  219. package/components/common/diagramMain/modals/config/networkModal.ts +343 -343
  220. package/components/common/diagramMain/modals/config/portModal.ts +209 -209
  221. package/components/common/diagramMain/modals/config/switchModal.ts +172 -172
  222. package/components/common/diagramMain/modals/config/vCenterModal.ts +34 -34
  223. package/components/common/diagramMain/modals/config/validation.ts +2 -2
  224. package/components/common/diagramMain/modals/config/vmKernelAdapter.ts +90 -90
  225. package/components/common/diagramMain/modals/editSettings/ConfirmTeamingSettingsModal.vue +41 -41
  226. package/components/common/diagramMain/modals/editSettings/EditSettings.vue +491 -491
  227. package/components/common/diagramMain/modals/editSettings/EditSettingsModal.vue +825 -825
  228. package/components/common/diagramMain/modals/editSettings/tabs/NetworkProperties.vue +211 -211
  229. package/components/common/diagramMain/modals/editSettings/tabs/Security.vue +183 -183
  230. package/components/common/diagramMain/modals/editSettings/tabs/SwitchProperties.vue +161 -161
  231. package/components/common/diagramMain/modals/editSettings/tabs/TeamingFailover.vue +166 -166
  232. package/components/common/diagramMain/modals/editSettings/tabs/TrafficShaping.vue +393 -393
  233. package/components/common/diagramMain/modals/editSettings/tabs/port/IpvFourSettings.vue +339 -339
  234. package/components/common/diagramMain/modals/editSettings/tabs/port/PortProperties.vue +202 -202
  235. package/components/common/diagramMain/modals/remove/RemoveModal.vue +226 -226
  236. package/components/common/diagramMain/modals/steps/ConnectionSettings.vue +221 -221
  237. package/components/common/diagramMain/modals/steps/Header.vue +60 -60
  238. package/components/common/diagramMain/modals/steps/SelectVmkernelAdapter.vue +220 -220
  239. package/components/common/diagramMain/modals/steps/VmkernelAdapterReadyComplete.vue +53 -53
  240. package/components/common/diagramMain/modals/utils/index.ts +9 -9
  241. package/components/common/diagramMain/modals/viewSettings/Info.vue +123 -123
  242. package/components/common/diagramMain/modals/viewSettings/ViewSettings.vue +171 -171
  243. package/components/common/diagramMain/modals/viewSettings/ViewSettingsModal.vue +93 -93
  244. package/components/common/diagramMain/models/enums.ts +26 -26
  245. package/components/common/diagramMain/models/interfaces.ts +565 -565
  246. package/components/common/diagramMain/models/types.ts +9 -9
  247. package/components/common/diagramMain/network/Block.vue +62 -62
  248. package/components/common/diagramMain/network/Contents.vue +253 -253
  249. package/components/common/diagramMain/network/Lines.vue +71 -71
  250. package/components/common/diagramMain/network/Network.vue +124 -124
  251. package/components/common/diagramMain/network/NoNetwork.vue +53 -53
  252. package/components/common/diagramMain/network/SecondBlock.vue +58 -58
  253. package/components/common/diagramMain/port/Port.vue +320 -320
  254. package/components/common/diagramMain/port/Ports.vue +41 -41
  255. package/components/common/diagramMain/switch/Switch.vue +82 -82
  256. package/components/common/diagramMain/switch/SwitchSelected.vue +35 -35
  257. package/components/common/diagramMain/utils/utils.ts +218 -218
  258. package/components/common/feedback/Buttons.vue +227 -227
  259. package/components/common/feedback/Feedback.vue +261 -261
  260. package/components/common/feedback/Message.vue +509 -509
  261. package/components/common/feedback/VisitPortal.vue +53 -53
  262. package/components/common/feedback/config/drawingPanel.ts +31 -31
  263. package/components/common/feedback/config/feedbackTabs.ts +24 -24
  264. package/components/common/feedback/models/interfaces.ts +19 -19
  265. package/components/common/feedback/models/types.ts +1 -1
  266. package/components/common/graph/Graph.vue +109 -109
  267. package/components/common/graph/utils/renderGraph.ts +389 -389
  268. package/components/common/headline/Headline.vue +32 -32
  269. package/components/common/help/navbar/left/Left.vue +164 -164
  270. package/components/common/help/navbar/left/models/interfaces.ts +6 -6
  271. package/components/common/help/navbar/left/utils/constructAccordion.ts +27 -27
  272. package/components/common/help/navbar/right/Right.vue +139 -139
  273. package/components/common/help/navbar/right/models/interfaces.ts +4 -4
  274. package/components/common/home/Card.vue +63 -63
  275. package/components/common/home/ResourceBlock.vue +117 -117
  276. package/components/common/home/StatusContent.vue +47 -47
  277. package/components/common/home/alertsTable/AlertsTable.vue +105 -105
  278. package/components/common/home/alertsTable/config/config.ts +61 -61
  279. package/components/common/home/alertsTable/models/enums.ts +11 -11
  280. package/components/common/home/alertsTable/models/interfaces.ts +19 -19
  281. package/components/common/home/alertsTable/models/types.ts +18 -18
  282. package/components/common/home/config/configResourceMeterBlock.ts +25 -25
  283. package/components/common/home/models/interfaces.ts +59 -59
  284. package/components/common/home/models/types.ts +18 -18
  285. package/components/common/home/servicesTable/ServicesTable.vue +79 -79
  286. package/components/common/home/servicesTable/config/config.ts +62 -62
  287. package/components/common/mainNavigationPanel/MainNavigationPanel.vue +359 -359
  288. package/components/common/mainNavigationPanel/models/interfaces.ts +6 -6
  289. package/components/common/mainNavigationPanel/models/types.ts +1 -1
  290. package/components/common/modals/Confirmation.vue +87 -87
  291. package/components/common/modals/Rename.vue +165 -165
  292. package/components/common/modals/config/defaultForm.ts +18 -18
  293. package/components/common/modals/config/renameLabelWidth.ts +3 -3
  294. package/components/common/modals/models/interfaces.ts +5 -5
  295. package/components/common/monitor/advanced/Advanced.vue +235 -235
  296. package/components/common/monitor/advanced/GraphView.vue +178 -178
  297. package/components/common/monitor/advanced/models/interfaces.ts +7 -7
  298. package/components/common/monitor/advanced/models/types.ts +1 -1
  299. package/components/common/monitor/advanced/table/Table.vue +90 -90
  300. package/components/common/monitor/advanced/table/config/performanceDatatable.ts +116 -116
  301. package/components/common/monitor/advanced/table/models/interfaces.ts +12 -12
  302. package/components/common/monitor/advanced/table/models/types.ts +10 -10
  303. package/components/common/monitor/advanced/tools/Tools.vue +428 -428
  304. package/components/common/monitor/advanced/tools/chartOptionsModal/ChartOptionsModal.vue +485 -485
  305. package/components/common/monitor/advanced/tools/chartOptionsModal/Notification.vue +33 -33
  306. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/Actions.vue +150 -150
  307. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/saveOptionsModal/SaveOptionsModal.vue +76 -76
  308. package/components/common/monitor/advanced/tools/chartOptionsModal/actions/utils/optionsActions.ts +25 -25
  309. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/Counters.vue +94 -94
  310. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/Table.vue +136 -136
  311. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/tableConfig.ts +71 -71
  312. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/config/utils.ts +689 -689
  313. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/interfaces.ts +28 -28
  314. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/table/models/types.ts +5 -5
  315. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/Timespan.vue +79 -79
  316. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/Form.vue +501 -501
  317. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/form/config/dateForm.ts +59 -59
  318. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/Object.vue +176 -176
  319. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/config/objectTable.ts +54 -54
  320. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/interfaces.ts +4 -4
  321. package/components/common/monitor/advanced/tools/chartOptionsModal/counters/timespan/object/models/types.ts +1 -1
  322. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/Metrics.vue +42 -42
  323. package/components/common/monitor/advanced/tools/chartOptionsModal/metrics/config/optionsMetrics.ts +116 -116
  324. package/components/common/monitor/advanced/tools/chartOptionsModal/models/interfaces.ts +19 -19
  325. package/components/common/monitor/advanced/tools/chartOptionsModal/models/types.ts +3 -3
  326. package/components/common/monitor/advanced/tools/config/advancedToolbar.ts +117 -117
  327. package/components/common/monitor/advanced/tools/models/interfaces.ts +4 -4
  328. package/components/common/monitor/advanced/tools/utils/countCores.ts +7 -7
  329. package/components/common/monitor/config/getValidDateByOption.ts +76 -76
  330. package/components/common/monitor/models/interfaces.ts +23 -23
  331. package/components/common/monitor/overview/Overview.vue +470 -470
  332. package/components/common/monitor/overview/filters/Filters.vue +220 -220
  333. package/components/common/monitor/overview/filters/config/filterOptions.ts +80 -80
  334. package/components/common/monitor/overview/filters/customIntervalModal/CustomIntervalModal.vue +241 -241
  335. package/components/common/monitor/overview/filters/customIntervalModal/config/dateChecker.ts +37 -37
  336. package/components/common/monitor/overview/filters/models/interfaces.ts +7 -7
  337. package/components/common/monitor/overview/filters/models/types.ts +3 -3
  338. package/components/common/perPage/PerPage.vue +51 -51
  339. package/components/common/recursionTree/RecursionTree.vue +201 -201
  340. package/components/common/recursionTree/models/interfaces.ts +19 -19
  341. package/components/common/resource/models/interfaces.ts +9 -9
  342. package/components/common/resource/models/types.ts +1 -1
  343. package/components/common/resource/progressBlock/ProgressBlock.vue +105 -105
  344. package/components/common/resource/simple/Simple.vue +58 -58
  345. package/components/common/resource/simple/models/enums.ts +5 -5
  346. package/components/common/resource/utils.ts +33 -33
  347. package/components/common/select/button/ButtonDropdown.vue +100 -100
  348. package/components/common/select/button/models/interfaces.ts +6 -6
  349. package/components/common/select/radio/RadioGroup.vue +108 -108
  350. package/components/common/select/radio/models/interfaces.ts +8 -8
  351. package/components/common/shortcuts/Block.vue +83 -83
  352. package/components/common/shortcuts/Category.vue +40 -40
  353. package/components/common/shortcuts/Shortcuts.vue +44 -44
  354. package/components/common/shortcuts/models/interfaces.ts +10 -10
  355. package/components/common/spiceConsole/Drawer.vue +241 -241
  356. package/components/common/spiceConsole/SpiceConsole.vue +83 -83
  357. package/components/common/spiceConsole/keyboard/Keyboard.vue +402 -402
  358. package/components/common/spiceConsole/keyboard/config/keyboardRows.ts +891 -891
  359. package/components/common/spiceConsole/keyboard/models/interfaces.ts +17 -17
  360. package/components/common/spiceConsole/models/types.ts +1 -1
  361. package/components/common/split/horizontal/Horizontal.vue +306 -306
  362. package/components/common/split/horizontal/models/interfaces.ts +5 -5
  363. package/components/common/split/vertical/Vertical.vue +213 -213
  364. package/components/common/split/vertical/models/interfaces.ts +3 -3
  365. package/components/common/tools/Actions.vue +163 -163
  366. package/components/common/tools/models/interfaces.ts +6 -6
  367. package/components/common/vm/actions/add/Add.vue +687 -687
  368. package/components/common/vm/actions/add/FolderTreeView.vue +83 -83
  369. package/components/common/vm/actions/add/utils.ts +118 -118
  370. package/components/common/vm/actions/clone/Clone.vue +545 -545
  371. package/components/common/vm/actions/clone/models/interfaces.ts +7 -7
  372. package/components/common/vm/actions/clone/select/options/Options.vue +65 -65
  373. package/components/common/vm/actions/clone/utils.ts +43 -43
  374. package/components/common/vm/actions/common/config/capabilities.ts +339 -339
  375. package/components/common/vm/actions/common/customizeHardware/CustomizeHardware.vue +267 -267
  376. package/components/common/vm/actions/common/customizeHardware/config/navItems.ts +19 -19
  377. package/components/common/vm/actions/common/customizeHardware/models/interfaces.ts +7 -7
  378. package/components/common/vm/actions/common/customizeHardware/virtualHardware/VirtualHardware.vue +681 -681
  379. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/BrowseView.vue +203 -203
  380. package/components/common/vm/actions/common/customizeHardware/virtualHardware/browseView/models/interfaces.ts +8 -8
  381. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/Bus.vue +129 -129
  382. package/components/common/vm/actions/common/customizeHardware/virtualHardware/bus/config/options.ts +13 -13
  383. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/CdDvdDrive.vue +246 -246
  384. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/fileTypes.ts +9 -9
  385. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/config/options.ts +11 -11
  386. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/media/Media.vue +55 -55
  387. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cdDvdDrive/models/types.ts +1 -1
  388. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/binaryOptions.ts +12 -12
  389. package/components/common/vm/actions/common/customizeHardware/virtualHardware/config/dropdownItems.ts +52 -52
  390. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CoresPerSocket.vue +109 -109
  391. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Cpu.vue +383 -383
  392. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuHotPlug.vue +49 -49
  393. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/CpuModel.vue +220 -220
  394. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Hv.vue +93 -93
  395. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Iommu.vue +54 -54
  396. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/MaxCpu.vue +105 -105
  397. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Pc.vue +54 -54
  398. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/Sa.vue +104 -104
  399. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/config/cpuOptions.ts +19 -19
  400. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/Shares.vue +155 -155
  401. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/shares/config/options.ts +28 -28
  402. package/components/common/vm/actions/common/customizeHardware/virtualHardware/cpu/tooltip/Tooltip.vue +58 -58
  403. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/Limit.vue +234 -234
  404. package/components/common/vm/actions/common/customizeHardware/virtualHardware/limit/config/options.ts +28 -28
  405. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/Memory.vue +316 -316
  406. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/MemoryHotPlug.vue +53 -53
  407. package/components/common/vm/actions/common/customizeHardware/virtualHardware/memory/config/memoryOptions.ts +35 -35
  408. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/interfaces.ts +125 -125
  409. package/components/common/vm/actions/common/customizeHardware/virtualHardware/models/types.ts +4 -4
  410. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/DiskFile.vue +24 -24
  411. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/Location.vue +171 -171
  412. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/MaximumSize.vue +27 -27
  413. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/NewHardDisk.vue +447 -447
  414. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/Cache.vue +80 -80
  415. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/cache/config/options.ts +7 -7
  416. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/LimitIops.vue +151 -151
  417. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/limitIops/config/options.ts +28 -28
  418. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/Mode.vue +87 -87
  419. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/mode/config/options.ts +18 -18
  420. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/Provisioning.vue +87 -87
  421. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/provisioning/config/options.ts +15 -15
  422. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/Sharing.vue +85 -85
  423. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newHardDisk/sharing/config/options.ts +12 -12
  424. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/Location.vue +141 -141
  425. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/NewNetwork.vue +288 -288
  426. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/AdapterType.vue +86 -86
  427. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/adapterType/config/options.ts +9 -9
  428. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/MacAddress.vue +140 -140
  429. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newNetwork/macAddress/config/options.ts +11 -11
  430. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/NewPciDevice.vue +157 -157
  431. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/config/options.ts +7 -7
  432. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/directPathIo/DirectPathIo.vue +44 -44
  433. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/DynamicDirectPathIo.vue +49 -49
  434. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/dynamicDirectPathIo/config/options.ts +10 -10
  435. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/note/Note.vue +27 -27
  436. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/nvidiaGrid/NvidiaGrid.vue +41 -41
  437. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newPciDevice/typeSelection/TypeSelection.vue +56 -56
  438. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/NewUsbController.vue +68 -68
  439. package/components/common/vm/actions/common/customizeHardware/virtualHardware/newUsbController/config/options.ts +6 -6
  440. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/InputDevices.vue +21 -21
  441. package/components/common/vm/actions/common/customizeHardware/virtualHardware/other/Other.vue +27 -27
  442. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/Reservation.vue +235 -235
  443. package/components/common/vm/actions/common/customizeHardware/virtualHardware/reservation/config/options.ts +33 -33
  444. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/Graphics.vue +45 -45
  445. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/TotalVideoMemory.vue +120 -120
  446. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/VideoCard.vue +177 -177
  447. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/config/options.ts +11 -11
  448. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/Model.vue +57 -57
  449. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/model/config/options.ts +10 -10
  450. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/NumberDisplays.vue +82 -82
  451. package/components/common/vm/actions/common/customizeHardware/virtualHardware/videoCard/numberDisplays/config/options.ts +14 -14
  452. package/components/common/vm/actions/common/customizeHardware/vmoptions/Vmoptions.vue +181 -181
  453. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/BootOptions.vue +110 -110
  454. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Menu.vue +45 -45
  455. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/Secure.vue +45 -45
  456. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/Delay.vue +50 -50
  457. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/delay/config/config.ts +14 -14
  458. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/Firmware.vue +83 -83
  459. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/firmware/config/config.ts +11 -11
  460. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/Order.vue +197 -197
  461. package/components/common/vm/actions/common/customizeHardware/vmoptions/bootOptions/order/models/interfaces.ts +8 -8
  462. package/components/common/vm/actions/common/customizeHardware/vmoptions/generalOptions/GeneralOptions.vue +181 -181
  463. package/components/common/vm/actions/common/customizeHardware/vmoptions/models/interfaces.ts +34 -34
  464. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/CopyPaste.vue +51 -51
  465. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FileTransfer.vue +51 -51
  466. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/FolderSharing.vue +50 -50
  467. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PlaybackCompression.vue +51 -51
  468. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/PowerControl.vue +49 -49
  469. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/RemoteConsoleOptions.vue +253 -253
  470. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/ImgCompression.vue +84 -84
  471. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/imgCompression/config/config.ts +14 -14
  472. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/JpegCompression.vue +84 -84
  473. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/jpegCompression/config/config.ts +12 -12
  474. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/Keymap.vue +55 -55
  475. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/keymap/config/config.ts +6 -6
  476. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/MouseMode.vue +52 -52
  477. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/mouseMode/config/config.ts +11 -11
  478. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/Password.vue +136 -136
  479. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/models/interfaces.ts +5 -5
  480. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/password/utils.ts +12 -12
  481. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/SharePolicy.vue +52 -52
  482. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/sharePolicy/config/config.ts +11 -11
  483. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/StreamingMode.vue +84 -84
  484. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/streamingMode/config/config.ts +12 -12
  485. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/Type.vue +84 -84
  486. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/type/config/config.ts +7 -7
  487. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/UsbRedirection.vue +56 -56
  488. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/usbRedirection/config/config.ts +14 -14
  489. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/ZlibCompression.vue +84 -84
  490. package/components/common/vm/actions/common/customizeHardware/vmoptions/remoteConsoleOptions/zlibCompression/config/config.ts +12 -12
  491. package/components/common/vm/actions/common/customizeHardware/vmoptions/tools/Tools.vue +63 -63
  492. package/components/common/vm/actions/common/models/enums.ts +89 -89
  493. package/components/common/vm/actions/common/models/interfaces.ts +139 -139
  494. package/components/common/vm/actions/common/models/types.ts +65 -65
  495. package/components/common/vm/actions/common/readyToComplete/ReadyToComplete.vue +15 -15
  496. package/components/common/vm/actions/common/select/compatibility/Compatibility.vue +151 -151
  497. package/components/common/vm/actions/common/select/computeResource/ComputeResource.spec.ts +479 -479
  498. package/components/common/vm/actions/common/select/computeResource/ComputeResource.vue +170 -170
  499. package/components/common/vm/actions/common/select/computeResource/TreeView.vue +126 -126
  500. package/components/common/vm/actions/common/select/createType/CreateType.vue +61 -61
  501. package/components/common/vm/actions/common/select/createType/config/items.ts +26 -26
  502. package/components/common/vm/actions/common/select/models/interfaces.ts +32 -32
  503. package/components/common/vm/actions/common/select/models/types.ts +46 -46
  504. package/components/common/vm/actions/common/select/name/Name.vue +215 -215
  505. package/components/common/vm/actions/common/select/os/os.vue +221 -221
  506. package/components/common/vm/actions/common/select/storage/Storage.vue +194 -194
  507. package/components/common/vm/actions/common/select/storage/config/config.ts +154 -154
  508. package/components/common/vm/actions/common/select/storage/models/types.ts +15 -15
  509. package/components/common/vm/actions/editSettings/EditSettings.vue +316 -316
  510. package/components/common/vm/actions/editSettings/models/types.ts +23 -23
  511. package/components/common/vm/actions/editSettings/utils.ts +45 -45
  512. package/components/common/vm/actions/models/interfaces.ts +6 -6
  513. package/components/common/vm/actions/models/types.ts +11 -11
  514. package/components/common/vm/actions/utils.ts +244 -244
  515. package/components/common/vm/models/interfaces.ts +9 -0
  516. package/components/common/vm/utils/powerActions.ts +55 -0
  517. package/components/common/wizards/datastore/add/Add.vue +383 -383
  518. package/components/common/wizards/datastore/add/config/stepItems.ts +160 -160
  519. package/components/common/wizards/datastore/add/local/Local.vue +67 -67
  520. package/components/common/wizards/datastore/add/local/createName/CreateName.vue +159 -159
  521. package/components/common/wizards/datastore/add/local/createName/config/defaultForm.ts +15 -15
  522. package/components/common/wizards/datastore/add/models/interfaces.ts +35 -35
  523. package/components/common/wizards/datastore/add/models/types.ts +14 -14
  524. package/components/common/wizards/datastore/add/nfs/Nfs.vue +94 -94
  525. package/components/common/wizards/datastore/add/nfs/accessibility/Accessibility.vue +95 -95
  526. package/components/common/wizards/datastore/add/nfs/accessibility/config/tabsPannel.ts +24 -24
  527. package/components/common/wizards/datastore/add/nfs/accessibility/models/interfaces.ts +9 -9
  528. package/components/common/wizards/datastore/add/nfs/accessibility/models/types.ts +5 -5
  529. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/TablesView.vue +141 -141
  530. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/compatibleTable.ts +54 -54
  531. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/hostsTableItems.ts +75 -75
  532. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/incompatibleTable.ts +68 -68
  533. package/components/common/wizards/datastore/add/nfs/accessibility/tablesView/config/tableKeys.ts +15 -15
  534. package/components/common/wizards/datastore/add/nfs/configuration/Configuration.vue +377 -377
  535. package/components/common/wizards/datastore/add/nfs/configuration/config/defaultForm.ts +33 -33
  536. package/components/common/wizards/datastore/add/nfs/configuration/models/interfaces.ts +12 -12
  537. package/components/common/wizards/datastore/add/nfs/configuration/serversList/DeletePopover.vue +97 -97
  538. package/components/common/wizards/datastore/add/nfs/configuration/serversList/ServersList.vue +123 -123
  539. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/serversListConfig.ts +41 -41
  540. package/components/common/wizards/datastore/add/nfs/configuration/serversList/config/tableKeys.ts +3 -3
  541. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/interfaces.ts +11 -11
  542. package/components/common/wizards/datastore/add/nfs/configuration/serversList/models/types.ts +1 -1
  543. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/KerberosAuthentication.vue +54 -54
  544. package/components/common/wizards/datastore/add/nfs/kerberosAuthentication/config/radioOptions.ts +24 -24
  545. package/components/common/wizards/datastore/add/nfs/version/Version.vue +42 -42
  546. package/components/common/wizards/datastore/add/nfs/version/config/versionOptions.ts +20 -20
  547. package/components/common/wizards/datastore/add/readyComplete/ReadyComplete.vue +78 -78
  548. package/components/common/wizards/datastore/add/readyComplete/config/propertiesDetails.ts +165 -165
  549. package/components/common/wizards/datastore/add/readyComplete/models/interfaces.ts +4 -4
  550. package/components/common/wizards/datastore/add/sharedStorm/SharedStorm.vue +85 -85
  551. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/DeviceSelection.vue +447 -447
  552. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/defaultForm.ts +18 -18
  553. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/config/selectOptions.ts +14 -14
  554. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/HostTable.vue +131 -131
  555. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/hostsTable.ts +87 -87
  556. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/hostTable/config/tableKeys.ts +11 -11
  557. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/interfaces.ts +55 -55
  558. package/components/common/wizards/datastore/add/sharedStorm/deviceSelection/models/types.ts +14 -14
  559. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/PartitionConfiguration.vue +230 -230
  560. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/config/selectOptions.ts +46 -46
  561. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/graphicTooltip/graphicTooltip.vue +64 -64
  562. package/components/common/wizards/datastore/add/sharedStorm/partitionConfiguration/sizeGraphic/sizeGraphic.vue +225 -225
  563. package/components/common/wizards/datastore/add/sharedStorm/version/Version.vue +39 -39
  564. package/components/common/wizards/datastore/add/sharedStorm/version/config/versionOptions.ts +21 -21
  565. package/components/common/wizards/datastore/add/types/Types.vue +77 -77
  566. package/components/common/wizards/datastore/add/types/config/typeOptions.ts +39 -39
  567. package/components/common/wizards/datastore/add/utils.ts +69 -69
  568. package/components/common/wizards/vm/common/readyComplete/ReadyComplete.vue +15 -15
  569. package/components/common/wizards/vm/common/tooltip/Tooltip.vue +82 -82
  570. package/components/common/wizards/vm/common/validation/compatibility/Compatibility.vue +53 -53
  571. package/components/common/wizards/vm/migrate/Migrate.vue +216 -224
  572. package/components/common/wizards/vm/migrate/config/constructDataReady.ts +82 -83
  573. package/components/common/wizards/vm/migrate/contentHeading/ContentHeading.vue +106 -106
  574. package/components/common/wizards/vm/migrate/contentHeading/models/interfaces.ts +7 -7
  575. package/components/common/wizards/vm/migrate/models/enums.ts +6 -6
  576. package/components/common/wizards/vm/migrate/models/interfaces.ts +16 -16
  577. package/components/common/wizards/vm/migrate/models/types.ts +5 -5
  578. package/components/common/wizards/vm/migrate/select/computeResource/ComputeResource.vue +38 -38
  579. package/components/common/wizards/vm/migrate/select/computeResource/config/tabsPannel.ts +28 -28
  580. package/components/common/wizards/vm/migrate/select/network/Network.vue +9 -9
  581. package/components/common/wizards/vm/migrate/select/priority/Priority.vue +38 -39
  582. package/components/common/wizards/vm/migrate/select/priority/config/typeOptions.ts +21 -21
  583. package/components/common/wizards/vm/migrate/select/storage/Storage.vue +114 -114
  584. package/components/common/wizards/vm/migrate/select/storage/config/tabsPannel.ts +18 -18
  585. package/components/common/wizards/vm/migrate/select/storage/configure/batch/Batch.vue +61 -61
  586. package/components/common/wizards/vm/migrate/select/storage/configure/disk/Disk.vue +73 -73
  587. package/components/common/wizards/vm/migrate/select/storage/diskFormat/DiskFormat.vue +68 -68
  588. package/components/common/wizards/vm/migrate/select/storage/diskFormat/config/formatOptions.ts +22 -22
  589. package/components/common/wizards/vm/migrate/select/storage/models/interfaces.ts +14 -14
  590. package/components/common/wizards/vm/migrate/select/storage/models/types.ts +9 -9
  591. package/components/common/wizards/vm/migrate/select/storage/policy/Policy.vue +83 -83
  592. package/components/common/wizards/vm/migrate/select/storage/selectedPerDisk/SelectedPerDisk.vue +84 -84
  593. package/components/common/wizards/vm/migrate/select/storage/table/datastore/Datastore.vue +105 -105
  594. package/components/common/wizards/vm/migrate/select/storage/table/datastore/config/config.ts +154 -154
  595. package/components/common/wizards/vm/migrate/select/storage/table/datastore/models/types.ts +15 -15
  596. package/components/common/wizards/vm/migrate/select/storage/table/disk/Disk.vue +73 -73
  597. package/components/common/wizards/vm/migrate/select/storage/table/disk/config/config.ts +102 -102
  598. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/interfaces.ts +9 -9
  599. package/components/common/wizards/vm/migrate/select/storage/table/disk/models/types.ts +9 -9
  600. package/components/common/wizards/vm/migrate/select/type/Type.vue +38 -38
  601. package/components/common/wizards/vm/migrate/select/type/config/typeOptions.ts +41 -41
  602. package/components/common/wizards/vm/migrate/select/type/models/interfaces.ts +5 -5
  603. package/components/common/wizards/vm/migrate/utils.ts +80 -80
  604. package/components/content/Hint.vue +24 -24
  605. package/components/models/interfaces.ts +14 -14
  606. package/composables/deepCopy.ts +21 -21
  607. package/composables/useDiff.ts +15 -15
  608. package/composables/useLocal.ts +38 -38
  609. package/composables/useLocalStorage.ts +45 -45
  610. package/composables/useThrottle.ts +32 -32
  611. package/composables/useUniqueId.ts +5 -5
  612. package/config/regExp.ts +13 -13
  613. package/eslint/index.js +15 -15
  614. package/eslint/no-import-type.js +17 -17
  615. package/eslint/no-invalid-type-prefix.js +32 -32
  616. package/minify.js +146 -146
  617. package/models/composables/useMyFetch/interfaces.ts +4 -4
  618. package/models/composables/useMyFetch/types.ts +1 -1
  619. package/models/enums.ts +21 -21
  620. package/models/interfaces.ts +29 -29
  621. package/models/plugins/date/interfaces.ts +5 -5
  622. package/models/plugins/date/types.ts +1 -1
  623. package/models/plugins/validation/interfaces.ts +21 -21
  624. package/models/plugins/validation/types.ts +1 -1
  625. package/models/store/host/interfaces.ts +38 -38
  626. package/models/store/interfaces.ts +37 -37
  627. package/models/store/network/interfaces.ts +13 -13
  628. package/models/store/storage/interfaces.ts +32 -32
  629. package/models/store/types.ts +43 -43
  630. package/models/store/vm/interfaces.ts +213 -213
  631. package/models/types.ts +6 -6
  632. package/modules/fixContentBuild/index.ts +92 -92
  633. package/modules/fixContentBuild/utils/methods.ts +114 -114
  634. package/modules/fixSpiceConsoleBuild/index.ts +28 -28
  635. package/modules/replaceEnv/index.ts +40 -40
  636. package/nuxt.config.ts +8 -8
  637. package/package.json +41 -41
  638. package/plugins/binary.ts +122 -122
  639. package/plugins/date.ts +179 -179
  640. package/plugins/recursion.ts +230 -230
  641. package/plugins/spice-console/spice.console.ts +18 -18
  642. package/plugins/text.ts +48 -48
  643. package/plugins/validation.ts +172 -172
  644. package/public/spice-console/application/WorkerProcess.js +3350 -3350
  645. package/public/spice-console/application/WorkerProcess_back.js +3144 -3144
  646. package/public/spice-console/application/WorkerProcess_meta.js +3102 -3102
  647. package/public/spice-console/application/WorkerProcess_reverse.js +3214 -3214
  648. package/public/spice-console/application/agent.js +175 -175
  649. package/public/spice-console/application/application.js +641 -641
  650. package/public/spice-console/application/checkActivity.js +50 -50
  651. package/public/spice-console/application/clientgui.js +842 -842
  652. package/public/spice-console/application/clipboard/clipboarddataparser.js +92 -92
  653. package/public/spice-console/application/clipboard/local/localClipboard.js +110 -110
  654. package/public/spice-console/application/clipboard.js +82 -82
  655. package/public/spice-console/application/codec.js +257 -257
  656. package/public/spice-console/application/imagecache.js +81 -81
  657. package/public/spice-console/application/inputmanager.js +270 -270
  658. package/public/spice-console/application/packetfactory.js +202 -202
  659. package/public/spice-console/application/packetfilter.js +103 -103
  660. package/public/spice-console/application/packetprocess.js +75 -75
  661. package/public/spice-console/application/rasteroperation.js +118 -118
  662. package/public/spice-console/application/spiceconnection.js +197 -197
  663. package/public/spice-console/application/stream.js +67 -67
  664. package/public/spice-console/application/virtualmouse.js +109 -109
  665. package/public/spice-console/keymaps/keyevent.js +36 -36
  666. package/public/spice-console/keymaps/keymap.js +229 -229
  667. package/public/spice-console/keymaps/keymapes.js +375 -375
  668. package/public/spice-console/keymaps/keymapesObj.js +316 -316
  669. package/public/spice-console/keymaps/keymapus.js +317 -317
  670. package/public/spice-console/keymaps/scanCodeObjModifier.js +65 -65
  671. package/public/spice-console/keymaps/scanCodeObjProvider.js +60 -60
  672. package/public/spice-console/lib/AsyncConsumer.js +204 -204
  673. package/public/spice-console/lib/AsyncWorker.js +60 -60
  674. package/public/spice-console/lib/CollisionDetector.js +27 -27
  675. package/public/spice-console/lib/DataLogger.js +197 -197
  676. package/public/spice-console/lib/GenericObjectPool.js +152 -152
  677. package/public/spice-console/lib/GlobalPool.js +114 -114
  678. package/public/spice-console/lib/ImageUncompressor.js +138 -138
  679. package/public/spice-console/lib/IntegrationBenchmark.js +64 -64
  680. package/public/spice-console/lib/PacketWorkerIdentifier.js +107 -107
  681. package/public/spice-console/lib/SyncAsyncHandler.js +46 -46
  682. package/public/spice-console/lib/base64.js +298 -298
  683. package/public/spice-console/lib/biginteger.js +1640 -1640
  684. package/public/spice-console/lib/bowser.js +276 -276
  685. package/public/spice-console/lib/decoder/dixie.js +7930 -7930
  686. package/public/spice-console/lib/decoder/jmuxer.js +2815 -2815
  687. package/public/spice-console/lib/displayRouter.js +83 -83
  688. package/public/spice-console/lib/encrypt.js +191 -191
  689. package/public/spice-console/lib/flipper.js +39 -39
  690. package/public/spice-console/lib/graphic.js +1230 -1230
  691. package/public/spice-console/lib/graphicdebug.js +223 -223
  692. package/public/spice-console/lib/images/bitmap.js +194 -194
  693. package/public/spice-console/lib/images/jsquic_family.js +83 -83
  694. package/public/spice-console/lib/images/jsquic_rgba.js +342 -342
  695. package/public/spice-console/lib/images/jsquic_uncompress.js +529 -529
  696. package/public/spice-console/lib/images/lz.js +717 -717
  697. package/public/spice-console/lib/images/png.js +275 -275
  698. package/public/spice-console/lib/jgestures.min.js +43 -43
  699. package/public/spice-console/lib/jquery-2.0.3.js +8829 -8829
  700. package/public/spice-console/lib/jquery-mousewheel.js +83 -83
  701. package/public/spice-console/lib/jquery-visibility.min.js +1 -1
  702. package/public/spice-console/lib/jsbn.js +578 -578
  703. package/public/spice-console/lib/jsbn2.js +675 -675
  704. package/public/spice-console/lib/lodash.4.0.0.min.js +136 -136
  705. package/public/spice-console/lib/modernizr.js +39 -39
  706. package/public/spice-console/lib/pixastic.js +3244 -3244
  707. package/public/spice-console/lib/prettyprint.js +794 -794
  708. package/public/spice-console/lib/prng4.js +64 -64
  709. package/public/spice-console/lib/queue.js +259 -259
  710. package/public/spice-console/lib/rasterEngine.js +907 -907
  711. package/public/spice-console/lib/rng.js +87 -87
  712. package/public/spice-console/lib/runqueue.js +103 -103
  713. package/public/spice-console/lib/sha1.js +124 -124
  714. package/public/spice-console/lib/stuckkeyshandler.js +122 -122
  715. package/public/spice-console/lib/timelapsedetector.js +62 -62
  716. package/public/spice-console/lib/utils.js +327 -327
  717. package/public/spice-console/lib/virtualjoystick.js +370 -370
  718. package/public/spice-console/network/busconnection.js +195 -195
  719. package/public/spice-console/network/clusternodechooser.js +49 -49
  720. package/public/spice-console/network/connectioncontrol.js +60 -60
  721. package/public/spice-console/network/packetcontroller.js +62 -62
  722. package/public/spice-console/network/packetextractor.js +73 -73
  723. package/public/spice-console/network/packetlinkfactory.js +64 -64
  724. package/public/spice-console/network/packetreassembler.js +77 -77
  725. package/public/spice-console/network/reassemblerfactory.js +39 -39
  726. package/public/spice-console/network/sizedefiner.js +86 -86
  727. package/public/spice-console/network/socket.js +120 -120
  728. package/public/spice-console/network/socketqueue.js +95 -95
  729. package/public/spice-console/network/spicechannel.js +369 -369
  730. package/public/spice-console/network/websocketwrapper.js +75 -75
  731. package/public/spice-console/process/busprocess.js +309 -309
  732. package/public/spice-console/process/cursorprocess.js +110 -110
  733. package/public/spice-console/process/displaypreprocess.js +152 -152
  734. package/public/spice-console/process/displayprocess.js +210 -210
  735. package/public/spice-console/process/inputprocess.js +203 -203
  736. package/public/spice-console/process/mainprocess.js +78 -78
  737. package/public/spice-console/process/playbackprocess.js +233 -233
  738. package/public/spice-console/run.js +180 -180
  739. package/public/spice-console/spiceobjects/generated/protocol.js +537 -537
  740. package/public/spice-console/spiceobjects/spiceobjects.js +3474 -3474
  741. package/public/spice-console/swcanvas/swcanvas.js +82 -82
  742. package/public/spice-console/tools/generate.php +269 -269
  743. package/public/spice-console/tools/generateKeyboardLayout.php +63 -63
  744. package/public/spice-console/tools/generateSpiceObject.php +81 -81
  745. package/tsconfig.json +4 -4
  746. package/utils/contentBuild.ts +34 -34
  747. package/components/common/wizards/vm/migrate/select/priority/models/types.ts +0 -1
  748. package/components/common/wizards/vm/migrate/select/targetServer/config/tabsPannel.ts +0 -18
  749. package/components/common/wizards/vm/migrate/select/targetServer/models/types.ts +0 -1
  750. package/components/common/wizards/vm/migrate/select/targetServer/new/New.vue +0 -287
  751. package/components/common/wizards/vm/migrate/select/targetServer/new/config/defaultForm.ts +0 -33
  752. package/components/common/wizards/vm/migrate/select/targetServer/saved/Saved.vue +0 -27
  753. package/components/common/wizards/vm/migrate/select/targetServer/targetServer.vue +0 -41
@@ -1,578 +1,578 @@
1
- /*
2
- Copyright (c) 2016 eyeOS
3
-
4
- This file is part of Open365.
5
-
6
- Open365 is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU Affero General Public License as
8
- published by the Free Software Foundation, either version 3 of the
9
- License, or (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU Affero General Public License for more details.
15
-
16
- You should have received a copy of the GNU Affero General Public License
17
- along with this program. If not, see <http://www.gnu.org/licenses/>.
18
- */
19
-
20
- // Copyright (c) 2005 Tom Wu
21
- // All Rights Reserved.
22
- // See "LICENSE" for details.
23
-
24
- // Basic JavaScript BN library - subset useful for RSA encryption.
25
-
26
- // Bits per digit
27
- var dbits;
28
-
29
- // JavaScript engine analysis
30
- var canary = 0xdeadbeefcafe;
31
- var j_lm = ((canary&0xffffff)==0xefcafe);
32
-
33
- // (public) Constructor
34
- function encryptionBigInteger(a,b,c) {
35
- if(a != null)
36
- if("number" == typeof a) this.fromNumber(a,b,c);
37
- else if(b == null && "string" != typeof a) this.fromString(a,256);
38
- else this.fromString(a,b);
39
- }
40
-
41
- // return new, unset encryptionBigInteger
42
- function nbi() { return new encryptionBigInteger(null); }
43
-
44
- // am: Compute w_j += (x*this_i), propagate carries,
45
- // c is initial carry, returns final carry.
46
- // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
47
- // We need to select the fastest one that works in this environment.
48
-
49
- // am1: use a single mult and divide to get the high bits,
50
- // max digit bits should be 26 because
51
- // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
52
- function am1(i,x,w,j,c,n) {
53
- while(--n >= 0) {
54
- var v = x*this[i++]+w[j]+c;
55
- c = Math.floor(v/0x4000000);
56
- w[j++] = v&0x3ffffff;
57
- }
58
- return c;
59
- }
60
- // am2 avoids a big mult-and-extract completely.
61
- // Max digit bits should be <= 30 because we do bitwise ops
62
- // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
63
- function am2(i,x,w,j,c,n) {
64
- var xl = x&0x7fff, xh = x>>15;
65
- while(--n >= 0) {
66
- var l = this[i]&0x7fff;
67
- var h = this[i++]>>15;
68
- var m = xh*l+h*xl;
69
- l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
70
- c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
71
- w[j++] = l&0x3fffffff;
72
- }
73
- return c;
74
- }
75
- // Alternately, set max digit bits to 28 since some
76
- // browsers slow down when dealing with 32-bit numbers.
77
- function am3(i,x,w,j,c,n) {
78
- var xl = x&0x3fff, xh = x>>14;
79
- while(--n >= 0) {
80
- var l = this[i]&0x3fff;
81
- var h = this[i++]>>14;
82
- var m = xh*l+h*xl;
83
- l = xl*l+((m&0x3fff)<<14)+w[j]+c;
84
- c = (l>>28)+(m>>14)+xh*h;
85
- w[j++] = l&0xfffffff;
86
- }
87
- return c;
88
- }
89
- if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
90
- encryptionBigInteger.prototype.am = am2;
91
- dbits = 30;
92
- }
93
- else if(j_lm && (navigator.appName != "Netscape")) {
94
- encryptionBigInteger.prototype.am = am1;
95
- dbits = 26;
96
- }
97
- else { // Mozilla/Netscape seems to prefer am3
98
- encryptionBigInteger.prototype.am = am3;
99
- dbits = 28;
100
- }
101
-
102
- encryptionBigInteger.prototype.DB = dbits;
103
- encryptionBigInteger.prototype.DM = ((1<<dbits)-1);
104
- encryptionBigInteger.prototype.DV = (1<<dbits);
105
-
106
- var BI_FP = 52;
107
- encryptionBigInteger.prototype.FV = Math.pow(2,BI_FP);
108
- encryptionBigInteger.prototype.F1 = BI_FP-dbits;
109
- encryptionBigInteger.prototype.F2 = 2*dbits-BI_FP;
110
-
111
- // Digit conversions
112
- var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
113
- var BI_RC = new Array();
114
- var rr,vv;
115
- rr = "0".charCodeAt(0);
116
- for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
117
- rr = "a".charCodeAt(0);
118
- for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
119
- rr = "A".charCodeAt(0);
120
- for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
121
-
122
- function int2char(n) { return BI_RM.charAt(n); }
123
- function intAt(s,i) {
124
- var c = BI_RC[s.charCodeAt(i)];
125
- return (c==null)?-1:c;
126
- }
127
-
128
- // (protected) copy this to r
129
- function bnpCopyTo(r) {
130
- for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
131
- r.t = this.t;
132
- r.s = this.s;
133
- }
134
-
135
- // (protected) set from integer value x, -DV <= x < DV
136
- function bnpFromInt(x) {
137
- this.t = 1;
138
- this.s = (x<0)?-1:0;
139
- if(x > 0) this[0] = x;
140
- else if(x < -1) this[0] = x+DV;
141
- else this.t = 0;
142
- }
143
-
144
- // return bigint initialized to value
145
- function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
146
-
147
- // (protected) set from string and radix
148
- function bnpFromString(s,b) {
149
- var k;
150
- if(b == 16) k = 4;
151
- else if(b == 8) k = 3;
152
- else if(b == 256) k = 8; // byte array
153
- else if(b == 2) k = 1;
154
- else if(b == 32) k = 5;
155
- else if(b == 4) k = 2;
156
- else { this.fromRadix(s,b); return; }
157
- this.t = 0;
158
- this.s = 0;
159
- var i = s.length, mi = false, sh = 0;
160
- while(--i >= 0) {
161
- var x = (k==8)?s[i]&0xff:intAt(s,i);
162
- if(x < 0) {
163
- if(s.charAt(i) == "-") mi = true;
164
- continue;
165
- }
166
- mi = false;
167
- if(sh == 0)
168
- this[this.t++] = x;
169
- else if(sh+k > this.DB) {
170
- this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
171
- this[this.t++] = (x>>(this.DB-sh));
172
- }
173
- else
174
- this[this.t-1] |= x<<sh;
175
- sh += k;
176
- if(sh >= this.DB) sh -= this.DB;
177
- }
178
- if(k == 8 && (s[0]&0x80) != 0) {
179
- this.s = -1;
180
- if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
181
- }
182
- this.clamp();
183
- if(mi) encryptionBigInteger.ZERO.subTo(this,this);
184
- }
185
-
186
- // (protected) clamp off excess high words
187
- function bnpClamp() {
188
- var c = this.s&this.DM;
189
- while(this.t > 0 && this[this.t-1] == c) --this.t;
190
- }
191
-
192
- // (public) return string representation in given radix
193
- function bnToString(b) {
194
- if(this.s < 0) return "-"+this.negate().toString(b);
195
- var k;
196
- if(b == 16) k = 4;
197
- else if(b == 8) k = 3;
198
- else if(b == 2) k = 1;
199
- else if(b == 32) k = 5;
200
- else if(b == 4) k = 2;
201
- else return this.toRadix(b);
202
- var km = (1<<k)-1, d, m = false, r = "", i = this.t;
203
- var p = this.DB-(i*this.DB)%k;
204
- if(i-- > 0) {
205
- if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
206
- while(i >= 0) {
207
- if(p < k) {
208
- d = (this[i]&((1<<p)-1))<<(k-p);
209
- d |= this[--i]>>(p+=this.DB-k);
210
- }
211
- else {
212
- d = (this[i]>>(p-=k))&km;
213
- if(p <= 0) { p += this.DB; --i; }
214
- }
215
- if(d > 0) m = true;
216
- if(m) r += int2char(d);
217
- }
218
- }
219
- return m?r:"0";
220
- }
221
-
222
- // (public) -this
223
- function bnNegate() { var r = nbi(); encryptionBigInteger.ZERO.subTo(this,r); return r; }
224
-
225
- // (public) |this|
226
- function bnAbs() { return (this.s<0)?this.negate():this; }
227
-
228
- // (public) return + if this > a, - if this < a, 0 if equal
229
- function bnCompareTo(a) {
230
- var r = this.s-a.s;
231
- if(r != 0) return r;
232
- var i = this.t;
233
- r = i-a.t;
234
- if(r != 0) return (this.s<0)?-r:r;
235
- while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
236
- return 0;
237
- }
238
-
239
- // returns bit length of the integer x
240
- function nbits(x) {
241
- var r = 1, t;
242
- if((t=x>>>16) != 0) { x = t; r += 16; }
243
- if((t=x>>8) != 0) { x = t; r += 8; }
244
- if((t=x>>4) != 0) { x = t; r += 4; }
245
- if((t=x>>2) != 0) { x = t; r += 2; }
246
- if((t=x>>1) != 0) { x = t; r += 1; }
247
- return r;
248
- }
249
-
250
- // (public) return the number of bits in "this"
251
- function bnBitLength() {
252
- if(this.t <= 0) return 0;
253
- return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
254
- }
255
-
256
- // (protected) r = this << n*DB
257
- function bnpDLShiftTo(n,r) {
258
- var i;
259
- for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
260
- for(i = n-1; i >= 0; --i) r[i] = 0;
261
- r.t = this.t+n;
262
- r.s = this.s;
263
- }
264
-
265
- // (protected) r = this >> n*DB
266
- function bnpDRShiftTo(n,r) {
267
- for(var i = n; i < this.t; ++i) r[i-n] = this[i];
268
- r.t = Math.max(this.t-n,0);
269
- r.s = this.s;
270
- }
271
-
272
- // (protected) r = this << n
273
- function bnpLShiftTo(n,r) {
274
- var bs = n%this.DB;
275
- var cbs = this.DB-bs;
276
- var bm = (1<<cbs)-1;
277
- var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
278
- for(i = this.t-1; i >= 0; --i) {
279
- r[i+ds+1] = (this[i]>>cbs)|c;
280
- c = (this[i]&bm)<<bs;
281
- }
282
- for(i = ds-1; i >= 0; --i) r[i] = 0;
283
- r[ds] = c;
284
- r.t = this.t+ds+1;
285
- r.s = this.s;
286
- r.clamp();
287
- }
288
-
289
- // (protected) r = this >> n
290
- function bnpRShiftTo(n,r) {
291
- r.s = this.s;
292
- var ds = Math.floor(n/this.DB);
293
- if(ds >= this.t) { r.t = 0; return; }
294
- var bs = n%this.DB;
295
- var cbs = this.DB-bs;
296
- var bm = (1<<bs)-1;
297
- r[0] = this[ds]>>bs;
298
- for(var i = ds+1; i < this.t; ++i) {
299
- r[i-ds-1] |= (this[i]&bm)<<cbs;
300
- r[i-ds] = this[i]>>bs;
301
- }
302
- if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
303
- r.t = this.t-ds;
304
- r.clamp();
305
- }
306
-
307
- // (protected) r = this - a
308
- function bnpSubTo(a,r) {
309
- var i = 0, c = 0, m = Math.min(a.t,this.t);
310
- while(i < m) {
311
- c += this[i]-a[i];
312
- r[i++] = c&this.DM;
313
- c >>= this.DB;
314
- }
315
- if(a.t < this.t) {
316
- c -= a.s;
317
- while(i < this.t) {
318
- c += this[i];
319
- r[i++] = c&this.DM;
320
- c >>= this.DB;
321
- }
322
- c += this.s;
323
- }
324
- else {
325
- c += this.s;
326
- while(i < a.t) {
327
- c -= a[i];
328
- r[i++] = c&this.DM;
329
- c >>= this.DB;
330
- }
331
- c -= a.s;
332
- }
333
- r.s = (c<0)?-1:0;
334
- if(c < -1) r[i++] = this.DV+c;
335
- else if(c > 0) r[i++] = c;
336
- r.t = i;
337
- r.clamp();
338
- }
339
-
340
- // (protected) r = this * a, r != this,a (HAC 14.12)
341
- // "this" should be the larger one if appropriate.
342
- function bnpMultiplyTo(a,r) {
343
- var x = this.abs(), y = a.abs();
344
- var i = x.t;
345
- r.t = i+y.t;
346
- while(--i >= 0) r[i] = 0;
347
- for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
348
- r.s = 0;
349
- r.clamp();
350
- if(this.s != a.s) encryptionBigInteger.ZERO.subTo(r,r);
351
- }
352
-
353
- // (protected) r = this^2, r != this (HAC 14.16)
354
- function bnpSquareTo(r) {
355
- var x = this.abs();
356
- var i = r.t = 2*x.t;
357
- while(--i >= 0) r[i] = 0;
358
- for(i = 0; i < x.t-1; ++i) {
359
- var c = x.am(i,x[i],r,2*i,0,1);
360
- if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
361
- r[i+x.t] -= x.DV;
362
- r[i+x.t+1] = 1;
363
- }
364
- }
365
- if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
366
- r.s = 0;
367
- r.clamp();
368
- }
369
-
370
- // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
371
- // r != q, this != m. q or r may be null.
372
- function bnpDivRemTo(m,q,r) {
373
- var pm = m.abs();
374
- if(pm.t <= 0) return;
375
- var pt = this.abs();
376
- if(pt.t < pm.t) {
377
- if(q != null) q.fromInt(0);
378
- if(r != null) this.copyTo(r);
379
- return;
380
- }
381
- if(r == null) r = nbi();
382
- var y = nbi(), ts = this.s, ms = m.s;
383
- var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus
384
- if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
385
- else { pm.copyTo(y); pt.copyTo(r); }
386
- var ys = y.t;
387
- var y0 = y[ys-1];
388
- if(y0 == 0) return;
389
- var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
390
- var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
391
- var i = r.t, j = i-ys, t = (q==null)?nbi():q;
392
- y.dlShiftTo(j,t);
393
- if(r.compareTo(t) >= 0) {
394
- r[r.t++] = 1;
395
- r.subTo(t,r);
396
- }
397
- encryptionBigInteger.ONE.dlShiftTo(ys,t);
398
- t.subTo(y,y); // "negative" y so we can replace sub with am later
399
- while(y.t < ys) y[y.t++] = 0;
400
- while(--j >= 0) {
401
- // Estimate quotient digit
402
- var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
403
- if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out
404
- y.dlShiftTo(j,t);
405
- r.subTo(t,r);
406
- while(r[i] < --qd) r.subTo(t,r);
407
- }
408
- }
409
- if(q != null) {
410
- r.drShiftTo(ys,q);
411
- if(ts != ms) encryptionBigInteger.ZERO.subTo(q,q);
412
- }
413
- r.t = ys;
414
- r.clamp();
415
- if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder
416
- if(ts < 0) encryptionBigInteger.ZERO.subTo(r,r);
417
- }
418
-
419
- // (public) this mod a
420
- function bnMod(a) {
421
- var r = nbi();
422
- this.abs().divRemTo(a,null,r);
423
- if(this.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) a.subTo(r,r);
424
- return r;
425
- }
426
-
427
- // Modular reduction using "classic" algorithm
428
- function Classic(m) { this.m = m; }
429
- function cConvert(x) {
430
- if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
431
- else return x;
432
- }
433
- function cRevert(x) { return x; }
434
- function cReduce(x) { x.divRemTo(this.m,null,x); }
435
- function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
436
- function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
437
-
438
- Classic.prototype.convert = cConvert;
439
- Classic.prototype.revert = cRevert;
440
- Classic.prototype.reduce = cReduce;
441
- Classic.prototype.mulTo = cMulTo;
442
- Classic.prototype.sqrTo = cSqrTo;
443
-
444
- // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
445
- // justification:
446
- // xy == 1 (mod m)
447
- // xy = 1+km
448
- // xy(2-xy) = (1+km)(1-km)
449
- // x[y(2-xy)] = 1-k^2m^2
450
- // x[y(2-xy)] == 1 (mod m^2)
451
- // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
452
- // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
453
- // JS multiply "overflows" differently from C/C++, so care is needed here.
454
- function bnpInvDigit() {
455
- if(this.t < 1) return 0;
456
- var x = this[0];
457
- if((x&1) == 0) return 0;
458
- var y = x&3; // y == 1/x mod 2^2
459
- y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4
460
- y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8
461
- y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16
462
- // last step - calculate inverse mod DV directly;
463
- // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
464
- y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits
465
- // we really want the negative inverse, and -DV < y < DV
466
- return (y>0)?this.DV-y:-y;
467
- }
468
-
469
- // Montgomery reduction
470
- function Montgomery(m) {
471
- this.m = m;
472
- this.mp = m.invDigit();
473
- this.mpl = this.mp&0x7fff;
474
- this.mph = this.mp>>15;
475
- this.um = (1<<(m.DB-15))-1;
476
- this.mt2 = 2*m.t;
477
- }
478
-
479
- // xR mod m
480
- function montConvert(x) {
481
- var r = nbi();
482
- x.abs().dlShiftTo(this.m.t,r);
483
- r.divRemTo(this.m,null,r);
484
- if(x.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) this.m.subTo(r,r);
485
- return r;
486
- }
487
-
488
- // x/R mod m
489
- function montRevert(x) {
490
- var r = nbi();
491
- x.copyTo(r);
492
- this.reduce(r);
493
- return r;
494
- }
495
-
496
- // x = x/R mod m (HAC 14.32)
497
- function montReduce(x) {
498
- while(x.t <= this.mt2) // pad x so am has enough room later
499
- x[x.t++] = 0;
500
- for(var i = 0; i < this.m.t; ++i) {
501
- // faster way of calculating u0 = x[i]*mp mod DV
502
- var j = x[i]&0x7fff;
503
- var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
504
- // use am to combine the multiply-shift-add into one call
505
- j = i+this.m.t;
506
- x[j] += this.m.am(0,u0,x,i,0,this.m.t);
507
- // propagate carry
508
- while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
509
- }
510
- x.clamp();
511
- x.drShiftTo(this.m.t,x);
512
- if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
513
- }
514
-
515
- // r = "x^2/R mod m"; x != r
516
- function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
517
-
518
- // r = "xy/R mod m"; x,y != r
519
- function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
520
-
521
- Montgomery.prototype.convert = montConvert;
522
- Montgomery.prototype.revert = montRevert;
523
- Montgomery.prototype.reduce = montReduce;
524
- Montgomery.prototype.mulTo = montMulTo;
525
- Montgomery.prototype.sqrTo = montSqrTo;
526
-
527
- // (protected) true iff this is even
528
- function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
529
-
530
- // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
531
- function bnpExp(e,z) {
532
- if(e > 0xffffffff || e < 1) return encryptionBigInteger.ONE;
533
- var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
534
- g.copyTo(r);
535
- while(--i >= 0) {
536
- z.sqrTo(r,r2);
537
- if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
538
- else { var t = r; r = r2; r2 = t; }
539
- }
540
- return z.revert(r);
541
- }
542
-
543
- // (public) this^e % m, 0 <= e < 2^32
544
- function bnModPowInt(e,m) {
545
- var z;
546
- if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
547
- return this.exp(e,z);
548
- }
549
-
550
- // protected
551
- encryptionBigInteger.prototype.copyTo = bnpCopyTo;
552
- encryptionBigInteger.prototype.fromInt = bnpFromInt;
553
- encryptionBigInteger.prototype.fromString = bnpFromString;
554
- encryptionBigInteger.prototype.clamp = bnpClamp;
555
- encryptionBigInteger.prototype.dlShiftTo = bnpDLShiftTo;
556
- encryptionBigInteger.prototype.drShiftTo = bnpDRShiftTo;
557
- encryptionBigInteger.prototype.lShiftTo = bnpLShiftTo;
558
- encryptionBigInteger.prototype.rShiftTo = bnpRShiftTo;
559
- encryptionBigInteger.prototype.subTo = bnpSubTo;
560
- encryptionBigInteger.prototype.multiplyTo = bnpMultiplyTo;
561
- encryptionBigInteger.prototype.squareTo = bnpSquareTo;
562
- encryptionBigInteger.prototype.divRemTo = bnpDivRemTo;
563
- encryptionBigInteger.prototype.invDigit = bnpInvDigit;
564
- encryptionBigInteger.prototype.isEven = bnpIsEven;
565
- encryptionBigInteger.prototype.exp = bnpExp;
566
-
567
- // public
568
- encryptionBigInteger.prototype.toString = bnToString;
569
- encryptionBigInteger.prototype.negate = bnNegate;
570
- encryptionBigInteger.prototype.abs = bnAbs;
571
- encryptionBigInteger.prototype.compareTo = bnCompareTo;
572
- encryptionBigInteger.prototype.bitLength = bnBitLength;
573
- encryptionBigInteger.prototype.mod = bnMod;
574
- encryptionBigInteger.prototype.modPowInt = bnModPowInt;
575
-
576
- // "constants"
577
- encryptionBigInteger.ZERO = nbv(0);
578
- encryptionBigInteger.ONE = nbv(1);
1
+ /*
2
+ Copyright (c) 2016 eyeOS
3
+
4
+ This file is part of Open365.
5
+
6
+ Open365 is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU Affero General Public License as
8
+ published by the Free Software Foundation, either version 3 of the
9
+ License, or (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU Affero General Public License for more details.
15
+
16
+ You should have received a copy of the GNU Affero General Public License
17
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
18
+ */
19
+
20
+ // Copyright (c) 2005 Tom Wu
21
+ // All Rights Reserved.
22
+ // See "LICENSE" for details.
23
+
24
+ // Basic JavaScript BN library - subset useful for RSA encryption.
25
+
26
+ // Bits per digit
27
+ var dbits;
28
+
29
+ // JavaScript engine analysis
30
+ var canary = 0xdeadbeefcafe;
31
+ var j_lm = ((canary&0xffffff)==0xefcafe);
32
+
33
+ // (public) Constructor
34
+ function encryptionBigInteger(a,b,c) {
35
+ if(a != null)
36
+ if("number" == typeof a) this.fromNumber(a,b,c);
37
+ else if(b == null && "string" != typeof a) this.fromString(a,256);
38
+ else this.fromString(a,b);
39
+ }
40
+
41
+ // return new, unset encryptionBigInteger
42
+ function nbi() { return new encryptionBigInteger(null); }
43
+
44
+ // am: Compute w_j += (x*this_i), propagate carries,
45
+ // c is initial carry, returns final carry.
46
+ // c < 3*dvalue, x < 2*dvalue, this_i < dvalue
47
+ // We need to select the fastest one that works in this environment.
48
+
49
+ // am1: use a single mult and divide to get the high bits,
50
+ // max digit bits should be 26 because
51
+ // max internal value = 2*dvalue^2-2*dvalue (< 2^53)
52
+ function am1(i,x,w,j,c,n) {
53
+ while(--n >= 0) {
54
+ var v = x*this[i++]+w[j]+c;
55
+ c = Math.floor(v/0x4000000);
56
+ w[j++] = v&0x3ffffff;
57
+ }
58
+ return c;
59
+ }
60
+ // am2 avoids a big mult-and-extract completely.
61
+ // Max digit bits should be <= 30 because we do bitwise ops
62
+ // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
63
+ function am2(i,x,w,j,c,n) {
64
+ var xl = x&0x7fff, xh = x>>15;
65
+ while(--n >= 0) {
66
+ var l = this[i]&0x7fff;
67
+ var h = this[i++]>>15;
68
+ var m = xh*l+h*xl;
69
+ l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
70
+ c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
71
+ w[j++] = l&0x3fffffff;
72
+ }
73
+ return c;
74
+ }
75
+ // Alternately, set max digit bits to 28 since some
76
+ // browsers slow down when dealing with 32-bit numbers.
77
+ function am3(i,x,w,j,c,n) {
78
+ var xl = x&0x3fff, xh = x>>14;
79
+ while(--n >= 0) {
80
+ var l = this[i]&0x3fff;
81
+ var h = this[i++]>>14;
82
+ var m = xh*l+h*xl;
83
+ l = xl*l+((m&0x3fff)<<14)+w[j]+c;
84
+ c = (l>>28)+(m>>14)+xh*h;
85
+ w[j++] = l&0xfffffff;
86
+ }
87
+ return c;
88
+ }
89
+ if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
90
+ encryptionBigInteger.prototype.am = am2;
91
+ dbits = 30;
92
+ }
93
+ else if(j_lm && (navigator.appName != "Netscape")) {
94
+ encryptionBigInteger.prototype.am = am1;
95
+ dbits = 26;
96
+ }
97
+ else { // Mozilla/Netscape seems to prefer am3
98
+ encryptionBigInteger.prototype.am = am3;
99
+ dbits = 28;
100
+ }
101
+
102
+ encryptionBigInteger.prototype.DB = dbits;
103
+ encryptionBigInteger.prototype.DM = ((1<<dbits)-1);
104
+ encryptionBigInteger.prototype.DV = (1<<dbits);
105
+
106
+ var BI_FP = 52;
107
+ encryptionBigInteger.prototype.FV = Math.pow(2,BI_FP);
108
+ encryptionBigInteger.prototype.F1 = BI_FP-dbits;
109
+ encryptionBigInteger.prototype.F2 = 2*dbits-BI_FP;
110
+
111
+ // Digit conversions
112
+ var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
113
+ var BI_RC = new Array();
114
+ var rr,vv;
115
+ rr = "0".charCodeAt(0);
116
+ for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
117
+ rr = "a".charCodeAt(0);
118
+ for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
119
+ rr = "A".charCodeAt(0);
120
+ for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
121
+
122
+ function int2char(n) { return BI_RM.charAt(n); }
123
+ function intAt(s,i) {
124
+ var c = BI_RC[s.charCodeAt(i)];
125
+ return (c==null)?-1:c;
126
+ }
127
+
128
+ // (protected) copy this to r
129
+ function bnpCopyTo(r) {
130
+ for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
131
+ r.t = this.t;
132
+ r.s = this.s;
133
+ }
134
+
135
+ // (protected) set from integer value x, -DV <= x < DV
136
+ function bnpFromInt(x) {
137
+ this.t = 1;
138
+ this.s = (x<0)?-1:0;
139
+ if(x > 0) this[0] = x;
140
+ else if(x < -1) this[0] = x+DV;
141
+ else this.t = 0;
142
+ }
143
+
144
+ // return bigint initialized to value
145
+ function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
146
+
147
+ // (protected) set from string and radix
148
+ function bnpFromString(s,b) {
149
+ var k;
150
+ if(b == 16) k = 4;
151
+ else if(b == 8) k = 3;
152
+ else if(b == 256) k = 8; // byte array
153
+ else if(b == 2) k = 1;
154
+ else if(b == 32) k = 5;
155
+ else if(b == 4) k = 2;
156
+ else { this.fromRadix(s,b); return; }
157
+ this.t = 0;
158
+ this.s = 0;
159
+ var i = s.length, mi = false, sh = 0;
160
+ while(--i >= 0) {
161
+ var x = (k==8)?s[i]&0xff:intAt(s,i);
162
+ if(x < 0) {
163
+ if(s.charAt(i) == "-") mi = true;
164
+ continue;
165
+ }
166
+ mi = false;
167
+ if(sh == 0)
168
+ this[this.t++] = x;
169
+ else if(sh+k > this.DB) {
170
+ this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
171
+ this[this.t++] = (x>>(this.DB-sh));
172
+ }
173
+ else
174
+ this[this.t-1] |= x<<sh;
175
+ sh += k;
176
+ if(sh >= this.DB) sh -= this.DB;
177
+ }
178
+ if(k == 8 && (s[0]&0x80) != 0) {
179
+ this.s = -1;
180
+ if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
181
+ }
182
+ this.clamp();
183
+ if(mi) encryptionBigInteger.ZERO.subTo(this,this);
184
+ }
185
+
186
+ // (protected) clamp off excess high words
187
+ function bnpClamp() {
188
+ var c = this.s&this.DM;
189
+ while(this.t > 0 && this[this.t-1] == c) --this.t;
190
+ }
191
+
192
+ // (public) return string representation in given radix
193
+ function bnToString(b) {
194
+ if(this.s < 0) return "-"+this.negate().toString(b);
195
+ var k;
196
+ if(b == 16) k = 4;
197
+ else if(b == 8) k = 3;
198
+ else if(b == 2) k = 1;
199
+ else if(b == 32) k = 5;
200
+ else if(b == 4) k = 2;
201
+ else return this.toRadix(b);
202
+ var km = (1<<k)-1, d, m = false, r = "", i = this.t;
203
+ var p = this.DB-(i*this.DB)%k;
204
+ if(i-- > 0) {
205
+ if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
206
+ while(i >= 0) {
207
+ if(p < k) {
208
+ d = (this[i]&((1<<p)-1))<<(k-p);
209
+ d |= this[--i]>>(p+=this.DB-k);
210
+ }
211
+ else {
212
+ d = (this[i]>>(p-=k))&km;
213
+ if(p <= 0) { p += this.DB; --i; }
214
+ }
215
+ if(d > 0) m = true;
216
+ if(m) r += int2char(d);
217
+ }
218
+ }
219
+ return m?r:"0";
220
+ }
221
+
222
+ // (public) -this
223
+ function bnNegate() { var r = nbi(); encryptionBigInteger.ZERO.subTo(this,r); return r; }
224
+
225
+ // (public) |this|
226
+ function bnAbs() { return (this.s<0)?this.negate():this; }
227
+
228
+ // (public) return + if this > a, - if this < a, 0 if equal
229
+ function bnCompareTo(a) {
230
+ var r = this.s-a.s;
231
+ if(r != 0) return r;
232
+ var i = this.t;
233
+ r = i-a.t;
234
+ if(r != 0) return (this.s<0)?-r:r;
235
+ while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
236
+ return 0;
237
+ }
238
+
239
+ // returns bit length of the integer x
240
+ function nbits(x) {
241
+ var r = 1, t;
242
+ if((t=x>>>16) != 0) { x = t; r += 16; }
243
+ if((t=x>>8) != 0) { x = t; r += 8; }
244
+ if((t=x>>4) != 0) { x = t; r += 4; }
245
+ if((t=x>>2) != 0) { x = t; r += 2; }
246
+ if((t=x>>1) != 0) { x = t; r += 1; }
247
+ return r;
248
+ }
249
+
250
+ // (public) return the number of bits in "this"
251
+ function bnBitLength() {
252
+ if(this.t <= 0) return 0;
253
+ return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
254
+ }
255
+
256
+ // (protected) r = this << n*DB
257
+ function bnpDLShiftTo(n,r) {
258
+ var i;
259
+ for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
260
+ for(i = n-1; i >= 0; --i) r[i] = 0;
261
+ r.t = this.t+n;
262
+ r.s = this.s;
263
+ }
264
+
265
+ // (protected) r = this >> n*DB
266
+ function bnpDRShiftTo(n,r) {
267
+ for(var i = n; i < this.t; ++i) r[i-n] = this[i];
268
+ r.t = Math.max(this.t-n,0);
269
+ r.s = this.s;
270
+ }
271
+
272
+ // (protected) r = this << n
273
+ function bnpLShiftTo(n,r) {
274
+ var bs = n%this.DB;
275
+ var cbs = this.DB-bs;
276
+ var bm = (1<<cbs)-1;
277
+ var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
278
+ for(i = this.t-1; i >= 0; --i) {
279
+ r[i+ds+1] = (this[i]>>cbs)|c;
280
+ c = (this[i]&bm)<<bs;
281
+ }
282
+ for(i = ds-1; i >= 0; --i) r[i] = 0;
283
+ r[ds] = c;
284
+ r.t = this.t+ds+1;
285
+ r.s = this.s;
286
+ r.clamp();
287
+ }
288
+
289
+ // (protected) r = this >> n
290
+ function bnpRShiftTo(n,r) {
291
+ r.s = this.s;
292
+ var ds = Math.floor(n/this.DB);
293
+ if(ds >= this.t) { r.t = 0; return; }
294
+ var bs = n%this.DB;
295
+ var cbs = this.DB-bs;
296
+ var bm = (1<<bs)-1;
297
+ r[0] = this[ds]>>bs;
298
+ for(var i = ds+1; i < this.t; ++i) {
299
+ r[i-ds-1] |= (this[i]&bm)<<cbs;
300
+ r[i-ds] = this[i]>>bs;
301
+ }
302
+ if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
303
+ r.t = this.t-ds;
304
+ r.clamp();
305
+ }
306
+
307
+ // (protected) r = this - a
308
+ function bnpSubTo(a,r) {
309
+ var i = 0, c = 0, m = Math.min(a.t,this.t);
310
+ while(i < m) {
311
+ c += this[i]-a[i];
312
+ r[i++] = c&this.DM;
313
+ c >>= this.DB;
314
+ }
315
+ if(a.t < this.t) {
316
+ c -= a.s;
317
+ while(i < this.t) {
318
+ c += this[i];
319
+ r[i++] = c&this.DM;
320
+ c >>= this.DB;
321
+ }
322
+ c += this.s;
323
+ }
324
+ else {
325
+ c += this.s;
326
+ while(i < a.t) {
327
+ c -= a[i];
328
+ r[i++] = c&this.DM;
329
+ c >>= this.DB;
330
+ }
331
+ c -= a.s;
332
+ }
333
+ r.s = (c<0)?-1:0;
334
+ if(c < -1) r[i++] = this.DV+c;
335
+ else if(c > 0) r[i++] = c;
336
+ r.t = i;
337
+ r.clamp();
338
+ }
339
+
340
+ // (protected) r = this * a, r != this,a (HAC 14.12)
341
+ // "this" should be the larger one if appropriate.
342
+ function bnpMultiplyTo(a,r) {
343
+ var x = this.abs(), y = a.abs();
344
+ var i = x.t;
345
+ r.t = i+y.t;
346
+ while(--i >= 0) r[i] = 0;
347
+ for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
348
+ r.s = 0;
349
+ r.clamp();
350
+ if(this.s != a.s) encryptionBigInteger.ZERO.subTo(r,r);
351
+ }
352
+
353
+ // (protected) r = this^2, r != this (HAC 14.16)
354
+ function bnpSquareTo(r) {
355
+ var x = this.abs();
356
+ var i = r.t = 2*x.t;
357
+ while(--i >= 0) r[i] = 0;
358
+ for(i = 0; i < x.t-1; ++i) {
359
+ var c = x.am(i,x[i],r,2*i,0,1);
360
+ if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
361
+ r[i+x.t] -= x.DV;
362
+ r[i+x.t+1] = 1;
363
+ }
364
+ }
365
+ if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
366
+ r.s = 0;
367
+ r.clamp();
368
+ }
369
+
370
+ // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
371
+ // r != q, this != m. q or r may be null.
372
+ function bnpDivRemTo(m,q,r) {
373
+ var pm = m.abs();
374
+ if(pm.t <= 0) return;
375
+ var pt = this.abs();
376
+ if(pt.t < pm.t) {
377
+ if(q != null) q.fromInt(0);
378
+ if(r != null) this.copyTo(r);
379
+ return;
380
+ }
381
+ if(r == null) r = nbi();
382
+ var y = nbi(), ts = this.s, ms = m.s;
383
+ var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus
384
+ if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
385
+ else { pm.copyTo(y); pt.copyTo(r); }
386
+ var ys = y.t;
387
+ var y0 = y[ys-1];
388
+ if(y0 == 0) return;
389
+ var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
390
+ var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
391
+ var i = r.t, j = i-ys, t = (q==null)?nbi():q;
392
+ y.dlShiftTo(j,t);
393
+ if(r.compareTo(t) >= 0) {
394
+ r[r.t++] = 1;
395
+ r.subTo(t,r);
396
+ }
397
+ encryptionBigInteger.ONE.dlShiftTo(ys,t);
398
+ t.subTo(y,y); // "negative" y so we can replace sub with am later
399
+ while(y.t < ys) y[y.t++] = 0;
400
+ while(--j >= 0) {
401
+ // Estimate quotient digit
402
+ var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
403
+ if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out
404
+ y.dlShiftTo(j,t);
405
+ r.subTo(t,r);
406
+ while(r[i] < --qd) r.subTo(t,r);
407
+ }
408
+ }
409
+ if(q != null) {
410
+ r.drShiftTo(ys,q);
411
+ if(ts != ms) encryptionBigInteger.ZERO.subTo(q,q);
412
+ }
413
+ r.t = ys;
414
+ r.clamp();
415
+ if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder
416
+ if(ts < 0) encryptionBigInteger.ZERO.subTo(r,r);
417
+ }
418
+
419
+ // (public) this mod a
420
+ function bnMod(a) {
421
+ var r = nbi();
422
+ this.abs().divRemTo(a,null,r);
423
+ if(this.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) a.subTo(r,r);
424
+ return r;
425
+ }
426
+
427
+ // Modular reduction using "classic" algorithm
428
+ function Classic(m) { this.m = m; }
429
+ function cConvert(x) {
430
+ if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
431
+ else return x;
432
+ }
433
+ function cRevert(x) { return x; }
434
+ function cReduce(x) { x.divRemTo(this.m,null,x); }
435
+ function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
436
+ function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
437
+
438
+ Classic.prototype.convert = cConvert;
439
+ Classic.prototype.revert = cRevert;
440
+ Classic.prototype.reduce = cReduce;
441
+ Classic.prototype.mulTo = cMulTo;
442
+ Classic.prototype.sqrTo = cSqrTo;
443
+
444
+ // (protected) return "-1/this % 2^DB"; useful for Mont. reduction
445
+ // justification:
446
+ // xy == 1 (mod m)
447
+ // xy = 1+km
448
+ // xy(2-xy) = (1+km)(1-km)
449
+ // x[y(2-xy)] = 1-k^2m^2
450
+ // x[y(2-xy)] == 1 (mod m^2)
451
+ // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
452
+ // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
453
+ // JS multiply "overflows" differently from C/C++, so care is needed here.
454
+ function bnpInvDigit() {
455
+ if(this.t < 1) return 0;
456
+ var x = this[0];
457
+ if((x&1) == 0) return 0;
458
+ var y = x&3; // y == 1/x mod 2^2
459
+ y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4
460
+ y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8
461
+ y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16
462
+ // last step - calculate inverse mod DV directly;
463
+ // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
464
+ y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits
465
+ // we really want the negative inverse, and -DV < y < DV
466
+ return (y>0)?this.DV-y:-y;
467
+ }
468
+
469
+ // Montgomery reduction
470
+ function Montgomery(m) {
471
+ this.m = m;
472
+ this.mp = m.invDigit();
473
+ this.mpl = this.mp&0x7fff;
474
+ this.mph = this.mp>>15;
475
+ this.um = (1<<(m.DB-15))-1;
476
+ this.mt2 = 2*m.t;
477
+ }
478
+
479
+ // xR mod m
480
+ function montConvert(x) {
481
+ var r = nbi();
482
+ x.abs().dlShiftTo(this.m.t,r);
483
+ r.divRemTo(this.m,null,r);
484
+ if(x.s < 0 && r.compareTo(encryptionBigInteger.ZERO) > 0) this.m.subTo(r,r);
485
+ return r;
486
+ }
487
+
488
+ // x/R mod m
489
+ function montRevert(x) {
490
+ var r = nbi();
491
+ x.copyTo(r);
492
+ this.reduce(r);
493
+ return r;
494
+ }
495
+
496
+ // x = x/R mod m (HAC 14.32)
497
+ function montReduce(x) {
498
+ while(x.t <= this.mt2) // pad x so am has enough room later
499
+ x[x.t++] = 0;
500
+ for(var i = 0; i < this.m.t; ++i) {
501
+ // faster way of calculating u0 = x[i]*mp mod DV
502
+ var j = x[i]&0x7fff;
503
+ var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
504
+ // use am to combine the multiply-shift-add into one call
505
+ j = i+this.m.t;
506
+ x[j] += this.m.am(0,u0,x,i,0,this.m.t);
507
+ // propagate carry
508
+ while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
509
+ }
510
+ x.clamp();
511
+ x.drShiftTo(this.m.t,x);
512
+ if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
513
+ }
514
+
515
+ // r = "x^2/R mod m"; x != r
516
+ function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
517
+
518
+ // r = "xy/R mod m"; x,y != r
519
+ function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
520
+
521
+ Montgomery.prototype.convert = montConvert;
522
+ Montgomery.prototype.revert = montRevert;
523
+ Montgomery.prototype.reduce = montReduce;
524
+ Montgomery.prototype.mulTo = montMulTo;
525
+ Montgomery.prototype.sqrTo = montSqrTo;
526
+
527
+ // (protected) true iff this is even
528
+ function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
529
+
530
+ // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
531
+ function bnpExp(e,z) {
532
+ if(e > 0xffffffff || e < 1) return encryptionBigInteger.ONE;
533
+ var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
534
+ g.copyTo(r);
535
+ while(--i >= 0) {
536
+ z.sqrTo(r,r2);
537
+ if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
538
+ else { var t = r; r = r2; r2 = t; }
539
+ }
540
+ return z.revert(r);
541
+ }
542
+
543
+ // (public) this^e % m, 0 <= e < 2^32
544
+ function bnModPowInt(e,m) {
545
+ var z;
546
+ if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
547
+ return this.exp(e,z);
548
+ }
549
+
550
+ // protected
551
+ encryptionBigInteger.prototype.copyTo = bnpCopyTo;
552
+ encryptionBigInteger.prototype.fromInt = bnpFromInt;
553
+ encryptionBigInteger.prototype.fromString = bnpFromString;
554
+ encryptionBigInteger.prototype.clamp = bnpClamp;
555
+ encryptionBigInteger.prototype.dlShiftTo = bnpDLShiftTo;
556
+ encryptionBigInteger.prototype.drShiftTo = bnpDRShiftTo;
557
+ encryptionBigInteger.prototype.lShiftTo = bnpLShiftTo;
558
+ encryptionBigInteger.prototype.rShiftTo = bnpRShiftTo;
559
+ encryptionBigInteger.prototype.subTo = bnpSubTo;
560
+ encryptionBigInteger.prototype.multiplyTo = bnpMultiplyTo;
561
+ encryptionBigInteger.prototype.squareTo = bnpSquareTo;
562
+ encryptionBigInteger.prototype.divRemTo = bnpDivRemTo;
563
+ encryptionBigInteger.prototype.invDigit = bnpInvDigit;
564
+ encryptionBigInteger.prototype.isEven = bnpIsEven;
565
+ encryptionBigInteger.prototype.exp = bnpExp;
566
+
567
+ // public
568
+ encryptionBigInteger.prototype.toString = bnToString;
569
+ encryptionBigInteger.prototype.negate = bnNegate;
570
+ encryptionBigInteger.prototype.abs = bnAbs;
571
+ encryptionBigInteger.prototype.compareTo = bnCompareTo;
572
+ encryptionBigInteger.prototype.bitLength = bnBitLength;
573
+ encryptionBigInteger.prototype.mod = bnMod;
574
+ encryptionBigInteger.prototype.modPowInt = bnModPowInt;
575
+
576
+ // "constants"
577
+ encryptionBigInteger.ZERO = nbv(0);
578
+ encryptionBigInteger.ONE = nbv(1);