@projectcor/maia-components 2.11.68-0 → 2.11.69-0

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 (79) hide show
  1. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +7 -3
  2. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +4 -2
  3. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
  4. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
  5. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +26 -6
  6. package/lib/components/atoms/MAIAInput/MAIAInput.js +40 -202
  7. package/lib/components/atoms/MAIAInput/styles.js +24 -64
  8. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +2 -4
  9. package/lib/components/atoms/icons/SkillIcon.js +30 -0
  10. package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
  11. package/lib/components/atoms/icons/index.js +3 -1
  12. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +14 -1
  13. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +3 -32
  14. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +2 -2
  15. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +31 -12
  16. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +38 -5
  17. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +31 -4
  18. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +26 -18
  19. package/lib/components/molecules/ChatAIModal/constants.js +6 -2
  20. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +3 -11
  21. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +2 -2
  22. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
  23. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
  24. package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
  25. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
  26. package/lib/components/molecules/Sidebar/Sidebar.js +16 -4
  27. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +160 -0
  28. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
  29. package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
  30. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +446 -0
  31. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
  32. package/lib/components/organisms/AbmSkillModal/index.js +2 -0
  33. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +8 -1
  34. package/lib/constants/config.js +4 -1
  35. package/lib/constants/permissions/index.js +2 -2
  36. package/lib/constants/permissions/utils.js +4 -1
  37. package/lib/context/global-context.js +1 -1
  38. package/lib/dev/DevContextMentionInput.js +1 -3
  39. package/lib/hooks/useChatManager/useChatManager.js +7 -20
  40. package/lib/hooks/useChatMessages/useChatMessages.js +4 -2
  41. package/lib/hooks/useContextMentions.js +60 -15
  42. package/lib/hooks/useEntitySearch.js +294 -108
  43. package/lib/hooks/useMentionAllowedTypes.js +45 -10
  44. package/lib/hooks/useMentionPopover.js +54 -48
  45. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +7 -10
  46. package/lib/hooks/useProjectSummaryConfig.js +17 -32
  47. package/lib/lang/br/index.js +54 -11
  48. package/lib/lang/en/index.js +54 -11
  49. package/lib/lang/es/index.js +54 -11
  50. package/lib/lang/fr/index.js +55 -11
  51. package/lib/services/maia/Agents/getAgents.js +10 -8
  52. package/lib/services/maia/Chats/getChatMessages.js +4 -22
  53. package/lib/services/maia/Orchestrator/orchestrator.js +7 -9
  54. package/lib/services/maia/Skills/createSkill.js +39 -0
  55. package/lib/services/maia/Skills/deleteSkill.js +38 -0
  56. package/lib/services/maia/Skills/generateSkill.js +41 -0
  57. package/lib/services/maia/Skills/getSkills.js +90 -0
  58. package/lib/services/maia/Skills/updateSkill.js +39 -0
  59. package/lib/types/Chat.js +1 -1
  60. package/lib/types/contextMention.js +1 -1
  61. package/lib/types/skill.js +2 -0
  62. package/lib/utils/contextMentionIcons.js +29 -1
  63. package/lib/utils/contextMentionTriggers.js +53 -0
  64. package/lib/utils/corConnectorMentionTypes.js +37 -0
  65. package/lib/utils/normalizeAgentConnectors.js +32 -0
  66. package/lib/utils/renderContextMentions.js +9 -4
  67. package/package.json +1 -1
  68. package/lib/components/atoms/MAIAViz/MAIAViz.js +0 -97
  69. package/lib/components/atoms/MAIAViz/MAIAViz.parse.js +0 -131
  70. package/lib/components/atoms/MAIAViz/MAIAViz.skeleton.js +0 -40
  71. package/lib/components/atoms/MAIAViz/MAIAViz.styles.js +0 -8
  72. package/lib/components/atoms/MAIAViz/MAIAViz.types.js +0 -49
  73. package/lib/components/atoms/MAIAViz/MAIAVizBar.js +0 -123
  74. package/lib/components/atoms/MAIAViz/MAIAVizDonut.js +0 -111
  75. package/lib/components/atoms/MAIAViz/MAIAVizKpis.js +0 -34
  76. package/lib/components/atoms/MAIAViz/README.md +0 -85
  77. package/lib/components/atoms/MAIAViz/index.js +0 -2
  78. package/lib/types/Hitl.js +0 -2
  79. package/lib/utils/maiaStreamdownRenderers.js +0 -16
@@ -59,90 +59,99 @@ export var SCMITaskRowSurface = styled.div.withConfig({
59
59
  return $active ? 'var(--cor-color-grey-100, #f4f4f4)' : 'transparent';
60
60
  });
61
61
 
62
+ /** Superficie de la fila skill: misma estructura que SCMITaskRowSurface pero con hover #f9f9f9. */
63
+ export var SCMISkillRowSurface = styled(SCMITaskRowSurface).withConfig({
64
+ displayName: "ContextMentionItemstyles__SCMISkillRowSurface",
65
+ componentId: "sc-1jfoi4u-10"
66
+ })(["background:", ";&:hover{background:#f9f9f9;}"], function (_ref4) {
67
+ var $active = _ref4.$active;
68
+ return $active ? '#f9f9f9' : 'transparent';
69
+ });
70
+
62
71
  /** Fila de tarea: mismo ícono que enlaces de tarea en mensajes del asistente */
63
72
  export var SCMITaskRowInner = styled.div.withConfig({
64
73
  displayName: "ContextMentionItemstyles__SCMITaskRowInner",
65
- componentId: "sc-1jfoi4u-10"
74
+ componentId: "sc-1jfoi4u-11"
66
75
  })(["display:flex;align-items:center;gap:8px;flex:1;min-width:0;width:100%;padding:8px 0;"]);
67
76
 
68
77
  /** Título de tarea + nombre de proyecto en una línea */
69
78
  export var SCMITaskTitleRow = styled.div.withConfig({
70
79
  displayName: "ContextMentionItemstyles__SCMITaskTitleRow",
71
- componentId: "sc-1jfoi4u-11"
80
+ componentId: "sc-1jfoi4u-12"
72
81
  })(["display:flex;align-items:center;gap:8px;flex:1;min-width:0;"]);
73
82
  export var SCMITaskProjectName = styled.span.withConfig({
74
83
  displayName: "ContextMentionItemstyles__SCMITaskProjectName",
75
- componentId: "sc-1jfoi4u-12"
84
+ componentId: "sc-1jfoi4u-13"
76
85
  })(["flex:0 1 auto;max-width:46%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--cor-color-text-tertiary,#808080);font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-xs,12px);font-style:normal;font-weight:400;line-height:var(--cor-typography-line-height-20,20px);text-align:right;"]);
77
86
 
78
87
  /** Contenedor del ícono de tarea en la fila de mención. */
79
88
  export var SCMITaskIconWrap = styled.span.withConfig({
80
89
  displayName: "ContextMentionItemstyles__SCMITaskIconWrap",
81
- componentId: "sc-1jfoi4u-13"
90
+ componentId: "sc-1jfoi4u-14"
82
91
  })(["width:20px;height:20px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;"]);
83
92
 
84
93
  /** Contenedor del ícono de subtarea (cor-ui Subtask) en la fila de mención. */
85
94
  export var SCMITaskSubtaskIconWrap = styled.span.withConfig({
86
95
  displayName: "ContextMentionItemstyles__SCMITaskSubtaskIconWrap",
87
- componentId: "sc-1jfoi4u-14"
96
+ componentId: "sc-1jfoi4u-15"
88
97
  })(["flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;"]);
89
98
  export var SCMITaskTitle = styled.div.withConfig({
90
99
  displayName: "ContextMentionItemstyles__SCMITaskTitle",
91
- componentId: "sc-1jfoi4u-15"
100
+ componentId: "sc-1jfoi4u-16"
92
101
  })(["display:block;flex:1 1 0;min-width:0;color:#20201f;font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-sm,14px);font-style:normal;font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"]);
93
102
  export var SCMIBreadcrumb = styled.div.withConfig({
94
103
  displayName: "ContextMentionItemstyles__SCMIBreadcrumb",
95
- componentId: "sc-1jfoi4u-16"
104
+ componentId: "sc-1jfoi4u-17"
96
105
  })(["display:flex;padding-left:4px;align-items:flex-end;gap:var(--cor-space-space-xxs,2px);color:var(--cor-color-text-tertiary,#808080);text-align:center;font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-xxs,10px);font-style:normal;font-weight:400;line-height:var(--cor-typography-line-height-12,12px);letter-spacing:var(--cor-typography-letter-spacing-neg1,-1px);"]);
97
106
  export var SCMIBreadcrumbParent = styled.div.withConfig({
98
107
  displayName: "ContextMentionItemstyles__SCMIBreadcrumbParent",
99
- componentId: "sc-1jfoi4u-17"
108
+ componentId: "sc-1jfoi4u-18"
100
109
  })(["display:flex;align-items:flex-start;gap:var(--cor-space-space-xxs,2px);svg{width:12px;height:12px;}"]);
101
110
 
102
111
  /** Fila tipo “pill” para usuarios (directorio): avatar + nombre | posición */
103
112
  export var SCMIRowUser = styled.div.withConfig({
104
113
  displayName: "ContextMentionItemstyles__SCMIRowUser",
105
- componentId: "sc-1jfoi4u-18"
106
- })(["display:flex;padding:4px;align-items:center;gap:8px;align-self:stretch;margin:0 16px;border-radius:4px;background:", ";cursor:pointer;transition:background-color 0.15s ease;&:hover{background:var(--cor-color-grey-100,#f4f4f4);}"], function (_ref4) {
107
- var $active = _ref4.$active;
114
+ componentId: "sc-1jfoi4u-19"
115
+ })(["display:flex;padding:4px;align-items:center;gap:8px;align-self:stretch;margin:0 16px;border-radius:4px;background:", ";cursor:pointer;transition:background-color 0.15s ease;&:hover{background:var(--cor-color-grey-100,#f4f4f4);}"], function (_ref5) {
116
+ var $active = _ref5.$active;
108
117
  return $active ? 'var(--cor-color-grey-100, #f4f4f4)' : 'transparent';
109
118
  });
110
119
  export var SCMUserAvatarWrap = styled.div.withConfig({
111
120
  displayName: "ContextMentionItemstyles__SCMUserAvatarWrap",
112
- componentId: "sc-1jfoi4u-19"
121
+ componentId: "sc-1jfoi4u-20"
113
122
  })(["display:flex;width:24px;height:24px;justify-content:center;align-items:center;flex-shrink:0;"]);
114
123
  export var SCMUserAvatarImg = styled.img.withConfig({
115
124
  displayName: "ContextMentionItemstyles__SCMUserAvatarImg",
116
- componentId: "sc-1jfoi4u-20"
125
+ componentId: "sc-1jfoi4u-21"
117
126
  })(["width:24px;height:24px;flex-shrink:0;border-radius:24px;object-fit:cover;background:lightgray;"]);
118
127
  export var SCMUserAvatarFallback = styled.span.withConfig({
119
128
  displayName: "ContextMentionItemstyles__SCMUserAvatarFallback",
120
- componentId: "sc-1jfoi4u-21"
129
+ componentId: "sc-1jfoi4u-22"
121
130
  })(["display:flex;width:24px;height:24px;flex-shrink:0;align-items:center;justify-content:center;border-radius:24px;background:var(--cor-color-grey-200,#e0e0e0);color:var(--cor-color-text-secondary,#666);font-family:var(--cor-typography-font-family,'Work Sans');font-size:10px;font-weight:600;line-height:1;"]);
122
131
  export var SCMUserInfo = styled.div.withConfig({
123
132
  displayName: "ContextMentionItemstyles__SCMUserInfo",
124
- componentId: "sc-1jfoi4u-22"
133
+ componentId: "sc-1jfoi4u-23"
125
134
  })(["display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;flex:1 0 0;min-width:0;"]);
126
135
  export var SCMUserNamePositionRow = styled.div.withConfig({
127
136
  displayName: "ContextMentionItemstyles__SCMUserNamePositionRow",
128
- componentId: "sc-1jfoi4u-23"
137
+ componentId: "sc-1jfoi4u-24"
129
138
  })(["display:flex;align-items:flex-start;gap:8px;align-self:stretch;min-width:0;"]);
130
139
  export var SCMUserNameCell = styled.div.withConfig({
131
140
  displayName: "ContextMentionItemstyles__SCMUserNameCell",
132
- componentId: "sc-1jfoi4u-24"
133
- })(["display:flex;min-width:0;max-width:55%;padding-right:", ";align-items:flex-start;gap:10px;border-right:", ";"], function (_ref5) {
134
- var $withDivider = _ref5.$withDivider;
135
- return $withDivider ? '8px' : '0';
136
- }, function (_ref6) {
141
+ componentId: "sc-1jfoi4u-25"
142
+ })(["display:flex;min-width:0;max-width:55%;padding-right:", ";align-items:flex-start;gap:10px;border-right:", ";"], function (_ref6) {
137
143
  var $withDivider = _ref6.$withDivider;
144
+ return $withDivider ? '8px' : '0';
145
+ }, function (_ref7) {
146
+ var $withDivider = _ref7.$withDivider;
138
147
  return $withDivider ? '1px solid #e0e0e0' : 'none';
139
148
  });
140
149
  export var SCMUserNameText = styled.div.withConfig({
141
150
  displayName: "ContextMentionItemstyles__SCMUserNameText",
142
- componentId: "sc-1jfoi4u-25"
151
+ componentId: "sc-1jfoi4u-26"
143
152
  })(["display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;color:#20201f;text-overflow:ellipsis;font-family:var(--cor-typography-font-family,'Work Sans');font-size:14px;font-style:normal;font-weight:500;line-height:130%;min-width:0;"]);
144
153
  export var SCMUserPositionText = styled.span.withConfig({
145
154
  displayName: "ContextMentionItemstyles__SCMUserPositionText",
146
- componentId: "sc-1jfoi4u-26"
155
+ componentId: "sc-1jfoi4u-27"
147
156
  })(["flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#666;font-family:var(--cor-typography-font-family,'Work Sans');font-size:var(--cor-typography-font-size-sm,14px);font-style:normal;font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);"]);
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ01JUm93IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJGFjdGl2ZSIsIlNDTUlQcm9qZWN0Um93IiwiU0NNSVByb2plY3RDb250ZW50IiwiX3JlZjIiLCJTQ01JTmFtZSIsIlNDTUlUaXRsZSIsIlNDTUlQcm9qZWN0VGl0bGUiLCJTQ01JVGl0bGVIaWdobGlnaHQiLCJzcGFuIiwiU0NNUHJvamVjdE1ldGFDbGllbnROYW1lIiwiU0NNSVRhc2tSb3dXcmFwIiwiU0NNSVRhc2tSb3dTdXJmYWNlIiwiX3JlZjMiLCJTQ01JVGFza1Jvd0lubmVyIiwiU0NNSVRhc2tUaXRsZVJvdyIsIlNDTUlUYXNrUHJvamVjdE5hbWUiLCJTQ01JVGFza0ljb25XcmFwIiwiU0NNSVRhc2tTdWJ0YXNrSWNvbldyYXAiLCJTQ01JVGFza1RpdGxlIiwiU0NNSUJyZWFkY3J1bWIiLCJTQ01JQnJlYWRjcnVtYlBhcmVudCIsIlNDTUlSb3dVc2VyIiwiX3JlZjQiLCJTQ01Vc2VyQXZhdGFyV3JhcCIsIlNDTVVzZXJBdmF0YXJJbWciLCJpbWciLCJTQ01Vc2VyQXZhdGFyRmFsbGJhY2siLCJTQ01Vc2VySW5mbyIsIlNDTVVzZXJOYW1lUG9zaXRpb25Sb3ciLCJTQ01Vc2VyTmFtZUNlbGwiLCJfcmVmNSIsIiR3aXRoRGl2aWRlciIsIl9yZWY2IiwiU0NNVXNlck5hbWVUZXh0IiwiU0NNVXNlclBvc2l0aW9uVGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uSXRlbS9Db250ZXh0TWVudGlvbkl0ZW0uc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NNSVJvdyA9IHN0eWxlZC5kaXY8eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpJyA6ICd0cmFuc3BhcmVudCcpfTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpO1xuICB9XG5gXG5cbi8qKiBSb3cgZGUgcHJveWVjdG86IGVsIGhvdmVyL2JhY2tncm91bmQgdml2ZSBlbiBlbCBjb250ZW5lZG9yIGhpam8uICovXG5leHBvcnQgY29uc3QgU0NNSVByb2plY3RSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlQcm9qZWN0Q29udGVudCA9IHN0eWxlZC5kaXY8eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJ3ZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2Y0ZjRmNCknIDogJ3RyYW5zcGFyZW50Jyl9O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2Y0ZjRmNCk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlOYW1lID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAycHg7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gXG5cbi8qKiBWYXJpYW50ZSBwYXJhIHByb3llY3RvOiBzaW4gcGFkZGluZyBpbnRlcm5vLCBlbCBlc3BhY2lhZG8gaG9yaXpvbnRhbCBsbyBkYSBlbCBwYWRyZSAoU0NNSVJvdykuICovXG5leHBvcnQgY29uc3QgU0NNSVByb2plY3RUaXRsZSA9IHN0eWxlZChTQ01JVGl0bGUpYFxuICBwYWRkaW5nLWxlZnQ6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JVGl0bGVIaWdobGlnaHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM4NzQwYmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICM4NzQwYmY7XG5gXG5cbi8qKiBGaWxhIHByb3llY3RvOiBub21icmUgZGVsIGNsaWVudGUgKHNlY3VuZGFyaW8pLCBkZWJham8gZWwgdMOtdHVsbyBkZWwgcHJveWVjdG8gKi9cbmV4cG9ydCBjb25zdCBTQ01Qcm9qZWN0TWV0YUNsaWVudE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtdGVydGlhcnksICM4MDgwODApO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUteHhzLCAxMHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMTIsIDEycHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbmVnMSwgLTFweCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5gXG5cbi8qKiBGaWxhIHRhcmVhIChwYWRyZSk6IHNpbiBmb25kbyBlbiBob3ZlcjsgaWd1YWwgcXVlIGBTQ01JUHJvamVjdFJvd2AuICovXG5leHBvcnQgY29uc3QgU0NNSVRhc2tSb3dXcmFwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gXG5cbi8qKiBTdXBlcmZpY2llIGRlIGxhIGZpbGEgdGFyZWE6IGhvdmVyIHkgYWN0aXZvIChoaWpvKSwgY29tbyBgU0NNSVByb2plY3RDb250ZW50YC4gKi9cbmV4cG9ydCBjb25zdCBTQ01JVGFza1Jvd1N1cmZhY2UgPSBzdHlsZWQuZGl2PHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpJyA6ICd0cmFuc3BhcmVudCcpfTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpO1xuICB9XG5gXG5cbi8qKiBGaWxhIGRlIHRhcmVhOiBtaXNtbyDDrWNvbm8gcXVlIGVubGFjZXMgZGUgdGFyZWEgZW4gbWVuc2FqZXMgZGVsIGFzaXN0ZW50ZSAqL1xuZXhwb3J0IGNvbnN0IFNDTUlUYXNrUm93SW5uZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4IDA7XG5gXG5cbi8qKiBUw610dWxvIGRlIHRhcmVhICsgbm9tYnJlIGRlIHByb3llY3RvIGVuIHVuYSBsw61uZWEgKi9cbmV4cG9ydCBjb25zdCBTQ01JVGFza1RpdGxlUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlUYXNrUHJvamVjdE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMCAxIGF1dG87XG4gIG1heC13aWR0aDogNDYlO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtdGVydGlhcnksICM4MDgwODApO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUteHMsIDEycHgpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0yMCwgMjBweCk7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuYFxuXG4vKiogQ29udGVuZWRvciBkZWwgw61jb25vIGRlIHRhcmVhIGVuIGxhIGZpbGEgZGUgbWVuY2nDs24uICovXG5leHBvcnQgY29uc3QgU0NNSVRhc2tJY29uV3JhcCA9IHN0eWxlZC5zcGFuYFxuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG4vKiogQ29udGVuZWRvciBkZWwgw61jb25vIGRlIHN1YnRhcmVhIChjb3ItdWkgU3VidGFzaykgZW4gbGEgZmlsYSBkZSBtZW5jacOzbi4gKi9cbmV4cG9ydCBjb25zdCBTQ01JVGFza1N1YnRhc2tJY29uV3JhcCA9IHN0eWxlZC5zcGFuYFxuICBmbGV4LXNocmluazogMDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSVRhc2tUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4OiAxIDEgMDtcbiAgbWluLXdpZHRoOiAwO1xuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSUJyZWFkY3J1bWIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBnYXA6IHZhcigtLWNvci1zcGFjZS1zcGFjZS14eHMsIDJweCk7XG4gIGNvbG9yOiB2YXIoLS1jb3ItY29sb3ItdGV4dC10ZXJ0aWFyeSwgIzgwODA4MCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXh4cywgMTBweCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LTEyLCAxMnB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLW5lZzEsIC0xcHgpO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSUJyZWFkY3J1bWJQYXJlbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiB2YXIoLS1jb3Itc3BhY2Utc3BhY2UteHhzLCAycHgpO1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICB9XG5gXG5cbi8qKiBGaWxhIHRpcG8g4oCccGlsbOKAnSBwYXJhIHVzdWFyaW9zIChkaXJlY3RvcmlvKTogYXZhdGFyICsgbm9tYnJlIHwgcG9zaWNpw7NuICovXG5leHBvcnQgY29uc3QgU0NNSVJvd1VzZXIgPSBzdHlsZWQuZGl2PHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1hcmdpbjogMCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpJyA6ICd0cmFuc3BhcmVudCcpfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29yLWNvbG9yLWdyZXktMTAwLCAjZjRmNGY0KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNVXNlckF2YXRhcldyYXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01Vc2VyQXZhdGFySW1nID0gc3R5bGVkLmltZ2BcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBiYWNrZ3JvdW5kOiBsaWdodGdyYXk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01Vc2VyQXZhdGFyRmFsbGJhY2sgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0yMDAsICNlMGUwZTApO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtc2Vjb25kYXJ5LCAjNjY2KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01Vc2VySW5mbyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiA0cHg7XG4gIGZsZXg6IDEgMCAwO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01Vc2VyTmFtZVBvc2l0aW9uUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01Vc2VyTmFtZUNlbGwgPSBzdHlsZWQuZGl2PHsgJHdpdGhEaXZpZGVyPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDU1JTtcbiAgcGFkZGluZy1yaWdodDogJHsoeyAkd2l0aERpdmlkZXIgfSkgPT4gKCR3aXRoRGl2aWRlciA/ICc4cHgnIDogJzAnKX07XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDEwcHg7XG4gIGJvcmRlci1yaWdodDogJHsoeyAkd2l0aERpdmlkZXIgfSkgPT4gKCR3aXRoRGl2aWRlciA/ICcxcHggc29saWQgI2UwZTBlMCcgOiAnbm9uZScpfTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVVzZXJOYW1lVGV4dCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAjMjAyMDFmO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTMwJTtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNVXNlclBvc2l0aW9uVGV4dCA9IHN0eWxlZC5zcGFuYFxuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtc2l6ZS1zbSwgMTRweCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LTIwLCAyMHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLTAsIDApO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBRXRDLE9BQU8sSUFBTUMsT0FBTyxHQUFHRCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1UEFTakIsVUFBQUMsSUFBQTtFQUFBLElBQUdDLE9BQU8sR0FBQUQsSUFBQSxDQUFQQyxPQUFPO0VB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
157
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTQ01JUm93IiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmIiwiJGFjdGl2ZSIsIlNDTUlQcm9qZWN0Um93IiwiU0NNSVByb2plY3RDb250ZW50IiwiX3JlZjIiLCJTQ01JTmFtZSIsIlNDTUlUaXRsZSIsIlNDTUlQcm9qZWN0VGl0bGUiLCJTQ01JVGl0bGVIaWdobGlnaHQiLCJzcGFuIiwiU0NNUHJvamVjdE1ldGFDbGllbnROYW1lIiwiU0NNSVRhc2tSb3dXcmFwIiwiU0NNSVRhc2tSb3dTdXJmYWNlIiwiX3JlZjMiLCJTQ01JU2tpbGxSb3dTdXJmYWNlIiwiX3JlZjQiLCJTQ01JVGFza1Jvd0lubmVyIiwiU0NNSVRhc2tUaXRsZVJvdyIsIlNDTUlUYXNrUHJvamVjdE5hbWUiLCJTQ01JVGFza0ljb25XcmFwIiwiU0NNSVRhc2tTdWJ0YXNrSWNvbldyYXAiLCJTQ01JVGFza1RpdGxlIiwiU0NNSUJyZWFkY3J1bWIiLCJTQ01JQnJlYWRjcnVtYlBhcmVudCIsIlNDTUlSb3dVc2VyIiwiX3JlZjUiLCJTQ01Vc2VyQXZhdGFyV3JhcCIsIlNDTVVzZXJBdmF0YXJJbWciLCJpbWciLCJTQ01Vc2VyQXZhdGFyRmFsbGJhY2siLCJTQ01Vc2VySW5mbyIsIlNDTVVzZXJOYW1lUG9zaXRpb25Sb3ciLCJTQ01Vc2VyTmFtZUNlbGwiLCJfcmVmNiIsIiR3aXRoRGl2aWRlciIsIl9yZWY3IiwiU0NNVXNlck5hbWVUZXh0IiwiU0NNVXNlclBvc2l0aW9uVGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uSXRlbS9Db250ZXh0TWVudGlvbkl0ZW0uc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NNSVJvdyA9IHN0eWxlZC5kaXY8eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpJyA6ICd0cmFuc3BhcmVudCcpfTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpO1xuICB9XG5gXG5cbi8qKiBSb3cgZGUgcHJveWVjdG86IGVsIGhvdmVyL2JhY2tncm91bmQgdml2ZSBlbiBlbCBjb250ZW5lZG9yIGhpam8uICovXG5leHBvcnQgY29uc3QgU0NNSVByb2plY3RSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlQcm9qZWN0Q29udGVudCA9IHN0eWxlZC5kaXY8eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMCA0cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJ3ZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2Y0ZjRmNCknIDogJ3RyYW5zcGFyZW50Jyl9O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2Y0ZjRmNCk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlOYW1lID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogOHB4IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAycHg7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogM3B4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzIwMjAxZjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gXG5cbi8qKiBWYXJpYW50ZSBwYXJhIHByb3llY3RvOiBzaW4gcGFkZGluZyBpbnRlcm5vLCBlbCBlc3BhY2lhZG8gaG9yaXpvbnRhbCBsbyBkYSBlbCBwYWRyZSAoU0NNSVJvdykuICovXG5leHBvcnQgY29uc3QgU0NNSVByb2plY3RUaXRsZSA9IHN0eWxlZChTQ01JVGl0bGUpYFxuICBwYWRkaW5nLWxlZnQ6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JVGl0bGVIaWdobGlnaHQgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICM4NzQwYmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICM4NzQwYmY7XG5gXG5cbi8qKiBGaWxhIHByb3llY3RvOiBub21icmUgZGVsIGNsaWVudGUgKHNlY3VuZGFyaW8pLCBkZWJham8gZWwgdMOtdHVsbyBkZWwgcHJveWVjdG8gKi9cbmV4cG9ydCBjb25zdCBTQ01Qcm9qZWN0TWV0YUNsaWVudE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogdmFyKC0tY29yLWNvbG9yLXRleHQtdGVydGlhcnksICM4MDgwODApO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUteHhzLCAxMHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMTIsIDEycHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbmVnMSwgLTFweCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG5gXG5cbi8qKiBGaWxhIHRhcmVhIChwYWRyZSk6IHNpbiBmb25kbyBlbiBob3ZlcjsgaWd1YWwgcXVlIGBTQ01JUHJvamVjdFJvd2AuICovXG5leHBvcnQgY29uc3QgU0NNSVRhc2tSb3dXcmFwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gXG5cbi8qKiBTdXBlcmZpY2llIGRlIGxhIGZpbGEgdGFyZWE6IGhvdmVyIHkgYWN0aXZvIChoaWpvKSwgY29tbyBgU0NNSVByb2plY3RDb250ZW50YC4gKi9cbmV4cG9ydCBjb25zdCBTQ01JVGFza1Jvd1N1cmZhY2UgPSBzdHlsZWQuZGl2PHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHBhZGRpbmc6IDAgNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICR7KHsgJGFjdGl2ZSB9KSA9PiAoJGFjdGl2ZSA/ICd2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpJyA6ICd0cmFuc3BhcmVudCcpfTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpO1xuICB9XG5gXG5cbi8qKiBTdXBlcmZpY2llIGRlIGxhIGZpbGEgc2tpbGw6IG1pc21hIGVzdHJ1Y3R1cmEgcXVlIFNDTUlUYXNrUm93U3VyZmFjZSBwZXJvIGNvbiBob3ZlciAjZjlmOWY5LiAqL1xuZXhwb3J0IGNvbnN0IFNDTUlTa2lsbFJvd1N1cmZhY2UgPSBzdHlsZWQoU0NNSVRhc2tSb3dTdXJmYWNlKWBcbiAgYmFja2dyb3VuZDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJyNmOWY5ZjknIDogJ3RyYW5zcGFyZW50Jyl9O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gIH1cbmBcblxuLyoqIEZpbGEgZGUgdGFyZWE6IG1pc21vIMOtY29ubyBxdWUgZW5sYWNlcyBkZSB0YXJlYSBlbiBtZW5zYWplcyBkZWwgYXNpc3RlbnRlICovXG5leHBvcnQgY29uc3QgU0NNSVRhc2tSb3dJbm5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHggMDtcbmBcblxuLyoqIFTDrXR1bG8gZGUgdGFyZWEgKyBub21icmUgZGUgcHJveWVjdG8gZW4gdW5hIGzDrW5lYSAqL1xuZXhwb3J0IGNvbnN0IFNDTUlUYXNrVGl0bGVSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSVRhc2tQcm9qZWN0TmFtZSA9IHN0eWxlZC5zcGFuYFxuICBmbGV4OiAwIDEgYXV0bztcbiAgbWF4LXdpZHRoOiA0NiU7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiB2YXIoLS1jb3ItY29sb3ItdGV4dC10ZXJ0aWFyeSwgIzgwODA4MCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXNpemU6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtc2l6ZS14cywgMTJweCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LTIwLCAyMHB4KTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5gXG5cbi8qKiBDb250ZW5lZG9yIGRlbCDDrWNvbm8gZGUgdGFyZWEgZW4gbGEgZmlsYSBkZSBtZW5jacOzbi4gKi9cbmV4cG9ydCBjb25zdCBTQ01JVGFza0ljb25XcmFwID0gc3R5bGVkLnNwYW5gXG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbi8qKiBDb250ZW5lZG9yIGRlbCDDrWNvbm8gZGUgc3VidGFyZWEgKGNvci11aSBTdWJ0YXNrKSBlbiBsYSBmaWxhIGRlIG1lbmNpw7NuLiAqL1xuZXhwb3J0IGNvbnN0IFNDTUlUYXNrU3VidGFza0ljb25XcmFwID0gc3R5bGVkLnNwYW5gXG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JVGFza1RpdGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4td2lkdGg6IDA7XG4gIGNvbG9yOiAjMjAyMDFmO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUtc20sIDE0cHgpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1saW5lLWhlaWdodC0yMCwgMjBweCk7XG4gIGxldHRlci1zcGFjaW5nOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1sZXR0ZXItc3BhY2luZy0wLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQnJlYWRjcnVtYiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctbGVmdDogNHB4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGdhcDogdmFyKC0tY29yLXNwYWNlLXNwYWNlLXh4cywgMnB4KTtcbiAgY29sb3I6IHZhcigtLWNvci1jb2xvci10ZXh0LXRlcnRpYXJ5LCAjODA4MDgwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LXNpemUteHhzLCAxMHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMTIsIDEycHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctbmVnMSwgLTFweCk7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQnJlYWRjcnVtYlBhcmVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IHZhcigtLWNvci1zcGFjZS1zcGFjZS14eHMsIDJweCk7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gIH1cbmBcblxuLyoqIEZpbGEgdGlwbyDigJxwaWxs4oCdIHBhcmEgdXN1YXJpb3MgKGRpcmVjdG9yaW8pOiBhdmF0YXIgKyBub21icmUgfCBwb3NpY2nDs24gKi9cbmV4cG9ydCBjb25zdCBTQ01JUm93VXNlciA9IHN0eWxlZC5kaXY8eyAkYWN0aXZlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgbWFyZ2luOiAwIDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZDogJHsoeyAkYWN0aXZlIH0pID0+ICgkYWN0aXZlID8gJ3ZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2Y0ZjRmNCknIDogJ3RyYW5zcGFyZW50Jyl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb3ItY29sb3ItZ3JleS0xMDAsICNmNGY0ZjQpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01Vc2VyQXZhdGFyV3JhcCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVVzZXJBdmF0YXJJbWcgPSBzdHlsZWQuaW1nYFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJhY2tncm91bmQ6IGxpZ2h0Z3JheTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVVzZXJBdmF0YXJGYWxsYmFjayA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTIwMCwgI2UwZTBlMCk7XG4gIGNvbG9yOiB2YXIoLS1jb3ItY29sb3ItdGV4dC1zZWNvbmRhcnksICM2NjYpO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVVzZXJJbmZvID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgZmxleDogMSAwIDA7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVVzZXJOYW1lUG9zaXRpb25Sb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIG1pbi13aWR0aDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTVVzZXJOYW1lQ2VsbCA9IHN0eWxlZC5kaXY8eyAkd2l0aERpdmlkZXI/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogNTUlO1xuICBwYWRkaW5nLXJpZ2h0OiAkeyh7ICR3aXRoRGl2aWRlciB9KSA9PiAoJHdpdGhEaXZpZGVyID8gJzhweCcgOiAnMCcpfTtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTBweDtcbiAgYm9yZGVyLXJpZ2h0OiAkeyh7ICR3aXRoRGl2aWRlciB9KSA9PiAoJHdpdGhEaXZpZGVyID8gJzFweCBzb2xpZCAjZTBlMGUwJyA6ICdub25lJyl9O1xuYFxuXG5leHBvcnQgY29uc3QgU0NNVXNlck5hbWVUZXh0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMyMDIwMWY7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICBtaW4td2lkdGg6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01Vc2VyUG9zaXRpb25UZXh0ID0gc3R5bGVkLnNwYW5gXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tY29yLXR5cG9ncmFwaHktbGluZS1oZWlnaHQtMjAsIDIwcHgpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tY29yLXR5cG9ncmFwaHktbGV0dGVyLXNwYWNpbmctMCwgMCk7XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxtQkFBbUI7QUFFdEMsT0FBTyxJQUFNQyxPQUFPLEdBQUdELE1BQU0sQ0FBQ0UsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHVQQVNqQixVQUFBQyxJQUFBO0VBQUEsSUFBR0MsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87RUFBQSxPQUFRQSxPQUFPLEdBQUcsb0NBQW9DLEdBQUcsYUFBYTtBQUFBLENBQUMsQ0FLaEc7O0FBRUQ7QUFDQSxPQUFPLElBQU1DLGNBQWMsR0FBR1IsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEseUZBTXZDO0FBRUQsT0FBTyxJQUFNSSxrQkFBa0IsR0FBR1QsTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaU1BTzVCLFVBQUFLLEtBQUE7RUFBQSxJQUFHSCxPQUFPLEdBQUFHLEtBQUEsQ0FBUEgsT0FBTztFQUFBLE9BQVFBLE9BQU8sR0FBRyxvQ0FBb0MsR0FBRyxhQUFhO0FBQUEsQ0FBQyxDQUtoRztBQUVELE9BQU8sSUFBTUksUUFBUSxHQUFHWCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrSUFTakM7QUFFRCxPQUFPLElBQU1PLFNBQVMsR0FBR1osTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNFlBZWxDOztBQUVEO0FBQ0EsT0FBTyxJQUFNUSxnQkFBZ0IsR0FBR2IsTUFBTSxDQUFDWSxTQUFTLENBQUMsQ0FBQVQsVUFB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
@@ -2,7 +2,9 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
3
  import { InformationCircle } from '@projectcor/icons/lib/components/InformationCircle';
4
4
  import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
5
+ import { SKILLS_SEARCH_MIN_QUERY_LENGTH } from '../../../constants/config';
5
6
  import { useT } from '../../../hooks/useT';
7
+ import { getMentionTabPrefix } from '../../../utils/contextMentionTriggers';
6
8
  import { ContextMentionItem } from '../ContextMentionItem';
7
9
  import { Loader } from '../Loader';
8
10
  import { SCMPContainer, SCMPDivider, SCMPDividerWrapper, SCMPRecentsLabel, SCMPRecentsRow, SCMPRecentsTitle, SCMPList, SCMPStateWrapper, SCMPKeyboardHint, SCMPTab, SCMPTabsGroup, SCMPTabsRow, SCMPLoadMoreRow } from './ContextMentionPopover.styles';
@@ -12,14 +14,16 @@ var TAB_I18N_KEYS = {
12
14
  project: 'contextMention.tabs.project',
13
15
  task: 'contextMention.tabs.task',
14
16
  user: 'contextMention.tabs.user',
15
- mcp: 'contextMention.tabs.mcp'
17
+ mcp: 'contextMention.tabs.mcp',
18
+ skill: 'contextMention.tabs.skill'
16
19
  };
17
20
  var TAB_FALLBACKS = {
18
21
  client: 'Cliente',
19
22
  project: 'Proyecto',
20
23
  task: 'Tarea',
21
24
  user: 'Usuario',
22
- mcp: 'Conectores'
25
+ mcp: 'Conectores',
26
+ skill: 'Habilidades'
23
27
  };
24
28
  export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref) {
25
29
  var allowedTypes = _ref.allowedTypes,
@@ -29,6 +33,8 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
29
33
  loading = _ref.loading,
30
34
  error = _ref.error,
31
35
  hideRecentsLabel = _ref.hideRecentsLabel,
36
+ _ref$skillsCatalogEmp = _ref.skillsCatalogEmpty,
37
+ skillsCatalogEmpty = _ref$skillsCatalogEmp === void 0 ? false : _ref$skillsCatalogEmp,
32
38
  hasMore = _ref.hasMore,
33
39
  isLoadingMore = _ref.isLoadingMore,
34
40
  onReachListEnd = _ref.onReachListEnd,
@@ -73,6 +79,14 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
73
79
  });
74
80
  }, [activeIndex, items.length]);
75
81
  var emptyMessage = useMemo(function () {
82
+ if (activeType === 'skill') {
83
+ if (searchValue.trim()) {
84
+ return t('contextMention.empty.skillWithQuery', {
85
+ query: searchValue
86
+ });
87
+ }
88
+ return t('contextMention.empty.skillNoItems');
89
+ }
76
90
  if (searchValue.trim()) {
77
91
  return t('contextMention.empty.withQuery', {
78
92
  query: searchValue,
@@ -82,7 +96,8 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
82
96
  return t('contextMention.empty.recents', {
83
97
  defaultValue: 'Empezá a escribir para buscar'
84
98
  });
85
- }, [searchValue, t]);
99
+ }, [activeType, searchValue, t]);
100
+ var skillQueryTooShort = activeType === 'skill' && !skillsCatalogEmpty && searchValue.trim().length > 0 && searchValue.trim().length < SKILLS_SEARCH_MIN_QUERY_LENGTH;
86
101
  var renderBody = function renderBody() {
87
102
  if (loading) {
88
103
  return /*#__PURE__*/_jsx(SCMPStateWrapper, {
@@ -98,6 +113,11 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
98
113
  })
99
114
  });
100
115
  }
116
+ if (skillQueryTooShort) {
117
+ return /*#__PURE__*/_jsx(SCMPStateWrapper, {
118
+ children: t('contextMention.skillQueryTooShort')
119
+ });
120
+ }
101
121
  if (items.length === 0) {
102
122
  return /*#__PURE__*/_jsx(SCMPStateWrapper, {
103
123
  children: emptyMessage
@@ -156,11 +176,11 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
156
176
  },
157
177
  children: [/*#__PURE__*/_jsxs(SCMPTabsRow, {
158
178
  children: [/*#__PURE__*/_jsx(SCMPTabsGroup, {
159
- children: allowedTypes.map(function (type, tabIndex) {
179
+ children: allowedTypes.map(function (type) {
160
180
  var label = t(TAB_I18N_KEYS[type], {
161
181
  defaultValue: TAB_FALLBACKS[type]
162
182
  });
163
- var atPrefix = '@'.repeat(tabIndex + 1);
183
+ var atPrefix = getMentionTabPrefix(type);
164
184
  return /*#__PURE__*/_jsxs(SCMPTab, {
165
185
  type: "button",
166
186
  "aria-label": "".concat(atPrefix, " ").concat(label),
@@ -189,4 +209,4 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
189
209
  });
190
210
  });
191
211
  ContextMentionPopover.displayName = 'ContextMentionPopover';
192
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJ1c2VUIiwiQ29udGV4dE1lbnRpb25JdGVtIiwiTG9hZGVyIiwiU0NNUENvbnRhaW5lciIsIlNDTVBEaXZpZGVyIiwiU0NNUERpdmlkZXJXcmFwcGVyIiwiU0NNUFJlY2VudHNMYWJlbCIsIlNDTVBSZWNlbnRzUm93IiwiU0NNUFJlY2VudHNUaXRsZSIsIlNDTVBMaXN0IiwiU0NNUFN0YXRlV3JhcHBlciIsIlNDTVBLZXlib2FyZEhpbnQiLCJTQ01QVGFiIiwiU0NNUFRhYnNHcm91cCIsIlNDTVBUYWJzUm93IiwiU0NNUExvYWRNb3JlUm93IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlRBQl9JMThOX0tFWVMiLCJjbGllbnQiLCJwcm9qZWN0IiwidGFzayIsInVzZXIiLCJtY3AiLCJUQUJfRkFMTEJBQ0tTIiwiQ29udGV4dE1lbnRpb25Qb3BvdmVyIiwiX3JlZiIsInJlZiIsImFsbG93ZWRUeXBlcyIsImFjdGl2ZVR5cGUiLCJvblR5cGVDaGFuZ2UiLCJpdGVtcyIsImxvYWRpbmciLCJlcnJvciIsImhpZGVSZWNlbnRzTGFiZWwiLCJoYXNNb3JlIiwiaXNMb2FkaW5nTW9yZSIsIm9uUmVhY2hMaXN0RW5kIiwic2VhcmNoVmFsdWUiLCJvbkl0ZW1TZWxlY3RlZCIsImNvbnRyb2xsZWRJbmRleCIsImFjdGl2ZUluZGV4Iiwib25BY3RpdmVJbmRleENoYW5nZSIsImlzS2V5Ym9hcmROYXZBY3RpdmUiLCJvbk1vdXNlTW92ZUluTGlzdCIsInN0eWxlIiwia2V5Ym9hcmRIaW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW50ZXJuYWxJbmRleCIsInNldEludGVybmFsSW5kZXgiLCJsaXN0UmVmIiwidXBkYXRlQWN0aXZlSW5kZXgiLCJpZHgiLCJwcmV2SXNMb2FkaW5nTW9yZVJlZiIsImN1cnJlbnQiLCJsZW5ndGgiLCJfaXRlbUVscyRhY3RpdmVJbmRleCIsImxpc3RFbCIsIml0ZW1FbHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayIsImVtcHR5TWVzc2FnZSIsInRyaW0iLCJxdWVyeSIsImRlZmF1bHRWYWx1ZSIsImNvbmNhdCIsInJlbmRlckJvZHkiLCJjaGlsZHJlbiIsInVuZGVmaW5lZCIsIm9uTW91c2VNb3ZlIiwib25TY3JvbGwiLCJlIiwiZWwiLCJjdXJyZW50VGFyZ2V0IiwidGhyZXNob2xkIiwibmVhckJvdHRvbSIsInNjcm9sbFRvcCIsImNsaWVudEhlaWdodCIsInNjcm9sbEhlaWdodCIsIm1hcCIsIml0ZW0iLCJ3aWR0aCIsImFjdGl2ZSIsIm9uU2VsZWN0Iiwib25Ib3ZlciIsInR5cGUiLCJpZCIsInNpemUiLCJyb2xlIiwib25Nb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJ0YWJJbmRleCIsImxhYmVsIiwiYXRQcmVmaXgiLCJyZXBlYXQiLCIkYWN0aXZlIiwicHJldmVudERlZmF1bHQiLCJ0aXRsZSIsImhlaWdodCIsImNvbG9yIiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvblBvcG92ZXIvQ29udGV4dE1lbnRpb25Qb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDU1NQcm9wZXJ0aWVzLCBmb3J3YXJkUmVmLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBJbmZvcm1hdGlvbkNpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0luZm9ybWF0aW9uQ2lyY2xlJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb25JdGVtIGFzIENvbnRleHRNZW50aW9uSXRlbVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IENvbnRleHRNZW50aW9uSXRlbSB9IGZyb20gJy4uL0NvbnRleHRNZW50aW9uSXRlbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uL0xvYWRlcidcbmltcG9ydCB7XG4gIFNDTVBDb250YWluZXIsXG4gIFNDTVBEaXZpZGVyLFxuICBTQ01QRGl2aWRlcldyYXBwZXIsXG4gIFNDTVBSZWNlbnRzTGFiZWwsXG4gIFNDTVBSZWNlbnRzUm93LFxuICBTQ01QUmVjZW50c1RpdGxlLFxuICBTQ01QTGlzdCxcbiAgU0NNUFN0YXRlV3JhcHBlcixcbiAgU0NNUEtleWJvYXJkSGludCxcbiAgU0NNUFRhYixcbiAgU0NNUFRhYnNHcm91cCxcbiAgU0NNUFRhYnNSb3csXG4gIFNDTVBMb2FkTW9yZVJvdyxcbn0gZnJvbSAnLi9Db250ZXh0TWVudGlvblBvcG92ZXIuc3R5bGVzJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvblBvcG92ZXJQcm9wcyA9IHtcbiAgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIGFjdGl2ZVR5cGU6IENvbnRleHRFbnRpdHlUeXBlXG4gIG9uVHlwZUNoYW5nZTogKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiB2b2lkXG4gIGl0ZW1zOiBDb250ZXh0TWVudGlvbkl0ZW1UeXBlW11cbiAgbG9hZGluZzogYm9vbGVhblxuICBlcnJvcjogYm9vbGVhblxuICBoaWRlUmVjZW50c0xhYmVsPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlPzogYm9vbGVhblxuICBvblJlYWNoTGlzdEVuZD86ICgpID0+IHZvaWRcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xuICBvbkl0ZW1TZWxlY3RlZDogKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbVR5cGUpID0+IHZvaWRcbiAgLyoqIMONbmRpY2UgcHJlc2VsZWNjaW9uYWRvIChuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBleHRlcm5hKS4gU2kgbm8gc2UgcGFzYSwgc2UgbWFuZWphIGludGVybmFtZW50ZS4gKi9cbiAgYWN0aXZlSW5kZXg/OiBudW1iZXJcbiAgb25BY3RpdmVJbmRleENoYW5nZT86IChpZHg6IG51bWJlcikgPT4gdm9pZFxuICBpc0tleWJvYXJkTmF2QWN0aXZlPzogYm9vbGVhblxuICBvbk1vdXNlTW92ZUluTGlzdD86ICgpID0+IHZvaWRcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIGtleWJvYXJkSGludD86IHN0cmluZ1xufVxuXG5jb25zdCBUQUJfSTE4Tl9LRVlTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ2NvbnRleHRNZW50aW9uLnRhYnMuY2xpZW50JyxcbiAgcHJvamVjdDogJ2NvbnRleHRNZW50aW9uLnRhYnMucHJvamVjdCcsXG4gIHRhc2s6ICdjb250ZXh0TWVudGlvbi50YWJzLnRhc2snLFxuICB1c2VyOiAnY29udGV4dE1lbnRpb24udGFicy51c2VyJyxcbiAgbWNwOiAnY29udGV4dE1lbnRpb24udGFicy5tY3AnLFxufVxuXG5jb25zdCBUQUJfRkFMTEJBQ0tTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ0NsaWVudGUnLFxuICBwcm9qZWN0OiAnUHJveWVjdG8nLFxuICB0YXNrOiAnVGFyZWEnLFxuICB1c2VyOiAnVXN1YXJpbycsXG4gIG1jcDogJ0NvbmVjdG9yZXMnLFxufVxuXG5leHBvcnQgY29uc3QgQ29udGV4dE1lbnRpb25Qb3BvdmVyID0gZm9yd2FyZFJlZjxIVE1MRGl2RWxlbWVudCwgQ29udGV4dE1lbnRpb25Qb3BvdmVyUHJvcHM+KFxuICAoXG4gICAge1xuICAgICAgYWxsb3dlZFR5cGVzLFxuICAgICAgYWN0aXZlVHlwZSxcbiAgICAgIG9uVHlwZUNoYW5nZSxcbiAgICAgIGl0ZW1zLFxuICAgICAgbG9hZGluZyxcbiAgICAgIGVycm9yLFxuICAgICAgaGlkZVJlY2VudHNMYWJlbCxcbiAgICAgIGhhc01vcmUsXG4gICAgICBpc0xvYWRpbmdNb3JlLFxuICAgICAgb25SZWFjaExpc3RFbmQsXG4gICAgICBzZWFyY2hWYWx1ZSxcbiAgICAgIG9uSXRlbVNlbGVjdGVkLFxuICAgICAgYWN0aXZlSW5kZXg6IGNvbnRyb2xsZWRJbmRleCxcbiAgICAgIG9uQWN0aXZlSW5kZXhDaGFuZ2UsXG4gICAgICBpc0tleWJvYXJkTmF2QWN0aXZlLFxuICAgICAgb25Nb3VzZU1vdmVJbkxpc3QsXG4gICAgICBzdHlsZSxcbiAgICAgIGtleWJvYXJkSGludCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICAgIGNvbnN0IFtpbnRlcm5hbEluZGV4LCBzZXRJbnRlcm5hbEluZGV4XSA9IHVzZVN0YXRlKDApXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSBjb250cm9sbGVkSW5kZXggPz8gaW50ZXJuYWxJbmRleFxuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICBjb25zdCB1cGRhdGVBY3RpdmVJbmRleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvbkFjdGl2ZUluZGV4Q2hhbmdlKSBvbkFjdGl2ZUluZGV4Q2hhbmdlKGlkeClcbiAgICAgICAgZWxzZSBzZXRJbnRlcm5hbEluZGV4KGlkeClcbiAgICAgIH0sXG4gICAgICBbb25BY3RpdmVJbmRleENoYW5nZV1cbiAgICApXG5cbiAgICAvLyBSZXNldCBhbCBjYW1iaWFyIGRlIHRhYiBvIGNhbnRpZGFkIGRlIHJlc3VsdGFkb3MgKG5vIGVuIGxvYWQgbW9yZSlcbiAgICBjb25zdCBwcmV2SXNMb2FkaW5nTW9yZVJlZiA9IHVzZVJlZihmYWxzZSlcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IGlzTG9hZGluZ01vcmUgPz8gZmFsc2VcbiAgICAgIH1cbiAgICB9LCBbaXNMb2FkaW5nTW9yZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHByZXZJc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoMClcbiAgICB9LCBbYWN0aXZlVHlwZSwgaXRlbXMubGVuZ3RoLCB1cGRhdGVBY3RpdmVJbmRleF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdEVsID0gbGlzdFJlZi5jdXJyZW50XG4gICAgICBpZiAoIWxpc3RFbCB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgaXRlbUVscyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZW50aW9uLWl0ZW1dJylcbiAgICAgIGl0ZW1FbHNbYWN0aXZlSW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGl0ZW1zLmxlbmd0aF0pXG5cbiAgICBjb25zdCBlbXB0eU1lc3NhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LndpdGhRdWVyeScsIHtcbiAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBgTm8gaGF5IHJlc3VsdGFkb3MgcGFyYSBcIiR7c2VhcmNoVmFsdWV9XCJgLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LnJlY2VudHMnLCB7IGRlZmF1bHRWYWx1ZTogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicgfSlcbiAgICB9LCBbc2VhcmNoVmFsdWUsIHRdKVxuXG4gICAgY29uc3QgcmVuZGVyQm9keSA9ICgpID0+IHtcbiAgICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57dCgnY29udGV4dE1lbnRpb24ubG9hZGluZycsIHsgZGVmYXVsdFZhbHVlOiAnQnVzY2FuZG8uLi4nIH0pfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgICAgICAge3QoJ2NvbnRleHRNZW50aW9uLmVycm9yJywgeyBkZWZhdWx0VmFsdWU6ICdIdWJvIHVuIHByb2JsZW1hIGFsIGJ1c2NhcicgfSl9XG4gICAgICAgICAgPC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57ZW1wdHlNZXNzYWdlfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ01QTGlzdFxuICAgICAgICAgIHJlZj17bGlzdFJlZn1cbiAgICAgICAgICBkYXRhLWtleWJvYXJkLW5hdj17aXNLZXlib2FyZE5hdkFjdGl2ZSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlSW5MaXN0fVxuICAgICAgICAgIG9uU2Nyb2xsPXtlID0+IHtcbiAgICAgICAgICAgIGlmICghb25SZWFjaExpc3RFbmQgfHwgIWhhc01vcmUgfHwgaXNMb2FkaW5nTW9yZSkgcmV0dXJuXG4gICAgICAgICAgICBjb25zdCBlbCA9IGUuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMjRcbiAgICAgICAgICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICAgICAgICBvblJlYWNoTGlzdEVuZCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshc2VhcmNoVmFsdWUudHJpbSgpICYmIGFjdGl2ZVR5cGUgIT09ICd1c2VyJyAmJiAhaGlkZVJlY2VudHNMYWJlbCA/IChcbiAgICAgICAgICAgIDxTQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzTGFiZWw+e3QoJ2NvbnRleHRNZW50aW9uLnJlY2VudHNUaXRsZScsIHsgZGVmYXVsdFZhbHVlOiAnUmVjaWVudGVzJyB9KX08L1NDTVBSZWNlbnRzTGFiZWw+XG4gICAgICAgICAgICAgIDwvU0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgIDwvU0NNUFJlY2VudHNSb3c+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17YCR7aXRlbS50eXBlfS0ke2l0ZW0uaWR9YH0gZGF0YS1tZW50aW9uLWl0ZW0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgICAgPENvbnRleHRNZW50aW9uSXRlbVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtpZHggPT09IGFjdGl2ZUluZGV4fVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkl0ZW1TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkhvdmVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWlzS2V5Ym9hcmROYXZBY3RpdmUpIHVwZGF0ZUFjdGl2ZUluZGV4KGlkeClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzTG9hZGluZ01vcmUgPyAoXG4gICAgICAgICAgICA8U0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBMb2FkTW9yZVJvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ01QTGlzdD5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBDb250YWluZXJcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ29udGV4dCBtZW50aW9uIHBpY2tlclwiXG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIDxTQ01QVGFic1Jvdz5cbiAgICAgICAgICA8U0NNUFRhYnNHcm91cD5cbiAgICAgICAgICAgIHthbGxvd2VkVHlwZXMubWFwKCh0eXBlLCB0YWJJbmRleCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHQoVEFCX0kxOE5fS0VZU1t0eXBlXSwgeyBkZWZhdWx0VmFsdWU6IFRBQl9GQUxMQkFDS1NbdHlwZV0gfSlcbiAgICAgICAgICAgICAgY29uc3QgYXRQcmVmaXggPSAnQCcucmVwZWF0KHRhYkluZGV4ICsgMSlcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8U0NNUFRhYlxuICAgICAgICAgICAgICAgICAga2V5PXt0eXBlfVxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtgJHthdFByZWZpeH0gJHtsYWJlbH1gfVxuICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17dHlwZSA9PT0gYWN0aXZlVHlwZX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgb25UeXBlQ2hhbmdlKHR5cGUpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHthdFByZWZpeH1cbiAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICA8L1NDTVBUYWI+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU0NNUFRhYnNHcm91cD5cbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17a2V5Ym9hcmRIaW50IHx8ICcnfT5cbiAgICAgICAgICAgIDxTQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cIiM4MDgwODBcIiAvPlxuICAgICAgICAgICAgPC9TQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ01QVGFic1Jvdz5cbiAgICAgICAgPFNDTVBEaXZpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8U0NNUERpdmlkZXIgLz5cbiAgICAgICAgPC9TQ01QRGl2aWRlcldyYXBwZXI+XG4gICAgICAgIHtyZW5kZXJCb2R5KCl9XG4gICAgICA8L1NDTVBDb250YWluZXI+XG4gICAgKVxuICB9XG4pXG5cbkNvbnRleHRNZW50aW9uUG9wb3Zlci5kaXNwbGF5TmFtZSA9ICdDb250ZXh0TWVudGlvblBvcG92ZXInXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUF3QkEsVUFBVSxFQUFFQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3BHLFNBQVNDLGlCQUFpQixRQUFRLG9EQUFvRDtBQUN0RixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFFMUMsU0FBU0Msa0JBQWtCLFFBQVEsdUJBQXVCO0FBQzFELFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQ0VDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsY0FBYyxFQUNkQyxnQkFBZ0IsRUFDaEJDLFFBQVEsRUFDUkMsZ0JBQWdCLEVBQ2hCQyxnQkFBZ0IsRUFDaEJDLE9BQU8sRUFDUEMsYUFBYSxFQUNiQyxXQUFXLEVBQ1hDLGVBQWUsUUFDVixnQ0FBZ0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBd0J2QyxJQUFNQyxhQUFnRCxHQUFHO0VBQ3ZEQyxNQUFNLEVBQUUsNEJBQTRCO0VBQ3BDQyxPQUFPLEVBQUUsNkJBQTZCO0VBQ3RDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxHQUFHLEVBQUU7QUFDUCxDQUFDO0FBRUQsSUFBTUMsYUFBZ0QsR0FBRztFQUN2REwsTUFBTSxFQUFFLFNBQVM7RUFDakJDLE9BQU8sRUFBRSxVQUFVO0VBQ25CQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxHQUFHLEVBQUU7QUFDUCxDQUFDO0FBRUQsT0FBTyxJQUFNRSxxQkFBcUIsZ0JBQUduQyxVQUFVLENBQzdDLFVBQUFvQyxJQUFBLEVBcUJFQyxHQUFHLEVBQ0E7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
212
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJTS0lMTFNfU0VBUkNIX01JTl9RVUVSWV9MRU5HVEgiLCJ1c2VUIiwiZ2V0TWVudGlvblRhYlByZWZpeCIsIkNvbnRleHRNZW50aW9uSXRlbSIsIkxvYWRlciIsIlNDTVBDb250YWluZXIiLCJTQ01QRGl2aWRlciIsIlNDTVBEaXZpZGVyV3JhcHBlciIsIlNDTVBSZWNlbnRzTGFiZWwiLCJTQ01QUmVjZW50c1JvdyIsIlNDTVBSZWNlbnRzVGl0bGUiLCJTQ01QTGlzdCIsIlNDTVBTdGF0ZVdyYXBwZXIiLCJTQ01QS2V5Ym9hcmRIaW50IiwiU0NNUFRhYiIsIlNDTVBUYWJzR3JvdXAiLCJTQ01QVGFic1JvdyIsIlNDTVBMb2FkTW9yZVJvdyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJUQUJfSTE4Tl9LRVlTIiwiY2xpZW50IiwicHJvamVjdCIsInRhc2siLCJ1c2VyIiwibWNwIiwic2tpbGwiLCJUQUJfRkFMTEJBQ0tTIiwiQ29udGV4dE1lbnRpb25Qb3BvdmVyIiwiX3JlZiIsInJlZiIsImFsbG93ZWRUeXBlcyIsImFjdGl2ZVR5cGUiLCJvblR5cGVDaGFuZ2UiLCJpdGVtcyIsImxvYWRpbmciLCJlcnJvciIsImhpZGVSZWNlbnRzTGFiZWwiLCJfcmVmJHNraWxsc0NhdGFsb2dFbXAiLCJza2lsbHNDYXRhbG9nRW1wdHkiLCJoYXNNb3JlIiwiaXNMb2FkaW5nTW9yZSIsIm9uUmVhY2hMaXN0RW5kIiwic2VhcmNoVmFsdWUiLCJvbkl0ZW1TZWxlY3RlZCIsImNvbnRyb2xsZWRJbmRleCIsImFjdGl2ZUluZGV4Iiwib25BY3RpdmVJbmRleENoYW5nZSIsImlzS2V5Ym9hcmROYXZBY3RpdmUiLCJvbk1vdXNlTW92ZUluTGlzdCIsInN0eWxlIiwia2V5Ym9hcmRIaW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW50ZXJuYWxJbmRleCIsInNldEludGVybmFsSW5kZXgiLCJsaXN0UmVmIiwidXBkYXRlQWN0aXZlSW5kZXgiLCJpZHgiLCJwcmV2SXNMb2FkaW5nTW9yZVJlZiIsImN1cnJlbnQiLCJsZW5ndGgiLCJfaXRlbUVscyRhY3RpdmVJbmRleCIsImxpc3RFbCIsIml0ZW1FbHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayIsImVtcHR5TWVzc2FnZSIsInRyaW0iLCJxdWVyeSIsImRlZmF1bHRWYWx1ZSIsImNvbmNhdCIsInNraWxsUXVlcnlUb29TaG9ydCIsInJlbmRlckJvZHkiLCJjaGlsZHJlbiIsInVuZGVmaW5lZCIsIm9uTW91c2VNb3ZlIiwib25TY3JvbGwiLCJlIiwiZWwiLCJjdXJyZW50VGFyZ2V0IiwidGhyZXNob2xkIiwibmVhckJvdHRvbSIsInNjcm9sbFRvcCIsImNsaWVudEhlaWdodCIsInNjcm9sbEhlaWdodCIsIm1hcCIsIml0ZW0iLCJ3aWR0aCIsImFjdGl2ZSIsIm9uU2VsZWN0Iiwib25Ib3ZlciIsInR5cGUiLCJpZCIsInNpemUiLCJyb2xlIiwib25Nb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJsYWJlbCIsImF0UHJlZml4IiwiJGFjdGl2ZSIsInByZXZlbnREZWZhdWx0IiwidGl0bGUiLCJoZWlnaHQiLCJjb2xvciIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25Qb3BvdmVyL0NvbnRleHRNZW50aW9uUG9wb3Zlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1NTUHJvcGVydGllcywgZm9yd2FyZFJlZiwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IFNLSUxMU19TRUFSQ0hfTUlOX1FVRVJZX0xFTkdUSCB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbkl0ZW0gYXMgQ29udGV4dE1lbnRpb25JdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZ2V0TWVudGlvblRhYlByZWZpeCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NvbnRleHRNZW50aW9uVHJpZ2dlcnMnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbkl0ZW0gfSBmcm9tICcuLi9Db250ZXh0TWVudGlvbkl0ZW0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi9Mb2FkZXInXG5pbXBvcnQge1xuICBTQ01QQ29udGFpbmVyLFxuICBTQ01QRGl2aWRlcixcbiAgU0NNUERpdmlkZXJXcmFwcGVyLFxuICBTQ01QUmVjZW50c0xhYmVsLFxuICBTQ01QUmVjZW50c1JvdyxcbiAgU0NNUFJlY2VudHNUaXRsZSxcbiAgU0NNUExpc3QsXG4gIFNDTVBTdGF0ZVdyYXBwZXIsXG4gIFNDTVBLZXlib2FyZEhpbnQsXG4gIFNDTVBUYWIsXG4gIFNDTVBUYWJzR3JvdXAsXG4gIFNDTVBUYWJzUm93LFxuICBTQ01QTG9hZE1vcmVSb3csXG59IGZyb20gJy4vQ29udGV4dE1lbnRpb25Qb3BvdmVyLnN0eWxlcydcblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25Qb3BvdmVyUHJvcHMgPSB7XG4gIGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXVxuICBhY3RpdmVUeXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICBvblR5cGVDaGFuZ2U6ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSkgPT4gdm9pZFxuICBpdGVtczogQ29udGV4dE1lbnRpb25JdGVtVHlwZVtdXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgZXJyb3I6IGJvb2xlYW5cbiAgaGlkZVJlY2VudHNMYWJlbD86IGJvb2xlYW5cbiAgc2tpbGxzQ2F0YWxvZ0VtcHR5PzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlPzogYm9vbGVhblxuICBvblJlYWNoTGlzdEVuZD86ICgpID0+IHZvaWRcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xuICBvbkl0ZW1TZWxlY3RlZDogKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbVR5cGUpID0+IHZvaWRcbiAgLyoqIMONbmRpY2UgcHJlc2VsZWNjaW9uYWRvIChuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBleHRlcm5hKS4gU2kgbm8gc2UgcGFzYSwgc2UgbWFuZWphIGludGVybmFtZW50ZS4gKi9cbiAgYWN0aXZlSW5kZXg/OiBudW1iZXJcbiAgb25BY3RpdmVJbmRleENoYW5nZT86IChpZHg6IG51bWJlcikgPT4gdm9pZFxuICBpc0tleWJvYXJkTmF2QWN0aXZlPzogYm9vbGVhblxuICBvbk1vdXNlTW92ZUluTGlzdD86ICgpID0+IHZvaWRcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIGtleWJvYXJkSGludD86IHN0cmluZ1xufVxuXG5jb25zdCBUQUJfSTE4Tl9LRVlTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ2NvbnRleHRNZW50aW9uLnRhYnMuY2xpZW50JyxcbiAgcHJvamVjdDogJ2NvbnRleHRNZW50aW9uLnRhYnMucHJvamVjdCcsXG4gIHRhc2s6ICdjb250ZXh0TWVudGlvbi50YWJzLnRhc2snLFxuICB1c2VyOiAnY29udGV4dE1lbnRpb24udGFicy51c2VyJyxcbiAgbWNwOiAnY29udGV4dE1lbnRpb24udGFicy5tY3AnLFxuICBza2lsbDogJ2NvbnRleHRNZW50aW9uLnRhYnMuc2tpbGwnLFxufVxuXG5jb25zdCBUQUJfRkFMTEJBQ0tTOiBSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIHN0cmluZz4gPSB7XG4gIGNsaWVudDogJ0NsaWVudGUnLFxuICBwcm9qZWN0OiAnUHJveWVjdG8nLFxuICB0YXNrOiAnVGFyZWEnLFxuICB1c2VyOiAnVXN1YXJpbycsXG4gIG1jcDogJ0NvbmVjdG9yZXMnLFxuICBza2lsbDogJ0hhYmlsaWRhZGVzJyxcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uUG9wb3ZlciA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENvbnRleHRNZW50aW9uUG9wb3ZlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGFsbG93ZWRUeXBlcyxcbiAgICAgIGFjdGl2ZVR5cGUsXG4gICAgICBvblR5cGVDaGFuZ2UsXG4gICAgICBpdGVtcyxcbiAgICAgIGxvYWRpbmcsXG4gICAgICBlcnJvcixcbiAgICAgIGhpZGVSZWNlbnRzTGFiZWwsXG4gICAgICBza2lsbHNDYXRhbG9nRW1wdHkgPSBmYWxzZSxcbiAgICAgIGhhc01vcmUsXG4gICAgICBpc0xvYWRpbmdNb3JlLFxuICAgICAgb25SZWFjaExpc3RFbmQsXG4gICAgICBzZWFyY2hWYWx1ZSxcbiAgICAgIG9uSXRlbVNlbGVjdGVkLFxuICAgICAgYWN0aXZlSW5kZXg6IGNvbnRyb2xsZWRJbmRleCxcbiAgICAgIG9uQWN0aXZlSW5kZXhDaGFuZ2UsXG4gICAgICBpc0tleWJvYXJkTmF2QWN0aXZlLFxuICAgICAgb25Nb3VzZU1vdmVJbkxpc3QsXG4gICAgICBzdHlsZSxcbiAgICAgIGtleWJvYXJkSGludCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICAgIGNvbnN0IFtpbnRlcm5hbEluZGV4LCBzZXRJbnRlcm5hbEluZGV4XSA9IHVzZVN0YXRlKDApXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSBjb250cm9sbGVkSW5kZXggPz8gaW50ZXJuYWxJbmRleFxuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICBjb25zdCB1cGRhdGVBY3RpdmVJbmRleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvbkFjdGl2ZUluZGV4Q2hhbmdlKSBvbkFjdGl2ZUluZGV4Q2hhbmdlKGlkeClcbiAgICAgICAgZWxzZSBzZXRJbnRlcm5hbEluZGV4KGlkeClcbiAgICAgIH0sXG4gICAgICBbb25BY3RpdmVJbmRleENoYW5nZV1cbiAgICApXG5cbiAgICAvLyBSZXNldCBhbCBjYW1iaWFyIGRlIHRhYiBvIGNhbnRpZGFkIGRlIHJlc3VsdGFkb3MgKG5vIGVuIGxvYWQgbW9yZSlcbiAgICBjb25zdCBwcmV2SXNMb2FkaW5nTW9yZVJlZiA9IHVzZVJlZihmYWxzZSlcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IGlzTG9hZGluZ01vcmUgPz8gZmFsc2VcbiAgICAgIH1cbiAgICB9LCBbaXNMb2FkaW5nTW9yZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHByZXZJc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoMClcbiAgICB9LCBbYWN0aXZlVHlwZSwgaXRlbXMubGVuZ3RoLCB1cGRhdGVBY3RpdmVJbmRleF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdEVsID0gbGlzdFJlZi5jdXJyZW50XG4gICAgICBpZiAoIWxpc3RFbCB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgaXRlbUVscyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZW50aW9uLWl0ZW1dJylcbiAgICAgIGl0ZW1FbHNbYWN0aXZlSW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGl0ZW1zLmxlbmd0aF0pXG5cbiAgICBjb25zdCBlbXB0eU1lc3NhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChhY3RpdmVUeXBlID09PSAnc2tpbGwnKSB7XG4gICAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxXaXRoUXVlcnknLCB7XG4gICAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkuc2tpbGxOb0l0ZW1zJylcbiAgICAgIH1cbiAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LndpdGhRdWVyeScsIHtcbiAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBgTm8gaGF5IHJlc3VsdGFkb3MgcGFyYSBcIiR7c2VhcmNoVmFsdWV9XCJgLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LnJlY2VudHMnLCB7IGRlZmF1bHRWYWx1ZTogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicgfSlcbiAgICB9LCBbYWN0aXZlVHlwZSwgc2VhcmNoVmFsdWUsIHRdKVxuXG4gICAgY29uc3Qgc2tpbGxRdWVyeVRvb1Nob3J0ID1cbiAgICAgIGFjdGl2ZVR5cGUgPT09ICdza2lsbCcgJiZcbiAgICAgICFza2lsbHNDYXRhbG9nRW1wdHkgJiZcbiAgICAgIHNlYXJjaFZhbHVlLnRyaW0oKS5sZW5ndGggPiAwICYmXG4gICAgICBzZWFyY2hWYWx1ZS50cmltKCkubGVuZ3RoIDwgU0tJTExTX1NFQVJDSF9NSU5fUVVFUllfTEVOR1RIXG5cbiAgICBjb25zdCByZW5kZXJCb2R5ID0gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5sb2FkaW5nJywgeyBkZWZhdWx0VmFsdWU6ICdCdXNjYW5kby4uLicgfSl9PC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgfVxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgICAgICB7dCgnY29udGV4dE1lbnRpb24uZXJyb3InLCB7IGRlZmF1bHRWYWx1ZTogJ0h1Ym8gdW4gcHJvYmxlbWEgYWwgYnVzY2FyJyB9KX1cbiAgICAgICAgICA8L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChza2lsbFF1ZXJ5VG9vU2hvcnQpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5za2lsbFF1ZXJ5VG9vU2hvcnQnKX08L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICB9XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57ZW1wdHlNZXNzYWdlfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ01QTGlzdFxuICAgICAgICAgIHJlZj17bGlzdFJlZn1cbiAgICAgICAgICBkYXRhLWtleWJvYXJkLW5hdj17aXNLZXlib2FyZE5hdkFjdGl2ZSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlSW5MaXN0fVxuICAgICAgICAgIG9uU2Nyb2xsPXtlID0+IHtcbiAgICAgICAgICAgIGlmICghb25SZWFjaExpc3RFbmQgfHwgIWhhc01vcmUgfHwgaXNMb2FkaW5nTW9yZSkgcmV0dXJuXG4gICAgICAgICAgICBjb25zdCBlbCA9IGUuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMjRcbiAgICAgICAgICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICAgICAgICBvblJlYWNoTGlzdEVuZCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshc2VhcmNoVmFsdWUudHJpbSgpICYmIGFjdGl2ZVR5cGUgIT09ICd1c2VyJyAmJiAhaGlkZVJlY2VudHNMYWJlbCA/IChcbiAgICAgICAgICAgIDxTQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzTGFiZWw+e3QoJ2NvbnRleHRNZW50aW9uLnJlY2VudHNUaXRsZScsIHsgZGVmYXVsdFZhbHVlOiAnUmVjaWVudGVzJyB9KX08L1NDTVBSZWNlbnRzTGFiZWw+XG4gICAgICAgICAgICAgIDwvU0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgIDwvU0NNUFJlY2VudHNSb3c+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17YCR7aXRlbS50eXBlfS0ke2l0ZW0uaWR9YH0gZGF0YS1tZW50aW9uLWl0ZW0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgICAgPENvbnRleHRNZW50aW9uSXRlbVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtpZHggPT09IGFjdGl2ZUluZGV4fVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkl0ZW1TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkhvdmVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWlzS2V5Ym9hcmROYXZBY3RpdmUpIHVwZGF0ZUFjdGl2ZUluZGV4KGlkeClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzTG9hZGluZ01vcmUgPyAoXG4gICAgICAgICAgICA8U0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBMb2FkTW9yZVJvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ01QTGlzdD5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBDb250YWluZXJcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ29udGV4dCBtZW50aW9uIHBpY2tlclwiXG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIDxTQ01QVGFic1Jvdz5cbiAgICAgICAgICA8U0NNUFRhYnNHcm91cD5cbiAgICAgICAgICAgIHthbGxvd2VkVHlwZXMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHQoVEFCX0kxOE5fS0VZU1t0eXBlXSwgeyBkZWZhdWx0VmFsdWU6IFRBQl9GQUxMQkFDS1NbdHlwZV0gfSlcbiAgICAgICAgICAgICAgY29uc3QgYXRQcmVmaXggPSBnZXRNZW50aW9uVGFiUHJlZml4KHR5cGUpXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFNDTVBUYWJcbiAgICAgICAgICAgICAgICAgIGtleT17dHlwZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YCR7YXRQcmVmaXh9ICR7bGFiZWx9YH1cbiAgICAgICAgICAgICAgICAgICRhY3RpdmU9e3R5cGUgPT09IGFjdGl2ZVR5cGV9XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgICAgICAgIG9uVHlwZUNoYW5nZSh0eXBlKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7YXRQcmVmaXh9XG4gICAgICAgICAgICAgICAgICB7bGFiZWx9XG4gICAgICAgICAgICAgICAgPC9TQ01QVGFiPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgICA8L1NDTVBUYWJzR3JvdXA+XG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2tleWJvYXJkSGludCB8fCAnJ30+XG4gICAgICAgICAgICA8U0NNUEtleWJvYXJkSGludD5cbiAgICAgICAgICAgICAgPEluZm9ybWF0aW9uQ2lyY2xlIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gY29sb3I9XCIjODA4MDgwXCIgLz5cbiAgICAgICAgICAgIDwvU0NNUEtleWJvYXJkSGludD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NNUFRhYnNSb3c+XG4gICAgICAgIDxTQ01QRGl2aWRlcldyYXBwZXI+XG4gICAgICAgICAgPFNDTVBEaXZpZGVyIC8+XG4gICAgICAgIDwvU0NNUERpdmlkZXJXcmFwcGVyPlxuICAgICAgICB7cmVuZGVyQm9keSgpfVxuICAgICAgPC9TQ01QQ29udGFpbmVyPlxuICAgIClcbiAgfVxuKVxuXG5Db250ZXh0TWVudGlvblBvcG92ZXIuZGlzcGxheU5hbWUgPSAnQ29udGV4dE1lbnRpb25Qb3BvdmVyJ1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBd0JBLFVBQVUsRUFBRUMsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNwRyxTQUFTQyxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyw4QkFBOEIsUUFBUSwyQkFBMkI7QUFDMUUsU0FBU0MsSUFBSSxRQUFRLHFCQUFxQjtBQUUxQyxTQUFTQyxtQkFBbUIsUUFBUSx1Q0FBdUM7QUFDM0UsU0FBU0Msa0JBQWtCLFFBQVEsdUJBQXVCO0FBQzFELFNBQVNDLE1BQU0sUUFBUSxXQUFXO0FBQ2xDLFNBQ0VDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxrQkFBa0IsRUFDbEJDLGdCQUFnQixFQUNoQkMsY0FBYyxFQUNkQyxnQkFBZ0IsRUFDaEJDLFFBQVEsRUFDUkMsZ0JBQWdCLEVBQ2hCQyxnQkFBZ0IsRUFDaEJDLE9BQU8sRUFDUEMsYUFBYSxFQUNiQyxXQUFXLEVBQ1hDLGVBQWUsUUFDVixnQ0FBZ0M7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBeUJ2QyxJQUFNQyxhQUFnRCxHQUFHO0VBQ3ZEQyxNQUFNLEVBQUUsNEJBQTRCO0VBQ3BDQyxPQUFPLEVBQUUsNkJBQTZCO0VBQ3RDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxJQUFJLEVBQUUsMEJBQTBCO0VBQ2hDQyxHQUFHLEVBQUUseUJBQXlCO0VBQzlCQyxLQUFLLEVBQUU7QUFDVCxDQUFDO0FBRUQsSUFBTUMsYUFBZ0QsR0FBRztFQUN2RE4sTUFBTSxFQUFFLFNBQVM7RUFDakJDLE9BQU8sRUFBRSxVQUFVO0VBQ25CQyxJQUFJLEVBQUUsT0FBTztFQUNiQyxJQUFJLEVBQUUsU0FBUztFQUNmQyxHQUFHLEVBQUUsWUFBWTtFQUNqQkMsS0FBSyxFQUFFO0FBQ1QsQ0FBQztBQUVELE9BQU8sSUFBTUUscUJBQXFCLGdCQUFHdEMsVUFBVSxDQUM3QyxVQUFBdUMsSUFBQSxFQXNCRUMsR0FBRyxFQUNBO0VBQUEsSUFyQkRDLFlBQVksR0FBQUYsSUFBQSxDQUFaRSxZQUFZO0lBQ1pDLFVBQVUsR0FBQUgsSUFBQSxDQUFWRyxVQUFVO0lBQ1ZDLFlBQVksR0FBQUosSUFBQSxDQUFaSSxZQUFZO0lBQ1pDLEtBQUssR0FBQUwsSUFBQSxDQUFMSyxLQUFLO0lBQ0xDLE9BQU8sR0FBQU4sSUFBQSxDQUFQTSxPQUFPO0lBQ1BDLEtBQUssR0FBQVAsSUFBQSxDQUFMTyxLQUFLO0lBQ0xDLGdCQUFnQixHQUFBUixJQUFBLENBQWhCUSxnQkFBZ0I7SUFBQUMscUJBQUEsR0FBQVQsSUFBQSxDQUNoQlUsa0JBQWtCO0lBQWxCQSxrQkFBa0IsR0FBQUQscUJBQUEsY0FBRyxLQUFLLEdBQUFBLHFCQUFBO0lBQzFCRSxPQUFPLEdBQUFYLElBQUEsQ0FBUFcsT0FBTztJQUNQQyxhQUFhLEdBQUFaLElBQUEsQ0FBYlksYUFBYTtJQUNiQyxjQUFjLEdBQUFiLElBQUEsQ0FBZGEsY0FBYztJQUNkQyxXQUFXLEdBQUFkLElBQUEsQ0FBWGMsV0FBVztJQUNYQyxjQUFjLEdBQUFmLElBQUEsQ0FBZGUsY0FBYztJQUNEQyxlQUFlLEdBQUFoQixJQUFBLENBQTVCaUIsV0FBVztJQUNYQyxtQkFBbUIsR0FBQWxCLElBQUEsQ0FBbkJrQixtQkFBbUI7SUFDbkJDLG1CQUFtQixHQUFBbkIsSUFBQSxDQUFuQm1CLG1CQUFtQjtJQUNuQkMsaUJBQWlCLEdBQUFwQixJQUFBLENBQWpCb0IsaUJBQWlCO0lBQ2pCQyxLQUFLLEdBQUFyQixJQUFBLENBQUxxQixLQUFLO0lBQ0xDLFlBQVksR0FBQXRCLElBQUEsQ0FBWnNCLFlBQVk7RUFJZCxJQUFBQyxLQUFBLEdBQWNyRCxJQUFJLENBQUMsQ0FBQztJQUFac0QsQ0FBQyxHQUFBRCxLQUFBLENBQURDLENBQUM7RUFDVCxJQUFBQyxTQUFBLEdBQTBDM0QsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUFBNEQsVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBOUNHLGFBQWEsR0FBQUYsVUFBQTtJQUFFRyxnQkFBZ0IsR0FBQUgsVUFBQTtFQUN0QyxJQUFNVCxXQUFXLEdBQUdELGVBQWUsYUFBZkEsZUFBZSxjQUFmQSxlQUFlLEdBQUlZLGFBQWE7RUFDcEQsSUFBTUUsT0FBTyxHQUFHakUsTUFBTSxDQUFpQixJQUFJLENBQUM7RUFFNUMsSUFBTWtFLGlCQUFpQixHQUFHckUsV0FBVyxDQUNuQyxVQUFDc0UsR0FBVyxFQUFLO0lBQ2YsSUFBSWQsbUJBQW1CLEVBQUVBLG1CQUFtQixDQUFDYyxHQUFHLENBQUMsTUFDNUNILGdCQUFnQixDQUFDRyxHQUFHLENBQUM7RUFDNUIsQ0FBQyxFQUNELENBQUNkLG1CQUFtQixDQUN0QixDQUFDOztFQUVEO0VBQ0EsSUFBTWUsb0JBQW9CLEdBQUdwRSxNQUFNLENBQUMsS0FBSyxDQUFDO0VBQzFDRixTQUFTLENBQUMsWUFBTTtJQUNkLE9BQU8sWUFBTTtNQUNYc0Usb0JBQW9CLENBQUNDLE9BQU8sR0FBR3RCLGFBQWEsYUFBYkEsYUFBYSxjQUFiQSxhQUFhLEdBQUksS0FBSztJQUN2RCxDQUFDO0VBQ0gsQ0FBQyxFQUFFLENBQUNBLGFBQWEsQ0FBQyxDQUFDO0VBRW5CakQsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJc0Usb0JBQW9CLENBQUNDLE9BQU8sRUFBRTtJQUNsQ0gsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0VBQ3RCLENBQUMsRUFBRSxDQUFDNUIsVUFBVSxFQUFFRSxLQUFLLENBQUM4QixNQUFNLEVBQUVKLGlCQUFpQixDQUFDLENBQUM7RUFFakRwRSxTQUFTLENBQUMsWUFBTTtJQUFBLElBQUF5RSxvQkFBQTtJQUNkLElBQU1DLE1BQU0sR0FBR1AsT0FBTyxDQUFDSSxPQUFPO0lBQzlCLElBQUksQ0FBQ0csTUFBTSxJQUFJaEMsS0FBSyxDQUFDOEIsTUFBTSxLQUFLLENBQUMsRUFBRTtJQUNuQyxJQUFNRyxPQUFPLEdBQUdELE1BQU0sQ0FBQ0UsZ0JBQWdCLENBQUMscUJBQXFCLENBQUM7SUFDOUQsQ0FBQUgsb0JBQUEsR0FBQUUsT0FBTyxDQUFDckIsV0FBVyxDQUFDLGNBQUFtQixvQkFBQSxlQUFwQkEsb0JBQUEsQ0FBc0JJLGNBQWMsQ0FBQztNQUFFQyxLQUFLLEVBQUU7SUFBVSxDQUFDLENBQUM7RUFDNUQsQ0FBQyxFQUFFLENBQUN4QixXQUFXLEVBQUVaLEtBQUssQ0FBQzhCLE1BQU0sQ0FBQyxDQUFDO0VBRS9CLElBQU1PLFlBQVksR0FBRzlFLE9BQU8sQ0FBQyxZQUFNO0lBQ2pDLElBQUl1QyxVQUFVLEtBQUssT0FBTyxFQUFFO01BQzFCLElBQUlXLFdBQVcsQ0FBQzZCLElBQUksQ0FBQyxDQUFDLEVBQUU7UUFDdEIsT0FBT25CLENBQUMsQ0FBQyxxQ0FBcUMsRUFBRTtVQUM5Q29CLEtBQUssRUFBRTlCO1FBQ1QsQ0FBQyxDQUFDO01BQ0o7TUFDQSxPQUFPVSxDQUFDLENBQUMsbUNBQW1DLENBQUM7SUFDL0M7SUFDQSxJQUFJVixXQUFXLENBQUM2QixJQUFJLENBQUMsQ0FBQyxFQUFFO01BQ3RCLE9BQU9uQixDQUFDLENBQUMsZ0NBQWdDLEVBQUU7UUFDekNvQixLQUFLLEVBQUU5QixXQUFXO1FBQ2xCK0IsWUFBWSw4QkFBQUMsTUFBQSxDQUE2QmhDLFdBQVc7TUFDdEQsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxPQUFPVSxDQUFDLENBQUMsOEJBQThCLEVBQUU7TUFBRXFCLFlBQVksRUFBRTtJQUFnQyxDQUFDLENBQUM7RUFDN0YsQ0FBQyxFQUFFLENBQUMxQyxVQUFVLEVBQUVXLFdBQVcsRUFBRVUsQ0FBQyxDQUFDLENBQUM7RUFFaEMsSUFBTXVCLGtCQUFrQixHQUN0QjVDLFVBQVUsS0FBSyxPQUFPLElBQ3RCLENBQUNPLGtCQUFrQixJQUNuQkksV0FBVyxDQUFDNkIsSUFBSSxDQUFDLENBQUMsQ0FBQ1IsTUFBTSxHQUFHLENBQUMsSUFDN0JyQixXQUFXLENBQUM2QixJQUFJLENBQUMsQ0FBQyxDQUFDUixNQUFNLEdBQUdsRSw4QkFBOEI7RUFFNUQsSUFBTStFLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFBLEVBQVM7SUFDdkIsSUFBSTFDLE9BQU8sRUFBRTtNQUNYLG9CQUFPbEIsSUFBQSxDQUFDUCxnQkFBZ0I7UUFBQW9FLFFBQUEsRUFBRXpCLENBQUMsQ0FBQyx3QkFBd0IsRUFBRTtVQUFFcUIsWUFBWSxFQUFFO1FBQWMsQ0FBQztNQUFDLENBQW1CLENBQUM7SUFDNUc7SUFDQSxJQUFJdEMsS0FBSyxFQUFFO01BQ1Qsb0JBQ0VuQixJQUFBLENBQUNQLGdCQUFnQjtRQUFBb0UsUUFBQSxFQUNkekIsQ0FBQyxDQUFDLHNCQUFzQixFQUFFO1VBQUVxQixZQUFZLEVBQUU7UUFBNkIsQ0FBQztNQUFDLENBQzFELENBQUM7SUFFdkI7SUFDQSxJQUFJRSxrQkFBa0IsRUFBRTtNQUN0QixvQkFBTzNELElBQUEsQ0FBQ1AsZ0JBQWdCO1FBQUFvRSxRQUFBLEVBQUV6QixDQUFDLENBQUMsbUNBQW1DO01BQUMsQ0FBbUIsQ0FBQztJQUN0RjtJQUNBLElBQUluQixLQUFLLENBQUM4QixNQUFNLEtBQUssQ0FBQyxFQUFFO01BQ3RCLG9CQUFPL0MsSUFBQSxDQUFDUCxnQkFBZ0I7UUFBQW9FLFFBQUEsRUFBRVA7TUFBWSxDQUFtQixDQUFDO0lBQzVEO0lBQ0Esb0JBQ0VwRCxLQUFBLENBQUNWLFFBQVE7TUFDUHFCLEdBQUcsRUFBRTZCLE9BQVE7TUFDYixxQkFBbUJYLG1CQUFtQixJQUFJK0IsU0FBVTtNQUNwREMsV0FBVyxFQUFFL0IsaUJBQWtCO01BQy9CZ0MsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUVDLENBQUMsRUFBSTtRQUNiLElBQUksQ0FBQ3hDLGNBQWMsSUFBSSxDQUFDRixPQUFPLElBQUlDLGFBQWEsRUFBRTtRQUNsRCxJQUFNMEMsRUFBRSxHQUFHRCxDQUFDLENBQUNFLGFBQWE7UUFDMUIsSUFBTUMsU0FBUyxHQUFHLEVBQUU7UUFDcEIsSUFBTUMsVUFBVSxHQUFHSCxFQUFFLENBQUNJLFNBQVMsR0FBR0osRUFBRSxDQUFDSyxZQUFZLElBQUlMLEVBQUUsQ0FBQ00sWUFBWSxHQUFHSixTQUFTO1FBQ2hGLElBQUlDLFVBQVUsRUFBRTtVQUNkNUMsY0FBYyxDQUFDLENBQUM7UUFDbEI7TUFDRixDQUFFO01BQUFvQyxRQUFBLEdBRUQsQ0FBQ25DLFdBQVcsQ0FBQzZCLElBQUksQ0FBQyxDQUFDLElBQUl4QyxVQUFVLEtBQUssTUFBTSxJQUFJLENBQUNLLGdCQUFnQixnQkFDaEVwQixJQUFBLENBQUNWLGNBQWM7UUFBQXVFLFFBQUEsZUFDYjdELElBQUEsQ0FBQ1QsZ0JBQWdCO1VBQUFzRSxRQUFBLGVBQ2Y3RCxJQUFBLENBQUNYLGdCQUFnQjtZQUFBd0UsUUFBQSxFQUFFekIsQ0FBQyxDQUFDLDZCQUE2QixFQUFFO2NBQUVxQixZQUFZLEVBQUU7WUFBWSxDQUFDO1VBQUMsQ0FBbUI7UUFBQyxDQUN0RjtNQUFDLENBQ0wsQ0FBQyxHQUNmLElBQUksRUFDUHhDLEtBQUssQ0FBQ3dELEdBQUcsQ0FBQyxVQUFDQyxJQUFJLEVBQUU5QixHQUFHO1FBQUEsb0JBQ25CNUMsSUFBQTtVQUFxQyx5QkFBaUI7VUFBQ2lDLEtBQUssRUFBRTtZQUFFMEMsS0FBSyxFQUFFO1VBQU8sQ0FBRTtVQUFBZCxRQUFBLGVBQzlFN0QsSUFBQSxDQUFDaEIsa0JBQWtCO1lBQ2pCMEYsSUFBSSxFQUFFQSxJQUFLO1lBQ1hFLE1BQU0sRUFBRWhDLEdBQUcsS0FBS2YsV0FBWTtZQUM1QmdELFFBQVEsRUFBRWxELGNBQWU7WUFDekJtRCxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO2NBQ2IsSUFBSSxDQUFDL0MsbUJBQW1CLEVBQUVZLGlCQUFpQixDQUFDQyxHQUFHLENBQUM7WUFDbEQ7VUFBRSxDQUNIO1FBQUMsTUFBQWMsTUFBQSxDQVJTZ0IsSUFBSSxDQUFDSyxJQUFJLE9BQUFyQixNQUFBLENBQUlnQixJQUFJLENBQUNNLEVBQUUsQ0FTNUIsQ0FBQztNQUFBLENBQ1AsQ0FBQyxFQUNEeEQsYUFBYSxnQkFDWnhCLElBQUEsQ0FBQ0YsZUFBZTtRQUFBK0QsUUFBQSxlQUNkN0QsSUFBQSxDQUFDZixNQUFNO1VBQUNnRyxJQUFJLEVBQUM7UUFBTyxDQUFFO01BQUMsQ0FDUixDQUFDLEdBQ2hCLElBQUk7SUFBQSxDQUNBLENBQUM7RUFFZixDQUFDO0VBRUQsb0JBQ0UvRSxLQUFBLENBQUNoQixhQUFhO0lBQ1oyQixHQUFHLEVBQUVBLEdBQUk7SUFDVG9CLEtBQUssRUFBRUEsS0FBTTtJQUNiaUQsSUFBSSxFQUFDLFNBQVM7SUFDZCxjQUFXLHdCQUF3QjtJQUNuQ0MsV0FBVyxFQUFFLFNBQWJBLFdBQVdBLENBQUVsQixDQUFDO01BQUEsT0FBSUEsQ0FBQyxDQUFDbUIsZUFBZSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQUF2QixRQUFBLGdCQUV0QzNELEtBQUEsQ0FBQ0wsV0FBVztNQUFBZ0UsUUFBQSxnQkFDVjdELElBQUEsQ0FBQ0osYUFBYTtRQUFBaUUsUUFBQSxFQUNYL0MsWUFBWSxDQUFDMkQsR0FBRyxDQUFDLFVBQUFNLElBQUksRUFBSTtVQUN4QixJQUFNTSxLQUFLLEdBQUdqRCxDQUFDLENBQUNqQyxhQUFhLENBQUM0RSxJQUFJLENBQUMsRUFBRTtZQUFFdEIsWUFBWSxFQUFFL0MsYUFBYSxDQUFDcUUsSUFBSTtVQUFFLENBQUMsQ0FBQztVQUMzRSxJQUFNTyxRQUFRLEdBQUd2RyxtQkFBbUIsQ0FBQ2dHLElBQUksQ0FBQztVQUMxQyxvQkFDRTdFLEtBQUEsQ0FBQ1AsT0FBTztZQUVOb0YsSUFBSSxFQUFDLFFBQVE7WUFDYixpQkFBQXJCLE1BQUEsQ0FBZTRCLFFBQVEsT0FBQTVCLE1BQUEsQ0FBSTJCLEtBQUssQ0FBRztZQUNuQ0UsT0FBTyxFQUFFUixJQUFJLEtBQUtoRSxVQUFXO1lBQzdCb0UsV0FBVyxFQUFFLFNBQWJBLFdBQVdBLENBQUVsQixDQUFDLEVBQUk7Y0FDaEJBLENBQUMsQ0FBQ3VCLGNBQWMsQ0FBQyxDQUFDO2NBQ2xCdkIsQ0FBQyxDQUFDbUIsZUFBZSxDQUFDLENBQUM7Y0FDbkJwRSxZQUFZLENBQUMrRCxJQUFJLENBQUM7WUFDcEIsQ0FBRTtZQUFBbEIsUUFBQSxHQUVEeUIsUUFBUSxFQUNSRCxLQUFLO1VBQUEsR0FYRE4sSUFZRSxDQUFDO1FBRWQsQ0FBQztNQUFDLENBQ1csQ0FBQyxlQUNoQi9FLElBQUEsQ0FBQ3BCLE9BQU87UUFBQzZHLEtBQUssRUFBRXZELFlBQVksSUFBSSxFQUFHO1FBQUEyQixRQUFBLGVBQ2pDN0QsSUFBQSxDQUFDTixnQkFBZ0I7VUFBQW1FLFFBQUEsZUFDZjdELElBQUEsQ0FBQ3JCLGlCQUFpQjtZQUFDZ0csS0FBSyxFQUFFLEVBQUc7WUFBQ2UsTUFBTSxFQUFFLEVBQUc7WUFBQ0MsS0FBSyxFQUFDO1VBQVMsQ0FBRTtRQUFDLENBQzVDO01BQUMsQ0FDWixDQUFDO0lBQUEsQ0FDQyxDQUFDLGVBQ2QzRixJQUFBLENBQUNaLGtCQUFrQjtNQUFBeUUsUUFBQSxlQUNqQjdELElBQUEsQ0FBQ2IsV0FBVyxJQUFFO0lBQUMsQ0FDRyxDQUFDLEVBQ3BCeUUsVUFBVSxDQUFDLENBQUM7RUFBQSxDQUNBLENBQUM7QUFFcEIsQ0FDRixDQUFDO0FBRURqRCxxQkFBcUIsQ0FBQ2lGLFdBQVcsR0FBRyx1QkFBdUIiLCJpZ25vcmVMaXN0IjpbXX0=