@ruvector/ruvllm 2.5.5 → 2.5.6

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 (63) hide show
  1. package/README.md +282 -282
  2. package/bin/cli.js +1020 -1020
  3. package/dist/cjs/benchmarks/embedding-benchmark.js +1 -1
  4. package/dist/cjs/benchmarks/index.js +1 -1
  5. package/dist/cjs/benchmarks/model-comparison.js +1 -1
  6. package/dist/cjs/benchmarks/routing-benchmark.js +1 -1
  7. package/dist/cjs/contrastive.js +70 -70
  8. package/dist/cjs/engine.js +13 -13
  9. package/dist/cjs/export.js +31 -31
  10. package/dist/cjs/federated.js +1 -1
  11. package/dist/cjs/index.js +1 -1
  12. package/dist/cjs/intelligence.js +1 -1
  13. package/dist/cjs/lora.js +1 -1
  14. package/dist/cjs/models.js +1 -1
  15. package/dist/cjs/native.js +1 -1
  16. package/dist/cjs/session.js +1 -1
  17. package/dist/cjs/simd.js +1 -1
  18. package/dist/cjs/sona.d.ts +36 -0
  19. package/dist/cjs/sona.d.ts.map +1 -1
  20. package/dist/cjs/sona.js +66 -4
  21. package/dist/cjs/streaming.js +1 -1
  22. package/dist/cjs/training.js +1 -1
  23. package/dist/cjs/types.js +1 -1
  24. package/dist/esm/benchmarks/embedding-benchmark.js +1 -1
  25. package/dist/esm/benchmarks/index.js +1 -1
  26. package/dist/esm/benchmarks/model-comparison.js +1 -1
  27. package/dist/esm/benchmarks/routing-benchmark.js +1 -1
  28. package/dist/esm/contrastive.js +70 -70
  29. package/dist/esm/engine.js +13 -13
  30. package/dist/esm/export.js +31 -31
  31. package/dist/esm/federated.js +1 -1
  32. package/dist/esm/index.js +1 -1
  33. package/dist/esm/intelligence.js +1 -1
  34. package/dist/esm/lora.js +1 -1
  35. package/dist/esm/models.js +1 -1
  36. package/dist/esm/native.js +1 -1
  37. package/dist/esm/session.js +1 -1
  38. package/dist/esm/simd.js +1 -1
  39. package/dist/esm/sona.d.ts +36 -0
  40. package/dist/esm/sona.d.ts.map +1 -1
  41. package/dist/esm/sona.js +66 -4
  42. package/dist/esm/streaming.js +1 -1
  43. package/dist/esm/training.js +1 -1
  44. package/dist/esm/types.js +1 -1
  45. package/package.json +133 -133
  46. package/scripts/ensemble-model-compare.js +287 -287
  47. package/scripts/huggingface/README.md +537 -537
  48. package/scripts/huggingface/publish.sh +112 -112
  49. package/scripts/hybrid-model-compare.js +373 -373
  50. package/scripts/improved-model-compare.js +288 -288
  51. package/scripts/optimized-model-compare.js +364 -364
  52. package/scripts/real-model-compare.js +280 -280
  53. package/scripts/training/agentic-flow-capabilities.json +329 -329
  54. package/scripts/training/claude-code-synth.js +505 -505
  55. package/scripts/training/claude-flow-capabilities.json +1322 -1322
  56. package/scripts/training/claude-hard-negatives.js +222 -222
  57. package/scripts/training/contrastive-finetune.js +517 -517
  58. package/scripts/training/ecosystem-triplets.jsonl +1466 -1466
  59. package/scripts/training/generate-ecosystem-triplets.js +1324 -1324
  60. package/scripts/training/routing-dataset.js +634 -634
  61. package/scripts/training/ruvector-capabilities.json +798 -798
  62. package/scripts/training/validate-ecosystem.js +381 -381
  63. package/scripts/training/validation-results.json +22 -22
package/dist/esm/types.js CHANGED
@@ -2,4 +2,4 @@
2
2
  * RuvLLM Type Definitions
3
3
  */
4
4
  export {};
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFJ1dkxMTSBUeXBlIERlZmluaXRpb25zXG4gKi9cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBSdXZMTE0gZW5naW5lXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnV2TExNQ29uZmlnIHtcbiAgLyoqIEVtYmVkZGluZyBkaW1lbnNpb24gKGRlZmF1bHQ6IDc2OCkgKi9cbiAgZW1iZWRkaW5nRGltPzogbnVtYmVyO1xuICAvKiogUm91dGVyIGhpZGRlbiBkaW1lbnNpb24gKGRlZmF1bHQ6IDEyOCkgKi9cbiAgcm91dGVySGlkZGVuRGltPzogbnVtYmVyO1xuICAvKiogSE5TVyBNIHBhcmFtZXRlciAoZGVmYXVsdDogMTYpICovXG4gIGhuc3dNPzogbnVtYmVyO1xuICAvKiogSE5TVyBlZl9jb25zdHJ1Y3Rpb24gKGRlZmF1bHQ6IDEwMCkgKi9cbiAgaG5zd0VmQ29uc3RydWN0aW9uPzogbnVtYmVyO1xuICAvKiogSE5TVyBlZl9zZWFyY2ggKGRlZmF1bHQ6IDY0KSAqL1xuICBobnN3RWZTZWFyY2g/OiBudW1iZXI7XG4gIC8qKiBFbmFibGUgbGVhcm5pbmcgKGRlZmF1bHQ6IHRydWUpICovXG4gIGxlYXJuaW5nRW5hYmxlZD86IGJvb2xlYW47XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCBmb3IgbGVhcm5pbmcgKGRlZmF1bHQ6IDAuNykgKi9cbiAgcXVhbGl0eVRocmVzaG9sZD86IG51bWJlcjtcbiAgLyoqIEVXQyBsYW1iZGEgKGRlZmF1bHQ6IDIwMDApICovXG4gIGV3Y0xhbWJkYT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBHZW5lcmF0aW9uIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZW5lcmF0aW9uQ29uZmlnIHtcbiAgLyoqIE1heGltdW0gdG9rZW5zIHRvIGdlbmVyYXRlICovXG4gIG1heFRva2Vucz86IG51bWJlcjtcbiAgLyoqIFRlbXBlcmF0dXJlIGZvciBzYW1wbGluZyAoMC4wIC0gMi4wKSAqL1xuICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcbiAgLyoqIFRvcC1wIG51Y2xldXMgc2FtcGxpbmcgKDAuMCAtIDEuMCkgKi9cbiAgdG9wUD86IG51bWJlcjtcbiAgLyoqIFRvcC1rIHNhbXBsaW5nICovXG4gIHRvcEs/OiBudW1iZXI7XG4gIC8qKiBSZXBldGl0aW9uIHBlbmFsdHkgKi9cbiAgcmVwZXRpdGlvblBlbmFsdHk/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUXVlcnkgcmVzcG9uc2UgZnJvbSB0aGUgTExNXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlSZXNwb25zZSB7XG4gIC8qKiBHZW5lcmF0ZWQgdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBDb25maWRlbmNlIHNjb3JlICgwLjAgLSAxLjApICovXG4gIGNvbmZpZGVuY2U6IG51bWJlcjtcbiAgLyoqIFNlbGVjdGVkIG1vZGVsICovXG4gIG1vZGVsOiBzdHJpbmc7XG4gIC8qKiBDb250ZXh0IHNpemUgdXNlZCAqL1xuICBjb250ZXh0U2l6ZTogbnVtYmVyO1xuICAvKiogTGF0ZW5jeSBpbiBtaWxsaXNlY29uZHMgKi9cbiAgbGF0ZW5jeU1zOiBudW1iZXI7XG4gIC8qKiBSZXF1ZXN0IElEIGZvciBmZWVkYmFjayAqL1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSb3V0aW5nIGRlY2lzaW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGluZ0RlY2lzaW9uIHtcbiAgLyoqIFNlbGVjdGVkIG1vZGVsIHNpemUgKi9cbiAgbW9kZWw6IE1vZGVsU2l6ZTtcbiAgLyoqIFJlY29tbWVuZGVkIGNvbnRleHQgc2l6ZSAqL1xuICBjb250ZXh0U2l6ZTogbnVtYmVyO1xuICAvKiogVGVtcGVyYXR1cmUgKi9cbiAgdGVtcGVyYXR1cmU6IG51bWJlcjtcbiAgLyoqIFRvcC1wICovXG4gIHRvcFA6IG51bWJlcjtcbiAgLyoqIENvbmZpZGVuY2UgKi9cbiAgY29uZmlkZW5jZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIE1lbW9yeSBzZWFyY2ggcmVzdWx0XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVtb3J5UmVzdWx0IHtcbiAgLyoqIE5vZGUgSUQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIFNpbWlsYXJpdHkgc2NvcmUgKi9cbiAgc2NvcmU6IG51bWJlcjtcbiAgLyoqIENvbnRlbnQgdGV4dCAqL1xuICBjb250ZW50OiBzdHJpbmc7XG4gIC8qKiBNZXRhZGF0YSAqL1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG5cbi8qKlxuICogRW5naW5lIHN0YXRpc3RpY3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdXZMTE1TdGF0cyB7XG4gIC8qKiBUb3RhbCBxdWVyaWVzIHByb2Nlc3NlZCAqL1xuICB0b3RhbFF1ZXJpZXM6IG51bWJlcjtcbiAgLyoqIE1lbW9yeSBub2RlcyBzdG9yZWQgKi9cbiAgbWVtb3J5Tm9kZXM6IG51bWJlcjtcbiAgLyoqIFBhdHRlcm5zIGxlYXJuZWQgKi9cbiAgcGF0dGVybnNMZWFybmVkOiBudW1iZXI7XG4gIC8qKiBBdmVyYWdlIGxhdGVuY3kgaW4gbXMgKi9cbiAgYXZnTGF0ZW5jeU1zOiBudW1iZXI7XG4gIC8qKiBDYWNoZSBoaXQgcmF0ZSAoMC4wIC0gMS4wKSAqL1xuICBjYWNoZUhpdFJhdGU6IG51bWJlcjtcbiAgLyoqIFJvdXRlciBhY2N1cmFjeSAoMC4wIC0gMS4wKSAqL1xuICByb3V0ZXJBY2N1cmFjeTogbnVtYmVyO1xufVxuXG4vKipcbiAqIE1vZGVsIHNpemUgb3B0aW9uc1xuICovXG5leHBvcnQgdHlwZSBNb2RlbFNpemUgPSAnTTM1MCcgfCAnTTcwMCcgfCAnQjFfMicgfCAnQjJfNic7XG5cbi8qKlxuICogRmVlZGJhY2sgZm9yIGxlYXJuaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVlZGJhY2sge1xuICAvKiogUmVxdWVzdCBJRCBmcm9tIHF1ZXJ5IHJlc3BvbnNlICovXG4gIHJlcXVlc3RJZDogc3RyaW5nO1xuICAvKiogUmF0aW5nIDEtNSAqL1xuICByYXRpbmc6IG51bWJlcjtcbiAgLyoqIE9wdGlvbmFsIGNvcnJlY3Rpb24gdGV4dCAqL1xuICBjb3JyZWN0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFNlc3Npb24gZm9yIG11bHRpLXR1cm4gY29udmVyc2F0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlc3Npb24ge1xuICAvKiogU2Vzc2lvbiBJRCAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogQ3JlYXRlZCB0aW1lc3RhbXAgKi9cbiAgY3JlYXRlZEF0OiBEYXRlO1xuICAvKiogTWVzc2FnZXMgaW4gc2Vzc2lvbiAqL1xuICBtZXNzYWdlQ291bnQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBTSU1EIGNhcGFiaWxpdGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpbWRDYXBhYmlsaXRpZXMge1xuICAvKiogSGFzIGFueSBTSU1EIHN1cHBvcnQgKi9cbiAgaGFzU2ltZDogYm9vbGVhbjtcbiAgLyoqIEF2YWlsYWJsZSBTSU1EIGluc3RydWN0aW9ucyAqL1xuICBjYXBhYmlsaXRpZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEVtYmVkZGluZyByZXN1bHRcbiAqL1xuZXhwb3J0IHR5cGUgRW1iZWRkaW5nID0gbnVtYmVyW107XG5cbi8qKlxuICogQmF0Y2ggcXVlcnkgcmVxdWVzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhdGNoUXVlcnlSZXF1ZXN0IHtcbiAgLyoqIFF1ZXJpZXMgdG8gcHJvY2VzcyAqL1xuICBxdWVyaWVzOiBzdHJpbmdbXTtcbiAgLyoqIE9wdGlvbmFsIGdlbmVyYXRpb24gY29uZmlnICovXG4gIGNvbmZpZz86IEdlbmVyYXRpb25Db25maWc7XG59XG5cbi8qKlxuICogQmF0Y2ggcXVlcnkgcmVzcG9uc2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1ZXJ5UmVzcG9uc2Uge1xuICAvKiogUmVzcG9uc2VzIGZvciBlYWNoIHF1ZXJ5ICovXG4gIHJlc3BvbnNlczogUXVlcnlSZXNwb25zZVtdO1xuICAvKiogVG90YWwgcHJvY2Vzc2luZyB0aW1lIGluIG1zICovXG4gIHRvdGFsTGF0ZW5jeU1zOiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTT05BIExlYXJuaW5nIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFNPTkEgQ29uZmlndXJhdGlvbiBmb3IgYWRhcHRpdmUgbGVhcm5pbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTb25hQ29uZmlnIHtcbiAgLyoqIEVuYWJsZSBpbnN0YW50IGxvb3AgKHJlYWwtdGltZSBsZWFybmluZykgKi9cbiAgaW5zdGFudExvb3BFbmFibGVkPzogYm9vbGVhbjtcbiAgLyoqIEVuYWJsZSBiYWNrZ3JvdW5kIGxvb3AgKGJhdGNoIGxlYXJuaW5nKSAqL1xuICBiYWNrZ3JvdW5kTG9vcEVuYWJsZWQ/OiBib29sZWFuO1xuICAvKiogTGVhcm5pbmcgcmF0ZSBmb3IgTG9SQSBhZGFwdGVycyAqL1xuICBsb3JhTGVhcm5pbmdSYXRlPzogbnVtYmVyO1xuICAvKiogTG9SQSByYW5rIChsb3dlciA9IGZhc3RlciwgaGlnaGVyID0gbW9yZSBjYXBhY2l0eSkgKi9cbiAgbG9yYVJhbms/OiBudW1iZXI7XG4gIC8qKiBFV0MgbGFtYmRhIGZvciBtZW1vcnkgcHJvdGVjdGlvbiAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG4gIC8qKiBNYXggdHJhamVjdG9yeSBidWZmZXIgc2l6ZSAqL1xuICBtYXhUcmFqZWN0b3J5U2l6ZT86IG51bWJlcjtcbiAgLyoqIFBhdHRlcm4gc2ltaWxhcml0eSB0aHJlc2hvbGQgKi9cbiAgcGF0dGVyblRocmVzaG9sZD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMZWFybmluZyBzaWduYWwgZnJvbSB1c2VyIGZlZWRiYWNrXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGVhcm5pbmdTaWduYWwge1xuICAvKiogUmVxdWVzdCBJRCAqL1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgLyoqIFF1YWxpdHkgc2NvcmUgKDAtMSkgKi9cbiAgcXVhbGl0eTogbnVtYmVyO1xuICAvKiogU2lnbmFsIHR5cGUgKi9cbiAgdHlwZTogU2lnbmFsVHlwZTtcbiAgLyoqIE9wdGlvbmFsIGNvcnJlY3Rpb24gKi9cbiAgY29ycmVjdGlvbj86IHN0cmluZztcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IERhdGU7XG59XG5cbi8qKlxuICogU2lnbmFsIHR5cGVzIGZvciBsZWFybmluZ1xuICovXG5leHBvcnQgdHlwZSBTaWduYWxUeXBlID0gJ3Bvc2l0aXZlJyB8ICduZWdhdGl2ZScgfCAnY29ycmVjdGlvbicgfCAnaW1wbGljaXQnO1xuXG4vKipcbiAqIFF1ZXJ5IHRyYWplY3RvcnkgZm9yIGxlYXJuaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlUcmFqZWN0b3J5IHtcbiAgLyoqIFRyYWplY3RvcnkgSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIFN0ZXBzIGluIHRoZSB0cmFqZWN0b3J5ICovXG4gIHN0ZXBzOiBUcmFqZWN0b3J5U3RlcFtdO1xuICAvKiogRmluYWwgb3V0Y29tZSAqL1xuICBvdXRjb21lOiBUcmFqZWN0b3J5T3V0Y29tZTtcbiAgLyoqIFRvdGFsIGR1cmF0aW9uICovXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBTaW5nbGUgc3RlcCBpbiBhIHRyYWplY3RvcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFqZWN0b3J5U3RlcCB7XG4gIC8qKiBTdGVwIHR5cGUgKi9cbiAgdHlwZTogJ3F1ZXJ5JyB8ICdyb3V0ZScgfCAnZ2VuZXJhdGUnIHwgJ21lbW9yeScgfCAnZmVlZGJhY2snO1xuICAvKiogSW5wdXQgZGF0YSAqL1xuICBpbnB1dDogc3RyaW5nO1xuICAvKiogT3V0cHV0IGRhdGEgKi9cbiAgb3V0cHV0OiBzdHJpbmc7XG4gIC8qKiBEdXJhdGlvbiBvZiB0aGlzIHN0ZXAgKi9cbiAgZHVyYXRpb25NczogbnVtYmVyO1xuICAvKiogQ29uZmlkZW5jZSBhdCB0aGlzIHN0ZXAgKi9cbiAgY29uZmlkZW5jZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIFRyYWplY3Rvcnkgb3V0Y29tZVxuICovXG5leHBvcnQgdHlwZSBUcmFqZWN0b3J5T3V0Y29tZSA9ICdzdWNjZXNzJyB8ICdwYXJ0aWFsJyB8ICdmYWlsdXJlJyB8ICd1bmtub3duJztcblxuLyoqXG4gKiBMZWFybmVkIHBhdHRlcm4gZnJvbSBSZWFzb25pbmdCYW5rXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGVhcm5lZFBhdHRlcm4ge1xuICAvKiogUGF0dGVybiBJRCAqL1xuICBpZDogc3RyaW5nO1xuICAvKiogUGF0dGVybiB0eXBlICovXG4gIHR5cGU6IFBhdHRlcm5UeXBlO1xuICAvKiogUGF0dGVybiBlbWJlZGRpbmcgKi9cbiAgZW1iZWRkaW5nOiBFbWJlZGRpbmc7XG4gIC8qKiBTdWNjZXNzIHJhdGUgKDAtMSkgKi9cbiAgc3VjY2Vzc1JhdGU6IG51bWJlcjtcbiAgLyoqIFRpbWVzIHVzZWQgKi9cbiAgdXNlQ291bnQ6IG51bWJlcjtcbiAgLyoqIExhc3QgdXNlZCB0aW1lc3RhbXAgKi9cbiAgbGFzdFVzZWQ6IERhdGU7XG59XG5cbi8qKlxuICogVHlwZXMgb2YgbGVhcm5lZCBwYXR0ZXJuc1xuICovXG5leHBvcnQgdHlwZSBQYXR0ZXJuVHlwZSA9XG4gIHwgJ3F1ZXJ5X3Jlc3BvbnNlJyAgICAgIC8vIFEmQSBwYXR0ZXJuXG4gIHwgJ3JvdXRpbmcnICAgICAgICAgICAgIC8vIFJvdXRpbmcgZGVjaXNpb24gcGF0dGVyblxuICB8ICdjb250ZXh0X3JldHJpZXZhbCcgICAvLyBNZW1vcnkgcmV0cmlldmFsIHBhdHRlcm5cbiAgfCAnY29ycmVjdGlvbicgICAgICAgICAgLy8gVXNlciBjb3JyZWN0aW9uIHBhdHRlcm5cbiAgfCAnYWJzdHJhY3Rpb24nOyAgICAgICAgLy8gQ29tcHJlc3NlZCBjb25jZXB0XG5cbi8qKlxuICogTG9SQSBhZGFwdGVyIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb1JBQ29uZmlnIHtcbiAgLyoqIEFkYXB0ZXIgcmFuayAoNCwgOCwgMTYsIDMyKSAqL1xuICByYW5rOiBudW1iZXI7XG4gIC8qKiBBbHBoYSBzY2FsaW5nIGZhY3RvciAqL1xuICBhbHBoYTogbnVtYmVyO1xuICAvKiogRHJvcG91dCByYXRlICovXG4gIGRyb3BvdXQ6IG51bWJlcjtcbiAgLyoqIFRhcmdldCBtb2R1bGVzIHRvIGFkYXB0ICovXG4gIHRhcmdldE1vZHVsZXM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEVXQyAoRWxhc3RpYyBXZWlnaHQgQ29uc29saWRhdGlvbikgc3RhdHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFd2NTdGF0cyB7XG4gIC8qKiBOdW1iZXIgb2YgdGFza3MgbGVhcm5lZCAqL1xuICB0YXNrc0xlYXJuZWQ6IG51bWJlcjtcbiAgLyoqIEZpc2hlciBpbmZvcm1hdGlvbiBjb21wdXRlZCAqL1xuICBmaXNoZXJDb21wdXRlZDogYm9vbGVhbjtcbiAgLyoqIE1lbW9yeSBwcm90ZWN0aW9uIHN0cmVuZ3RoICovXG4gIHByb3RlY3Rpb25TdHJlbmd0aDogbnVtYmVyO1xuICAvKiogRXN0aW1hdGVkIGZvcmdldHRpbmcgcmF0ZSAqL1xuICBmb3JnZXR0aW5nUmF0ZTogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2Vzc2lvbiAmIENvbnZlcnNhdGlvbiBUeXBlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBFeHRlbmRlZCBzZXNzaW9uIHdpdGggY29udmVyc2F0aW9uIGhpc3RvcnlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25TZXNzaW9uIGV4dGVuZHMgU2Vzc2lvbiB7XG4gIC8qKiBDb252ZXJzYXRpb24gbWVzc2FnZXMgKi9cbiAgbWVzc2FnZXM6IENvbnZlcnNhdGlvbk1lc3NhZ2VbXTtcbiAgLyoqIFNlc3Npb24gY29udGV4dCAoYWNjdW11bGF0ZWQpICovXG4gIGNvbnRleHQ6IHN0cmluZ1tdO1xuICAvKiogQWN0aXZlIG1lbW9yeSBJRHMgKi9cbiAgYWN0aXZlTWVtb3J5SWRzOiBudW1iZXJbXTtcbiAgLyoqIFNlc3Npb24gbWV0YWRhdGEgKi9cbiAgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufVxuXG4vKipcbiAqIFNpbmdsZSBtZXNzYWdlIGluIGNvbnZlcnNhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbk1lc3NhZ2Uge1xuICAvKiogTWVzc2FnZSByb2xlICovXG4gIHJvbGU6ICd1c2VyJyB8ICdhc3Npc3RhbnQnIHwgJ3N5c3RlbSc7XG4gIC8qKiBNZXNzYWdlIGNvbnRlbnQgKi9cbiAgY29udGVudDogc3RyaW5nO1xuICAvKiogVGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogRGF0ZTtcbiAgLyoqIEFzc29jaWF0ZWQgcmVxdWVzdCBJRCAoaWYgYXNzaXN0YW50KSAqL1xuICByZXF1ZXN0SWQ/OiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTdHJlYW1pbmcgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogU3RyZWFtaW5nIHJlc3BvbnNlIGNodW5rXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RyZWFtQ2h1bmsge1xuICAvKiogQ2h1bmsgdGV4dCAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKiBJcyBmaW5hbCBjaHVuayAqL1xuICBkb25lOiBib29sZWFuO1xuICAvKiogVG9rZW4gY291bnQgc28gZmFyICovXG4gIHRva2VuQ291bnQ6IG51bWJlcjtcbiAgLyoqIEN1bXVsYXRpdmUgbGF0ZW5jeSAqL1xuICBsYXRlbmN5TXM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBTdHJlYW0gb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbU9wdGlvbnMgZXh0ZW5kcyBHZW5lcmF0aW9uQ29uZmlnIHtcbiAgLyoqIENhbGxiYWNrIGZvciBlYWNoIGNodW5rICovXG4gIG9uQ2h1bms/OiAoY2h1bms6IFN0cmVhbUNodW5rKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgb24gY29tcGxldGlvbiAqL1xuICBvbkNvbXBsZXRlPzogKHJlc3BvbnNlOiBRdWVyeVJlc3BvbnNlKSA9PiB2b2lkO1xuICAvKiogQ2FsbGJhY2sgb24gZXJyb3IgKi9cbiAgb25FcnJvcj86IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21wcmVzc2lvbiAmIEFyY2hpdmFsIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIE1lbW9yeSBjb21wcmVzc2lvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wcmVzc2lvblJlc3VsdCB7XG4gIC8qKiBOb2RlcyBjb21wcmVzc2VkICovXG4gIG5vZGVzQ29tcHJlc3NlZDogbnVtYmVyO1xuICAvKiogTm9kZXMgYXJjaGl2ZWQgKi9cbiAgbm9kZXNBcmNoaXZlZDogbnVtYmVyO1xuICAvKiogQ29uY2VwdHMgY3JlYXRlZCAqL1xuICBjb25jZXB0c0NyZWF0ZWQ6IG51bWJlcjtcbiAgLyoqIE1lbW9yeSBzYXZlZCAoYnl0ZXMpICovXG4gIG1lbW9yeVNhdmVkOiBudW1iZXI7XG4gIC8qKiBEdXJhdGlvbiAqL1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG59XG5cbi8qKlxuICogQXJjaGl2ZSBxdWVyeSByZXN1bHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcmNoaXZlUmVzdWx0IHtcbiAgLyoqIEFyY2hpdmVkIG5vZGUgSUQgKi9cbiAgaWQ6IG51bWJlcjtcbiAgLyoqIE9yaWdpbmFsIGNvbnRlbnQgKGlmIGF2YWlsYWJsZSkgKi9cbiAgY29udGVudD86IHN0cmluZztcbiAgLyoqIENvbmNlcHQgaXQgYmVsb25ncyB0byAqL1xuICBjb25jZXB0SWQ/OiBzdHJpbmc7XG4gIC8qKiBBcmNoaXZlIHRpbWVzdGFtcCAqL1xuICBhcmNoaXZlZEF0OiBEYXRlO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQXR0ZW50aW9uIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEF0dGVudGlvbiB3ZWlnaHRzIGZvciBpbnRlcnByZXRhYmlsaXR5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXR0ZW50aW9uV2VpZ2h0cyB7XG4gIC8qKiBRdWVyeS1rZXkgYXR0ZW50aW9uIHNjb3JlcyAqL1xuICBzY29yZXM6IG51bWJlcltdW107XG4gIC8qKiBIZWFkIGluZGV4ICovXG4gIGhlYWRJbmRleDogbnVtYmVyO1xuICAvKiogTGF5ZXIgaW5kZXggKi9cbiAgbGF5ZXJJbmRleDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEF0dGVudGlvbiBhbmFseXNpcyByZXN1bHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRlbnRpb25BbmFseXNpcyB7XG4gIC8qKiBNb3N0IGF0dGVuZGVkIHRva2VucyAqL1xuICB0b3BBdHRlbmRlZDogQXJyYXk8eyB0b2tlbjogc3RyaW5nOyB3ZWlnaHQ6IG51bWJlciB9PjtcbiAgLyoqIEF0dGVudGlvbiBlbnRyb3B5ICh1bmNlcnRhaW50eSkgKi9cbiAgZW50cm9weTogbnVtYmVyO1xuICAvKiogRm9jdXMgc2NvcmUgKDAtMSwgaGlnaGVyID0gbW9yZSBmb2N1c2VkKSAqL1xuICBmb2N1c1Njb3JlOiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGZWRlcmF0ZWQgTGVhcm5pbmcgVHlwZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogRmVkZXJhdGVkIGxlYXJuaW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZWRlcmF0ZWRDb25maWcge1xuICAvKiogSGlkZGVuIGRpbWVuc2lvbiBmb3IgZW1iZWRkaW5ncyAqL1xuICBoaWRkZW5EaW0/OiBudW1iZXI7XG4gIC8qKiBFbWJlZGRpbmcgZGltZW5zaW9uICovXG4gIGVtYmVkZGluZ0RpbT86IG51bWJlcjtcbiAgLyoqIE1pY3JvLUxvUkEgcmFuayAqL1xuICBtaWNyb0xvcmFSYW5rPzogbnVtYmVyO1xuICAvKiogQmFzZSBMb1JBIHJhbmsgKi9cbiAgYmFzZUxvcmFSYW5rPzogbnVtYmVyO1xuICAvKiogVHJhamVjdG9yeSBidWZmZXIgY2FwYWNpdHkgKi9cbiAgdHJhamVjdG9yeUNhcGFjaXR5PzogbnVtYmVyO1xuICAvKiogUGF0dGVybiBjbHVzdGVyIGNvdW50ICovXG4gIHBhdHRlcm5DbHVzdGVycz86IG51bWJlcjtcbiAgLyoqIEVXQyBsYW1iZGEgZm9yIHJlZ3VsYXJpemF0aW9uICovXG4gIGV3Y0xhbWJkYT86IG51bWJlcjtcbiAgLyoqIFF1YWxpdHkgdGhyZXNob2xkIGZvciBhY2NlcHRpbmcgdHJhamVjdG9yaWVzICovXG4gIHF1YWxpdHlUaHJlc2hvbGQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogVHJhamVjdG9yeSBleHBvcnQgZm9yIGZlZGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFqZWN0b3J5RXhwb3J0IHtcbiAgLyoqIFF1ZXJ5IGVtYmVkZGluZyAqL1xuICBlbWJlZGRpbmc6IEVtYmVkZGluZztcbiAgLyoqIFF1YWxpdHkgc2NvcmUgKi9cbiAgcXVhbGl0eTogbnVtYmVyO1xuICAvKiogTW9kZWwgcm91dGUgKGlmIGFueSkgKi9cbiAgcm91dGU/OiBzdHJpbmc7XG4gIC8qKiBDb250ZXh0IGlkZW50aWZpZXJzICovXG4gIGNvbnRleHQ6IHN0cmluZ1tdO1xuICAvKiogVGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFnZW50IGV4cG9ydCBzdGF0aXN0aWNzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRFeHBvcnRTdGF0cyB7XG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgcHJvY2Vzc2VkICovXG4gIHRvdGFsVHJhamVjdG9yaWVzOiBudW1iZXI7XG4gIC8qKiBBdmVyYWdlIHF1YWxpdHkgKi9cbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xuICAvKiogUGF0dGVybnMgbGVhcm5lZCBsb2NhbGx5ICovXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEV4cG9ydGVkIHN0YXRlIGZyb20gYW4gZXBoZW1lcmFsIGFnZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRFeHBvcnQge1xuICAvKiogQWdlbnQgaWRlbnRpZmllciAqL1xuICBhZ2VudElkOiBzdHJpbmc7XG4gIC8qKiBFeHBvcnRlZCB0cmFqZWN0b3JpZXMgKi9cbiAgdHJhamVjdG9yaWVzOiBUcmFqZWN0b3J5RXhwb3J0W107XG4gIC8qKiBBZ2VudCBzdGF0aXN0aWNzICovXG4gIHN0YXRzOiBBZ2VudEV4cG9ydFN0YXRzO1xuICAvKiogU2Vzc2lvbiBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMgKi9cbiAgc2Vzc2lvbkR1cmF0aW9uTXM6IG51bWJlcjtcbiAgLyoqIEV4cG9ydCB0aW1lc3RhbXAgKi9cbiAgdGltZXN0YW1wOiBudW1iZXI7XG59XG5cbi8qKlxuICogQWdlbnQgY29udHJpYnV0aW9uIHJlY29yZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFnZW50Q29udHJpYnV0aW9uIHtcbiAgLyoqIE51bWJlciBvZiB0cmFqZWN0b3JpZXMgY29udHJpYnV0ZWQgKi9cbiAgdHJhamVjdG9yeUNvdW50OiBudW1iZXI7XG4gIC8qKiBBdmVyYWdlIHF1YWxpdHkgb2YgY29udHJpYnV0aW9ucyAqL1xuICBhdmdRdWFsaXR5OiBudW1iZXI7XG4gIC8qKiBDb250cmlidXRpb24gdGltZXN0YW1wICovXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICAvKiogU2Vzc2lvbiBkdXJhdGlvbiAqL1xuICBzZXNzaW9uRHVyYXRpb25NczogbnVtYmVyO1xufVxuXG4vKipcbiAqIFJlc3VsdCBvZiBhZ2dyZWdhdGluZyBhbiBhZ2VudCBleHBvcnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBZ2dyZWdhdGlvblJlc3VsdCB7XG4gIC8qKiBBZ2VudCBJRCB0aGF0IHdhcyBhZ2dyZWdhdGVkICovXG4gIGFnZW50SWQ6IHN0cmluZztcbiAgLyoqIE51bWJlciBvZiB0cmFqZWN0b3JpZXMgYWNjZXB0ZWQgKi9cbiAgdHJhamVjdG9yaWVzQWNjZXB0ZWQ6IG51bWJlcjtcbiAgLyoqIE51bWJlciBvZiB0cmFqZWN0b3JpZXMgcmVqZWN0ZWQgKGJlbG93IHF1YWxpdHkgdGhyZXNob2xkKSAqL1xuICB0cmFqZWN0b3JpZXNSZWplY3RlZDogbnVtYmVyO1xuICAvKiogV2hldGhlciBjb25zb2xpZGF0aW9uIHdhcyB0cmlnZ2VyZWQgKi9cbiAgY29uc29saWRhdGVkOiBib29sZWFuO1xuICAvKiogVG90YWwgbnVtYmVyIG9mIGNvbnRyaWJ1dGluZyBhZ2VudHMgKi9cbiAgdG90YWxBZ2VudHM6IG51bWJlcjtcbiAgLyoqIFRvdGFsIHRyYWplY3RvcmllcyBpbiBjb29yZGluYXRvciAqL1xuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xufVxuXG4vKipcbiAqIENvb3JkaW5hdG9yIHN0YXRpc3RpY3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb29yZGluYXRvclN0YXRzIHtcbiAgLyoqIENvb3JkaW5hdG9yIGlkZW50aWZpZXIgKi9cbiAgY29vcmRpbmF0b3JJZDogc3RyaW5nO1xuICAvKiogTnVtYmVyIG9mIGNvbnRyaWJ1dGluZyBhZ2VudHMgKi9cbiAgdG90YWxBZ2VudHM6IG51bWJlcjtcbiAgLyoqIFRvdGFsIHRyYWplY3RvcmllcyBhZ2dyZWdhdGVkICovXG4gIHRvdGFsVHJhamVjdG9yaWVzOiBudW1iZXI7XG4gIC8qKiBQYXR0ZXJucyBsZWFybmVkICovXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xuICAvKiogQXZlcmFnZSBxdWFsaXR5IGFjcm9zcyBhbGwgY29udHJpYnV0aW9ucyAqL1xuICBhdmdRdWFsaXR5OiBudW1iZXI7XG4gIC8qKiBRdWFsaXR5IHRocmVzaG9sZCAqL1xuICBxdWFsaXR5VGhyZXNob2xkOiBudW1iZXI7XG59XG5cbi8qKlxuICogRmVkZXJhdGVkIGxlYXJuaW5nIHRvcG9sb2d5XG4gKi9cbmV4cG9ydCB0eXBlIEZlZGVyYXRlZFRvcG9sb2d5ID1cbiAgfCAnc3RhcicgICAgICAgICAgIC8vIEFnZW50cyDihpIgQ2VudHJhbCBDb29yZGluYXRvclxuICB8ICdoaWVyYXJjaGljYWwnICAgLy8gQWdlbnRzIOKGkiBSZWdpb25hbCDihpIgR2xvYmFsXG4gIHwgJ3BlZXItdG8tcGVlcic7ICAvLyBBZ2VudHMgc2hhcmUgZGlyZWN0bHlcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRyYWluaW5nIFBpcGVsaW5lIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFRyYWluaW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ0NvbmZpZyB7XG4gIC8qKiBJbml0aWFsIGxlYXJuaW5nIHJhdGUgKi9cbiAgbGVhcm5pbmdSYXRlPzogbnVtYmVyO1xuICAvKiogQmF0Y2ggc2l6ZSAqL1xuICBiYXRjaFNpemU/OiBudW1iZXI7XG4gIC8qKiBOdW1iZXIgb2YgZXBvY2hzICovXG4gIGVwb2Nocz86IG51bWJlcjtcbiAgLyoqIExlYXJuaW5nIHJhdGUgc2NoZWR1bGVyICovXG4gIHNjaGVkdWxlcj86ICdjb25zdGFudCcgfCAnbGluZWFyJyB8ICdjb3NpbmUnIHwgJ3dhcm11cCc7XG4gIC8qKiBXYXJtdXAgc3RlcHMgKGZvciB3YXJtdXAgc2NoZWR1bGVyKSAqL1xuICB3YXJtdXBTdGVwcz86IG51bWJlcjtcbiAgLyoqIFdlaWdodCBkZWNheSAqL1xuICB3ZWlnaHREZWNheT86IG51bWJlcjtcbiAgLyoqIEdyYWRpZW50IGNsaXBwaW5nIHRocmVzaG9sZCAqL1xuICBncmFkaWVudENsaXA/OiBudW1iZXI7XG4gIC8qKiBFYXJseSBzdG9wcGluZyBwYXRpZW5jZSAqL1xuICBlYXJseVN0b3BwaW5nUGF0aWVuY2U/OiBudW1iZXI7XG4gIC8qKiBDaGVja3BvaW50IGludGVydmFsIChlcG9jaHMpICovXG4gIGNoZWNrcG9pbnRJbnRlcnZhbD86IG51bWJlcjtcbiAgLyoqIEVXQyBsYW1iZGEgZm9yIGNvbnRpbnVhbCBsZWFybmluZyAqL1xuICBld2NMYW1iZGE/OiBudW1iZXI7XG4gIC8qKiBWYWxpZGF0aW9uIHNwbGl0IHJhdGlvICovXG4gIHZhbGlkYXRpb25TcGxpdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUcmFpbmluZyBtZXRyaWNzIHNuYXBzaG90XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdNZXRyaWNzU25hcHNob3Qge1xuICAvKiogQ3VycmVudCBlcG9jaCAqL1xuICBlcG9jaDogbnVtYmVyO1xuICAvKiogQ3VycmVudCBzdGVwICovXG4gIHN0ZXA6IG51bWJlcjtcbiAgLyoqIFRyYWluaW5nIGxvc3MgKi9cbiAgdHJhaW5Mb3NzOiBudW1iZXI7XG4gIC8qKiBWYWxpZGF0aW9uIGxvc3MgKi9cbiAgdmFsTG9zczogbnVtYmVyO1xuICAvKiogTGVhcm5pbmcgcmF0ZSAqL1xuICBsZWFybmluZ1JhdGU6IG51bWJlcjtcbiAgLyoqIEdyYWRpZW50IG5vcm0gKi9cbiAgZ3JhZE5vcm06IG51bWJlcjtcbiAgLyoqIFN0ZXBzIHBlciBzZWNvbmQgKi9cbiAgc3RlcHNQZXJTZWNvbmQ6IG51bWJlcjtcbiAgLyoqIEVUQSBpbiBzZWNvbmRzICovXG4gIGV0YVNlY29uZHM6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBUcmFpbmluZyByZXN1bHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ1Jlc3VsdCB7XG4gIC8qKiBUb3RhbCBlcG9jaHMgY29tcGxldGVkICovXG4gIGVwb2NoczogbnVtYmVyO1xuICAvKiogVG90YWwgc3RlcHMgY29tcGxldGVkICovXG4gIHN0ZXBzOiBudW1iZXI7XG4gIC8qKiBGaW5hbCB0cmFpbmluZyBsb3NzICovXG4gIGZpbmFsTG9zczogbnVtYmVyO1xuICAvKiogQmVzdCB2YWxpZGF0aW9uIGxvc3MgKi9cbiAgYmVzdFZhbExvc3M6IG51bWJlcjtcbiAgLyoqIFRyYWluaW5nIGR1cmF0aW9uIGluIG1zICovXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgLyoqIExvc3MgaGlzdG9yeSAqL1xuICBsb3NzSGlzdG9yeTogbnVtYmVyW107XG4gIC8qKiBWYWxpZGF0aW9uIGxvc3MgaGlzdG9yeSAqL1xuICB2YWxMb3NzSGlzdG9yeTogbnVtYmVyW107XG4gIC8qKiBFYXJseSBzdG9wcGVkICovXG4gIGVhcmx5U3RvcHBlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUcmFpbmluZyBjaGVja3BvaW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdDaGVja3BvaW50IHtcbiAgLyoqIEVwb2NoIG51bWJlciAqL1xuICBlcG9jaDogbnVtYmVyO1xuICAvKiogU3RlcCBudW1iZXIgKi9cbiAgc3RlcDogbnVtYmVyO1xuICAvKiogVHJhaW5pbmcgbG9zcyBhdCBjaGVja3BvaW50ICovXG4gIGxvc3M6IG51bWJlcjtcbiAgLyoqIE1vZGVsIHdlaWdodHMgKHNlcmlhbGl6ZWQpICovXG4gIHdlaWdodHM6IHN0cmluZztcbiAgLyoqIFRpbWVzdGFtcCAqL1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEV4cG9ydC9TZXJpYWxpemF0aW9uIFR5cGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEV4cG9ydCBmb3JtYXQgb3B0aW9uc1xuICovXG5leHBvcnQgdHlwZSBFeHBvcnRGb3JtYXQgPSAnc2FmZXRlbnNvcnMnIHwgJ2pzb24nIHwgJ2JpbmFyeScgfCAnb25ueCc7XG5cbi8qKlxuICogTW9kZWwgbWV0YWRhdGEgZm9yIGV4cG9ydFxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsTWV0YWRhdGEge1xuICAvKiogTW9kZWwgbmFtZSAqL1xuICBuYW1lOiBzdHJpbmc7XG4gIC8qKiBNb2RlbCB2ZXJzaW9uICovXG4gIHZlcnNpb246IHN0cmluZztcbiAgLyoqIEFyY2hpdGVjdHVyZSB0eXBlICovXG4gIGFyY2hpdGVjdHVyZTogc3RyaW5nO1xuICAvKiogVHJhaW5pbmcgaW5mbyAqL1xuICB0cmFpbmluZz86IHtcbiAgICBzdGVwczogbnVtYmVyO1xuICAgIGxvc3M6IG51bWJlcjtcbiAgICBsZWFybmluZ1JhdGU6IG51bWJlcjtcbiAgfTtcbiAgLyoqIEN1c3RvbSBtZXRhZGF0YSAqL1xuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cbiJdfQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUciLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogUnV2TExNIFR5cGUgRGVmaW5pdGlvbnNcclxuICovXHJcblxyXG4vKipcclxuICogQ29uZmlndXJhdGlvbiBmb3IgUnV2TExNIGVuZ2luZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBSdXZMTE1Db25maWcge1xyXG4gIC8qKiBFbWJlZGRpbmcgZGltZW5zaW9uIChkZWZhdWx0OiA3NjgpICovXHJcbiAgZW1iZWRkaW5nRGltPzogbnVtYmVyO1xyXG4gIC8qKiBSb3V0ZXIgaGlkZGVuIGRpbWVuc2lvbiAoZGVmYXVsdDogMTI4KSAqL1xyXG4gIHJvdXRlckhpZGRlbkRpbT86IG51bWJlcjtcclxuICAvKiogSE5TVyBNIHBhcmFtZXRlciAoZGVmYXVsdDogMTYpICovXHJcbiAgaG5zd00/OiBudW1iZXI7XHJcbiAgLyoqIEhOU1cgZWZfY29uc3RydWN0aW9uIChkZWZhdWx0OiAxMDApICovXHJcbiAgaG5zd0VmQ29uc3RydWN0aW9uPzogbnVtYmVyO1xyXG4gIC8qKiBITlNXIGVmX3NlYXJjaCAoZGVmYXVsdDogNjQpICovXHJcbiAgaG5zd0VmU2VhcmNoPzogbnVtYmVyO1xyXG4gIC8qKiBFbmFibGUgbGVhcm5pbmcgKGRlZmF1bHQ6IHRydWUpICovXHJcbiAgbGVhcm5pbmdFbmFibGVkPzogYm9vbGVhbjtcclxuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgZm9yIGxlYXJuaW5nIChkZWZhdWx0OiAwLjcpICovXHJcbiAgcXVhbGl0eVRocmVzaG9sZD86IG51bWJlcjtcclxuICAvKiogRVdDIGxhbWJkYSAoZGVmYXVsdDogMjAwMCkgKi9cclxuICBld2NMYW1iZGE/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBHZW5lcmF0aW9uIGNvbmZpZ3VyYXRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGlvbkNvbmZpZyB7XHJcbiAgLyoqIE1heGltdW0gdG9rZW5zIHRvIGdlbmVyYXRlICovXHJcbiAgbWF4VG9rZW5zPzogbnVtYmVyO1xyXG4gIC8qKiBUZW1wZXJhdHVyZSBmb3Igc2FtcGxpbmcgKDAuMCAtIDIuMCkgKi9cclxuICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcclxuICAvKiogVG9wLXAgbnVjbGV1cyBzYW1wbGluZyAoMC4wIC0gMS4wKSAqL1xyXG4gIHRvcFA/OiBudW1iZXI7XHJcbiAgLyoqIFRvcC1rIHNhbXBsaW5nICovXHJcbiAgdG9wSz86IG51bWJlcjtcclxuICAvKiogUmVwZXRpdGlvbiBwZW5hbHR5ICovXHJcbiAgcmVwZXRpdGlvblBlbmFsdHk/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBRdWVyeSByZXNwb25zZSBmcm9tIHRoZSBMTE1cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlSZXNwb25zZSB7XHJcbiAgLyoqIEdlbmVyYXRlZCB0ZXh0ICovXHJcbiAgdGV4dDogc3RyaW5nO1xyXG4gIC8qKiBDb25maWRlbmNlIHNjb3JlICgwLjAgLSAxLjApICovXHJcbiAgY29uZmlkZW5jZTogbnVtYmVyO1xyXG4gIC8qKiBTZWxlY3RlZCBtb2RlbCAqL1xyXG4gIG1vZGVsOiBzdHJpbmc7XHJcbiAgLyoqIENvbnRleHQgc2l6ZSB1c2VkICovXHJcbiAgY29udGV4dFNpemU6IG51bWJlcjtcclxuICAvKiogTGF0ZW5jeSBpbiBtaWxsaXNlY29uZHMgKi9cclxuICBsYXRlbmN5TXM6IG51bWJlcjtcclxuICAvKiogUmVxdWVzdCBJRCBmb3IgZmVlZGJhY2sgKi9cclxuICByZXF1ZXN0SWQ6IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFJvdXRpbmcgZGVjaXNpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUm91dGluZ0RlY2lzaW9uIHtcclxuICAvKiogU2VsZWN0ZWQgbW9kZWwgc2l6ZSAqL1xyXG4gIG1vZGVsOiBNb2RlbFNpemU7XHJcbiAgLyoqIFJlY29tbWVuZGVkIGNvbnRleHQgc2l6ZSAqL1xyXG4gIGNvbnRleHRTaXplOiBudW1iZXI7XHJcbiAgLyoqIFRlbXBlcmF0dXJlICovXHJcbiAgdGVtcGVyYXR1cmU6IG51bWJlcjtcclxuICAvKiogVG9wLXAgKi9cclxuICB0b3BQOiBudW1iZXI7XHJcbiAgLyoqIENvbmZpZGVuY2UgKi9cclxuICBjb25maWRlbmNlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZW1vcnkgc2VhcmNoIHJlc3VsdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBNZW1vcnlSZXN1bHQge1xyXG4gIC8qKiBOb2RlIElEICovXHJcbiAgaWQ6IG51bWJlcjtcclxuICAvKiogU2ltaWxhcml0eSBzY29yZSAqL1xyXG4gIHNjb3JlOiBudW1iZXI7XHJcbiAgLyoqIENvbnRlbnQgdGV4dCAqL1xyXG4gIGNvbnRlbnQ6IHN0cmluZztcclxuICAvKiogTWV0YWRhdGEgKi9cclxuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFbmdpbmUgc3RhdGlzdGljc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBSdXZMTE1TdGF0cyB7XHJcbiAgLyoqIFRvdGFsIHF1ZXJpZXMgcHJvY2Vzc2VkICovXHJcbiAgdG90YWxRdWVyaWVzOiBudW1iZXI7XHJcbiAgLyoqIE1lbW9yeSBub2RlcyBzdG9yZWQgKi9cclxuICBtZW1vcnlOb2RlczogbnVtYmVyO1xyXG4gIC8qKiBQYXR0ZXJucyBsZWFybmVkICovXHJcbiAgcGF0dGVybnNMZWFybmVkOiBudW1iZXI7XHJcbiAgLyoqIEF2ZXJhZ2UgbGF0ZW5jeSBpbiBtcyAqL1xyXG4gIGF2Z0xhdGVuY3lNczogbnVtYmVyO1xyXG4gIC8qKiBDYWNoZSBoaXQgcmF0ZSAoMC4wIC0gMS4wKSAqL1xyXG4gIGNhY2hlSGl0UmF0ZTogbnVtYmVyO1xyXG4gIC8qKiBSb3V0ZXIgYWNjdXJhY3kgKDAuMCAtIDEuMCkgKi9cclxuICByb3V0ZXJBY2N1cmFjeTogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogTW9kZWwgc2l6ZSBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBNb2RlbFNpemUgPSAnTTM1MCcgfCAnTTcwMCcgfCAnQjFfMicgfCAnQjJfNic7XHJcblxyXG4vKipcclxuICogRmVlZGJhY2sgZm9yIGxlYXJuaW5nXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZlZWRiYWNrIHtcclxuICAvKiogUmVxdWVzdCBJRCBmcm9tIHF1ZXJ5IHJlc3BvbnNlICovXHJcbiAgcmVxdWVzdElkOiBzdHJpbmc7XHJcbiAgLyoqIFJhdGluZyAxLTUgKi9cclxuICByYXRpbmc6IG51bWJlcjtcclxuICAvKiogT3B0aW9uYWwgY29ycmVjdGlvbiB0ZXh0ICovXHJcbiAgY29ycmVjdGlvbj86IHN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiAqIFNlc3Npb24gZm9yIG11bHRpLXR1cm4gY29udmVyc2F0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uIHtcclxuICAvKiogU2Vzc2lvbiBJRCAqL1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgLyoqIENyZWF0ZWQgdGltZXN0YW1wICovXHJcbiAgY3JlYXRlZEF0OiBEYXRlO1xyXG4gIC8qKiBNZXNzYWdlcyBpbiBzZXNzaW9uICovXHJcbiAgbWVzc2FnZUNvdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTSU1EIGNhcGFiaWxpdGllc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTaW1kQ2FwYWJpbGl0aWVzIHtcclxuICAvKiogSGFzIGFueSBTSU1EIHN1cHBvcnQgKi9cclxuICBoYXNTaW1kOiBib29sZWFuO1xyXG4gIC8qKiBBdmFpbGFibGUgU0lNRCBpbnN0cnVjdGlvbnMgKi9cclxuICBjYXBhYmlsaXRpZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG4vKipcclxuICogRW1iZWRkaW5nIHJlc3VsdFxyXG4gKi9cclxuZXhwb3J0IHR5cGUgRW1iZWRkaW5nID0gbnVtYmVyW107XHJcblxyXG4vKipcclxuICogQmF0Y2ggcXVlcnkgcmVxdWVzdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1ZXJ5UmVxdWVzdCB7XHJcbiAgLyoqIFF1ZXJpZXMgdG8gcHJvY2VzcyAqL1xyXG4gIHF1ZXJpZXM6IHN0cmluZ1tdO1xyXG4gIC8qKiBPcHRpb25hbCBnZW5lcmF0aW9uIGNvbmZpZyAqL1xyXG4gIGNvbmZpZz86IEdlbmVyYXRpb25Db25maWc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXRjaCBxdWVyeSByZXNwb25zZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBCYXRjaFF1ZXJ5UmVzcG9uc2Uge1xyXG4gIC8qKiBSZXNwb25zZXMgZm9yIGVhY2ggcXVlcnkgKi9cclxuICByZXNwb25zZXM6IFF1ZXJ5UmVzcG9uc2VbXTtcclxuICAvKiogVG90YWwgcHJvY2Vzc2luZyB0aW1lIGluIG1zICovXHJcbiAgdG90YWxMYXRlbmN5TXM6IG51bWJlcjtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU09OQSBMZWFybmluZyBUeXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIFNPTkEgQ29uZmlndXJhdGlvbiBmb3IgYWRhcHRpdmUgbGVhcm5pbmdcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29uYUNvbmZpZyB7XHJcbiAgLyoqIEVuYWJsZSBpbnN0YW50IGxvb3AgKHJlYWwtdGltZSBsZWFybmluZykgKi9cclxuICBpbnN0YW50TG9vcEVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKiBFbmFibGUgYmFja2dyb3VuZCBsb29wIChiYXRjaCBsZWFybmluZykgKi9cclxuICBiYWNrZ3JvdW5kTG9vcEVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIC8qKiBMZWFybmluZyByYXRlIGZvciBMb1JBIGFkYXB0ZXJzICovXHJcbiAgbG9yYUxlYXJuaW5nUmF0ZT86IG51bWJlcjtcclxuICAvKiogTG9SQSByYW5rIChsb3dlciA9IGZhc3RlciwgaGlnaGVyID0gbW9yZSBjYXBhY2l0eSkgKi9cclxuICBsb3JhUmFuaz86IG51bWJlcjtcclxuICAvKiogRVdDIGxhbWJkYSBmb3IgbWVtb3J5IHByb3RlY3Rpb24gKi9cclxuICBld2NMYW1iZGE/OiBudW1iZXI7XHJcbiAgLyoqIE1heCB0cmFqZWN0b3J5IGJ1ZmZlciBzaXplICovXHJcbiAgbWF4VHJhamVjdG9yeVNpemU/OiBudW1iZXI7XHJcbiAgLyoqIFBhdHRlcm4gc2ltaWxhcml0eSB0aHJlc2hvbGQgKi9cclxuICBwYXR0ZXJuVGhyZXNob2xkPzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogTGVhcm5pbmcgc2lnbmFsIGZyb20gdXNlciBmZWVkYmFja1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBMZWFybmluZ1NpZ25hbCB7XHJcbiAgLyoqIFJlcXVlc3QgSUQgKi9cclxuICByZXF1ZXN0SWQ6IHN0cmluZztcclxuICAvKiogUXVhbGl0eSBzY29yZSAoMC0xKSAqL1xyXG4gIHF1YWxpdHk6IG51bWJlcjtcclxuICAvKiogU2lnbmFsIHR5cGUgKi9cclxuICB0eXBlOiBTaWduYWxUeXBlO1xyXG4gIC8qKiBPcHRpb25hbCBjb3JyZWN0aW9uICovXHJcbiAgY29ycmVjdGlvbj86IHN0cmluZztcclxuICAvKiogVGltZXN0YW1wICovXHJcbiAgdGltZXN0YW1wOiBEYXRlO1xyXG59XHJcblxyXG4vKipcclxuICogU2lnbmFsIHR5cGVzIGZvciBsZWFybmluZ1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgU2lnbmFsVHlwZSA9ICdwb3NpdGl2ZScgfCAnbmVnYXRpdmUnIHwgJ2NvcnJlY3Rpb24nIHwgJ2ltcGxpY2l0JztcclxuXHJcbi8qKlxyXG4gKiBRdWVyeSB0cmFqZWN0b3J5IGZvciBsZWFybmluZ1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVRyYWplY3Rvcnkge1xyXG4gIC8qKiBUcmFqZWN0b3J5IElEICovXHJcbiAgaWQ6IHN0cmluZztcclxuICAvKiogU3RlcHMgaW4gdGhlIHRyYWplY3RvcnkgKi9cclxuICBzdGVwczogVHJhamVjdG9yeVN0ZXBbXTtcclxuICAvKiogRmluYWwgb3V0Y29tZSAqL1xyXG4gIG91dGNvbWU6IFRyYWplY3RvcnlPdXRjb21lO1xyXG4gIC8qKiBUb3RhbCBkdXJhdGlvbiAqL1xyXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNpbmdsZSBzdGVwIGluIGEgdHJhamVjdG9yeVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBUcmFqZWN0b3J5U3RlcCB7XHJcbiAgLyoqIFN0ZXAgdHlwZSAqL1xyXG4gIHR5cGU6ICdxdWVyeScgfCAncm91dGUnIHwgJ2dlbmVyYXRlJyB8ICdtZW1vcnknIHwgJ2ZlZWRiYWNrJztcclxuICAvKiogSW5wdXQgZGF0YSAqL1xyXG4gIGlucHV0OiBzdHJpbmc7XHJcbiAgLyoqIE91dHB1dCBkYXRhICovXHJcbiAgb3V0cHV0OiBzdHJpbmc7XHJcbiAgLyoqIER1cmF0aW9uIG9mIHRoaXMgc3RlcCAqL1xyXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcclxuICAvKiogQ29uZmlkZW5jZSBhdCB0aGlzIHN0ZXAgKi9cclxuICBjb25maWRlbmNlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFqZWN0b3J5IG91dGNvbWVcclxuICovXHJcbmV4cG9ydCB0eXBlIFRyYWplY3RvcnlPdXRjb21lID0gJ3N1Y2Nlc3MnIHwgJ3BhcnRpYWwnIHwgJ2ZhaWx1cmUnIHwgJ3Vua25vd24nO1xyXG5cclxuLyoqXHJcbiAqIExlYXJuZWQgcGF0dGVybiBmcm9tIFJlYXNvbmluZ0JhbmtcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGVhcm5lZFBhdHRlcm4ge1xyXG4gIC8qKiBQYXR0ZXJuIElEICovXHJcbiAgaWQ6IHN0cmluZztcclxuICAvKiogUGF0dGVybiB0eXBlICovXHJcbiAgdHlwZTogUGF0dGVyblR5cGU7XHJcbiAgLyoqIFBhdHRlcm4gZW1iZWRkaW5nICovXHJcbiAgZW1iZWRkaW5nOiBFbWJlZGRpbmc7XHJcbiAgLyoqIFN1Y2Nlc3MgcmF0ZSAoMC0xKSAqL1xyXG4gIHN1Y2Nlc3NSYXRlOiBudW1iZXI7XHJcbiAgLyoqIFRpbWVzIHVzZWQgKi9cclxuICB1c2VDb3VudDogbnVtYmVyO1xyXG4gIC8qKiBMYXN0IHVzZWQgdGltZXN0YW1wICovXHJcbiAgbGFzdFVzZWQ6IERhdGU7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUeXBlcyBvZiBsZWFybmVkIHBhdHRlcm5zXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBQYXR0ZXJuVHlwZSA9XHJcbiAgfCAncXVlcnlfcmVzcG9uc2UnICAgICAgLy8gUSZBIHBhdHRlcm5cclxuICB8ICdyb3V0aW5nJyAgICAgICAgICAgICAvLyBSb3V0aW5nIGRlY2lzaW9uIHBhdHRlcm5cclxuICB8ICdjb250ZXh0X3JldHJpZXZhbCcgICAvLyBNZW1vcnkgcmV0cmlldmFsIHBhdHRlcm5cclxuICB8ICdjb3JyZWN0aW9uJyAgICAgICAgICAvLyBVc2VyIGNvcnJlY3Rpb24gcGF0dGVyblxyXG4gIHwgJ2Fic3RyYWN0aW9uJzsgICAgICAgIC8vIENvbXByZXNzZWQgY29uY2VwdFxyXG5cclxuLyoqXHJcbiAqIExvUkEgYWRhcHRlciBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIExvUkFDb25maWcge1xyXG4gIC8qKiBBZGFwdGVyIHJhbmsgKDQsIDgsIDE2LCAzMikgKi9cclxuICByYW5rOiBudW1iZXI7XHJcbiAgLyoqIEFscGhhIHNjYWxpbmcgZmFjdG9yICovXHJcbiAgYWxwaGE6IG51bWJlcjtcclxuICAvKiogRHJvcG91dCByYXRlICovXHJcbiAgZHJvcG91dDogbnVtYmVyO1xyXG4gIC8qKiBUYXJnZXQgbW9kdWxlcyB0byBhZGFwdCAqL1xyXG4gIHRhcmdldE1vZHVsZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG4vKipcclxuICogRVdDIChFbGFzdGljIFdlaWdodCBDb25zb2xpZGF0aW9uKSBzdGF0c1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBFd2NTdGF0cyB7XHJcbiAgLyoqIE51bWJlciBvZiB0YXNrcyBsZWFybmVkICovXHJcbiAgdGFza3NMZWFybmVkOiBudW1iZXI7XHJcbiAgLyoqIEZpc2hlciBpbmZvcm1hdGlvbiBjb21wdXRlZCAqL1xyXG4gIGZpc2hlckNvbXB1dGVkOiBib29sZWFuO1xyXG4gIC8qKiBNZW1vcnkgcHJvdGVjdGlvbiBzdHJlbmd0aCAqL1xyXG4gIHByb3RlY3Rpb25TdHJlbmd0aDogbnVtYmVyO1xyXG4gIC8qKiBFc3RpbWF0ZWQgZm9yZ2V0dGluZyByYXRlICovXHJcbiAgZm9yZ2V0dGluZ1JhdGU6IG51bWJlcjtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU2Vzc2lvbiAmIENvbnZlcnNhdGlvbiBUeXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIEV4dGVuZGVkIHNlc3Npb24gd2l0aCBjb252ZXJzYXRpb24gaGlzdG9yeVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25TZXNzaW9uIGV4dGVuZHMgU2Vzc2lvbiB7XHJcbiAgLyoqIENvbnZlcnNhdGlvbiBtZXNzYWdlcyAqL1xyXG4gIG1lc3NhZ2VzOiBDb252ZXJzYXRpb25NZXNzYWdlW107XHJcbiAgLyoqIFNlc3Npb24gY29udGV4dCAoYWNjdW11bGF0ZWQpICovXHJcbiAgY29udGV4dDogc3RyaW5nW107XHJcbiAgLyoqIEFjdGl2ZSBtZW1vcnkgSURzICovXHJcbiAgYWN0aXZlTWVtb3J5SWRzOiBudW1iZXJbXTtcclxuICAvKiogU2Vzc2lvbiBtZXRhZGF0YSAqL1xyXG4gIG1ldGFkYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFNpbmdsZSBtZXNzYWdlIGluIGNvbnZlcnNhdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb252ZXJzYXRpb25NZXNzYWdlIHtcclxuICAvKiogTWVzc2FnZSByb2xlICovXHJcbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCcgfCAnc3lzdGVtJztcclxuICAvKiogTWVzc2FnZSBjb250ZW50ICovXHJcbiAgY29udGVudDogc3RyaW5nO1xyXG4gIC8qKiBUaW1lc3RhbXAgKi9cclxuICB0aW1lc3RhbXA6IERhdGU7XHJcbiAgLyoqIEFzc29jaWF0ZWQgcmVxdWVzdCBJRCAoaWYgYXNzaXN0YW50KSAqL1xyXG4gIHJlcXVlc3RJZD86IHN0cmluZztcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gU3RyZWFtaW5nIFR5cGVzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogU3RyZWFtaW5nIHJlc3BvbnNlIGNodW5rXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbUNodW5rIHtcclxuICAvKiogQ2h1bmsgdGV4dCAqL1xyXG4gIHRleHQ6IHN0cmluZztcclxuICAvKiogSXMgZmluYWwgY2h1bmsgKi9cclxuICBkb25lOiBib29sZWFuO1xyXG4gIC8qKiBUb2tlbiBjb3VudCBzbyBmYXIgKi9cclxuICB0b2tlbkNvdW50OiBudW1iZXI7XHJcbiAgLyoqIEN1bXVsYXRpdmUgbGF0ZW5jeSAqL1xyXG4gIGxhdGVuY3lNczogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogU3RyZWFtIG9wdGlvbnNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RyZWFtT3B0aW9ucyBleHRlbmRzIEdlbmVyYXRpb25Db25maWcge1xyXG4gIC8qKiBDYWxsYmFjayBmb3IgZWFjaCBjaHVuayAqL1xyXG4gIG9uQ2h1bms/OiAoY2h1bms6IFN0cmVhbUNodW5rKSA9PiB2b2lkO1xyXG4gIC8qKiBDYWxsYmFjayBvbiBjb21wbGV0aW9uICovXHJcbiAgb25Db21wbGV0ZT86IChyZXNwb25zZTogUXVlcnlSZXNwb25zZSkgPT4gdm9pZDtcclxuICAvKiogQ2FsbGJhY2sgb24gZXJyb3IgKi9cclxuICBvbkVycm9yPzogKGVycm9yOiBFcnJvcikgPT4gdm9pZDtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQ29tcHJlc3Npb24gJiBBcmNoaXZhbCBUeXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIE1lbW9yeSBjb21wcmVzc2lvbiByZXN1bHRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tcHJlc3Npb25SZXN1bHQge1xyXG4gIC8qKiBOb2RlcyBjb21wcmVzc2VkICovXHJcbiAgbm9kZXNDb21wcmVzc2VkOiBudW1iZXI7XHJcbiAgLyoqIE5vZGVzIGFyY2hpdmVkICovXHJcbiAgbm9kZXNBcmNoaXZlZDogbnVtYmVyO1xyXG4gIC8qKiBDb25jZXB0cyBjcmVhdGVkICovXHJcbiAgY29uY2VwdHNDcmVhdGVkOiBudW1iZXI7XHJcbiAgLyoqIE1lbW9yeSBzYXZlZCAoYnl0ZXMpICovXHJcbiAgbWVtb3J5U2F2ZWQ6IG51bWJlcjtcclxuICAvKiogRHVyYXRpb24gKi9cclxuICBkdXJhdGlvbk1zOiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBcmNoaXZlIHF1ZXJ5IHJlc3VsdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBcmNoaXZlUmVzdWx0IHtcclxuICAvKiogQXJjaGl2ZWQgbm9kZSBJRCAqL1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgLyoqIE9yaWdpbmFsIGNvbnRlbnQgKGlmIGF2YWlsYWJsZSkgKi9cclxuICBjb250ZW50Pzogc3RyaW5nO1xyXG4gIC8qKiBDb25jZXB0IGl0IGJlbG9uZ3MgdG8gKi9cclxuICBjb25jZXB0SWQ/OiBzdHJpbmc7XHJcbiAgLyoqIEFyY2hpdmUgdGltZXN0YW1wICovXHJcbiAgYXJjaGl2ZWRBdDogRGF0ZTtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQXR0ZW50aW9uIFR5cGVzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogQXR0ZW50aW9uIHdlaWdodHMgZm9yIGludGVycHJldGFiaWxpdHlcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXR0ZW50aW9uV2VpZ2h0cyB7XHJcbiAgLyoqIFF1ZXJ5LWtleSBhdHRlbnRpb24gc2NvcmVzICovXHJcbiAgc2NvcmVzOiBudW1iZXJbXVtdO1xyXG4gIC8qKiBIZWFkIGluZGV4ICovXHJcbiAgaGVhZEluZGV4OiBudW1iZXI7XHJcbiAgLyoqIExheWVyIGluZGV4ICovXHJcbiAgbGF5ZXJJbmRleDogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogQXR0ZW50aW9uIGFuYWx5c2lzIHJlc3VsdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBdHRlbnRpb25BbmFseXNpcyB7XHJcbiAgLyoqIE1vc3QgYXR0ZW5kZWQgdG9rZW5zICovXHJcbiAgdG9wQXR0ZW5kZWQ6IEFycmF5PHsgdG9rZW46IHN0cmluZzsgd2VpZ2h0OiBudW1iZXIgfT47XHJcbiAgLyoqIEF0dGVudGlvbiBlbnRyb3B5ICh1bmNlcnRhaW50eSkgKi9cclxuICBlbnRyb3B5OiBudW1iZXI7XHJcbiAgLyoqIEZvY3VzIHNjb3JlICgwLTEsIGhpZ2hlciA9IG1vcmUgZm9jdXNlZCkgKi9cclxuICBmb2N1c1Njb3JlOiBudW1iZXI7XHJcbn1cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZlZGVyYXRlZCBMZWFybmluZyBUeXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIEZlZGVyYXRlZCBsZWFybmluZyBjb25maWd1cmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEZlZGVyYXRlZENvbmZpZyB7XHJcbiAgLyoqIEhpZGRlbiBkaW1lbnNpb24gZm9yIGVtYmVkZGluZ3MgKi9cclxuICBoaWRkZW5EaW0/OiBudW1iZXI7XHJcbiAgLyoqIEVtYmVkZGluZyBkaW1lbnNpb24gKi9cclxuICBlbWJlZGRpbmdEaW0/OiBudW1iZXI7XHJcbiAgLyoqIE1pY3JvLUxvUkEgcmFuayAqL1xyXG4gIG1pY3JvTG9yYVJhbms/OiBudW1iZXI7XHJcbiAgLyoqIEJhc2UgTG9SQSByYW5rICovXHJcbiAgYmFzZUxvcmFSYW5rPzogbnVtYmVyO1xyXG4gIC8qKiBUcmFqZWN0b3J5IGJ1ZmZlciBjYXBhY2l0eSAqL1xyXG4gIHRyYWplY3RvcnlDYXBhY2l0eT86IG51bWJlcjtcclxuICAvKiogUGF0dGVybiBjbHVzdGVyIGNvdW50ICovXHJcbiAgcGF0dGVybkNsdXN0ZXJzPzogbnVtYmVyO1xyXG4gIC8qKiBFV0MgbGFtYmRhIGZvciByZWd1bGFyaXphdGlvbiAqL1xyXG4gIGV3Y0xhbWJkYT86IG51bWJlcjtcclxuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgZm9yIGFjY2VwdGluZyB0cmFqZWN0b3JpZXMgKi9cclxuICBxdWFsaXR5VGhyZXNob2xkPzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogVHJhamVjdG9yeSBleHBvcnQgZm9yIGZlZGVyYXRpb25cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhamVjdG9yeUV4cG9ydCB7XHJcbiAgLyoqIFF1ZXJ5IGVtYmVkZGluZyAqL1xyXG4gIGVtYmVkZGluZzogRW1iZWRkaW5nO1xyXG4gIC8qKiBRdWFsaXR5IHNjb3JlICovXHJcbiAgcXVhbGl0eTogbnVtYmVyO1xyXG4gIC8qKiBNb2RlbCByb3V0ZSAoaWYgYW55KSAqL1xyXG4gIHJvdXRlPzogc3RyaW5nO1xyXG4gIC8qKiBDb250ZXh0IGlkZW50aWZpZXJzICovXHJcbiAgY29udGV4dDogc3RyaW5nW107XHJcbiAgLyoqIFRpbWVzdGFtcCAqL1xyXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogQWdlbnQgZXhwb3J0IHN0YXRpc3RpY3NcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRFeHBvcnRTdGF0cyB7XHJcbiAgLyoqIFRvdGFsIHRyYWplY3RvcmllcyBwcm9jZXNzZWQgKi9cclxuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xyXG4gIC8qKiBBdmVyYWdlIHF1YWxpdHkgKi9cclxuICBhdmdRdWFsaXR5OiBudW1iZXI7XHJcbiAgLyoqIFBhdHRlcm5zIGxlYXJuZWQgbG9jYWxseSAqL1xyXG4gIHBhdHRlcm5zTGVhcm5lZDogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogRXhwb3J0ZWQgc3RhdGUgZnJvbSBhbiBlcGhlbWVyYWwgYWdlbnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRFeHBvcnQge1xyXG4gIC8qKiBBZ2VudCBpZGVudGlmaWVyICovXHJcbiAgYWdlbnRJZDogc3RyaW5nO1xyXG4gIC8qKiBFeHBvcnRlZCB0cmFqZWN0b3JpZXMgKi9cclxuICB0cmFqZWN0b3JpZXM6IFRyYWplY3RvcnlFeHBvcnRbXTtcclxuICAvKiogQWdlbnQgc3RhdGlzdGljcyAqL1xyXG4gIHN0YXRzOiBBZ2VudEV4cG9ydFN0YXRzO1xyXG4gIC8qKiBTZXNzaW9uIGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kcyAqL1xyXG4gIHNlc3Npb25EdXJhdGlvbk1zOiBudW1iZXI7XHJcbiAgLyoqIEV4cG9ydCB0aW1lc3RhbXAgKi9cclxuICB0aW1lc3RhbXA6IG51bWJlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFnZW50IGNvbnRyaWJ1dGlvbiByZWNvcmRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWdlbnRDb250cmlidXRpb24ge1xyXG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIGNvbnRyaWJ1dGVkICovXHJcbiAgdHJhamVjdG9yeUNvdW50OiBudW1iZXI7XHJcbiAgLyoqIEF2ZXJhZ2UgcXVhbGl0eSBvZiBjb250cmlidXRpb25zICovXHJcbiAgYXZnUXVhbGl0eTogbnVtYmVyO1xyXG4gIC8qKiBDb250cmlidXRpb24gdGltZXN0YW1wICovXHJcbiAgdGltZXN0YW1wOiBudW1iZXI7XHJcbiAgLyoqIFNlc3Npb24gZHVyYXRpb24gKi9cclxuICBzZXNzaW9uRHVyYXRpb25NczogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogUmVzdWx0IG9mIGFnZ3JlZ2F0aW5nIGFuIGFnZW50IGV4cG9ydFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBBZ2dyZWdhdGlvblJlc3VsdCB7XHJcbiAgLyoqIEFnZW50IElEIHRoYXQgd2FzIGFnZ3JlZ2F0ZWQgKi9cclxuICBhZ2VudElkOiBzdHJpbmc7XHJcbiAgLyoqIE51bWJlciBvZiB0cmFqZWN0b3JpZXMgYWNjZXB0ZWQgKi9cclxuICB0cmFqZWN0b3JpZXNBY2NlcHRlZDogbnVtYmVyO1xyXG4gIC8qKiBOdW1iZXIgb2YgdHJhamVjdG9yaWVzIHJlamVjdGVkIChiZWxvdyBxdWFsaXR5IHRocmVzaG9sZCkgKi9cclxuICB0cmFqZWN0b3JpZXNSZWplY3RlZDogbnVtYmVyO1xyXG4gIC8qKiBXaGV0aGVyIGNvbnNvbGlkYXRpb24gd2FzIHRyaWdnZXJlZCAqL1xyXG4gIGNvbnNvbGlkYXRlZDogYm9vbGVhbjtcclxuICAvKiogVG90YWwgbnVtYmVyIG9mIGNvbnRyaWJ1dGluZyBhZ2VudHMgKi9cclxuICB0b3RhbEFnZW50czogbnVtYmVyO1xyXG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgaW4gY29vcmRpbmF0b3IgKi9cclxuICB0b3RhbFRyYWplY3RvcmllczogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogQ29vcmRpbmF0b3Igc3RhdGlzdGljc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb29yZGluYXRvclN0YXRzIHtcclxuICAvKiogQ29vcmRpbmF0b3IgaWRlbnRpZmllciAqL1xyXG4gIGNvb3JkaW5hdG9ySWQ6IHN0cmluZztcclxuICAvKiogTnVtYmVyIG9mIGNvbnRyaWJ1dGluZyBhZ2VudHMgKi9cclxuICB0b3RhbEFnZW50czogbnVtYmVyO1xyXG4gIC8qKiBUb3RhbCB0cmFqZWN0b3JpZXMgYWdncmVnYXRlZCAqL1xyXG4gIHRvdGFsVHJhamVjdG9yaWVzOiBudW1iZXI7XHJcbiAgLyoqIFBhdHRlcm5zIGxlYXJuZWQgKi9cclxuICBwYXR0ZXJuc0xlYXJuZWQ6IG51bWJlcjtcclxuICAvKiogQXZlcmFnZSBxdWFsaXR5IGFjcm9zcyBhbGwgY29udHJpYnV0aW9ucyAqL1xyXG4gIGF2Z1F1YWxpdHk6IG51bWJlcjtcclxuICAvKiogUXVhbGl0eSB0aHJlc2hvbGQgKi9cclxuICBxdWFsaXR5VGhyZXNob2xkOiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGZWRlcmF0ZWQgbGVhcm5pbmcgdG9wb2xvZ3lcclxuICovXHJcbmV4cG9ydCB0eXBlIEZlZGVyYXRlZFRvcG9sb2d5ID1cclxuICB8ICdzdGFyJyAgICAgICAgICAgLy8gQWdlbnRzIOKGkiBDZW50cmFsIENvb3JkaW5hdG9yXHJcbiAgfCAnaGllcmFyY2hpY2FsJyAgIC8vIEFnZW50cyDihpIgUmVnaW9uYWwg4oaSIEdsb2JhbFxyXG4gIHwgJ3BlZXItdG8tcGVlcic7ICAvLyBBZ2VudHMgc2hhcmUgZGlyZWN0bHlcclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFRyYWluaW5nIFBpcGVsaW5lIFR5cGVzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vKipcclxuICogVHJhaW5pbmcgY29uZmlndXJhdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ0NvbmZpZyB7XHJcbiAgLyoqIEluaXRpYWwgbGVhcm5pbmcgcmF0ZSAqL1xyXG4gIGxlYXJuaW5nUmF0ZT86IG51bWJlcjtcclxuICAvKiogQmF0Y2ggc2l6ZSAqL1xyXG4gIGJhdGNoU2l6ZT86IG51bWJlcjtcclxuICAvKiogTnVtYmVyIG9mIGVwb2NocyAqL1xyXG4gIGVwb2Nocz86IG51bWJlcjtcclxuICAvKiogTGVhcm5pbmcgcmF0ZSBzY2hlZHVsZXIgKi9cclxuICBzY2hlZHVsZXI/OiAnY29uc3RhbnQnIHwgJ2xpbmVhcicgfCAnY29zaW5lJyB8ICd3YXJtdXAnO1xyXG4gIC8qKiBXYXJtdXAgc3RlcHMgKGZvciB3YXJtdXAgc2NoZWR1bGVyKSAqL1xyXG4gIHdhcm11cFN0ZXBzPzogbnVtYmVyO1xyXG4gIC8qKiBXZWlnaHQgZGVjYXkgKi9cclxuICB3ZWlnaHREZWNheT86IG51bWJlcjtcclxuICAvKiogR3JhZGllbnQgY2xpcHBpbmcgdGhyZXNob2xkICovXHJcbiAgZ3JhZGllbnRDbGlwPzogbnVtYmVyO1xyXG4gIC8qKiBFYXJseSBzdG9wcGluZyBwYXRpZW5jZSAqL1xyXG4gIGVhcmx5U3RvcHBpbmdQYXRpZW5jZT86IG51bWJlcjtcclxuICAvKiogQ2hlY2twb2ludCBpbnRlcnZhbCAoZXBvY2hzKSAqL1xyXG4gIGNoZWNrcG9pbnRJbnRlcnZhbD86IG51bWJlcjtcclxuICAvKiogRVdDIGxhbWJkYSBmb3IgY29udGludWFsIGxlYXJuaW5nICovXHJcbiAgZXdjTGFtYmRhPzogbnVtYmVyO1xyXG4gIC8qKiBWYWxpZGF0aW9uIHNwbGl0IHJhdGlvICovXHJcbiAgdmFsaWRhdGlvblNwbGl0PzogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogVHJhaW5pbmcgbWV0cmljcyBzbmFwc2hvdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBUcmFpbmluZ01ldHJpY3NTbmFwc2hvdCB7XHJcbiAgLyoqIEN1cnJlbnQgZXBvY2ggKi9cclxuICBlcG9jaDogbnVtYmVyO1xyXG4gIC8qKiBDdXJyZW50IHN0ZXAgKi9cclxuICBzdGVwOiBudW1iZXI7XHJcbiAgLyoqIFRyYWluaW5nIGxvc3MgKi9cclxuICB0cmFpbkxvc3M6IG51bWJlcjtcclxuICAvKiogVmFsaWRhdGlvbiBsb3NzICovXHJcbiAgdmFsTG9zczogbnVtYmVyO1xyXG4gIC8qKiBMZWFybmluZyByYXRlICovXHJcbiAgbGVhcm5pbmdSYXRlOiBudW1iZXI7XHJcbiAgLyoqIEdyYWRpZW50IG5vcm0gKi9cclxuICBncmFkTm9ybTogbnVtYmVyO1xyXG4gIC8qKiBTdGVwcyBwZXIgc2Vjb25kICovXHJcbiAgc3RlcHNQZXJTZWNvbmQ6IG51bWJlcjtcclxuICAvKiogRVRBIGluIHNlY29uZHMgKi9cclxuICBldGFTZWNvbmRzOiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmFpbmluZyByZXN1bHRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdSZXN1bHQge1xyXG4gIC8qKiBUb3RhbCBlcG9jaHMgY29tcGxldGVkICovXHJcbiAgZXBvY2hzOiBudW1iZXI7XHJcbiAgLyoqIFRvdGFsIHN0ZXBzIGNvbXBsZXRlZCAqL1xyXG4gIHN0ZXBzOiBudW1iZXI7XHJcbiAgLyoqIEZpbmFsIHRyYWluaW5nIGxvc3MgKi9cclxuICBmaW5hbExvc3M6IG51bWJlcjtcclxuICAvKiogQmVzdCB2YWxpZGF0aW9uIGxvc3MgKi9cclxuICBiZXN0VmFsTG9zczogbnVtYmVyO1xyXG4gIC8qKiBUcmFpbmluZyBkdXJhdGlvbiBpbiBtcyAqL1xyXG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcclxuICAvKiogTG9zcyBoaXN0b3J5ICovXHJcbiAgbG9zc0hpc3Rvcnk6IG51bWJlcltdO1xyXG4gIC8qKiBWYWxpZGF0aW9uIGxvc3MgaGlzdG9yeSAqL1xyXG4gIHZhbExvc3NIaXN0b3J5OiBudW1iZXJbXTtcclxuICAvKiogRWFybHkgc3RvcHBlZCAqL1xyXG4gIGVhcmx5U3RvcHBlZDogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRyYWluaW5nIGNoZWNrcG9pbnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhaW5pbmdDaGVja3BvaW50IHtcclxuICAvKiogRXBvY2ggbnVtYmVyICovXHJcbiAgZXBvY2g6IG51bWJlcjtcclxuICAvKiogU3RlcCBudW1iZXIgKi9cclxuICBzdGVwOiBudW1iZXI7XHJcbiAgLyoqIFRyYWluaW5nIGxvc3MgYXQgY2hlY2twb2ludCAqL1xyXG4gIGxvc3M6IG51bWJlcjtcclxuICAvKiogTW9kZWwgd2VpZ2h0cyAoc2VyaWFsaXplZCkgKi9cclxuICB3ZWlnaHRzOiBzdHJpbmc7XHJcbiAgLyoqIFRpbWVzdGFtcCAqL1xyXG4gIHRpbWVzdGFtcDogbnVtYmVyO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBFeHBvcnQvU2VyaWFsaXphdGlvbiBUeXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLyoqXHJcbiAqIEV4cG9ydCBmb3JtYXQgb3B0aW9uc1xyXG4gKi9cclxuZXhwb3J0IHR5cGUgRXhwb3J0Rm9ybWF0ID0gJ3NhZmV0ZW5zb3JzJyB8ICdqc29uJyB8ICdiaW5hcnknIHwgJ29ubngnO1xyXG5cclxuLyoqXHJcbiAqIE1vZGVsIG1ldGFkYXRhIGZvciBleHBvcnRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxNZXRhZGF0YSB7XHJcbiAgLyoqIE1vZGVsIG5hbWUgKi9cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgLyoqIE1vZGVsIHZlcnNpb24gKi9cclxuICB2ZXJzaW9uOiBzdHJpbmc7XHJcbiAgLyoqIEFyY2hpdGVjdHVyZSB0eXBlICovXHJcbiAgYXJjaGl0ZWN0dXJlOiBzdHJpbmc7XHJcbiAgLyoqIFRyYWluaW5nIGluZm8gKi9cclxuICB0cmFpbmluZz86IHtcclxuICAgIHN0ZXBzOiBudW1iZXI7XHJcbiAgICBsb3NzOiBudW1iZXI7XHJcbiAgICBsZWFybmluZ1JhdGU6IG51bWJlcjtcclxuICB9O1xyXG4gIC8qKiBDdXN0b20gbWV0YWRhdGEgKi9cclxuICBjdXN0b20/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcclxufVxyXG4iXX0=
package/package.json CHANGED
@@ -1,133 +1,133 @@
1
- {
2
- "name": "@ruvector/ruvllm",
3
- "version": "2.5.5",
4
- "description": "Self-learning LLM runtime — TurboQuant KV-cache (6-8x compression), SONA adaptive learning, FlashAttention, speculative decoding, GGUF inference",
5
- "main": "dist/cjs/index.js",
6
- "module": "dist/esm/index.js",
7
- "types": "dist/cjs/index.d.ts",
8
- "exports": {
9
- ".": {
10
- "import": {
11
- "types": "./dist/esm/index.d.ts",
12
- "default": "./dist/esm/index.js"
13
- },
14
- "require": {
15
- "types": "./dist/cjs/index.d.ts",
16
- "default": "./dist/cjs/index.js"
17
- }
18
- },
19
- "./simd": {
20
- "import": {
21
- "types": "./dist/esm/simd.d.ts",
22
- "default": "./dist/esm/simd.js"
23
- },
24
- "require": {
25
- "types": "./dist/cjs/simd.d.ts",
26
- "default": "./dist/cjs/simd.js"
27
- }
28
- }
29
- },
30
- "bin": {
31
- "ruvllm": "./bin/cli.js"
32
- },
33
- "napi": {
34
- "binaryName": "ruvllm",
35
- "targets": [
36
- "x86_64-unknown-linux-gnu",
37
- "aarch64-unknown-linux-gnu",
38
- "x86_64-apple-darwin",
39
- "aarch64-apple-darwin",
40
- "x86_64-pc-windows-msvc"
41
- ]
42
- },
43
- "scripts": {
44
- "artifacts": "napi artifacts",
45
- "build": "npm run build:cjs && npm run build:esm",
46
- "build:cjs": "tsc",
47
- "build:esm": "tsc -p tsconfig.esm.json",
48
- "build:native": "napi build --platform --release -p ruvllm --manifest-path ../../../examples/ruvLLM/Cargo.toml -F napi",
49
- "build:debug": "napi build --platform -p ruvllm --manifest-path ../../../examples/ruvLLM/Cargo.toml -F napi",
50
- "prepublishOnly": "npm run build",
51
- "test": "node --test test/*.test.js",
52
- "universal": "napi universal",
53
- "version": "napi version",
54
- "typecheck": "tsc --noEmit",
55
- "clean": "rm -rf dist"
56
- },
57
- "devDependencies": {
58
- "@napi-rs/cli": "^2.18.0",
59
- "@types/node": "^20.10.5",
60
- "typescript": "^5.3.3"
61
- },
62
- "dependencies": {
63
- "chalk": "^4.1.2",
64
- "commander": "^12.0.0",
65
- "ora": "^5.4.1"
66
- },
67
- "optionalDependencies": {
68
- "@ruvector/ruvllm-linux-x64-gnu": "2.0.1",
69
- "@ruvector/ruvllm-linux-arm64-gnu": "2.0.1",
70
- "@ruvector/ruvllm-darwin-x64": "2.0.1",
71
- "@ruvector/ruvllm-darwin-arm64": "2.0.1",
72
- "@ruvector/ruvllm-win32-x64-msvc": "2.0.1"
73
- },
74
- "keywords": [
75
- "ruvllm",
76
- "llm",
77
- "self-learning",
78
- "adaptive-learning",
79
- "sona",
80
- "lora",
81
- "ewc",
82
- "hnsw",
83
- "vector-database",
84
- "fastgrnn",
85
- "router",
86
- "simd",
87
- "inference",
88
- "federated-learning",
89
- "continual-learning",
90
- "machine-learning",
91
- "ai",
92
- "deep-learning",
93
- "napi",
94
- "rust",
95
- "ruvector",
96
- "turboquant",
97
- "kv-cache",
98
- "quantization",
99
- "flash-attention",
100
- "speculative-decoding",
101
- "gguf",
102
- "mamba",
103
- "transformer",
104
- "edge-ai",
105
- "local-llm",
106
- "model-compression"
107
- ],
108
- "author": "rUv Team <team@ruv.io>",
109
- "license": "MIT OR Apache-2.0",
110
- "repository": {
111
- "type": "git",
112
- "url": "https://github.com/ruvnet/ruvector.git",
113
- "directory": "npm/packages/ruvllm"
114
- },
115
- "homepage": "https://github.com/ruvnet/ruvector/tree/main/examples/ruvLLM",
116
- "bugs": {
117
- "url": "https://github.com/ruvnet/ruvector/issues"
118
- },
119
- "engines": {
120
- "node": ">= 18"
121
- },
122
- "publishConfig": {
123
- "registry": "https://registry.npmjs.org/",
124
- "access": "public"
125
- },
126
- "files": [
127
- "dist",
128
- "bin",
129
- "scripts",
130
- "*.node",
131
- "README.md"
132
- ]
133
- }
1
+ {
2
+ "name": "@ruvector/ruvllm",
3
+ "version": "2.5.6",
4
+ "description": "Self-learning LLM runtime — TurboQuant KV-cache (6-8x compression), SONA adaptive learning, FlashAttention, speculative decoding, GGUF inference",
5
+ "main": "dist/cjs/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/cjs/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./dist/esm/index.d.ts",
12
+ "default": "./dist/esm/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./dist/cjs/index.d.ts",
16
+ "default": "./dist/cjs/index.js"
17
+ }
18
+ },
19
+ "./simd": {
20
+ "import": {
21
+ "types": "./dist/esm/simd.d.ts",
22
+ "default": "./dist/esm/simd.js"
23
+ },
24
+ "require": {
25
+ "types": "./dist/cjs/simd.d.ts",
26
+ "default": "./dist/cjs/simd.js"
27
+ }
28
+ }
29
+ },
30
+ "bin": {
31
+ "ruvllm": "./bin/cli.js"
32
+ },
33
+ "napi": {
34
+ "binaryName": "ruvllm",
35
+ "targets": [
36
+ "x86_64-unknown-linux-gnu",
37
+ "aarch64-unknown-linux-gnu",
38
+ "x86_64-apple-darwin",
39
+ "aarch64-apple-darwin",
40
+ "x86_64-pc-windows-msvc"
41
+ ]
42
+ },
43
+ "scripts": {
44
+ "artifacts": "napi artifacts",
45
+ "build": "npm run build:cjs && npm run build:esm",
46
+ "build:cjs": "tsc",
47
+ "build:esm": "tsc -p tsconfig.esm.json",
48
+ "build:native": "napi build --platform --release -p ruvllm --manifest-path ../../../examples/ruvLLM/Cargo.toml -F napi",
49
+ "build:debug": "napi build --platform -p ruvllm --manifest-path ../../../examples/ruvLLM/Cargo.toml -F napi",
50
+ "prepublishOnly": "npm run build",
51
+ "test": "node --test test/*.test.js",
52
+ "universal": "napi universal",
53
+ "version": "napi version",
54
+ "typecheck": "tsc --noEmit",
55
+ "clean": "rm -rf dist"
56
+ },
57
+ "devDependencies": {
58
+ "@napi-rs/cli": "^2.18.0",
59
+ "@types/node": "^20.10.5",
60
+ "typescript": "^5.3.3"
61
+ },
62
+ "dependencies": {
63
+ "chalk": "^4.1.2",
64
+ "commander": "^12.0.0",
65
+ "ora": "^5.4.1"
66
+ },
67
+ "optionalDependencies": {
68
+ "@ruvector/ruvllm-linux-x64-gnu": "2.0.1",
69
+ "@ruvector/ruvllm-linux-arm64-gnu": "2.0.1",
70
+ "@ruvector/ruvllm-darwin-x64": "2.0.1",
71
+ "@ruvector/ruvllm-darwin-arm64": "2.0.1",
72
+ "@ruvector/ruvllm-win32-x64-msvc": "2.0.1"
73
+ },
74
+ "keywords": [
75
+ "ruvllm",
76
+ "llm",
77
+ "self-learning",
78
+ "adaptive-learning",
79
+ "sona",
80
+ "lora",
81
+ "ewc",
82
+ "hnsw",
83
+ "vector-database",
84
+ "fastgrnn",
85
+ "router",
86
+ "simd",
87
+ "inference",
88
+ "federated-learning",
89
+ "continual-learning",
90
+ "machine-learning",
91
+ "ai",
92
+ "deep-learning",
93
+ "napi",
94
+ "rust",
95
+ "ruvector",
96
+ "turboquant",
97
+ "kv-cache",
98
+ "quantization",
99
+ "flash-attention",
100
+ "speculative-decoding",
101
+ "gguf",
102
+ "mamba",
103
+ "transformer",
104
+ "edge-ai",
105
+ "local-llm",
106
+ "model-compression"
107
+ ],
108
+ "author": "rUv Team <team@ruv.io>",
109
+ "license": "MIT OR Apache-2.0",
110
+ "repository": {
111
+ "type": "git",
112
+ "url": "https://github.com/ruvnet/ruvector.git",
113
+ "directory": "npm/packages/ruvllm"
114
+ },
115
+ "homepage": "https://github.com/ruvnet/ruvector/tree/main/examples/ruvLLM",
116
+ "bugs": {
117
+ "url": "https://github.com/ruvnet/ruvector/issues"
118
+ },
119
+ "engines": {
120
+ "node": ">= 18"
121
+ },
122
+ "publishConfig": {
123
+ "registry": "https://registry.npmjs.org/",
124
+ "access": "public"
125
+ },
126
+ "files": [
127
+ "dist",
128
+ "bin",
129
+ "scripts",
130
+ "*.node",
131
+ "README.md"
132
+ ]
133
+ }