@grnsft/if 0.0.2

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 (285) hide show
  1. package/.devcontainer/devcontainer.json +38 -0
  2. package/.editorconfig +8 -0
  3. package/.env.example +9 -0
  4. package/.eslintignore +4 -0
  5. package/.eslintrc.json +8 -0
  6. package/.github/ISSUE_TEMPLATE/agenda.md +36 -0
  7. package/.github/ISSUE_TEMPLATE/blank-issue.md +10 -0
  8. package/.github/ISSUE_TEMPLATE/feedback.md +42 -0
  9. package/.github/ISSUE_TEMPLATE/model-plugin.md +63 -0
  10. package/.github/ISSUE_TEMPLATE/user-story.md +10 -0
  11. package/.github/PULL_REQUEST_TEMPLATE.md +21 -0
  12. package/.github/workflows/nodejs-ci.yml +34 -0
  13. package/.gitmodules +3 -0
  14. package/.prettierrc.js +3 -0
  15. package/CONTRIBUTING.md +194 -0
  16. package/LICENSE +21 -0
  17. package/Makefile +16 -0
  18. package/README.md +67 -0
  19. package/build/__mocks__/azure/index.d.ts +11 -0
  20. package/build/__mocks__/azure/index.js +132 -0
  21. package/build/__mocks__/boavizta/countries.json +138 -0
  22. package/build/__mocks__/boavizta/instance_types.json +625 -0
  23. package/build/__mocks__/boavizta/providers.json +1 -0
  24. package/build/__mocks__/fs/index.d.ts +3 -0
  25. package/build/__mocks__/fs/index.js +56 -0
  26. package/build/__mocks__/model-universe/index.d.ts +33 -0
  27. package/build/__mocks__/model-universe/index.js +68 -0
  28. package/build/__mocks__/watt-time/data.json +119 -0
  29. package/build/__tests__/integration/ompl/index.test.d.ts +1 -0
  30. package/build/__tests__/integration/ompl/index.test.js +61 -0
  31. package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +1 -0
  32. package/build/__tests__/unit/lib/azure-importer/index.test.js +152 -0
  33. package/build/__tests__/unit/lib/boavizta/index.test.d.ts +1 -0
  34. package/build/__tests__/unit/lib/boavizta/index.test.js +579 -0
  35. package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +1 -0
  36. package/build/__tests__/unit/lib/case-studies/aveva.test.js +36 -0
  37. package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +1 -0
  38. package/build/__tests__/unit/lib/case-studies/emem.test.js +108 -0
  39. package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +1 -0
  40. package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +53 -0
  41. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +1 -0
  42. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +23 -0
  43. package/build/__tests__/unit/lib/ccf/index.test.d.ts +1 -0
  44. package/build/__tests__/unit/lib/ccf/index.test.js +223 -0
  45. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +1 -0
  46. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +73 -0
  47. package/build/__tests__/unit/lib/sci/index.test.d.ts +1 -0
  48. package/build/__tests__/unit/lib/sci/index.test.js +106 -0
  49. package/build/__tests__/unit/lib/sci-e/index.test.d.ts +1 -0
  50. package/build/__tests__/unit/lib/sci-e/index.test.js +30 -0
  51. package/build/__tests__/unit/lib/sci-m/index.test.d.ts +1 -0
  52. package/build/__tests__/unit/lib/sci-m/index.test.js +58 -0
  53. package/build/__tests__/unit/lib/sci-o/index.test.d.ts +1 -0
  54. package/build/__tests__/unit/lib/sci-o/index.test.js +42 -0
  55. package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +1 -0
  56. package/build/__tests__/unit/lib/shell-imp/index.test.js +21 -0
  57. package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +1 -0
  58. package/build/__tests__/unit/lib/tdp-finder/index.test.js +62 -0
  59. package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +1 -0
  60. package/build/__tests__/unit/lib/teads-aws/index.test.js +170 -0
  61. package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +1 -0
  62. package/build/__tests__/unit/lib/teads-curve/index.test.js +146 -0
  63. package/build/__tests__/unit/lib/watt-time/index.test.d.ts +1 -0
  64. package/build/__tests__/unit/lib/watt-time/index.test.js +106 -0
  65. package/build/__tests__/unit/util/args.test.d.ts +1 -0
  66. package/build/__tests__/unit/util/args.test.js +92 -0
  67. package/build/__tests__/unit/util/models-universe.test.d.ts +1 -0
  68. package/build/__tests__/unit/util/models-universe.test.js +211 -0
  69. package/build/__tests__/unit/util/observatory.test.d.ts +1 -0
  70. package/build/__tests__/unit/util/observatory.test.js +91 -0
  71. package/build/__tests__/unit/util/supercomputer.test.d.ts +1 -0
  72. package/build/__tests__/unit/util/supercomputer.test.js +231 -0
  73. package/build/__tests__/unit/util/yaml.test.d.ts +1 -0
  74. package/build/__tests__/unit/util/yaml.test.js +59 -0
  75. package/build/config/config.d.ts +32 -0
  76. package/build/config/config.js +74 -0
  77. package/build/config/index.d.ts +2 -0
  78. package/build/config/index.js +8 -0
  79. package/build/config/strings.d.ts +14 -0
  80. package/build/config/strings.js +30 -0
  81. package/build/index.d.ts +1 -0
  82. package/build/index.js +46 -0
  83. package/build/lib/azure-importer/index.d.ts +55 -0
  84. package/build/lib/azure-importer/index.js +314 -0
  85. package/build/lib/boavizta/index.d.ts +53 -0
  86. package/build/lib/boavizta/index.js +254 -0
  87. package/build/lib/case-studies/aveva-model.d.ts +29 -0
  88. package/build/lib/case-studies/aveva-model.js +53 -0
  89. package/build/lib/case-studies/emem-model.d.ts +42 -0
  90. package/build/lib/case-studies/emem-model.js +93 -0
  91. package/build/lib/case-studies/eshoppen-model.d.ts +24 -0
  92. package/build/lib/case-studies/eshoppen-model.js +123 -0
  93. package/build/lib/case-studies/index.d.ts +4 -0
  94. package/build/lib/case-studies/index.js +21 -0
  95. package/build/lib/case-studies/sci-accenture-model.d.ts +10 -0
  96. package/build/lib/case-studies/sci-accenture-model.js +37 -0
  97. package/build/lib/ccf/aws-embodied.json +5591 -0
  98. package/build/lib/ccf/aws-instances.json +21116 -0
  99. package/build/lib/ccf/aws-use.json +79 -0
  100. package/build/lib/ccf/azure-embodied.json +6547 -0
  101. package/build/lib/ccf/azure-instances.json +8332 -0
  102. package/build/lib/ccf/azure-use.json +58 -0
  103. package/build/lib/ccf/gcp-embodied.json +3049 -0
  104. package/build/lib/ccf/gcp-instances.json +3880 -0
  105. package/build/lib/ccf/gcp-use.json +58 -0
  106. package/build/lib/ccf/index.d.ts +63 -0
  107. package/build/lib/ccf/index.js +338 -0
  108. package/build/lib/cloud-instance-metadata/aws-instances.json +1 -0
  109. package/build/lib/cloud-instance-metadata/azure-instances.json +1 -0
  110. package/build/lib/cloud-instance-metadata/index.d.ts +15 -0
  111. package/build/lib/cloud-instance-metadata/index.js +104 -0
  112. package/build/lib/index.d.ts +15 -0
  113. package/build/lib/index.js +32 -0
  114. package/build/lib/interfaces/ccf.d.ts +19 -0
  115. package/build/lib/interfaces/ccf.js +3 -0
  116. package/build/lib/interfaces/index.d.ts +7 -0
  117. package/build/lib/interfaces/index.js +18 -0
  118. package/build/lib/sci/index.d.ts +13 -0
  119. package/build/lib/sci/index.js +131 -0
  120. package/build/lib/sci-e/index.d.ts +38 -0
  121. package/build/lib/sci-e/index.js +85 -0
  122. package/build/lib/sci-m/index.d.ts +10 -0
  123. package/build/lib/sci-m/index.js +124 -0
  124. package/build/lib/sci-o/index.d.ts +17 -0
  125. package/build/lib/sci-o/index.js +52 -0
  126. package/build/lib/shell-imp/index.d.ts +32 -0
  127. package/build/lib/shell-imp/index.js +82 -0
  128. package/build/lib/tdp-finder/index.d.ts +19 -0
  129. package/build/lib/tdp-finder/index.js +98 -0
  130. package/build/lib/teads-aws/aws-embodied.json +1 -0
  131. package/build/lib/teads-aws/aws-instances.json +1 -0
  132. package/build/lib/teads-aws/index.d.ts +58 -0
  133. package/build/lib/teads-aws/index.js +208 -0
  134. package/build/lib/teads-curve/index.d.ts +52 -0
  135. package/build/lib/teads-curve/index.js +158 -0
  136. package/build/lib/watt-time/index.d.ts +18 -0
  137. package/build/lib/watt-time/index.js +204 -0
  138. package/build/types/azure-importer.d.ts +29 -0
  139. package/build/types/azure-importer.js +3 -0
  140. package/build/types/boavizta.d.ts +7 -0
  141. package/build/types/boavizta.js +3 -0
  142. package/build/types/common.d.ts +7 -0
  143. package/build/types/common.js +9 -0
  144. package/build/types/impl.d.ts +40 -0
  145. package/build/types/impl.js +3 -0
  146. package/build/types/models-universe.d.ts +24 -0
  147. package/build/types/models-universe.js +3 -0
  148. package/build/types/process-args.d.ts +7 -0
  149. package/build/types/process-args.js +3 -0
  150. package/build/types/supercomputer.d.ts +4 -0
  151. package/build/types/supercomputer.js +3 -0
  152. package/build/util/args.d.ts +8 -0
  153. package/build/util/args.js +48 -0
  154. package/build/util/errors.d.ts +6 -0
  155. package/build/util/errors.js +22 -0
  156. package/build/util/helpers.d.ts +4 -0
  157. package/build/util/helpers.js +18 -0
  158. package/build/util/models-universe.d.ts +28 -0
  159. package/build/util/models-universe.js +95 -0
  160. package/build/util/observatory.d.ts +20 -0
  161. package/build/util/observatory.js +31 -0
  162. package/build/util/supercomputer.d.ts +30 -0
  163. package/build/util/supercomputer.js +109 -0
  164. package/build/util/validations.d.ts +25 -0
  165. package/build/util/validations.js +52 -0
  166. package/build/util/yaml.d.ts +13 -0
  167. package/build/util/yaml.js +36 -0
  168. package/coverage/clover.xml +1172 -0
  169. package/coverage/coverage-final.json +27 -0
  170. package/coverage/lcov-report/base.css +224 -0
  171. package/coverage/lcov-report/block-navigation.js +87 -0
  172. package/coverage/lcov-report/config/config.ts.html +310 -0
  173. package/coverage/lcov-report/config/index.html +146 -0
  174. package/coverage/lcov-report/config/index.ts.html +91 -0
  175. package/coverage/lcov-report/config/strings.ts.html +118 -0
  176. package/coverage/lcov-report/favicon.png +0 -0
  177. package/coverage/lcov-report/index.html +341 -0
  178. package/coverage/lcov-report/lib/boavizta/index.html +116 -0
  179. package/coverage/lcov-report/lib/boavizta/index.ts.html +1171 -0
  180. package/coverage/lcov-report/lib/case-studies/aveva-model.ts.html +277 -0
  181. package/coverage/lcov-report/lib/case-studies/emem-model.ts.html +439 -0
  182. package/coverage/lcov-report/lib/case-studies/eshoppen-model.ts.html +550 -0
  183. package/coverage/lcov-report/lib/case-studies/index.html +176 -0
  184. package/coverage/lcov-report/lib/case-studies/index.ts.html +97 -0
  185. package/coverage/lcov-report/lib/case-studies/sci-accenture-model.ts.html +232 -0
  186. package/coverage/lcov-report/lib/ccf/index.html +116 -0
  187. package/coverage/lcov-report/lib/ccf/index.ts.html +1339 -0
  188. package/coverage/lcov-report/lib/cloud-instance-metadata/index.html +116 -0
  189. package/coverage/lcov-report/lib/cloud-instance-metadata/index.ts.html +370 -0
  190. package/coverage/lcov-report/lib/index.html +116 -0
  191. package/coverage/lcov-report/lib/index.ts.html +121 -0
  192. package/coverage/lcov-report/lib/sci/index.html +116 -0
  193. package/coverage/lcov-report/lib/sci/index.ts.html +571 -0
  194. package/coverage/lcov-report/lib/sci-e/index.html +116 -0
  195. package/coverage/lcov-report/lib/sci-e/index.ts.html +403 -0
  196. package/coverage/lcov-report/lib/sci-m/index.html +116 -0
  197. package/coverage/lcov-report/lib/sci-m/index.ts.html +487 -0
  198. package/coverage/lcov-report/lib/sci-o/index.html +116 -0
  199. package/coverage/lcov-report/lib/sci-o/index.ts.html +265 -0
  200. package/coverage/lcov-report/lib/shell-imp/index.html +116 -0
  201. package/coverage/lcov-report/lib/shell-imp/index.ts.html +376 -0
  202. package/coverage/lcov-report/lib/teads-aws/index.html +116 -0
  203. package/coverage/lcov-report/lib/teads-aws/index.ts.html +823 -0
  204. package/coverage/lcov-report/lib/teads-curve/index.html +116 -0
  205. package/coverage/lcov-report/lib/teads-curve/index.ts.html +625 -0
  206. package/coverage/lcov-report/lib/watt-time/index.html +116 -0
  207. package/coverage/lcov-report/lib/watt-time/index.ts.html +829 -0
  208. package/coverage/lcov-report/prettify.css +1 -0
  209. package/coverage/lcov-report/prettify.js +2 -0
  210. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  211. package/coverage/lcov-report/sorter.js +196 -0
  212. package/coverage/lcov-report/types/common.ts.html +109 -0
  213. package/coverage/lcov-report/types/index.html +116 -0
  214. package/coverage/lcov-report/util/args.ts.html +244 -0
  215. package/coverage/lcov-report/util/index.html +176 -0
  216. package/coverage/lcov-report/util/models-universe.ts.html +679 -0
  217. package/coverage/lcov-report/util/observatory.ts.html +229 -0
  218. package/coverage/lcov-report/util/supercomputer.ts.html +466 -0
  219. package/coverage/lcov-report/util/yaml.ts.html +193 -0
  220. package/coverage/lcov.info +2094 -0
  221. package/docs/implementations/tdp-finder.md +36 -0
  222. package/examples/impls/case-studies/accenture.yml +155 -0
  223. package/examples/impls/case-studies/aveva.yaml +48 -0
  224. package/examples/impls/case-studies/azure-yassine.yaml +67 -0
  225. package/examples/impls/case-studies/boavizta.yml +26 -0
  226. package/examples/impls/case-studies/dow_msft.yml +173 -0
  227. package/examples/impls/case-studies/farm-insights.yaml +35 -0
  228. package/examples/impls/case-studies/gsf-website.yaml +93 -0
  229. package/examples/impls/case-studies/msft-eshoppen.yaml +162 -0
  230. package/examples/impls/case-studies/msft-green-ai.yaml +58 -0
  231. package/examples/impls/case-studies/ntt-data-on-premise.yaml +201 -0
  232. package/examples/impls/tdp-finder-test.yml +19 -0
  233. package/examples/impls/test/azure.yml +26 -0
  234. package/examples/impls/test/ccf.yml +19 -0
  235. package/examples/impls/test/complex-pipeline.yml +67 -0
  236. package/examples/impls/test/if-demo.yml +51 -0
  237. package/examples/impls/test/metadata.yml +20 -0
  238. package/examples/impls/test/nesting.yml +65 -0
  239. package/examples/impls/test/sci-e.yml +21 -0
  240. package/examples/impls/test/sci-m.yml +24 -0
  241. package/examples/impls/test/sci-o.yml +28 -0
  242. package/examples/impls/test/sci.yml +27 -0
  243. package/examples/impls/test/shell.yml +18 -0
  244. package/examples/impls/test/toto.yaml +22 -0
  245. package/examples/ompls/azure.yml +145 -0
  246. package/examples/ompls/ccf.yml +27 -0
  247. package/examples/ompls/complex-pipeline.yml +105 -0
  248. package/examples/ompls/full-sci.yml +64 -0
  249. package/examples/ompls/if-demo.yml +493 -0
  250. package/examples/ompls/metadata.yml +29 -0
  251. package/examples/ompls/nesting.yml +107 -0
  252. package/examples/ompls/sci-e.yml +23 -0
  253. package/examples/ompls/sci-m.yml +33 -0
  254. package/examples/ompls/sci-o.yml +29 -0
  255. package/examples/ompls/sci.yml +36 -0
  256. package/examples/ompls/shell.yml +23 -0
  257. package/jest.config.js +14 -0
  258. package/package.json +71 -0
  259. package/scripts/impact-test.sh +12 -0
  260. package/src/__mocks__/boavizta/countries.json +138 -0
  261. package/src/__mocks__/boavizta/instance_types.json +625 -0
  262. package/src/__mocks__/boavizta/providers.json +1 -0
  263. package/src/__mocks__/watt-time/data.json +119 -0
  264. package/src/config/units.yaml +125 -0
  265. package/src/lib/ccf/aws-embodied.json +5591 -0
  266. package/src/lib/ccf/aws-instances.json +21116 -0
  267. package/src/lib/ccf/aws-use.json +79 -0
  268. package/src/lib/ccf/azure-embodied.json +6547 -0
  269. package/src/lib/ccf/azure-instances.json +8332 -0
  270. package/src/lib/ccf/azure-use.json +58 -0
  271. package/src/lib/ccf/gcp-embodied.json +3049 -0
  272. package/src/lib/ccf/gcp-instances.json +3880 -0
  273. package/src/lib/ccf/gcp-use.json +58 -0
  274. package/src/lib/cloud-instance-metadata/aws-instances.json +1 -0
  275. package/src/lib/cloud-instance-metadata/azure-instances.json +1 -0
  276. package/src/lib/shell-imp/sampler +30 -0
  277. package/src/lib/tdp-finder/README.md +7 -0
  278. package/src/lib/tdp-finder/boavizta_data.csv +1768 -0
  279. package/src/lib/tdp-finder/data.csv +4460 -0
  280. package/src/lib/tdp-finder/data2.csv +2162 -0
  281. package/src/lib/teads-aws/aws-embodied.json +1 -0
  282. package/src/lib/teads-aws/aws-instances.json +1 -0
  283. package/tsconfig.test.json +39 -0
  284. package/tsconfig.tsbuildinfo +1 -0
  285. package/yarn-error.log +5854 -0
@@ -0,0 +1,625 @@
1
+ {
2
+ "aws": [
3
+ "a1.2xlarge",
4
+ "a1.4xlarge",
5
+ "a1.large",
6
+ "a1.medium",
7
+ "a1.metal",
8
+ "a1.xlarge",
9
+ "c1.medium",
10
+ "c1.xlarge",
11
+ "c3.2xlarge",
12
+ "c3.4xlarge",
13
+ "c3.8xlarge",
14
+ "c3.large",
15
+ "c3.xlarge",
16
+ "c4.2xlarge",
17
+ "c4.2xlarge.elasticsearch",
18
+ "c4.4xlarge",
19
+ "c4.4xlarge.elasticsearch",
20
+ "c4.8xlarge",
21
+ "c4.8xlarge.elasticsearch",
22
+ "c4.large",
23
+ "c4.large.elasticsearch",
24
+ "c4.xlarge",
25
+ "c4.xlarge.elasticsearch",
26
+ "c5.12xlarge",
27
+ "c5.18xlarge",
28
+ "c5.18xlarge.elasticsearch",
29
+ "c5.24xlarge",
30
+ "c5.2xlarge",
31
+ "c5.2xlarge.elasticsearch",
32
+ "c5.4xlarge",
33
+ "c5.4xlarge.elasticsearch",
34
+ "c5.9xlarge",
35
+ "c5.9xlarge.elasticsearch",
36
+ "c5.large",
37
+ "c5.large.elasticsearch",
38
+ "c5.metal",
39
+ "c5.xlarge",
40
+ "c5.xlarge.elasticsearch",
41
+ "c5a.12xlarge",
42
+ "c5a.16xlarge",
43
+ "c5a.24xlarge",
44
+ "c5a.2xlarge",
45
+ "c5a.4xlarge",
46
+ "c5a.8xlarge",
47
+ "c5a.large",
48
+ "c5a.xlarge",
49
+ "c5ad.12xlarge",
50
+ "c5ad.16xlarge",
51
+ "c5ad.24xlarge",
52
+ "c5ad.2xlarge",
53
+ "c5ad.4xlarge",
54
+ "c5ad.8xlarge",
55
+ "c5ad.large",
56
+ "c5ad.xlarge",
57
+ "c5d.12xlarge",
58
+ "c5d.18xlarge",
59
+ "c5d.24xlarge",
60
+ "c5d.2xlarge",
61
+ "c5d.4xlarge",
62
+ "c5d.9xlarge",
63
+ "c5d.large",
64
+ "c5d.metal",
65
+ "c5d.xlarge",
66
+ "c5n.18xlarge",
67
+ "c5n.2xlarge",
68
+ "c5n.4xlarge",
69
+ "c5n.9xlarge",
70
+ "c5n.large",
71
+ "c5n.metal",
72
+ "c5n.xlarge",
73
+ "c6g.12xlarge",
74
+ "c6g.12xlarge.elasticsearch",
75
+ "c6g.16xlarge",
76
+ "c6g.2xlarge",
77
+ "c6g.2xlarge.elasticsearch",
78
+ "c6g.4xlarge",
79
+ "c6g.4xlarge.elasticsearch",
80
+ "c6g.8xlarge",
81
+ "c6g.8xlarge.elasticsearch",
82
+ "c6g.large",
83
+ "c6g.large.elasticsearch",
84
+ "c6g.medium",
85
+ "c6g.metal",
86
+ "c6g.xlarge",
87
+ "c6g.xlarge.elasticsearch",
88
+ "c6gd.12xlarge",
89
+ "c6gd.16xlarge",
90
+ "c6gd.2xlarge",
91
+ "c6gd.4xlarge",
92
+ "c6gd.8xlarge",
93
+ "c6gd.large",
94
+ "c6gd.medium",
95
+ "c6gd.metal",
96
+ "c6gd.xlarge",
97
+ "c6gn.12xlarge",
98
+ "c6gn.16xlarge",
99
+ "c6gn.2xlarge",
100
+ "c6gn.4xlarge",
101
+ "c6gn.8xlarge",
102
+ "c6gn.large",
103
+ "c6gn.medium",
104
+ "c6gn.xlarge",
105
+ "cache.m3.medium",
106
+ "cache.m4.10xlarge",
107
+ "cache.m4.2xlarge",
108
+ "cache.m4.4xlarge",
109
+ "cache.m4.large",
110
+ "cache.m4.xlarge",
111
+ "cache.m5.12xlarge",
112
+ "cache.m5.24xlarge",
113
+ "cache.m5.2xlarge",
114
+ "cache.m5.4xlarge",
115
+ "cache.m5.large",
116
+ "cache.m5.xlarge",
117
+ "cache.m6g.12xlarge",
118
+ "cache.m6g.16xlarge",
119
+ "cache.m6g.2xlarge",
120
+ "cache.m6g.4xlarge",
121
+ "cache.m6g.8xlarge",
122
+ "cache.m6g.large",
123
+ "cache.m6g.xlarge",
124
+ "cache.r3.2xlarge",
125
+ "cache.r4.16xlarge",
126
+ "cache.r4.2xlarge",
127
+ "cache.r4.4xlarge",
128
+ "cache.r4.8xlarge",
129
+ "cache.r4.large",
130
+ "cache.r4.xlarge",
131
+ "cache.r5.12xlarge",
132
+ "cache.r5.24xlarge",
133
+ "cache.r5.2xlarge",
134
+ "cache.r5.4xlarge",
135
+ "cache.r5.large",
136
+ "cache.r5.xlarge",
137
+ "cache.r6g.12xlarge",
138
+ "cache.r6g.16xlarge",
139
+ "cache.r6g.2xlarge",
140
+ "cache.r6g.4xlarge",
141
+ "cache.r6g.8xlarge",
142
+ "cache.r6g.large",
143
+ "cache.r6g.xlarge",
144
+ "cache.t2.medium",
145
+ "cache.t2.micro",
146
+ "cache.t2.small",
147
+ "cache.t3.medium",
148
+ "cache.t3.micro",
149
+ "cache.t3.small",
150
+ "cc2.8xlarge",
151
+ "cr1.8xlarge",
152
+ "d2.2xlarge",
153
+ "d2.4xlarge",
154
+ "d2.8xlarge",
155
+ "d2.xlarge",
156
+ "d3.2xlarge",
157
+ "d3.4xlarge",
158
+ "d3.8xlarge",
159
+ "d3.xlarge",
160
+ "d3en.12xlarge",
161
+ "d3en.2xlarge",
162
+ "d3en.4xlarge",
163
+ "d3en.6xlarge",
164
+ "d3en.8xlarge",
165
+ "d3en.xlarge",
166
+ "db.m1.large",
167
+ "db.m1.medium",
168
+ "db.m1.small",
169
+ "db.m1.xlarge",
170
+ "db.m2.2xlarge",
171
+ "db.m2.4xlarge",
172
+ "db.m2.xlarge",
173
+ "db.m3.2xlarge",
174
+ "db.m3.large",
175
+ "db.m3.medium",
176
+ "db.m3.xlarge",
177
+ "db.m4.10xlarge",
178
+ "db.m4.16xlarge",
179
+ "db.m4.2xlarge",
180
+ "db.m4.4xlarge",
181
+ "db.m4.large",
182
+ "db.m4.xlarge",
183
+ "db.m5.12xlarge",
184
+ "db.m5.16xlarge",
185
+ "db.m5.24xlarge",
186
+ "db.m5.2xlarge",
187
+ "db.m5.4xlarge",
188
+ "db.m5.8xlarge",
189
+ "db.m5.large",
190
+ "db.m5.xlarge",
191
+ "db.m6g.12xlarge",
192
+ "db.m6g.16xlarge",
193
+ "db.m6g.2xlarge",
194
+ "db.m6g.4xlarge",
195
+ "db.m6g.8xlarge",
196
+ "db.m6g.large",
197
+ "db.m6g.xlarge",
198
+ "db.r3.2xlarge",
199
+ "db.r3.4xlarge",
200
+ "db.r3.8xlarge",
201
+ "db.r3.large",
202
+ "db.r3.xlarge",
203
+ "db.r4.16xlarge",
204
+ "db.r4.2xlarge",
205
+ "db.r4.4xlarge",
206
+ "db.r4.8xlarge",
207
+ "db.r4.large",
208
+ "db.r4.xlarge",
209
+ "db.r5.12xlarge",
210
+ "db.r5.16xlarge",
211
+ "db.r5.24xlarge",
212
+ "db.r5.2xlarge",
213
+ "db.r5.4xlarge",
214
+ "db.r5.8xlarge",
215
+ "db.r5.large",
216
+ "db.r5.xlarge",
217
+ "db.r6g.12xlarge",
218
+ "db.r6g.16xlarge",
219
+ "db.r6g.2xlarge",
220
+ "db.r6g.4xlarge",
221
+ "db.r6g.large",
222
+ "db.r6g.xlarge",
223
+ "db.t2.2xlarge",
224
+ "db.t2.large",
225
+ "db.t2.medium",
226
+ "db.t2.micro",
227
+ "db.t2.small",
228
+ "db.t2.xlarge",
229
+ "db.t3.2xlarge",
230
+ "db.t3.large",
231
+ "db.t3.medium",
232
+ "db.t3.micro",
233
+ "db.t3.small",
234
+ "db.t3.xlarge",
235
+ "db.x1.16xlarge",
236
+ "db.x1.32xlarge",
237
+ "db.x1e.16xlarge",
238
+ "db.x1e.2xlarge",
239
+ "db.x1e.32xlarge",
240
+ "db.x1e.4xlarge",
241
+ "db.x1e.8xlarge",
242
+ "db.x1e.xlarge",
243
+ "db.z1d.12xlarge",
244
+ "db.z1d.2xlarge",
245
+ "db.z1d.3xlarge",
246
+ "db.z1d.6xlarge",
247
+ "db.z1d.large",
248
+ "db.z1d.xlarge",
249
+ "dc2.8xlarge",
250
+ "dc2.large",
251
+ "ds2.8xlarge",
252
+ "ds2.xlarge",
253
+ "f1.16xlarge",
254
+ "f1.2xlarge",
255
+ "f1.4xlarge",
256
+ "g2.2xlarge",
257
+ "g2.8xlarge",
258
+ "g3.16xlarge",
259
+ "g3.4xlarge",
260
+ "g3.8xlarge",
261
+ "g3s.xlarge",
262
+ "g4ad.16xlarge",
263
+ "g4ad.4xlarge",
264
+ "g4ad.8xlarge",
265
+ "g4dn.12xlarge",
266
+ "g4dn.16xlarge",
267
+ "g4dn.2xlarge",
268
+ "g4dn.4xlarge",
269
+ "g4dn.8xlarge",
270
+ "g4dn.metal",
271
+ "g4dn.xlarge",
272
+ "h1.16xlarge",
273
+ "h1.2xlarge",
274
+ "h1.4xlarge",
275
+ "h1.8xlarge",
276
+ "hs1.8xlarge",
277
+ "i2.2xlarge",
278
+ "i2.2xlarge.elasticsearch",
279
+ "i2.4xlarge",
280
+ "i2.8xlarge",
281
+ "i2.xlarge",
282
+ "i2.xlarge.elasticsearch",
283
+ "i3.16xlarge",
284
+ "i3.16xlarge.elasticsearch",
285
+ "i3.2xlarge",
286
+ "i3.2xlarge.elasticsearch",
287
+ "i3.4xlarge",
288
+ "i3.4xlarge.elasticsearch",
289
+ "i3.8xlarge",
290
+ "i3.8xlarge.elasticsearch",
291
+ "i3.large",
292
+ "i3.large.elasticsearch",
293
+ "i3.metal",
294
+ "i3.xlarge",
295
+ "i3.xlarge.elasticsearch",
296
+ "i3en.12xlarge",
297
+ "i3en.24xlarge",
298
+ "i3en.2xlarge",
299
+ "i3en.3xlarge",
300
+ "i3en.6xlarge",
301
+ "i3en.large",
302
+ "i3en.metal",
303
+ "i3en.xlarge",
304
+ "inf1.24xlarge",
305
+ "inf1.2xlarge",
306
+ "inf1.6xlarge",
307
+ "inf1.xlarge",
308
+ "m1.large",
309
+ "m1.medium",
310
+ "m1.small",
311
+ "m1.xlarge",
312
+ "m2.2xlarge",
313
+ "m2.4xlarge",
314
+ "m2.xlarge",
315
+ "m3.2xlarge",
316
+ "m3.2xlarge.elasticsearch",
317
+ "m3.large",
318
+ "m3.large.elasticsearch",
319
+ "m3.medium",
320
+ "m3.medium.elasticsearch",
321
+ "m3.xlarge",
322
+ "m3.xlarge.elasticsearch",
323
+ "m4.10xlarge",
324
+ "m4.10xlarge.elasticsearch",
325
+ "m4.16xlarge",
326
+ "m4.2xlarge",
327
+ "m4.2xlarge.elasticsearch",
328
+ "m4.4xlarge",
329
+ "m4.4xlarge.elasticsearch",
330
+ "m4.large",
331
+ "m4.large.elasticsearch",
332
+ "m4.xlarge",
333
+ "m4.xlarge.elasticsearch",
334
+ "m5.12xlarge",
335
+ "m5.12xlarge.elasticsearch",
336
+ "m5.16xlarge",
337
+ "m5.24xlarge",
338
+ "m5.2xlarge",
339
+ "m5.2xlarge.elasticsearch",
340
+ "m5.4xlarge",
341
+ "m5.4xlarge.elasticsearch",
342
+ "m5.8xlarge",
343
+ "m5.large",
344
+ "m5.large.elasticsearch",
345
+ "m5.metal",
346
+ "m5.xlarge",
347
+ "m5.xlarge.elasticsearch",
348
+ "m5a.12xlarge",
349
+ "m5a.16xlarge",
350
+ "m5a.24xlarge",
351
+ "m5a.2xlarge",
352
+ "m5a.4xlarge",
353
+ "m5a.8xlarge",
354
+ "m5a.large",
355
+ "m5a.xlarge",
356
+ "m5ad.12xlarge",
357
+ "m5ad.16xlarge",
358
+ "m5ad.24xlarge",
359
+ "m5ad.2xlarge",
360
+ "m5ad.4xlarge",
361
+ "m5ad.8xlarge",
362
+ "m5ad.large",
363
+ "m5ad.xlarge",
364
+ "m5d.12xlarge",
365
+ "m5d.16xlarge",
366
+ "m5d.24xlarge",
367
+ "m5d.2xlarge",
368
+ "m5d.4xlarge",
369
+ "m5d.8xlarge",
370
+ "m5d.large",
371
+ "m5d.metal",
372
+ "m5d.xlarge",
373
+ "m5dn.12xlarge",
374
+ "m5dn.16xlarge",
375
+ "m5dn.24xlarge",
376
+ "m5dn.2xlarge",
377
+ "m5dn.4xlarge",
378
+ "m5dn.8xlarge",
379
+ "m5dn.large",
380
+ "m5dn.metal",
381
+ "m5dn.xlarge",
382
+ "m5n.12xlarge",
383
+ "m5n.16xlarge",
384
+ "m5n.24xlarge",
385
+ "m5n.2xlarge",
386
+ "m5n.4xlarge",
387
+ "m5n.8xlarge",
388
+ "m5n.large",
389
+ "m5n.metal",
390
+ "m5n.xlarge",
391
+ "m5zn.12xlarge",
392
+ "m5zn.2xlarge",
393
+ "m5zn.3xlarge",
394
+ "m5zn.6xlarge",
395
+ "m5zn.large",
396
+ "m5zn.metal",
397
+ "m5zn.xlarge",
398
+ "m6g.12xlarge",
399
+ "m6g.12xlarge.elasticsearch",
400
+ "m6g.16xlarge",
401
+ "m6g.2xlarge",
402
+ "m6g.2xlarge.elasticsearch",
403
+ "m6g.4xlarge",
404
+ "m6g.4xlarge.elasticsearch",
405
+ "m6g.8xlarge",
406
+ "m6g.8xlarge.elasticsearch",
407
+ "m6g.large",
408
+ "m6g.large.elasticsearch",
409
+ "m6g.medium",
410
+ "m6g.metal",
411
+ "m6g.xlarge",
412
+ "m6g.xlarge.elasticsearch",
413
+ "m6gd.12xlarge",
414
+ "m6gd.16xlarge",
415
+ "m6gd.2xlarge",
416
+ "m6gd.4xlarge",
417
+ "m6gd.8xlarge",
418
+ "m6gd.large",
419
+ "m6gd.medium",
420
+ "m6gd.metal",
421
+ "m6gd.xlarge",
422
+ "m6i.12xlarge",
423
+ "m6i.16xlarge",
424
+ "m6i.24xlarge",
425
+ "m6i.2xlarge",
426
+ "m6i.32xlarge",
427
+ "m6i.4xlarge",
428
+ "m6i.8xlarge",
429
+ "m6i.large",
430
+ "m6i.xlarge",
431
+ "mac1.metal",
432
+ "p2.16xlarge",
433
+ "p2.8xlarge",
434
+ "p2.xlarge",
435
+ "p3.16xlarge",
436
+ "p3.2xlarge",
437
+ "p3.8xlarge",
438
+ "p3dn.24xlarge",
439
+ "p4d.24xlarge",
440
+ "r3.2xlarge",
441
+ "r3.2xlarge.elasticsearch",
442
+ "r3.4xlarge",
443
+ "r3.4xlarge.elasticsearch",
444
+ "r3.8xlarge",
445
+ "r3.8xlarge.elasticsearch",
446
+ "r3.large",
447
+ "r3.large.elasticsearch",
448
+ "r3.xlarge",
449
+ "r3.xlarge.elasticsearch",
450
+ "r4.16xlarge",
451
+ "r4.16xlarge.elasticsearch",
452
+ "r4.2xlarge",
453
+ "r4.2xlarge.elasticsearch",
454
+ "r4.4xlarge",
455
+ "r4.4xlarge.elasticsearch",
456
+ "r4.8xlarge",
457
+ "r4.8xlarge.elasticsearch",
458
+ "r4.large",
459
+ "r4.large.elasticsearch",
460
+ "r4.xlarge",
461
+ "r4.xlarge.elasticsearch",
462
+ "r5.12xlarge",
463
+ "r5.12xlarge.elasticsearch",
464
+ "r5.16xlarge",
465
+ "r5.24xlarge",
466
+ "r5.2xlarge",
467
+ "r5.2xlarge.elasticsearch",
468
+ "r5.4xlarge",
469
+ "r5.4xlarge.elasticsearch",
470
+ "r5.8xlarge",
471
+ "r5.large",
472
+ "r5.large.elasticsearch",
473
+ "r5.metal",
474
+ "r5.xlarge",
475
+ "r5.xlarge.elasticsearch",
476
+ "r5a.12xlarge",
477
+ "r5a.16xlarge",
478
+ "r5a.24xlarge",
479
+ "r5a.2xlarge",
480
+ "r5a.4xlarge",
481
+ "r5a.8xlarge",
482
+ "r5a.large",
483
+ "r5a.xlarge",
484
+ "r5ad.12xlarge",
485
+ "r5ad.16xlarge",
486
+ "r5ad.24xlarge",
487
+ "r5ad.2xlarge",
488
+ "r5ad.4xlarge",
489
+ "r5ad.8xlarge",
490
+ "r5ad.large",
491
+ "r5ad.xlarge",
492
+ "r5b.12xlarge",
493
+ "r5b.16xlarge",
494
+ "r5b.24xlarge",
495
+ "r5b.2xlarge",
496
+ "r5b.4xlarge",
497
+ "r5b.8xlarge",
498
+ "r5b.large",
499
+ "r5b.metal",
500
+ "r5b.xlarge",
501
+ "r5d.12xlarge",
502
+ "r5d.16xlarge",
503
+ "r5d.24xlarge",
504
+ "r5d.2xlarge",
505
+ "r5d.4xlarge",
506
+ "r5d.8xlarge",
507
+ "r5d.large",
508
+ "r5d.metal",
509
+ "r5d.xlarge",
510
+ "r5dn.12xlarge",
511
+ "r5dn.16xlarge",
512
+ "r5dn.24xlarge",
513
+ "r5dn.2xlarge",
514
+ "r5dn.4xlarge",
515
+ "r5dn.8xlarge",
516
+ "r5dn.large",
517
+ "r5dn.metal",
518
+ "r5dn.xlarge",
519
+ "r5n.12xlarge",
520
+ "r5n.16xlarge",
521
+ "r5n.24xlarge",
522
+ "r5n.2xlarge",
523
+ "r5n.4xlarge",
524
+ "r5n.8xlarge",
525
+ "r5n.large",
526
+ "r5n.metal",
527
+ "r5n.xlarge",
528
+ "r6g.12xlarge",
529
+ "r6g.12xlarge.elasticsearch",
530
+ "r6g.16xlarge",
531
+ "r6g.2xlarge",
532
+ "r6g.2xlarge.elasticsearch",
533
+ "r6g.4xlarge",
534
+ "r6g.4xlarge.elasticsearch",
535
+ "r6g.8xlarge",
536
+ "r6g.8xlarge.elasticsearch",
537
+ "r6g.large",
538
+ "r6g.large.elasticsearch",
539
+ "r6g.medium",
540
+ "r6g.metal",
541
+ "r6g.xlarge",
542
+ "r6g.xlarge.elasticsearch",
543
+ "r6gd.12xlarge",
544
+ "r6gd.12xlarge.elasticsearch",
545
+ "r6gd.16xlarge",
546
+ "r6gd.16xlarge.elasticsearch",
547
+ "r6gd.2xlarge",
548
+ "r6gd.2xlarge.elasticsearch",
549
+ "r6gd.4xlarge",
550
+ "r6gd.4xlarge.elasticsearch",
551
+ "r6gd.8xlarge",
552
+ "r6gd.8xlarge.elasticsearch",
553
+ "r6gd.large",
554
+ "r6gd.large.elasticsearch",
555
+ "r6gd.medium",
556
+ "r6gd.metal",
557
+ "r6gd.xlarge",
558
+ "r6gd.xlarge.elasticsearch",
559
+ "ra3.16xlarge",
560
+ "ra3.4xlarge",
561
+ "t1.micro",
562
+ "t2.2xlarge",
563
+ "t2.large",
564
+ "t2.medium",
565
+ "t2.medium.elasticsearch",
566
+ "t2.micro",
567
+ "t2.micro.elasticsearch",
568
+ "t2.nano",
569
+ "t2.small",
570
+ "t2.small.elasticsearch",
571
+ "t2.xlarge",
572
+ "t3.2xlarge",
573
+ "t3.large",
574
+ "t3.medium",
575
+ "t3.medium.elasticsearch",
576
+ "t3.micro",
577
+ "t3.nano",
578
+ "t3.small",
579
+ "t3.small.elasticsearch",
580
+ "t3.xlarge",
581
+ "t3a.2xlarge",
582
+ "t3a.large",
583
+ "t3a.medium",
584
+ "t3a.micro",
585
+ "t3a.nano",
586
+ "t3a.small",
587
+ "t3a.xlarge",
588
+ "t4g.2xlarge",
589
+ "t4g.large",
590
+ "t4g.medium",
591
+ "t4g.micro",
592
+ "t4g.nano",
593
+ "t4g.small",
594
+ "t4g.xlarge",
595
+ "u-12tb1.metal",
596
+ "u-18tb1.metal",
597
+ "u-24tb1.metal",
598
+ "u-6tb1.metal",
599
+ "u-9tb1.metal",
600
+ "x1.16xlarge",
601
+ "x1.32xlarge",
602
+ "x1e.16xlarge",
603
+ "x1e.2xlarge",
604
+ "x1e.32xlarge",
605
+ "x1e.4xlarge",
606
+ "x1e.8xlarge",
607
+ "x1e.xlarge",
608
+ "x2gd.12xlarge",
609
+ "x2gd.16xlarge",
610
+ "x2gd.2xlarge",
611
+ "x2gd.4xlarge",
612
+ "x2gd.8xlarge",
613
+ "x2gd.large",
614
+ "x2gd.medium",
615
+ "x2gd.metal",
616
+ "x2gd.xlarge",
617
+ "z1d.12xlarge",
618
+ "z1d.2xlarge",
619
+ "z1d.3xlarge",
620
+ "z1d.6xlarge",
621
+ "z1d.large",
622
+ "z1d.metal",
623
+ "z1d.xlarge"
624
+ ]
625
+ }
@@ -0,0 +1 @@
1
+ ["aws"]
@@ -0,0 +1,3 @@
1
+ export declare const readFile: (_filePath: string, _format: string) => Promise<string>;
2
+ export declare const mkdir: (dirPath: string, _object: any) => string;
3
+ export declare const writeFile: (pathToFile: string, content: string) => Promise<void>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeFile = exports.mkdir = exports.readFile = void 0;
4
+ /* eslint-disable @typescript-eslint/no-unused-vars */
5
+ const globals_1 = require("@jest/globals");
6
+ const YAML = require("js-yaml");
7
+ const readFile = async (_filePath, _format) => {
8
+ return `
9
+ name: gsf-demo
10
+ description:
11
+ Hello
12
+ tags:
13
+ kind: web
14
+ complexity: moderate
15
+ category: cloud
16
+ initialize:
17
+ models:
18
+ - name: boavizta-cpu
19
+ kind: builtin
20
+ config:
21
+ allocation: LINEAR
22
+ verbose: true
23
+ graph:
24
+ children:
25
+ front-end:
26
+ pipeline:
27
+ - boavizta-cpu
28
+ config:
29
+ boavizta-cpu:
30
+ core-units: 24
31
+ processor: Intel® Core™ i7-1185G7
32
+ inputs:
33
+ - timestamp: 2023-07-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
34
+ duration: 3600 # Secs
35
+ cpu-util: 18.392
36
+ - timestamp: 2023-08-06T00:00 # [KEYWORD] [NO-SUBFIELDS] time when measurement occurred
37
+ duration: 3600 # Secs
38
+ cpu-util: 16`;
39
+ };
40
+ exports.readFile = readFile;
41
+ const mkdir = (dirPath, _object) => dirPath;
42
+ exports.mkdir = mkdir;
43
+ const writeFile = async (pathToFile, content) => {
44
+ if (pathToFile === 'reject') {
45
+ throw Error('Wrong file path');
46
+ }
47
+ const mockPathToFile = 'mock-pathToFile';
48
+ const mockContent = {
49
+ name: 'mock-name',
50
+ };
51
+ const mockObject = YAML.dump(mockContent, { noRefs: true });
52
+ (0, globals_1.expect)(pathToFile).toBe(mockPathToFile);
53
+ (0, globals_1.expect)(content).toBe(mockObject);
54
+ };
55
+ exports.writeFile = writeFile;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvX19tb2Nrc19fL2ZzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNEQUFzRDtBQUN0RCwyQ0FBcUM7QUFFckMsZ0NBQWdDO0FBRXpCLE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxTQUFpQixFQUFFLE9BQWUsRUFBRSxFQUFFO0lBQ25FLE9BQU87Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt5QkE4QmdCLENBQUM7QUFDMUIsQ0FBQyxDQUFDO0FBaENXLFFBQUEsUUFBUSxZQWdDbkI7QUFFSyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQWUsRUFBRSxPQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQztBQUFuRCxRQUFBLEtBQUssU0FBOEM7QUFFekQsTUFBTSxTQUFTLEdBQUcsS0FBSyxFQUFFLFVBQWtCLEVBQUUsT0FBZSxFQUFFLEVBQUU7SUFDckUsSUFBSSxVQUFVLEtBQUssUUFBUSxFQUFFO1FBQzNCLE1BQU0sS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7S0FDaEM7SUFFRCxNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQztJQUN6QyxNQUFNLFdBQVcsR0FBRztRQUNsQixJQUFJLEVBQUUsV0FBVztLQUNsQixDQUFDO0lBQ0YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUUxRCxJQUFBLGdCQUFNLEVBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hDLElBQUEsZ0JBQU0sRUFBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDO0FBYlcsUUFBQSxTQUFTLGFBYXBCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG5pbXBvcnQge2V4cGVjdH0gZnJvbSAnQGplc3QvZ2xvYmFscyc7XG5cbmltcG9ydCAqIGFzIFlBTUwgZnJvbSAnanMteWFtbCc7XG5cbmV4cG9ydCBjb25zdCByZWFkRmlsZSA9IGFzeW5jIChfZmlsZVBhdGg6IHN0cmluZywgX2Zvcm1hdDogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBgXG4gIG5hbWU6IGdzZi1kZW1vXG4gIGRlc2NyaXB0aW9uOiBcbiAgICBIZWxsb1xuICB0YWdzOlxuICAgIGtpbmQ6IHdlYlxuICAgIGNvbXBsZXhpdHk6IG1vZGVyYXRlXG4gICAgY2F0ZWdvcnk6IGNsb3VkXG4gIGluaXRpYWxpemU6XG4gICAgbW9kZWxzOlxuICAgICAgLSBuYW1lOiBib2F2aXp0YS1jcHVcbiAgICAgICAga2luZDogYnVpbHRpblxuICAgICAgICBjb25maWc6XG4gICAgICAgICAgYWxsb2NhdGlvbjogTElORUFSXG4gICAgICAgICAgdmVyYm9zZTogdHJ1ZVxuICBncmFwaDpcbiAgICBjaGlsZHJlbjpcbiAgICAgIGZyb250LWVuZDpcbiAgICAgICAgcGlwZWxpbmU6IFxuICAgICAgICAgIC0gYm9hdml6dGEtY3B1XG4gICAgICAgIGNvbmZpZzpcbiAgICAgICAgICBib2F2aXp0YS1jcHU6XG4gICAgICAgICAgICBjb3JlLXVuaXRzOiAyNFxuICAgICAgICAgICAgcHJvY2Vzc29yOiBJbnRlbMKuIENvcmXihKIgaTctMTE4NUc3XG4gICAgICAgIGlucHV0czpcbiAgICAgICAgICAtIHRpbWVzdGFtcDogMjAyMy0wNy0wNlQwMDowMCAjIFtLRVlXT1JEXSBbTk8tU1VCRklFTERTXSB0aW1lIHdoZW4gbWVhc3VyZW1lbnQgb2NjdXJyZWRcbiAgICAgICAgICAgIGR1cmF0aW9uOiAzNjAwICMgU2Vjc1xuICAgICAgICAgICAgY3B1LXV0aWw6IDE4LjM5MlxuICAgICAgICAgIC0gdGltZXN0YW1wOiAyMDIzLTA4LTA2VDAwOjAwICMgW0tFWVdPUkRdIFtOTy1TVUJGSUVMRFNdIHRpbWUgd2hlbiBtZWFzdXJlbWVudCBvY2N1cnJlZFxuICAgICAgICAgICAgZHVyYXRpb246IDM2MDAgIyBTZWNzXG4gICAgICAgICAgICBjcHUtdXRpbDogMTZgO1xufTtcblxuZXhwb3J0IGNvbnN0IG1rZGlyID0gKGRpclBhdGg6IHN0cmluZywgX29iamVjdDogYW55KSA9PiBkaXJQYXRoO1xuXG5leHBvcnQgY29uc3Qgd3JpdGVGaWxlID0gYXN5bmMgKHBhdGhUb0ZpbGU6IHN0cmluZywgY29udGVudDogc3RyaW5nKSA9PiB7XG4gIGlmIChwYXRoVG9GaWxlID09PSAncmVqZWN0Jykge1xuICAgIHRocm93IEVycm9yKCdXcm9uZyBmaWxlIHBhdGgnKTtcbiAgfVxuXG4gIGNvbnN0IG1vY2tQYXRoVG9GaWxlID0gJ21vY2stcGF0aFRvRmlsZSc7XG4gIGNvbnN0IG1vY2tDb250ZW50ID0ge1xuICAgIG5hbWU6ICdtb2NrLW5hbWUnLFxuICB9O1xuICBjb25zdCBtb2NrT2JqZWN0ID0gWUFNTC5kdW1wKG1vY2tDb250ZW50LCB7bm9SZWZzOiB0cnVlfSk7XG5cbiAgZXhwZWN0KHBhdGhUb0ZpbGUpLnRvQmUobW9ja1BhdGhUb0ZpbGUpO1xuICBleHBlY3QoY29udGVudCkudG9CZShtb2NrT2JqZWN0KTtcbn07XG4iXX0=