@promptbook/components 0.101.0-15 → 0.101.0-16

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 (25) hide show
  1. package/esm/index.es.js +256 -44
  2. package/esm/index.es.js.map +1 -1
  3. package/esm/typings/src/_packages/components.index.d.ts +4 -0
  4. package/esm/typings/src/_packages/core.index.d.ts +2 -0
  5. package/esm/typings/src/_packages/types.index.d.ts +2 -0
  6. package/esm/typings/src/book-2.0/agent-source/AgentModelRequirements.d.ts +3 -0
  7. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirements.d.ts +0 -20
  8. package/esm/typings/src/book-2.0/agent-source/createAgentModelRequirementsWithCommitments.d.ts +1 -26
  9. package/esm/typings/src/book-2.0/commitments/MODEL/MODEL.d.ts +23 -2
  10. package/esm/typings/src/book-2.0/commitments/NOTE/NOTE.d.ts +14 -2
  11. package/esm/typings/src/book-2.0/commitments/index.d.ts +1 -1
  12. package/esm/typings/src/book-components/BookEditor/BookEditor.d.ts +5 -0
  13. package/esm/typings/src/book-components/BookEditor/BookEditorInner.d.ts +1 -0
  14. package/esm/typings/src/book-components/Chat/utils/parseMessageButtons.d.ts +22 -0
  15. package/esm/typings/src/formats/csv/CsvFormatError.d.ts +1 -1
  16. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsConfigurationFromEnv.d.ts +1 -1
  17. package/esm/typings/src/llm-providers/_common/register/$provideLlmToolsForTestingAndScriptsAndPlayground.d.ts +1 -1
  18. package/esm/typings/src/remote-server/openapi-types.d.ts +31 -31
  19. package/esm/typings/src/types/ModelRequirements.d.ts +2 -4
  20. package/esm/typings/src/utils/color/utils/colorSaturation.d.ts +1 -1
  21. package/esm/typings/src/utils/editable/edit-pipeline-string/addPipelineCommand.d.ts +1 -1
  22. package/esm/typings/src/version.d.ts +1 -1
  23. package/package.json +1 -1
  24. package/umd/index.umd.js +256 -43
  25. package/umd/index.umd.js.map +1 -1
package/esm/index.es.js CHANGED
@@ -21,7 +21,7 @@ const BOOK_LANGUAGE_VERSION = '1.0.0';
21
21
  * @generated
22
22
  * @see https://github.com/webgptorg/promptbook
23
23
  */
24
- const PROMPTBOOK_ENGINE_VERSION = '0.101.0-15';
24
+ const PROMPTBOOK_ENGINE_VERSION = '0.101.0-16';
25
25
  /**
26
26
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
27
27
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -2010,16 +2010,25 @@ new MetaCommitmentDefinition();
2010
2010
  * MODEL commitment definition
2011
2011
  *
2012
2012
  * The MODEL commitment specifies which AI model to use and can also set
2013
- * model-specific parameters like temperature, topP, and topK.
2013
+ * model-specific parameters like temperature, topP, topK, and maxTokens.
2014
2014
  *
2015
- * Example usage in agent source:
2015
+ * Supports multiple syntax variations:
2016
2016
  *
2017
+ * Single-line format:
2017
2018
  * ```book
2018
2019
  * MODEL gpt-4
2019
2020
  * MODEL claude-3-opus temperature=0.3
2020
2021
  * MODEL gpt-3.5-turbo temperature=0.8 topP=0.9
2021
2022
  * ```
2022
2023
  *
2024
+ * Multi-line named parameter format:
2025
+ * ```book
2026
+ * MODEL NAME gpt-4
2027
+ * MODEL TEMPERATURE 0.7
2028
+ * MODEL TOP_P 0.9
2029
+ * MODEL MAX_TOKENS 2048
2030
+ * ```
2031
+ *
2023
2032
  * @private [🪔] Maybe export the commitments through some package
2024
2033
  */
2025
2034
  class ModelCommitmentDefinition extends BaseCommitmentDefinition {
@@ -2030,7 +2039,7 @@ class ModelCommitmentDefinition extends BaseCommitmentDefinition {
2030
2039
  * Short one-line description of MODEL.
2031
2040
  */
2032
2041
  get description() {
2033
- return 'Select the AI model and optional decoding parameters.';
2042
+ return 'Enforce AI model requirements including name and technical parameters.';
2034
2043
  }
2035
2044
  /**
2036
2045
  * Markdown documentation for MODEL commitment.
@@ -2039,59 +2048,163 @@ class ModelCommitmentDefinition extends BaseCommitmentDefinition {
2039
2048
  return spaceTrim$1(`
2040
2049
  # ${this.type}
2041
2050
 
2042
- Specifies which AI model to use and optional decoding parameters.
2051
+ Enforces technical parameters for the AI model, ensuring consistent behavior across different execution environments.
2043
2052
 
2044
2053
  ## Key behaviors
2045
2054
 
2046
- - Only one \`MODEL\` or \`MODELS\` commitment should be used per agent.
2047
- - Both terms work identically and can be used interchangeably.
2048
- - If multiple are specified, the last one takes precedence.
2049
- - Parameters control the randomness and creativity of responses.
2055
+ - When no \`MODEL\` commitment is specified, the best model requirement is picked automatically based on the agent \`PERSONA\`, \`KNOWLEDGE\`, \`TOOLS\` and other commitments
2056
+ - Multiple \`MODEL\` commitments can be used to specify different parameters
2057
+ - Both \`MODEL\` and \`MODELS\` terms work identically and can be used interchangeably
2058
+ - Parameters control the randomness, creativity, and technical aspects of model responses
2059
+
2060
+ ## Syntax variations
2061
+
2062
+ ### Single-line format (legacy support)
2063
+ \`\`\`book
2064
+ MODEL gpt-4
2065
+ MODEL claude-3-opus temperature=0.3
2066
+ MODEL gpt-3.5-turbo temperature=0.8 topP=0.9
2067
+ \`\`\`
2068
+
2069
+ ### Multi-line named parameter format (recommended)
2070
+ \`\`\`book
2071
+ MODEL NAME gpt-4
2072
+ MODEL TEMPERATURE 0.7
2073
+ MODEL TOP_P 0.9
2074
+ MODEL MAX_TOKENS 2048
2075
+ \`\`\`
2050
2076
 
2051
2077
  ## Supported parameters
2052
2078
 
2053
- - \`temperature\`: Controls randomness (0.0 = deterministic, 1.0+ = creative)
2054
- - \`topP\` (aka \`top_p\`): Nucleus sampling parameter
2055
- - \`topK\` (aka \`top_k\`): Top-k sampling parameter
2079
+ - \`NAME\`: The specific model to use (e.g., 'gpt-4', 'claude-3-opus')
2080
+ - \`TEMPERATURE\`: Controls randomness (0.0 = deterministic, 1.0+ = creative)
2081
+ - \`TOP_P\`: Nucleus sampling parameter for controlling diversity
2082
+ - \`TOP_K\`: Top-k sampling parameter for limiting vocabulary
2083
+ - \`MAX_TOKENS\`: Maximum number of tokens the model can generate
2056
2084
 
2057
2085
  ## Examples
2058
2086
 
2087
+ ### Precise deterministic assistant
2059
2088
  \`\`\`book
2060
2089
  Precise Assistant
2061
2090
 
2062
2091
  PERSONA You are a precise and accurate assistant
2063
- MODEL gpt-4 temperature=0.1
2092
+ MODEL NAME gpt-4
2093
+ MODEL TEMPERATURE 0.1
2094
+ MODEL MAX_TOKENS 1024
2064
2095
  RULE Always provide factual information
2065
2096
  \`\`\`
2066
2097
 
2098
+ ### Creative writing assistant
2067
2099
  \`\`\`book
2068
2100
  Creative Writer
2069
2101
 
2070
2102
  PERSONA You are a creative writing assistant
2071
- MODEL claude-3-opus temperature=0.8 topP=0.9
2103
+ MODEL NAME claude-3-opus
2104
+ MODEL TEMPERATURE 0.8
2105
+ MODEL TOP_P 0.9
2106
+ MODEL MAX_TOKENS 2048
2072
2107
  STYLE Be imaginative and expressive
2073
2108
  ACTION Can help with storytelling and character development
2074
2109
  \`\`\`
2110
+
2111
+ ### Balanced conversational agent
2112
+ \`\`\`book
2113
+ Balanced Assistant
2114
+
2115
+ PERSONA You are a helpful and balanced assistant
2116
+ MODEL NAME gpt-4
2117
+ MODEL TEMPERATURE 0.7
2118
+ MODEL TOP_P 0.95
2119
+ MODEL TOP_K 40
2120
+ MODEL MAX_TOKENS 1500
2121
+ \`\`\`
2075
2122
  `);
2076
2123
  }
2077
2124
  applyToAgentModelRequirements(requirements, content) {
2125
+ var _a;
2078
2126
  const trimmedContent = content.trim();
2079
2127
  if (!trimmedContent) {
2080
2128
  return requirements;
2081
2129
  }
2082
- // Parse the model specification
2083
2130
  const parts = trimmedContent.split(/\s+/);
2131
+ const firstPart = (_a = parts[0]) === null || _a === void 0 ? void 0 : _a.toUpperCase();
2132
+ // Check if this is the new named parameter format
2133
+ if (this.isNamedParameter(firstPart)) {
2134
+ return this.parseNamedParameter(requirements, firstPart, parts.slice(1));
2135
+ }
2136
+ else {
2137
+ // Legacy single-line format: "MODEL gpt-4 temperature=0.3 topP=0.9"
2138
+ return this.parseLegacyFormat(requirements, parts);
2139
+ }
2140
+ }
2141
+ /**
2142
+ * Check if the first part is a known named parameter
2143
+ */
2144
+ isNamedParameter(part) {
2145
+ if (!part)
2146
+ return false;
2147
+ const knownParams = ['NAME', 'TEMPERATURE', 'TOP_P', 'TOP_K', 'MAX_TOKENS'];
2148
+ return knownParams.includes(part);
2149
+ }
2150
+ /**
2151
+ * Parse the new named parameter format: "MODEL TEMPERATURE 0.7"
2152
+ */
2153
+ parseNamedParameter(requirements, parameterName, valueParts) {
2154
+ const value = valueParts.join(' ').trim();
2155
+ if (!value) {
2156
+ return requirements;
2157
+ }
2158
+ const result = { ...requirements };
2159
+ switch (parameterName) {
2160
+ case 'NAME':
2161
+ result.modelName = value;
2162
+ break;
2163
+ case 'TEMPERATURE': {
2164
+ const temperature = parseFloat(value);
2165
+ if (!isNaN(temperature)) {
2166
+ result.temperature = temperature;
2167
+ }
2168
+ break;
2169
+ }
2170
+ case 'TOP_P': {
2171
+ const topP = parseFloat(value);
2172
+ if (!isNaN(topP)) {
2173
+ result.topP = topP;
2174
+ }
2175
+ break;
2176
+ }
2177
+ case 'TOP_K': {
2178
+ const topK = parseFloat(value);
2179
+ if (!isNaN(topK)) {
2180
+ result.topK = Math.round(topK);
2181
+ }
2182
+ break;
2183
+ }
2184
+ case 'MAX_TOKENS': {
2185
+ const maxTokens = parseFloat(value);
2186
+ if (!isNaN(maxTokens)) {
2187
+ result.maxTokens = Math.round(maxTokens);
2188
+ }
2189
+ break;
2190
+ }
2191
+ }
2192
+ return result;
2193
+ }
2194
+ /**
2195
+ * Parse the legacy format: "MODEL gpt-4 temperature=0.3 topP=0.9"
2196
+ */
2197
+ parseLegacyFormat(requirements, parts) {
2084
2198
  const modelName = parts[0];
2085
2199
  if (!modelName) {
2086
2200
  return requirements;
2087
2201
  }
2088
2202
  // Start with the model name
2089
- const updatedRequirements = {
2203
+ const result = {
2090
2204
  ...requirements,
2091
2205
  modelName,
2092
2206
  };
2093
- // Parse additional parameters
2094
- const result = { ...updatedRequirements };
2207
+ // Parse additional key=value parameters
2095
2208
  for (let i = 1; i < parts.length; i++) {
2096
2209
  const param = parts[i];
2097
2210
  if (param && param.includes('=')) {
@@ -2111,6 +2224,10 @@ class ModelCommitmentDefinition extends BaseCommitmentDefinition {
2111
2224
  case 'top_k':
2112
2225
  result.topK = Math.round(numValue);
2113
2226
  break;
2227
+ case 'max_tokens':
2228
+ case 'maxTokens':
2229
+ result.maxTokens = Math.round(numValue);
2230
+ break;
2114
2231
  }
2115
2232
  }
2116
2233
  }
@@ -2183,8 +2300,8 @@ class NoteCommitmentDefinition extends BaseCommitmentDefinition {
2183
2300
  ## Key behaviors
2184
2301
 
2185
2302
  - Does not modify the agent's behavior or responses.
2186
- - Multiple \`NOTE\` and \`NOTES\` commitments are aggregated for debugging.
2187
- - Both terms work identically and can be used interchangeably.
2303
+ - Multiple \`NOTE\`, \`NOTES\`, \`COMMENT\`, and \`NONCE\` commitments are aggregated for debugging.
2304
+ - All four terms work identically and can be used interchangeably.
2188
2305
  - Useful for documenting design decisions and reminders.
2189
2306
  - Content is preserved in metadata for inspection.
2190
2307
 
@@ -2194,7 +2311,7 @@ class NoteCommitmentDefinition extends BaseCommitmentDefinition {
2194
2311
  Customer Support Bot
2195
2312
 
2196
2313
  NOTE This agent was designed for customer support scenarios
2197
- NOTE Remember to update the knowledge base monthly
2314
+ COMMENT Remember to update the knowledge base monthly
2198
2315
  PERSONA You are a helpful customer support representative
2199
2316
  KNOWLEDGE Company policies and procedures
2200
2317
  RULE Always be polite and professional
@@ -2203,7 +2320,7 @@ class NoteCommitmentDefinition extends BaseCommitmentDefinition {
2203
2320
  \`\`\`book
2204
2321
  Research Assistant
2205
2322
 
2206
- NOTE Performance optimized for quick response times
2323
+ NONCE Performance optimized for quick response times
2207
2324
  NOTE Uses RAG for accessing latest research papers
2208
2325
  PERSONA You are a knowledgeable research assistant
2209
2326
  ACTION Can help with literature reviews and citations
@@ -2248,6 +2365,18 @@ new NoteCommitmentDefinition('NOTE');
2248
2365
  * @private [🪔] Maybe export the commitments through some package
2249
2366
  */
2250
2367
  new NoteCommitmentDefinition('NOTES');
2368
+ /**
2369
+ * Singleton instance of the COMMENT commitment definition
2370
+ *
2371
+ * @private [🪔] Maybe export the commitments through some package
2372
+ */
2373
+ new NoteCommitmentDefinition('COMMENT');
2374
+ /**
2375
+ * Singleton instance of the NONCE commitment definition
2376
+ *
2377
+ * @private [🪔] Maybe export the commitments through some package
2378
+ */
2379
+ new NoteCommitmentDefinition('NONCE');
2251
2380
  /**
2252
2381
  * [💞] Ignore a discrepancy between file name and entity name
2253
2382
  */
@@ -2885,6 +3014,8 @@ const COMMITMENT_REGISTRY = [
2885
3014
  new MetaCommitmentDefinition(),
2886
3015
  new NoteCommitmentDefinition('NOTE'),
2887
3016
  new NoteCommitmentDefinition('NOTES'),
3017
+ new NoteCommitmentDefinition('COMMENT'),
3018
+ new NoteCommitmentDefinition('NONCE'),
2888
3019
  new GoalCommitmentDefinition('GOAL'),
2889
3020
  new GoalCommitmentDefinition('GOALS'),
2890
3021
  new MessageCommitmentDefinition('MESSAGE'),
@@ -3060,7 +3191,7 @@ function parseParameters(text) {
3060
3191
  });
3061
3192
  // Remove duplicates based on name (keep the first occurrence)
3062
3193
  const uniqueParameters = parameters.filter((param, index, array) => {
3063
- return array.findIndex(p => p.name === param.name) === index;
3194
+ return array.findIndex((p) => p.name === param.name) === index;
3064
3195
  });
3065
3196
  return uniqueParameters;
3066
3197
  }
@@ -3999,6 +4130,36 @@ const SendIcon = ({ size }) => (jsx("svg", { width: size, height: size, viewBox:
3999
4130
  */
4000
4131
  const TemplateIcon = ({ size }) => (jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M14,2H6A2,2 0 0,0 4,4V20A2,2 0 0,0 6,22H18A2,2 0 0,0 20,20V8L14,2M18,20H6V4H13V9H18V20Z" }) }));
4001
4132
 
4133
+ /**
4134
+ * Parses markdown buttons in the format [Button Text](?message=Message%20to%20send)
4135
+ * Returns both the content without buttons and the extracted buttons
4136
+ *
4137
+ * @param content The markdown content that may contain buttons
4138
+ * @returns Object with contentWithoutButtons and buttons array
4139
+ *
4140
+ * @public exported from `@promptbook/components`
4141
+ */
4142
+ function parseMessageButtons(content) {
4143
+ const buttonRegex = /\[([^\]]+)\]\(\?message=([^)]+)\)/g;
4144
+ const buttons = [];
4145
+ let match;
4146
+ // Extract all buttons
4147
+ while ((match = buttonRegex.exec(content)) !== null) {
4148
+ const [, text, encodedMessage] = match;
4149
+ if (text && encodedMessage) {
4150
+ // Decode URL-encoded message
4151
+ const message = decodeURIComponent(encodedMessage);
4152
+ buttons.push({ text, message });
4153
+ }
4154
+ }
4155
+ // Remove buttons from content
4156
+ const contentWithoutButtons = content.replace(buttonRegex, '').trim();
4157
+ return {
4158
+ contentWithoutButtons,
4159
+ buttons,
4160
+ };
4161
+ }
4162
+
4002
4163
  /**
4003
4164
  * Create a showdown converter instance optimized for chat messages
4004
4165
  *
@@ -4114,8 +4275,8 @@ function isMarkdownContent(content) {
4114
4275
  return markdownPatterns.some((pattern) => pattern.test(content));
4115
4276
  }
4116
4277
 
4117
- var css_248z$1 = ".Chat-module_Chat__j2eE5{display:flex;flex-direction:column}.Chat-module_Chat__j2eE5,.Chat-module_chatMainFlow__--8FE{background-color:var(--page-background-color);height:100%;width:100%}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;max-width:100vw}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:var(--modal-bar-background-color);border-bottom:1px solid var(--modal-border-color);color:var(--modal-bar-text-color);font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;width:auto;z-index:200}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}@media (max-width:900px){.Chat-module_resetButton__nUpAl{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_resetButton__nUpAl svg{height:18px!important;width:18px!important}.Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_resetButtonText__gqvX3{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background-color:var(--page-background-color);grid-area:💬;height:100%;overflow-x:hidden;overflow-y:auto;padding:24px 20px 16px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:6px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:hsla(0,0%,49%,.2);border-radius:3px;transition:background .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,49%,.3)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:row;margin-bottom:20px;max-width:100%;position:relative}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isPending__3zc8k{opacity:.7;position:relative}.Chat-module_isPending__3zc8k .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,49%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm img{background-color:var(--chat-avatar-background-color);border:2px solid hsla(0,0%,49%,.1);border-radius:50%;height:40px;object-fit:cover;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,var(--secondary-text-color) 0,hsla(0,0%,49%,.6) 100%);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:6px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;position:relative;width:40px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img{background-color:var(--chat-avatar-background-color);border:2px solid hsla(0,0%,49%,.1);border-radius:50%;height:40px;object-fit:cover;transition:transform .2s ease,box-shadow .2s ease;width:40px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{word-wrap:break-word;backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.1);font-size:15px;line-height:1.5;margin-bottom:4px;max-width:min(70%,600px);padding:14px 18px;position:relative;text-align:left;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-1px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{align-items:center;backdrop-filter:blur(20px);background:linear-gradient(to top,var(--page-background-color) 0,transparent 100%);border-top:1px solid hsla(0,0%,49%,.1);display:flex;flex-direction:row;gap:12px;grid-area:📝;justify-content:center;padding:20px;width:100%;z-index:10}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;backdrop-filter:blur(20px);background:hsla(0,0%,49%,.05);border-radius:25px;color:var(--primary-text-color);flex:1;font-size:15px;line-height:1.4;max-height:120px;min-width:200px;outline:none;padding:16px 20px;resize:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:focus{background:hsla(0,0%,49%,.08);border-color:var(--primary-color,#0084ff);box-shadow:0 0 0 4px rgba(0,132,255,.1),0 8px 32px rgba(0,132,255,.15);transform:translateY(-2px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:var(--secondary-text-color);opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;background:linear-gradient(135deg,var(--call-to-action-button-background-color) 0,#06c 100%);border:none;border-radius:50%!important;box-shadow:0 4px 16px rgba(0,132,255,.3);color:var(--call-to-action-button-text-color);display:flex;height:48px;justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;padding-left:unset;padding-right:unset;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;backdrop-filter:blur(3px);background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;pointer-events:all;touch-action:manipulation;transform:translate(-50%,-150%);transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottom__nzxdZ:hover{transform:translate(-50%,-160%) scale(1.05)}.Chat-module_scrollToBottom__nzxdZ:active{transform:translate(-50%,-160%) scale(.95);transition:transform .1s ease}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;backdrop-filter:blur(8px);background-color:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(8px);opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:var(--modal-content-background-color);border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:var(--modal-content-text-color);max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:var(--primary-text-color);font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:var(--textarea-text-color);font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:var(--primary-color,#0084ff);box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:var(--button-text-color)}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:var(--button-hover-text-color)}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,var(--call-to-action-button-background-color) 0,#06c 100%);color:var(--call-to-action-button-text-color)}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,var(--call-to-action-button-hover-background-color) 0,#0052a3 100%);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_resetButton__nUpAl{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(20px)!important;background:linear-gradient(135deg,#0084ff,#06c)!important;border:none!important;border-radius:20px!important;box-shadow:0 4px 16px rgba(0,132,255,.3)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-size:13px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;line-height:1.3!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:12px 16px!important;position:relative!important;touch-action:manipulation!important;transition:all .3s cubic-bezier(.25,.46,.45,.94)!important;user-select:none!important}.Chat-module_resetButton__nUpAl:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:\"\";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.Chat-module_resetButton__nUpAl:hover:before{left:100%}.Chat-module_resetButton__nUpAl:hover:not(:disabled){background:linear-gradient(135deg,#09f,#07d);box-shadow:0 8px 24px rgba(0,132,255,.4);transform:translateY(-2px) scale(1.02)}.Chat-module_resetButton__nUpAl:active{box-shadow:0 4px 16px rgba(0,132,255,.3);transform:scale(.98) translateY(-1px);transition:transform .1s ease}.Chat-module_resetButton__nUpAl:focus{box-shadow:0 4px 16px rgba(0,132,255,.3),0 0 0 3px rgba(0,132,255,.3);outline:none}.Chat-module_resetButton__nUpAl svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));flex-shrink:0;height:16px;opacity:1;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:16px}.Chat-module_resetButton__nUpAl:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:rotate(-90deg) scale(1.1)}.Chat-module_resetButtonText__gqvX3{font-weight:600;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.1);transition:all .2s ease;white-space:nowrap}.Chat-module_resetButton__nUpAl:hover .Chat-module_resetButtonText__gqvX3{transform:translateX(1px)}.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(20px)!important;background:linear-gradient(135deg,#0084ff,#06c)!important;border:none!important;border-radius:20px!important;box-shadow:0 4px 16px rgba(0,132,255,.3)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-size:13px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;line-height:1.3!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:12px 16px!important;position:relative!important;touch-action:manipulation!important;transition:all .3s cubic-bezier(.25,.46,.45,.94)!important;user-select:none!important}.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:\"\";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.Chat-module_useTemplateButton__xcJNR:hover:before{left:100%}.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(135deg,#09f,#07d);box-shadow:0 8px 24px rgba(0,132,255,.4);transform:translateY(-2px) scale(1.02)}.Chat-module_useTemplateButton__xcJNR:active{box-shadow:0 4px 16px rgba(0,132,255,.3);transform:scale(.98) translateY(-1px);transition:transform .1s ease}.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 4px 16px rgba(0,132,255,.3),0 0 0 3px rgba(0,132,255,.3);outline:none}.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));flex-shrink:0;height:16px;opacity:1;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:16px}.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:scale(1.1)}.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_resetButtonText__gqvX3{transform:translateX(1px)}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_ratingConfirmation__n16vb{word-wrap:break-word;animation:Chat-module_confirmationSlideIn__5U-wz .3s ease-out;backdrop-filter:blur(20px);background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 8px 32px rgba(16,185,129,.3);color:#fff;font-weight:500;max-width:300px;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:1001}@keyframes Chat-module_confirmationSlideIn__5U-wz{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 12px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;max-width:85%;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{height:36px;margin:0 10px 4px;width:36px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img{height:36px;width:36px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 12px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-radius:22px;font-size:16px;padding:14px 18px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{height:44px;width:44px}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_resetButton__nUpAl{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_resetButton__nUpAl svg{height:18px!important;width:18px!important}.Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}}@media (max-width:480px){.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;max-width:90%;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{height:32px;margin:0 8px 4px;width:32px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img{height:32px;width:32px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-radius:20px;font-size:16px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{height:40px;width:40px}.Chat-module_resetButton__nUpAl{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_resetButton__nUpAl svg{height:18px!important;width:18px!important}.Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_ratingConfirmation__n16vb,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ,.Chat-module_resetButton__nUpAl{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}\n/*# sourceMappingURL=data:application/json;base64,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Z0JBQ0osQ0FFQSxzRUFDSSxnQkFDSixDQUNKIiwiZmlsZSI6IkNoYXQubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5DaGF0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhZ2UtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5jaGF0TWFpbkZsb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgJ/Cfn6YnIG1pbi1jb250ZW50XG4gICAgICAgICfwn5KsJyAxZnJcbiAgICAgICAgJ/Cfk50nIG1pbi1jb250ZW50XG4gICAgICAgIC8gMWZyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhZ2UtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRCYXIge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgY29sb3I6IHZhcigtLW1vZGFsLWJhci10ZXh0LWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tb2RhbC1iYXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW1vZGFsLWJvcmRlci1jb2xvcik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5UYXNrc0luUHJvZ3Jlc3Mge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xuICAgIG1hcmdpbjogOHB4IDE2cHg7XG59XG5cbi5hY3Rpb25zIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xuICAgIG1hcmdpbjogMTZweCAyMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xufVxuXG4uYWN0aW9ucy5sZWZ0IHtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtc3RhcnQ7XG59XG5cbi5hY3Rpb25zLnJpZ2h0IHtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xufVxuXG4vKiBMYXJnZSB0YWJsZXQgYW5kIHNtYWxsIGRlc2t0b3Agc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLnJlc2V0QnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucmVzZXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJlc2V0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gLnJlc2V0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIE1lZGl1bSBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTRweCAxOHB4IDA7XG4gICAgICAgIGdhcDogN3B4O1xuICAgIH1cbn1cblxuLyogQ2hhdCBtZXNzYWdlcyBhcmVhICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgIGdyaWQtYXJlYTog8J+SrDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgcGFkZGluZzogMjRweCAyMHB4IDE2cHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGFnZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuLyogQ3VzdG9tIHNjcm9sbGJhciBzdHlsaW5nICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogNnB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xufVxuXG4vKiBJbmRpdmlkdWFsIGNoYXQgbWVzc2FnZSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlU2xpZGVJbiAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBrZXlmcmFtZXMgbWVzc2FnZVNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLmlzUGVuZGluZyB7XG4gICAgb3BhY2l0eTogMC43O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogRW5oYW5jZWQgbG9hZGluZyBzdGF0ZXMgZm9yIG1lc3NhZ2VzICovXG4uaXNQZW5kaW5nIC5tZXNzYWdlVGV4dDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDhweDtcbiAgICByaWdodDogMTJweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNiksIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYW5pbWF0aW9uOiBsb2FkaW5nUHVsc2UgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nUHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMik7XG4gICAgfVxufVxuXG4vKiBUeXBpbmcgaW5kaWNhdG9yIGZvciBBSSBtZXNzYWdlcyAqL1xuLnR5cGluZ0luZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VTbGlkZUluIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgMTJweCA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi50eXBpbmdJbmRpY2F0b3IgLmF2YXRhciBpbWcge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhdC1hdmF0YXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xufVxuXG4udHlwaW5nQnViYmxlIHtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xufVxuXG4udHlwaW5nRG90cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDRweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udHlwaW5nRG90IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcikgMCUsIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC42KSAxMDAlKTtcbiAgICBhbmltYXRpb246IHR5cGluZ0JvdW5jZSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbn1cblxuQGtleWZyYW1lcyB0eXBpbmdCb3VuY2Uge1xuICAgIDAlLFxuICAgIDgwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAubWVzc2FnZVRleHQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7XG59XG5cbi8qIFNlbmRlciBBdmF0YXIgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgMTJweCA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaGF0LWF2YXRhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLyogTWVzc2FnZSB0ZXh0IGJ1YmJsZSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTRweCAxOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgbWF4LXdpZHRoOiBtaW4oNzAlLCA2MDBweCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbn1cblxuLyogUmF0aW5nIHN5c3RlbSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLThweDtcbiAgICByaWdodDogOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAycHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0cHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2U6aG92ZXIgLnJhdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qIENoYXQgaW5wdXQgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBncmlkLWFyZWE6IPCfk507XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB2YXIoLS1wYWdlLWJhY2tncm91bmQtY29sb3IpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi8qIENoYXQgaW5wdXQgZmllbGQgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG5cbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktdGV4dC1jb2xvcik7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBtYXgtaGVpZ2h0OiAxMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yLCAjMDA4NGZmKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDgpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpLCAwIDhweCAzMnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcik7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBDaGF0IHNlbmQgYnV0dG9uICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNhbGwtdG8tYWN0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSAwJSwgIzAwNjZjYyAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY2FsbC10by1hY3Rpb24tYnV0dG9uLXRleHQtY29sb3IpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG5cbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24gaW1nIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiBTY3JvbGwgdG8gYm90dG9tIGJ1dHRvbiAqL1xuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIge1xuICAgIC8qL1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgcmVkO1xuICAgIC8qKi9cblxuICAgIHotaW5kZXg6IDIwO1xuICAgIGdyaWQtYXJlYTog8J+TnTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIgLnNjcm9sbFRvQm90dG9tIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTE1MCUpO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwIDAgMCAvIDAuNSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYW5pbWF0aW9uOiBzY3JvbGxCdXR0b25TbGlkZUluIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgc2Nyb2xsQnV0dG9uU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDIwcHgpIHNjYWxlKDAuOCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5zY3JvbGxUb0JvdHRvbTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTE2MCUpIHNjYWxlKDEuMDUpO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b206YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTYwJSkgc2NhbGUoMC45NSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLyogUmF0aW5nIG1vZGFsICovXG4ucmF0aW5nTW9kYWwge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGFuaW1hdGlvbjogbW9kYWxGYWRlSW4gMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBtb2RhbEZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgIH1cbn1cblxuLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbW9kYWwtY29udGVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tbW9kYWwtY29udGVudC10ZXh0LWNvbG9yKTtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgIGFuaW1hdGlvbjogbW9kYWxTbGlkZUluIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KSBzY2FsZSgwLjk1KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4ucmF0aW5nTW9kYWxDb250ZW50IGgzIHtcbiAgICBtYXJnaW46IDAgMCAyNHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnN0YXJzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uc3RhcnMgc3Bhbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMTUsIDAsIDAuMSk7XG59XG5cbi5yYXRpbmdJbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA1KTtcbiAgICBjb2xvcjogdmFyKC0tdGV4dGFyZWEtdGV4dC1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnJhdGluZ0lucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IsICMwMDg0ZmYpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wOCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMSk7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnJhdGluZ0lucHV0W3JlYWRvbmx5XSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wMSk7XG59XG5cbi5yYXRpbmdBY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b24ge1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1pbi13aWR0aDogODBweDtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi10ZXh0LWNvbG9yKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMik7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xuICAgIGNvbG9yOiB2YXIoLS1idXR0b24taG92ZXItdGV4dC1jb2xvcik7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCB2YXIoLS1jYWxsLXRvLWFjdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvcikgMCUsICMwMDY2Y2MgMTAwJSk7XG4gICAgY29sb3I6IHZhcigtLWNhbGwtdG8tYWN0aW9uLWJ1dHRvbi10ZXh0LWNvbG9yKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNhbGwtdG8tYWN0aW9uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKSAwJSwgIzAwNTJhMyAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8qIE5ldyBjaGF0IGJ1dHRvbiBzdHlsaW5nIC0gTWF0Y2hlcyB0aGUgc2xlZWsgY2hhdCBtZXNzYWdlIGRlc2lnbiAqL1xuLnJlc2V0QnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTJweCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODRmZiAwJSwgIzAwNjZjYyAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpICFpbXBvcnRhbnQ7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uICFpbXBvcnRhbnQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnJlc2V0QnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC41cyBlYXNlO1xufVxuXG4ucmVzZXRCdXR0b246aG92ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAwJTtcbn1cblxuLnJlc2V0QnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA5OWZmIDAlLCAjMDA3N2RkIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSBzY2FsZSgxLjAyKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuNCk7XG59XG5cbi5yZXNldEJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCkgdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLnJlc2V0QnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKSwgMCAwIDAgM3B4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG59XG5cbi5yZXNldEJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xufVxuXG4ucmVzZXRCdXR0b246aG92ZXIgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHNjYWxlKDEuMSk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcbn1cblxuLnJlc2V0QnV0dG9uVGV4dCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnJlc2V0QnV0dG9uOmhvdmVyIC5yZXNldEJ1dHRvblRleHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xufVxuXG4vKiBVc2UgdGVtcGxhdGUgYnV0dG9uIHN0eWxpbmcgLSBtYXRjaGVzIHRoZSByZXNldEJ1dHRvbiBhbmQgc2F2ZUJ1dHRvbiAqL1xuLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGdhcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTJweCAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODRmZiAwJSwgIzAwNjZjYyAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpICFpbXBvcnRhbnQ7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uICFpbXBvcnRhbnQ7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLnVzZVRlbXBsYXRlQnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgdHJhbnNwYXJlbnQpO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC41cyBlYXNlO1xufVxuXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogMTAwJTtcbn1cblxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA5OWZmIDAlLCAjMDA3N2RkIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSBzY2FsZSgxLjAyKTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuNCk7XG59XG5cbi51c2VUZW1wbGF0ZUJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCkgdHJhbnNsYXRlWSgtMXB4KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLnVzZVRlbXBsYXRlQnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKSwgMCAwIDAgM3B4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG59XG5cbi51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMikpO1xufVxuXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXIgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjMpKTtcbn1cblxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyIC5yZXNldEJ1dHRvblRleHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxcHgpO1xufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciBiYXIgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3JCYXIge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4xKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMSkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4yKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMikgMTAwJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiAjMTBiOTgxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgzNCwgMTk3LCA5NCwgMC4yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxJY29uUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogVm9pY2UgY2FsbCBwdWxzZSBhbmltYXRpb24gKi9cbi52b2ljZUNhbGxQdWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxQdWxzZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlQ2FsbEljb25QdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB2b2ljZUNhbGxQdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMyk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yIGluIG1lc3NhZ2VzICovXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuLyogUmF0aW5nIGNvbmZpcm1hdGlvbiAqL1xuLnJhdGluZ0NvbmZpcm1hdGlvbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDhweCAzMnB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjMpO1xuICAgIHotaW5kZXg6IDEwMDE7XG4gICAgYW5pbWF0aW9uOiBjb25maXJtYXRpb25TbGlkZUluIDAuM3MgZWFzZS1vdXQ7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbkBrZXlmcmFtZXMgY29uZmlybWF0aW9uU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgcmVzcG9uc2l2ZW5lc3MgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAxMnB4IDE2cHggMDtcbiAgICAgICAgZ2FwOiA2cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTZweCAxMnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciB7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDRweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICAgICAgcGFkZGluZzogMTZweCAxMnB4O1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE2MHB4KTtcbiAgICB9XG5cbiAgICAucmVzZXRCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNldEJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucmVzZXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAucmVzZXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAuc3RhcnMge1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuc3RhcnMgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdBY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAucmF0aW5nQWN0aW9ucyBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDhweCAxMnB4IDA7XG4gICAgICAgIGdhcDogNHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luOiAwIDhweCA0cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAucmVzZXRCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNldEJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucmVzZXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAucmVzZXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zY3JvbGxUb0JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDIwcHggMCAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHggMjBweDtcbiAgICB9XG59XG5cbi8qIFJlZHVjZWQgbW90aW9uIHN1cHBvcnQgKi9cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UsXG4gICAgLnNjcm9sbFRvQm90dG9tLFxuICAgIC5yYXRpbmdNb2RhbCxcbiAgICAucmF0aW5nTW9kYWxDb250ZW50LFxuICAgIC5yYXRpbmdDb25maXJtYXRpb24ge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uLFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nLFxuICAgIC5yZXNldEJ1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuIl19 */";
4118
- var styles$1 = {"Chat":"Chat-module_Chat__j2eE5","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","resetButton":"Chat-module_resetButton__nUpAl","resetButtonText":"Chat-module_resetButtonText__gqvX3","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatMessages":"Chat-module_chatMessages__J2u2N","chatMessage":"Chat-module_chatMessage__nmLaZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","isPending":"Chat-module_isPending__3zc8k","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","typingIndicator":"Chat-module_typingIndicator__S-CT-","avatar":"Chat-module_avatar__gL6bm","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","isMe":"Chat-module_isMe__nBtaV","rating":"Chat-module_rating__soc3M","chatInput":"Chat-module_chatInput__1Ecan","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","ratingConfirmation":"Chat-module_ratingConfirmation__n16vb","confirmationSlideIn":"Chat-module_confirmationSlideIn__5U-wz"};
4278
+ var css_248z$1 = ".Chat-module_Chat__j2eE5{display:flex;flex-direction:column}.Chat-module_Chat__j2eE5,.Chat-module_chatMainFlow__--8FE{background-color:var(--page-background-color);height:100%;width:100%}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;max-width:100vw}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:var(--modal-bar-background-color);border-bottom:1px solid var(--modal-border-color);color:var(--modal-bar-text-color);font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;width:auto;z-index:200}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}@media (max-width:900px){.Chat-module_resetButton__nUpAl{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_resetButton__nUpAl svg{height:18px!important;width:18px!important}.Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_resetButtonText__gqvX3{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background-color:var(--page-background-color);grid-area:💬;height:100%;overflow-x:hidden;overflow-y:auto;padding:24px 20px 16px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:6px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:hsla(0,0%,49%,.2);border-radius:3px;transition:background .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,49%,.3)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;flex-direction:row;margin-bottom:20px;max-width:100%;position:relative}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isPending__3zc8k{opacity:.7;position:relative}.Chat-module_isPending__3zc8k .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,49%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm img{background-color:var(--chat-avatar-background-color);border:2px solid hsla(0,0%,49%,.1);border-radius:50%;height:40px;object-fit:cover;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,var(--secondary-text-color) 0,hsla(0,0%,49%,.6) 100%);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:6px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;position:relative;width:40px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img{background-color:var(--chat-avatar-background-color);border:2px solid hsla(0,0%,49%,.1);border-radius:50%;height:40px;object-fit:cover;transition:transform .2s ease,box-shadow .2s ease;width:40px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{word-wrap:break-word;backdrop-filter:blur(10px);border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.1);font-size:15px;line-height:1.5;margin-bottom:4px;max-width:min(70%,600px);padding:14px 18px;position:relative;text-align:left;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);transform:translateY(-1px)}.Chat-module_messageButtons__WaOob{border-top:1px solid hsla(0,0%,49%,.15);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.Chat-module_messageButton__mRnn-{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(10px);background:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);border-radius:16px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;padding:8px 14px;touch-action:manipulation;transition:all .2s ease;user-select:none}.Chat-module_messageButton__mRnn-:hover{background:rgba(0,132,255,.1);border-color:rgba(0,132,255,.3);box-shadow:0 2px 8px rgba(0,132,255,.15);transform:translateY(-1px)}.Chat-module_messageButton__mRnn-:active{transform:scale(.98);transition:transform .1s ease}.Chat-module_messageButton__mRnn- p{line-height:inherit;margin:0;padding:0}.Chat-module_messageButton__mRnn- strong{font-weight:600}.Chat-module_messageButton__mRnn- em{font-style:italic}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{align-items:center;backdrop-filter:blur(20px);background:linear-gradient(to top,var(--page-background-color) 0,transparent 100%);border-top:1px solid hsla(0,0%,49%,.1);display:flex;flex-direction:row;gap:12px;grid-area:📝;justify-content:center;padding:20px;width:100%;z-index:10}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;backdrop-filter:blur(20px);background:hsla(0,0%,49%,.05);border-radius:25px;color:var(--primary-text-color);flex:1;font-size:15px;line-height:1.4;max-height:120px;min-width:200px;outline:none;padding:16px 20px;resize:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:focus{background:hsla(0,0%,49%,.08);border-color:var(--primary-color,#0084ff);box-shadow:0 0 0 4px rgba(0,132,255,.1),0 8px 32px rgba(0,132,255,.15);transform:translateY(-2px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:var(--secondary-text-color);opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;background:linear-gradient(135deg,var(--call-to-action-button-background-color) 0,#06c 100%);border:none;border-radius:50%!important;box-shadow:0 4px 16px rgba(0,132,255,.3);color:var(--call-to-action-button-text-color);display:flex;height:48px;justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;padding-left:unset;padding-right:unset;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;backdrop-filter:blur(3px);background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;pointer-events:all;touch-action:manipulation;transform:translate(-50%,-150%);transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottom__nzxdZ:hover{transform:translate(-50%,-160%) scale(1.05)}.Chat-module_scrollToBottom__nzxdZ:active{transform:translate(-50%,-160%) scale(.95);transition:transform .1s ease}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;backdrop-filter:blur(8px);background-color:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(8px);opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:var(--modal-content-background-color);border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:var(--modal-content-text-color);max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:var(--primary-text-color);font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:var(--textarea-text-color);font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:var(--primary-color,#0084ff);box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:var(--button-text-color)}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:var(--button-hover-text-color)}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,var(--call-to-action-button-background-color) 0,#06c 100%);color:var(--call-to-action-button-text-color)}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,var(--call-to-action-button-hover-background-color) 0,#0052a3 100%);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_resetButton__nUpAl{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(20px)!important;background:linear-gradient(135deg,#0084ff,#06c)!important;border:none!important;border-radius:20px!important;box-shadow:0 4px 16px rgba(0,132,255,.3)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-size:13px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;line-height:1.3!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:12px 16px!important;position:relative!important;touch-action:manipulation!important;transition:all .3s cubic-bezier(.25,.46,.45,.94)!important;user-select:none!important}.Chat-module_resetButton__nUpAl:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:\"\";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.Chat-module_resetButton__nUpAl:hover:before{left:100%}.Chat-module_resetButton__nUpAl:hover:not(:disabled){background:linear-gradient(135deg,#09f,#07d);box-shadow:0 8px 24px rgba(0,132,255,.4);transform:translateY(-2px) scale(1.02)}.Chat-module_resetButton__nUpAl:active{box-shadow:0 4px 16px rgba(0,132,255,.3);transform:scale(.98) translateY(-1px);transition:transform .1s ease}.Chat-module_resetButton__nUpAl:focus{box-shadow:0 4px 16px rgba(0,132,255,.3),0 0 0 3px rgba(0,132,255,.3);outline:none}.Chat-module_resetButton__nUpAl svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));flex-shrink:0;height:16px;opacity:1;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:16px}.Chat-module_resetButton__nUpAl:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:rotate(-90deg) scale(1.1)}.Chat-module_resetButtonText__gqvX3{font-weight:600;opacity:1;text-shadow:0 1px 2px rgba(0,0,0,.1);transition:all .2s ease;white-space:nowrap}.Chat-module_resetButton__nUpAl:hover .Chat-module_resetButtonText__gqvX3{transform:translateX(1px)}.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(20px)!important;background:linear-gradient(135deg,#0084ff,#06c)!important;border:none!important;border-radius:20px!important;box-shadow:0 4px 16px rgba(0,132,255,.3)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-size:13px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;line-height:1.3!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:12px 16px!important;position:relative!important;touch-action:manipulation!important;transition:all .3s cubic-bezier(.25,.46,.45,.94)!important;user-select:none!important}.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:\"\";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.Chat-module_useTemplateButton__xcJNR:hover:before{left:100%}.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(135deg,#09f,#07d);box-shadow:0 8px 24px rgba(0,132,255,.4);transform:translateY(-2px) scale(1.02)}.Chat-module_useTemplateButton__xcJNR:active{box-shadow:0 4px 16px rgba(0,132,255,.3);transform:scale(.98) translateY(-1px);transition:transform .1s ease}.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 4px 16px rgba(0,132,255,.3),0 0 0 3px rgba(0,132,255,.3);outline:none}.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));flex-shrink:0;height:16px;opacity:1;transition:all .3s cubic-bezier(.25,.46,.45,.94);width:16px}.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transform:scale(1.1)}.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_resetButtonText__gqvX3{transform:translateX(1px)}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_ratingConfirmation__n16vb{word-wrap:break-word;animation:Chat-module_confirmationSlideIn__5U-wz .3s ease-out;backdrop-filter:blur(20px);background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 8px 32px rgba(16,185,129,.3);color:#fff;font-weight:500;max-width:300px;padding:16px 20px;position:fixed;right:20px;top:20px;z-index:1001}@keyframes Chat-module_confirmationSlideIn__5U-wz{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 12px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;max-width:85%;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{height:36px;margin:0 10px 4px;width:36px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img{height:36px;width:36px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 12px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-radius:22px;font-size:16px;padding:14px 18px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{height:44px;width:44px}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_resetButton__nUpAl{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_resetButton__nUpAl svg{height:18px!important;width:18px!important}.Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}}@media (max-width:480px){.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;max-width:90%;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{height:32px;margin:0 8px 4px;width:32px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img{height:32px;width:32px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-radius:20px;font-size:16px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{height:40px;width:40px}.Chat-module_resetButton__nUpAl{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_resetButton__nUpAl svg{height:18px!important;width:18px!important}.Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_resetButtonText__gqvX3{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_ratingConfirmation__n16vb,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm img,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ,.Chat-module_resetButton__nUpAl{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}\n/*# sourceMappingURL=data:application/json;base64,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QixDQUR2QixvQkFFSixDQUVBLG9DQUNJLHNCQUNKLENBRUEsc0NBQ0ksMkJBQTZCLENBTTdCLGVBQWlCLENBSmpCLHFCQUF1QixDQUt2QixrQkFBb0IsQ0FIcEIseUJBQTJCLENBRDNCLHdCQUEwQixDQUUxQixtQkFBcUIsQ0FKckIsb0JBT0osQ0FFQSwwQ0FFSSxxQkFBdUIsQ0FEdkIsb0JBRUosQ0FFQSwwRUFDSSxzQkFDSixDQUVBLG1DQUdJLGNBQWUsQ0FEZixXQUFZLENBRVosc0JBQXVCLENBSHZCLFVBSUosQ0FFQSxnQ0FFSSxvQkFBcUIsQ0FEckIsU0FFSixDQUVBLHVDQUdJLDJCQUE0QixDQUY1QixRQUFTLENBR1QsZUFBZ0IsQ0FDaEIsc0JBQXVCLENBSHZCLFVBSUosQ0FDSixDQUdBLHVDQUNJLGtOQUtJLGNBQ0osQ0FFQSwrV0FLSSxlQUNKLENBQ0osQ0FHQSwrQkFDSSxpR0FDSSxnQkFDSixDQUVBLHdFQUNJLGdCQUNKLENBRUEsc0VBQ0ksZ0JBQ0osQ0FDSiIsImZpbGUiOiJDaGF0Lm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuQ2hhdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYWdlLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4uY2hhdE1haW5GbG93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICfwn5+mJyBtaW4tY29udGVudFxuICAgICAgICAn8J+SrCcgMWZyXG4gICAgICAgICfwn5OdJyBtaW4tY29udGVudFxuICAgICAgICAvIDFmcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wYWdlLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0QmFyIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGNvbG9yOiB2YXIoLS1tb2RhbC1iYXItdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbW9kYWwtYmFyLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tb2RhbC1ib3JkZXItY29sb3IpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uVGFza3NJblByb2dyZXNzIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbiAgICBtYXJnaW46IDhweCAxNnB4O1xufVxuXG4uYWN0aW9ucyB7XG4gICAgZ3JpZC1hcmVhOiDwn5KsO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgei1pbmRleDogMjAwO1xuICAgIGFsaWduLXNlbGY6IHNlbGYtc3RhcnQ7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbiAgICBtYXJnaW46IDE2cHggMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmFjdGlvbnMubGVmdCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLXN0YXJ0O1xufVxuXG4uYWN0aW9ucy5yaWdodCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbn1cblxuLyogTGFyZ2UgdGFibGV0IGFuZCBzbWFsbCBkZXNrdG9wIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5yZXNldEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJlc2V0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNldEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5yZXNldEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vKiBNZWRpdW0gc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDE0cHggMThweCAwO1xuICAgICAgICBnYXA6IDdweDtcbiAgICB9XG59XG5cbi8qIENoYXQgbWVzc2FnZXMgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmc6IDI0cHggMjBweCAxNnB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBhZ2UtYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbi8qIEN1c3RvbSBzY3JvbGxiYXIgc3R5bGluZyAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDZweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbn1cblxuLyogSW5kaXZpZHVhbCBjaGF0IG1lc3NhZ2UgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFuaW1hdGlvbjogbWVzc2FnZVNsaWRlSW4gMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5Aa2V5ZnJhbWVzIG1lc3NhZ2VTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5pc1BlbmRpbmcge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIEVuaGFuY2VkIGxvYWRpbmcgc3RhdGVzIGZvciBtZXNzYWdlcyAqL1xuLmlzUGVuZGluZyAubWVzc2FnZVRleHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjYpLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGFuaW1hdGlvbjogbG9hZGluZ1B1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZ1B1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjIpO1xuICAgIH1cbn1cblxuLyogVHlwaW5nIGluZGljYXRvciBmb3IgQUkgbWVzc2FnZXMgKi9cbi50eXBpbmdJbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlU2xpZGVJbiAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLnR5cGluZ0luZGljYXRvciAuYXZhdGFyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwIDEycHggNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIgaW1nIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNoYXQtYXZhdGFyLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbn1cblxuLnR5cGluZ0J1YmJsZSB7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgbWluLWhlaWdodDogMjRweDtcbn1cblxuLnR5cGluZ0RvdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA0cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnR5cGluZ0RvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpIDAlLCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNikgMTAwJSk7XG4gICAgYW5pbWF0aW9uOiB0eXBpbmdCb3VuY2UgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgxKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG59XG5cbkBrZXlmcmFtZXMgdHlwaW5nQm91bmNlIHtcbiAgICAwJSxcbiAgICA4MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VUZXh0IHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xufVxuXG4vKiBTZW5kZXIgQXZhdGFyICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwIDEycHggNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2hhdC1hdmF0YXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZzpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIE1lc3NhZ2UgdGV4dCBidWJibGUgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG1heC13aWR0aDogbWluKDcwJSwgNjAwcHgpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi8qIE1lc3NhZ2UgYnV0dG9ucyBjb250YWluZXIgKi9cbi5tZXNzYWdlQnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjE1KTtcbn1cblxuLyogSW5kaXZpZHVhbCBtZXNzYWdlIGJ1dHRvbiAqL1xuLm1lc3NhZ2VCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOHB4IDE0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjE1KTtcbn1cblxuLm1lc3NhZ2VCdXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmtkb3duIHN0eWxlcyBmcm9tIGJ1dHRvbiBjb250ZW50ICovXG4ubWVzc2FnZUJ1dHRvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1lc3NhZ2VCdXR0b24gc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVzc2FnZUJ1dHRvbiBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBSYXRpbmcgc3lzdGVtICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZTpob3ZlciAucmF0aW5nIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcgc3BhbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nOmhvdmVyIHNwYW4ge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuLyogQ2hhdCBpbnB1dCBhcmVhICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQge1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGdyaWQtYXJlYTog8J+TnTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHZhcigtLXBhZ2UtYmFja2dyb3VuZC1jb2xvcikgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbn1cblxuLyogQ2hhdCBpbnB1dCBmaWVsZCAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhIHtcbiAgICBmbGV4OiAxO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcblxuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKTtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IsICMwMDg0ZmYpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wOCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMSksIDAgOHB4IDMycHggcmdiYSgwLCAxMzIsIDI1NSwgMC4xNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi8qIENoYXQgc2VuZCBidXR0b24gKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24ge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDhweDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2FsbC10by1hY3Rpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3IpIDAlLCAjMDA2NmNjIDEwMCUpO1xuICAgIGNvbG9yOiB2YXIoLS1jYWxsLXRvLWFjdGlvbi1idXR0b24tdGV4dC1jb2xvcik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgbWluLXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcblxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbiBpbWcge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi8qIFNjcm9sbCB0byBib3R0b20gYnV0dG9uICovXG5cbi5zY3JvbGxUb0JvdHRvbUNvbnRhaW5lciB7XG4gICAgLyovXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCByZWQ7XG4gICAgLyoqL1xuXG4gICAgei1pbmRleDogMjA7XG4gICAgZ3JpZC1hcmVhOiDwn5OdO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5zY3JvbGxUb0JvdHRvbUNvbnRhaW5lciAuc2Nyb2xsVG9Cb3R0b20ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTUwJSk7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAgMCAwIC8gMC41KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBhbmltYXRpb246IHNjcm9sbEJ1dHRvblNsaWRlSW4gMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBzY3JvbGxCdXR0b25TbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMjBweCkgc2NhbGUoMC44KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLnNjcm9sbFRvQm90dG9tOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtMTYwJSkgc2NhbGUoMS4wNSk7XG59XG5cbi5zY3JvbGxUb0JvdHRvbTphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0xNjAlKSBzY2FsZSgwLjk1KTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlO1xufVxuXG4vKiBSYXRpbmcgbW9kYWwgKi9cbi5yYXRpbmdNb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgYW5pbWF0aW9uOiBtb2RhbEZhZGVJbiAwLjNzIGVhc2Utb3V0O1xufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsRmFkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDBweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgfVxufVxuXG4ucmF0aW5nTW9kYWxDb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tb2RhbC1jb250ZW50LWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1tb2RhbC1jb250ZW50LXRleHQtY29sb3IpO1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYW5pbWF0aW9uOiBtb2RhbFNsaWRlSW4gMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbkBrZXlmcmFtZXMgbW9kYWxTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5yYXRpbmdNb2RhbENvbnRlbnQgaDMge1xuICAgIG1hcmdpbjogMCAwIDI0cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktdGV4dC1jb2xvcik7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5zdGFycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xufVxuXG4uc3RhcnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG59XG5cbi5zdGFycyBzcGFuOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDIxNSwgMCwgMC4xKTtcbn1cblxuLnJhdGluZ0lucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDUpO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0YXJlYS10ZXh0LWNvbG9yKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4ucmF0aW5nSW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvciwgIzAwODRmZik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA4KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ucmF0aW5nSW5wdXRbcmVhZG9ubHldIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjAxKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBjb2xvcjogdmFyKC0tYnV0dG9uLXRleHQtY29sb3IpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMik7XG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi1ob3Zlci10ZXh0LWNvbG9yKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHZhcigtLWNhbGwtdG8tYWN0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKSAwJSwgIzAwNjZjYyAxMDAlKTtcbiAgICBjb2xvcjogdmFyKC0tY2FsbC10by1hY3Rpb24tYnV0dG9uLXRleHQtY29sb3IpO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgdmFyKC0tY2FsbC10by1hY3Rpb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3IpIDAlLCAjMDA1MmEzIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogTmV3IGNoYXQgYnV0dG9uIHN0eWxpbmcgLSBNYXRjaGVzIHRoZSBzbGVlayBjaGF0IG1lc3NhZ2UgZGVzaWduICovXG4ucmVzZXRCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA4NGZmIDAlLCAjMDA2NmNjIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMykgIWltcG9ydGFudDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb24gIWltcG9ydGFudDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDExMHB4ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4ucmVzZXRCdXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCB0cmFuc3BhcmVudCk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjVzIGVhc2U7XG59XG5cbi5yZXNldEJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMDAlO1xufVxuXG4ucmVzZXRCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDk5ZmYgMCUsICMwMDc3ZGQgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHNjYWxlKDEuMDIpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAxMzIsIDI1NSwgMC40KTtcbn1cblxuLnJlc2V0QnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KSB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpO1xufVxuXG4ucmVzZXRCdXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpLCAwIDAgMCAzcHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLnJlc2V0QnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSk7XG59XG5cbi5yZXNldEJ1dHRvbjpob3ZlciBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgc2NhbGUoMS4xKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMykpO1xufVxuXG4ucmVzZXRCdXR0b25UZXh0IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4ucmVzZXRCdXR0b246aG92ZXIgLnJlc2V0QnV0dG9uVGV4dCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG59XG5cbi8qIFVzZSB0ZW1wbGF0ZSBidXR0b24gc3R5bGluZyAtIG1hdGNoZXMgdGhlIHJlc2V0QnV0dG9uIGFuZCBzYXZlQnV0dG9uICovXG4udXNlVGVtcGxhdGVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA4NGZmIDAlLCAjMDA2NmNjIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCkgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMykgIWltcG9ydGFudDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCkgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb24gIWltcG9ydGFudDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDExMHB4ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4udXNlVGVtcGxhdGVCdXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpLCB0cmFuc3BhcmVudCk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjVzIGVhc2U7XG59XG5cbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxMDAlO1xufVxuXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDk5ZmYgMCUsICMwMDc3ZGQgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHNjYWxlKDEuMDIpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgwLCAxMzIsIDI1NSwgMC40KTtcbn1cblxuLnVzZVRlbXBsYXRlQnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KSB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpO1xufVxuXG4udXNlVGVtcGxhdGVCdXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpLCAwIDAgMCAzcHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSk7XG59XG5cbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3ZlciBzdmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMykpO1xufVxuXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXIgLnJlc2V0QnV0dG9uVGV4dCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yIGJhciAqL1xuLnZvaWNlQ2FsbEluZGljYXRvckJhciB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDM0LCAxOTcsIDk0LCAwLjEpIDAlLCByZ2JhKDE2LCAxODUsIDEyOSwgMC4xKSAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciAqL1xuLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIDAlLCByZ2JhKDE2LCAxODUsIDEyOSwgMC4yKSAxMDAlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDM0LCAxOTcsIDk0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgY29sb3I6ICMxMGI5ODE7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnZvaWNlQ2FsbEluZGljYXRvciBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbmltYXRpb246IHZvaWNlQ2FsbEljb25QdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLnZvaWNlQ2FsbEluZGljYXRvciBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4vKiBWb2ljZSBjYWxsIHB1bHNlIGFuaW1hdGlvbiAqL1xuLnZvaWNlQ2FsbFB1bHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjMTBiOTgxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHZvaWNlQ2FsbFB1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgdm9pY2VDYWxsSWNvblB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlQ2FsbFB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMS4zKTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgaW4gbWVzc2FnZXMgKi9cbi5jaGF0TWVzc2FnZSAudm9pY2VDYWxsSW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG59XG5cbi5jaGF0TWVzc2FnZSAudm9pY2VDYWxsSW5kaWNhdG9yIHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xufVxuXG4vKiBSYXRpbmcgY29uZmlybWF0aW9uICovXG4ucmF0aW5nQ29uZmlybWF0aW9uIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMxMGI5ODEgMCUsICMwNTk2NjkgMTAwJSk7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgxNiwgMTg1LCAxMjksIDAuMyk7XG4gICAgei1pbmRleDogMTAwMTtcbiAgICBhbmltYXRpb246IGNvbmZpcm1hdGlvblNsaWRlSW4gMC4zcyBlYXNlLW91dDtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbn1cblxuQGtleWZyYW1lcyBjb25maXJtYXRpb25TbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi8qIE1vYmlsZSByZXNwb25zaXZlbmVzcyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDEycHggMTZweCAwO1xuICAgICAgICBnYXA6IDZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggNHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICB9XG5cbiAgICAuc2Nyb2xsVG9Cb3R0b20ge1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHRvcDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICAgIH1cblxuICAgIC5yZXNldEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJlc2V0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNldEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5yZXNldEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMTZweDtcbiAgICAgICAgcGFkZGluZzogMjRweCAyMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cblxuICAgIC5zdGFycyB7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5zdGFycyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLnJhdGluZ0FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogOHB4IDEycHggMDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtYXJnaW46IDAgOHB4IDRweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24ge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIC5yZXNldEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnJlc2V0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yZXNldEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5yZXNldEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweCAyMHB4O1xuICAgIH1cbn1cblxuLyogUmVkdWNlZCBtb3Rpb24gc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSxcbiAgICAuc2Nyb2xsVG9Cb3R0b20sXG4gICAgLnJhdGluZ01vZGFsLFxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQsXG4gICAgLnJhdGluZ0NvbmZpcm1hdGlvbiB7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQsXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhLFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24sXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcsXG4gICAgLnJlc2V0QnV0dG9uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG4iXX0= */";
4279
+ var styles$1 = {"Chat":"Chat-module_Chat__j2eE5","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","resetButton":"Chat-module_resetButton__nUpAl","resetButtonText":"Chat-module_resetButtonText__gqvX3","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatMessages":"Chat-module_chatMessages__J2u2N","chatMessage":"Chat-module_chatMessage__nmLaZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","isPending":"Chat-module_isPending__3zc8k","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","typingIndicator":"Chat-module_typingIndicator__S-CT-","avatar":"Chat-module_avatar__gL6bm","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","isMe":"Chat-module_isMe__nBtaV","messageButtons":"Chat-module_messageButtons__WaOob","messageButton":"Chat-module_messageButton__mRnn-","rating":"Chat-module_rating__soc3M","chatInput":"Chat-module_chatInput__1Ecan","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","ratingConfirmation":"Chat-module_ratingConfirmation__n16vb","confirmationSlideIn":"Chat-module_confirmationSlideIn__5U-wz"};
4119
4280
  styleInject(css_248z$1);
4120
4281
 
4121
4282
  /**
@@ -4366,6 +4527,11 @@ function Chat(props) {
4366
4527
  const avatarSrc = (participant && participant.avatarSrc) || '';
4367
4528
  const color = Color.from((participant && participant.color) || '#ccc');
4368
4529
  const colorOfText = color.then(textColor);
4530
+ // Parse buttons from message content
4531
+ const { contentWithoutButtons, buttons } = parseMessageButtons(message.content);
4532
+ // Only show buttons for the last message
4533
+ const isLastMessage = i === postprocessedMessages.length - 1;
4534
+ const shouldShowButtons = isLastMessage && buttons.length > 0 && onMessage;
4369
4535
  return (jsxs("div", { className: classNames(styles$1.chatMessage, (participant === null || participant === void 0 ? void 0 : participant.isMe) && styles$1.isMe, !message.isComplete && styles$1.isPending), onClick: () => {
4370
4536
  console.group('💬', message.content);
4371
4537
  console.info('message', message);
@@ -4385,7 +4551,16 @@ function Chat(props) {
4385
4551
  } }) })), jsxs("div", { className: styles$1.messageText, style: {
4386
4552
  backgroundColor: color.toHex(),
4387
4553
  color: colorOfText.toHex(),
4388
- }, children: [message.isVoiceCall && (jsx("div", { className: styles$1.voiceCallIndicator, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), message.content === LOADING_INTERACTIVE_IMAGE ? (jsx(Fragment, {})) : (jsx("div", { dangerouslySetInnerHTML: { __html: renderMarkdown(message.content) } })), message.from.includes('PROMPTBOOK_PERSONA') && message.isComplete && (jsx("div", { className: styles$1.rating, onMouseEnter: () => setExpandedMessageId(message.id), onMouseLeave: () => {
4554
+ }, children: [message.isVoiceCall && (jsx("div", { className: styles$1.voiceCallIndicator, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), message.content === LOADING_INTERACTIVE_IMAGE ? (jsx(Fragment, {})) : (jsx("div", { dangerouslySetInnerHTML: {
4555
+ __html: renderMarkdown(contentWithoutButtons),
4556
+ } })), shouldShowButtons && (jsx("div", { className: styles$1.messageButtons, children: buttons.map((button, buttonIndex) => (jsx("button", { className: styles$1.messageButton, onClick: (event) => {
4557
+ event.stopPropagation();
4558
+ if (onMessage) {
4559
+ onMessage(button.message);
4560
+ }
4561
+ }, dangerouslySetInnerHTML: {
4562
+ __html: renderMarkdown(button.text),
4563
+ } }, buttonIndex))) })), message.from.includes('PROMPTBOOK_PERSONA') && message.isComplete && (jsx("div", { className: styles$1.rating, onMouseEnter: () => setExpandedMessageId(message.id), onMouseLeave: () => {
4389
4564
  setExpandedMessageId(null);
4390
4565
  setHoveredRating(0);
4391
4566
  }, children: expandedMessageId === message.id ? ([1, 2, 3, 4, 5].map((star) => (jsx("span", { onClick: () => handleRating(message, star), onMouseEnter: () => setHoveredRating(star), style: {
@@ -4534,7 +4709,7 @@ function MockedChat(props) {
4534
4709
  expectedAnswer: currentMessage.expectedAnswer,
4535
4710
  isVoiceCall: currentMessage.isVoiceCall,
4536
4711
  };
4537
- setDisplayedMessages(prev => [...prev, incompleteMessage]);
4712
+ setDisplayedMessages((prev) => [...prev, incompleteMessage]);
4538
4713
  // Split message content into words
4539
4714
  const words = currentMessage.content.split(' ');
4540
4715
  let currentContent = '';
@@ -4554,7 +4729,7 @@ function MockedChat(props) {
4554
4729
  expectedAnswer: currentMessage.expectedAnswer,
4555
4730
  isVoiceCall: currentMessage.isVoiceCall,
4556
4731
  };
4557
- setDisplayedMessages(prev => {
4732
+ setDisplayedMessages((prev) => {
4558
4733
  const newMessages = [...prev];
4559
4734
  newMessages[newMessages.length - 1] = updatingMessage;
4560
4735
  return newMessages;
@@ -4574,7 +4749,7 @@ function MockedChat(props) {
4574
4749
  expectedAnswer: currentMessage.expectedAnswer,
4575
4750
  isVoiceCall: currentMessage.isVoiceCall,
4576
4751
  };
4577
- setDisplayedMessages(prev => {
4752
+ setDisplayedMessages((prev) => {
4578
4753
  const newMessages = [...prev];
4579
4754
  newMessages[newMessages.length - 1] = completeMessage;
4580
4755
  return newMessages;
@@ -4586,7 +4761,7 @@ function MockedChat(props) {
4586
4761
  }
4587
4762
  setIsSimulationComplete(true);
4588
4763
  };
4589
- simulateChat().catch(error => {
4764
+ simulateChat().catch((error) => {
4590
4765
  if (!isCancelled) {
4591
4766
  console.error('Error in MockedChat simulation:', error);
4592
4767
  // Fallback to showing all messages immediately
@@ -4597,14 +4772,20 @@ function MockedChat(props) {
4597
4772
  return () => {
4598
4773
  isCancelled = true;
4599
4774
  };
4600
- }, [originalMessages, delays.beforeFirstMessage, delays.thinkingBetweenMessages, delays.waitAfterWord, delays.extraWordDelay]);
4775
+ }, [
4776
+ originalMessages,
4777
+ delays.beforeFirstMessage,
4778
+ delays.thinkingBetweenMessages,
4779
+ delays.waitAfterWord,
4780
+ delays.extraWordDelay,
4781
+ ]);
4601
4782
  // Use the internal Chat component with simulated messages
4602
4783
  return (jsx(Chat, { ...chatProps, messages: displayedMessages,
4603
4784
  // Disable input during simulation unless explicitly completed
4604
4785
  onMessage: isSimulationComplete ? chatProps.onMessage : undefined }));
4605
4786
  }
4606
4787
 
4607
- var css_248z = ".BookEditor-module_BookEditor__s-0PU{height:450px;width:100%}.BookEditor-module_bookEditorContainer__wLMwM{height:100%;width:100%}.BookEditor-module_bookEditorContainer__wLMwM.BookEditor-module_isVerbose__VQ6iL{background-color:rgba(0,0,0,.05);outline:1px dotted rgba(0,0,0,.5)}.BookEditor-module_isVerbose__VQ6iL{outline:2px dotted #ff7526}.BookEditor-module_bookEditorWrapper__twppD{background-color:#fff;border:1px solid rgba(209,213,219,.8);border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);height:100%;overflow:hidden;position:relative;transition:box-shadow .2s ease-in-out;width:100%}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorWrapper__twppD{overflow:visible}.BookEditor-module_bookEditorWrapper__twppD:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.BookEditor-module_bookEditorWrapper__twppD:focus-within{box-shadow:0 0 0 3px rgba(99,102,241,.4);outline:2px solid transparent;outline-offset:2px}.BookEditor-module_bookEditorWrapper__twppD.BookEditor-module_isBorderRadiusDisabled__h1I3v{border-radius:0}.BookEditor-module_bookEditorBackground__5O4wu,.BookEditor-module_bookEditorHighlight__vs37t{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.BookEditor-module_bookEditorHighlight__vs37t{-ms-overflow-style:none;color:#111827;font-size:1.125rem;margin-bottom:50px;overflow:auto;overflow-wrap:break-word;padding-left:46px;padding-right:46px;padding-top:0;scrollbar-width:none;white-space:pre-wrap;z-index:10}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorHighlight__vs37t{opacity:.5;outline:1px dotted rgba(255,0,0,.5)}.BookEditor-module_bookEditorHighlight__vs37t::-webkit-scrollbar{display:none}.BookEditor-module_bookEditorTextarea__mUURn{background-color:transparent;border:none;bottom:0;caret-color:#111827;color:transparent;font-size:1.125rem;left:0;outline:none;overflow-wrap:break-word;padding-left:46px;padding-right:46px;padding-top:18px;position:absolute;resize:none;right:0;top:0;white-space:pre-wrap}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorTextarea__mUURn{color:rgba(255,255,0,.5);outline:1px dotted rgba(255,255,0,.5)}.BookEditor-module_bookEditorTextarea__mUURn::selection{background-color:rgba(99,102,241,.6)}.BookEditor-module_bookEditorSerif__QRS7g{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.BookEditor-module_bookEditorBar__haBDz{background-color:rgba(99,102,241,.1);border-top:1px solid rgba(209,213,219,.8);bottom:0;color:rgba(17,24,39,.6);font-size:.875rem;left:0;padding:.5rem 1rem;position:absolute;right:0}.BookEditor-module_bookEditorBar__haBDz a{color:unset;text-decoration:none}.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-title{color:#30a8bd;text-decoration:underline}.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-keyword{color:#30a8bd}.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-at-parameter,.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-brace-parameter,.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-parameter{color:#8e44ad;font-weight:500}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJvb2tFZGl0b3IubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FDSSxZQUFhLENBQ2IsVUFDSixDQUVBLDhDQUVJLFdBQVksQ0FEWixVQUVKLENBRUEsaUZBRUksZ0NBQXFDLENBQ3JDLGlDQUVKLENBRUEsb0NBQ0ksMEJBQ0osQ0FFQSw0Q0FRSSxxQkFBdUIsQ0FEdkIscUNBQTBDLENBRDFDLGtCQUFtQixDQUduQixzQ0FBMkMsQ0FQM0MsV0FBWSxDQUdaLGVBQWdCLENBRGhCLGlCQUFrQixDQU1sQixxQ0FBdUMsQ0FUdkMsVUFVSixDQUNBLGdGQUVJLGdCQUVKLENBRUEsa0RBQ0ksdUVBQ0osQ0FFQSx5REFHSSx3Q0FBNkMsQ0FGN0MsNkJBQThCLENBQzlCLGtCQUVKLENBRUEsNEZBQ0ksZUFDSixDQVdBLDZGQUpJLFFBQVMsQ0FDVCxNQUFPLENBTFAsbUJBQW9CLENBQ3BCLGlCQUFrQixDQUVsQixPQUFRLENBRFIsS0E4QkosQ0F4QkEsOENBb0JJLHVCQUF3QixDQVR4QixhQUFzQixDQUN0QixrQkFBbUIsQ0FJbkIsa0JBQW1CLENBUm5CLGFBQWMsQ0FjZCx3QkFBeUIsQ0FSekIsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUZuQixhQUFjLENBTWQsb0JBQXFCLENBSXJCLG9CQUFxQixDQU5yQixVQU9KLENBRUEsa0ZBRUksVUFBWSxDQUNaLG1DQUVKLENBRUEsaUVBQ0ksWUFDSixDQUVBLDZDQVdJLDRCQUE2QixDQU03QixXQUFZLENBWlosUUFBUyxDQUlULG1CQUE0QixDQUQ1QixpQkFBa0IsQ0FFbEIsa0JBQW1CLENBSm5CLE1BQU8sQ0FNUCxZQUFhLENBUWIsd0JBQXlCLENBTHpCLGlCQUFrQixDQUNsQixrQkFBbUIsQ0FGbkIsZ0JBQWlCLENBWmpCLGlCQUFrQixDQVdsQixXQUFZLENBVFosT0FBUSxDQURSLEtBQU0sQ0FnQk4sb0JBRUosQ0FFQSxpRkFFSSx3QkFBNkIsQ0FDN0IscUNBRUosQ0FFQSx3REFDSSxvQ0FDSixDQUVBLDBDQUNJLGdFQUNKLENBRUEsd0NBVUksb0NBQXlDLENBRHpDLHlDQUE4QyxDQVA5QyxRQUFTLENBS1QsdUJBQTRCLENBRDVCLGlCQUFtQixDQUhuQixNQUFPLENBS1Asa0JBQW9CLENBUHBCLGlCQUFrQixDQUdsQixPQU9KLENBRUEsMENBQ0ksV0FBWSxDQUNaLG9CQUNKLENBSUEsb0VBQ0ksYUFBYyxDQUNkLHlCQUNKLENBRUEsc0VBQ0ksYUFDSixDQW1CQSxpT0FDSSxhQUFjLENBQ2QsZUFDSiIsImZpbGUiOiJCb29rRWRpdG9yLm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuQm9va0VkaXRvciB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJvb2tFZGl0b3JDb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmJvb2tFZGl0b3JDb250YWluZXIuaXNWZXJib3NlIHtcbiAgICAvKiovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAvKiovXG59XG5cbi5pc1ZlcmJvc2Uge1xuICAgIG91dGxpbmU6IDJweCBkb3R0ZWQgcmdiKDI1NSAxMTcgMzgpO1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDksIDIxMywgMjE5LCAwLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLmlzVmVyYm9zZSAuYm9va0VkaXRvcldyYXBwZXIge1xuICAgIC8qKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiovXG59XG5cbi5ib29rRWRpdG9yV3JhcHBlcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXI6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg5OSwgMTAyLCAyNDEsIDAuNCk7XG59XG5cbi5ib29rRWRpdG9yV3JhcHBlci5pc0JvcmRlclJhZGl1c0Rpc2FibGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYm9va0VkaXRvckJhY2tncm91bmQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IHtcbiAgICAvKiBUT0RPOiBEUlkgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBjb2xvcjogcmdiKDE3LCAyNCwgMzkpO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IC8qIFRPRE86IERSWSAqL1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi5pc1ZlcmJvc2UgLmJvb2tFZGl0b3JIaWdobGlnaHQge1xuICAgIC8qKi9cbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCByZ2JhKDI1NSwgMCwgMCwgMC41KTtcbiAgICAvKiovXG59XG5cbi5ib29rRWRpdG9ySGlnaGxpZ2h0Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJvb2tFZGl0b3JUZXh0YXJlYSB7XG4gICAgLyogVE9ETzogRFJZICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjYXJldC1jb2xvcjogcmdiKDE3LCAyNCwgMzkpO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IC8qIFRPRE86IERSWSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcmVzaXplOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogNDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NnB4O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uaXNWZXJib3NlIC5ib29rRWRpdG9yVGV4dGFyZWEge1xuICAgIC8qKi9cbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMCwgMC41KTtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJnYmEoMjU1LCAyNTUsIDAsIDAuNSk7XG4gICAgLyoqL1xufVxuXG4uYm9va0VkaXRvclRleHRhcmVhOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjYpO1xufVxuXG4uYm9va0VkaXRvclNlcmlmIHtcbiAgICBmb250LWZhbWlseTogdWktc2VyaWYsIEdlb3JnaWEsIENhbWJyaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgc2VyaWY7XG59XG5cbi5ib29rRWRpdG9yQmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiByZ2JhKDE3LCAyNCwgMzksIDAuNik7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjA5LCAyMTMsIDIxOSwgMC44KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk5LCAxMDIsIDI0MSwgMC4xKTtcbn1cblxuLmJvb2tFZGl0b3JCYXIgYSB7XG4gICAgY29sb3I6IHVuc2V0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogLS0tIEJvb2sgc3ludGF4IGhpZ2hsaWdodGluZyAqL1xuXG4uYm9va0VkaXRvckhpZ2hsaWdodCA6Z2xvYmFsKC5ib29rLWhpZ2hsaWdodC10aXRsZSkge1xuICAgIGNvbG9yOiAjMzBhOGJkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYm9va0VkaXRvckhpZ2hsaWdodCA6Z2xvYmFsKC5ib29rLWhpZ2hsaWdodC1rZXl3b3JkKSB7XG4gICAgY29sb3I6ICMzMGE4YmQ7XG59XG5cbi8qIFvwn6egXSBQYXJhbWV0ZXIgc3ludGF4IGhpZ2hsaWdodGluZyAtIHVuaWZpZWQgY29sb3IgZm9yIGJvdGggcGFyYW1ldGVyIG5vdGF0aW9uc1xuICogVGhlIEJvb2sgbGFuZ3VhZ2Ugc3VwcG9ydHMgdHdvIGRpZmZlcmVudCBub3RhdGlvbnMgZm9yIHRoZSBzYW1lIHN5bnRheCBmZWF0dXJlIC0gcGFyYW1ldGVyczpcbiAqIDEuIEBQYXJhbWV0ZXIgLSBzaW5nbGUgd29yZCBwYXJhbWV0ZXIgc3RhcnRpbmcgd2l0aCBAXG4gKiAyLiB7cGFyYW1ldGVyTmFtZX0gb3Ige3BhcmFtZXRlciB3aXRoIG11bHRpcGxlIHdvcmRzfSBvciB7cGFyYW1ldGVyTmFtZTogZGVzY3JpcHRpb24gdGV4dH1cbiAqIEJvdGggbm90YXRpb25zIHJlcHJlc2VudCB0aGUgc2FtZSBzZW1hbnRpYyBjb25jZXB0IGFuZCBhcmUgaGlnaGxpZ2h0ZWQgd2l0aCB0aGUgc2FtZSBwdXJwbGUgY29sb3IuXG4gKi9cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IDpnbG9iYWwoLmJvb2staGlnaGxpZ2h0LXBhcmFtZXRlcikge1xuICAgIGNvbG9yOiAjOGU0NGFkOyAvKiBQdXJwbGUgY29sb3IgZm9yIGFsbCBwYXJhbWV0ZXIgc3ludGF4ZXMgKi9cbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBMZWdhY3kgY2xhc3NlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAtIGJvdGggdXNlIHRoZSBzYW1lIHB1cnBsZSBjb2xvciBub3cgKi9cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IDpnbG9iYWwoLmJvb2staGlnaGxpZ2h0LWF0LXBhcmFtZXRlcikge1xuICAgIGNvbG9yOiAjOGU0NGFkOyAvKiBQdXJwbGUgY29sb3IgKHVuaWZpZWQgd2l0aCBicmFjZSBwYXJhbWV0ZXJzKSAqL1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IDpnbG9iYWwoLmJvb2staGlnaGxpZ2h0LWJyYWNlLXBhcmFtZXRlcikge1xuICAgIGNvbG9yOiAjOGU0NGFkOyAvKiBQdXJwbGUgY29sb3IgKHNhbWUgYXMgYXQgcGFyYW1ldGVycykgKi9cbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuIl19 */";
4788
+ var css_248z = ".BookEditor-module_BookEditor__s-0PU{height:450px;width:100%}.BookEditor-module_bookEditorContainer__wLMwM{height:100%;width:100%}.BookEditor-module_bookEditorContainer__wLMwM.BookEditor-module_isVerbose__VQ6iL{background-color:rgba(0,0,0,.05);outline:1px dotted rgba(0,0,0,.5)}.BookEditor-module_isVerbose__VQ6iL{outline:2px dotted #ff7526}.BookEditor-module_bookEditorWrapper__twppD{background-color:#fff;border:1px solid rgba(209,213,219,.8);border-radius:1rem;box-shadow:0 1px 2px 0 rgba(0,0,0,.05);height:100%;overflow:hidden;position:relative;transition:box-shadow .2s ease-in-out;width:100%}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorWrapper__twppD{overflow:visible}.BookEditor-module_bookEditorWrapper__twppD:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06)}.BookEditor-module_bookEditorWrapper__twppD:focus-within{box-shadow:0 0 0 3px rgba(99,102,241,.4);outline:2px solid transparent;outline-offset:2px}.BookEditor-module_bookEditorWrapper__twppD.BookEditor-module_isBorderRadiusDisabled__h1I3v{border-radius:0}.BookEditor-module_bookEditorBackground__5O4wu,.BookEditor-module_bookEditorHighlight__vs37t{bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.BookEditor-module_bookEditorHighlight__vs37t{-ms-overflow-style:none;color:#111827;font-size:1.125rem;margin-bottom:50px;overflow:auto;overflow-wrap:break-word;padding-left:46px;padding-right:46px;padding-top:0;scrollbar-width:none;white-space:pre-wrap;z-index:10}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorHighlight__vs37t{opacity:.5;outline:1px dotted rgba(255,0,0,.5)}.BookEditor-module_bookEditorHighlight__vs37t::-webkit-scrollbar{display:none}.BookEditor-module_bookEditorTextarea__mUURn{background-color:transparent;border:none;bottom:0;caret-color:#111827;color:transparent;font-size:1.125rem;left:0;outline:none;overflow-wrap:break-word;padding-left:46px;padding-right:46px;padding-top:18px;position:absolute;resize:none;right:0;top:0;white-space:pre-wrap}.BookEditor-module_isVerbose__VQ6iL .BookEditor-module_bookEditorTextarea__mUURn{color:rgba(255,255,0,.5);outline:1px dotted rgba(255,255,0,.5)}.BookEditor-module_bookEditorTextarea__mUURn::selection{background-color:rgba(99,102,241,.6)}.BookEditor-module_bookEditorSerif__QRS7g{font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}.BookEditor-module_bookEditorBar__haBDz{background-color:rgba(99,102,241,.1);border-top:1px solid rgba(209,213,219,.8);bottom:0;color:rgba(17,24,39,.6);font-size:.875rem;left:0;padding:.5rem 1rem;position:absolute;right:0}.BookEditor-module_bookEditorBar__haBDz a{color:unset;text-decoration:none}.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-title{color:#30a8bd;text-decoration:underline}.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-keyword{color:#30a8bd}.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-at-parameter,.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-brace-parameter,.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-parameter{color:#8e44ad;font-weight:500}.BookEditor-module_bookEditorHighlight__vs37t .book-highlight-comment{color:#6b7280;font-style:italic;opacity:.8}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkJvb2tFZGl0b3IubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FDSSxZQUFhLENBQ2IsVUFDSixDQUVBLDhDQUVJLFdBQVksQ0FEWixVQUVKLENBRUEsaUZBRUksZ0NBQXFDLENBQ3JDLGlDQUVKLENBRUEsb0NBQ0ksMEJBQ0osQ0FFQSw0Q0FRSSxxQkFBdUIsQ0FEdkIscUNBQTBDLENBRDFDLGtCQUFtQixDQUduQixzQ0FBMkMsQ0FQM0MsV0FBWSxDQUdaLGVBQWdCLENBRGhCLGlCQUFrQixDQU1sQixxQ0FBdUMsQ0FUdkMsVUFVSixDQUNBLGdGQUVJLGdCQUVKLENBRUEsa0RBQ0ksdUVBQ0osQ0FFQSx5REFHSSx3Q0FBNkMsQ0FGN0MsNkJBQThCLENBQzlCLGtCQUVKLENBRUEsNEZBQ0ksZUFDSixDQVdBLDZGQUpJLFFBQVMsQ0FDVCxNQUFPLENBTFAsbUJBQW9CLENBQ3BCLGlCQUFrQixDQUVsQixPQUFRLENBRFIsS0E4QkosQ0F4QkEsOENBb0JJLHVCQUF3QixDQVR4QixhQUFzQixDQUN0QixrQkFBbUIsQ0FJbkIsa0JBQW1CLENBUm5CLGFBQWMsQ0FjZCx3QkFBeUIsQ0FSekIsaUJBQWtCLENBQ2xCLGtCQUFtQixDQUZuQixhQUFjLENBTWQsb0JBQXFCLENBSXJCLG9CQUFxQixDQU5yQixVQU9KLENBRUEsa0ZBRUksVUFBWSxDQUNaLG1DQUVKLENBRUEsaUVBQ0ksWUFDSixDQUVBLDZDQVdJLDRCQUE2QixDQU03QixXQUFZLENBWlosUUFBUyxDQUlULG1CQUE0QixDQUQ1QixpQkFBa0IsQ0FFbEIsa0JBQW1CLENBSm5CLE1BQU8sQ0FNUCxZQUFhLENBUWIsd0JBQXlCLENBTHpCLGlCQUFrQixDQUNsQixrQkFBbUIsQ0FGbkIsZ0JBQWlCLENBWmpCLGlCQUFrQixDQVdsQixXQUFZLENBVFosT0FBUSxDQURSLEtBQU0sQ0FnQk4sb0JBRUosQ0FFQSxpRkFFSSx3QkFBNkIsQ0FDN0IscUNBRUosQ0FFQSx3REFDSSxvQ0FDSixDQUVBLDBDQUNJLGdFQUNKLENBRUEsd0NBVUksb0NBQXlDLENBRHpDLHlDQUE4QyxDQVA5QyxRQUFTLENBS1QsdUJBQTRCLENBRDVCLGlCQUFtQixDQUhuQixNQUFPLENBS1Asa0JBQW9CLENBUHBCLGlCQUFrQixDQUdsQixPQU9KLENBRUEsMENBQ0ksV0FBWSxDQUNaLG9CQUNKLENBSUEsb0VBQ0ksYUFBYyxDQUNkLHlCQUNKLENBRUEsc0VBQ0ksYUFDSixDQW1CQSxpT0FDSSxhQUFjLENBQ2QsZUFDSixDQUdBLHNFQUNJLGFBQWMsQ0FDZCxpQkFBa0IsQ0FDbEIsVUFDSiIsImZpbGUiOiJCb29rRWRpdG9yLm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuQm9va0VkaXRvciB7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJvb2tFZGl0b3JDb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmJvb2tFZGl0b3JDb250YWluZXIuaXNWZXJib3NlIHtcbiAgICAvKiovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAvKiovXG59XG5cbi5pc1ZlcmJvc2Uge1xuICAgIG91dGxpbmU6IDJweCBkb3R0ZWQgcmdiKDI1NSAxMTcgMzgpO1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMDksIDIxMywgMjE5LCAwLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0O1xufVxuLmlzVmVyYm9zZSAuYm9va0VkaXRvcldyYXBwZXIge1xuICAgIC8qKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiovXG59XG5cbi5ib29rRWRpdG9yV3JhcHBlcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xufVxuXG4uYm9va0VkaXRvcldyYXBwZXI6Zm9jdXMtd2l0aGluIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggcmdiYSg5OSwgMTAyLCAyNDEsIDAuNCk7XG59XG5cbi5ib29rRWRpdG9yV3JhcHBlci5pc0JvcmRlclJhZGl1c0Rpc2FibGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uYm9va0VkaXRvckJhY2tncm91bmQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IHtcbiAgICAvKiBUT0RPOiBEUlkgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBjb2xvcjogcmdiKDE3LCAyNCwgMzkpO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IC8qIFRPRE86IERSWSAqL1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogNDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbi5pc1ZlcmJvc2UgLmJvb2tFZGl0b3JIaWdobGlnaHQge1xuICAgIC8qKi9cbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCByZ2JhKDI1NSwgMCwgMCwgMC41KTtcbiAgICAvKiovXG59XG5cbi5ib29rRWRpdG9ySGlnaGxpZ2h0Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJvb2tFZGl0b3JUZXh0YXJlYSB7XG4gICAgLyogVE9ETzogRFJZICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjYXJldC1jb2xvcjogcmdiKDE3LCAyNCwgMzkpO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IC8qIFRPRE86IERSWSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcmVzaXplOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgIHBhZGRpbmctbGVmdDogNDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0NnB4O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4uaXNWZXJib3NlIC5ib29rRWRpdG9yVGV4dGFyZWEge1xuICAgIC8qKi9cbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMCwgMC41KTtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJnYmEoMjU1LCAyNTUsIDAsIDAuNSk7XG4gICAgLyoqL1xufVxuXG4uYm9va0VkaXRvclRleHRhcmVhOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTksIDEwMiwgMjQxLCAwLjYpO1xufVxuXG4uYm9va0VkaXRvclNlcmlmIHtcbiAgICBmb250LWZhbWlseTogdWktc2VyaWYsIEdlb3JnaWEsIENhbWJyaWEsICdUaW1lcyBOZXcgUm9tYW4nLCBUaW1lcywgc2VyaWY7XG59XG5cbi5ib29rRWRpdG9yQmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiByZ2JhKDE3LCAyNCwgMzksIDAuNik7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjA5LCAyMTMsIDIxOSwgMC44KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk5LCAxMDIsIDI0MSwgMC4xKTtcbn1cblxuLmJvb2tFZGl0b3JCYXIgYSB7XG4gICAgY29sb3I6IHVuc2V0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogLS0tIEJvb2sgc3ludGF4IGhpZ2hsaWdodGluZyAqL1xuXG4uYm9va0VkaXRvckhpZ2hsaWdodCA6Z2xvYmFsKC5ib29rLWhpZ2hsaWdodC10aXRsZSkge1xuICAgIGNvbG9yOiAjMzBhOGJkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYm9va0VkaXRvckhpZ2hsaWdodCA6Z2xvYmFsKC5ib29rLWhpZ2hsaWdodC1rZXl3b3JkKSB7XG4gICAgY29sb3I6ICMzMGE4YmQ7XG59XG5cbi8qIFvwn6egXSBQYXJhbWV0ZXIgc3ludGF4IGhpZ2hsaWdodGluZyAtIHVuaWZpZWQgY29sb3IgZm9yIGJvdGggcGFyYW1ldGVyIG5vdGF0aW9uc1xuICogVGhlIEJvb2sgbGFuZ3VhZ2Ugc3VwcG9ydHMgdHdvIGRpZmZlcmVudCBub3RhdGlvbnMgZm9yIHRoZSBzYW1lIHN5bnRheCBmZWF0dXJlIC0gcGFyYW1ldGVyczpcbiAqIDEuIEBQYXJhbWV0ZXIgLSBzaW5nbGUgd29yZCBwYXJhbWV0ZXIgc3RhcnRpbmcgd2l0aCBAXG4gKiAyLiB7cGFyYW1ldGVyTmFtZX0gb3Ige3BhcmFtZXRlciB3aXRoIG11bHRpcGxlIHdvcmRzfSBvciB7cGFyYW1ldGVyTmFtZTogZGVzY3JpcHRpb24gdGV4dH1cbiAqIEJvdGggbm90YXRpb25zIHJlcHJlc2VudCB0aGUgc2FtZSBzZW1hbnRpYyBjb25jZXB0IGFuZCBhcmUgaGlnaGxpZ2h0ZWQgd2l0aCB0aGUgc2FtZSBwdXJwbGUgY29sb3IuXG4gKi9cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IDpnbG9iYWwoLmJvb2staGlnaGxpZ2h0LXBhcmFtZXRlcikge1xuICAgIGNvbG9yOiAjOGU0NGFkOyAvKiBQdXJwbGUgY29sb3IgZm9yIGFsbCBwYXJhbWV0ZXIgc3ludGF4ZXMgKi9cbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBMZWdhY3kgY2xhc3NlcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAtIGJvdGggdXNlIHRoZSBzYW1lIHB1cnBsZSBjb2xvciBub3cgKi9cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IDpnbG9iYWwoLmJvb2staGlnaGxpZ2h0LWF0LXBhcmFtZXRlcikge1xuICAgIGNvbG9yOiAjOGU0NGFkOyAvKiBQdXJwbGUgY29sb3IgKHVuaWZpZWQgd2l0aCBicmFjZSBwYXJhbWV0ZXJzKSAqL1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5ib29rRWRpdG9ySGlnaGxpZ2h0IDpnbG9iYWwoLmJvb2staGlnaGxpZ2h0LWJyYWNlLXBhcmFtZXRlcikge1xuICAgIGNvbG9yOiAjOGU0NGFkOyAvKiBQdXJwbGUgY29sb3IgKHNhbWUgYXMgYXQgcGFyYW1ldGVycykgKi9cbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4vKiBDb21tZW50LWxpa2UgY29tbWl0bWVudHMgKE5PVEUsIENPTU1FTlQsIE5PTkNFKSBoaWdobGlnaHRpbmcgLSBncmF5IGxpa2UgY29kZSBjb21tZW50cyAqL1xuLmJvb2tFZGl0b3JIaWdobGlnaHQgOmdsb2JhbCguYm9vay1oaWdobGlnaHQtY29tbWVudCkge1xuICAgIGNvbG9yOiAjNmI3MjgwOyAvKiBHcmF5IGNvbG9yIHNpbWlsYXIgdG8gY29kZSBjb21tZW50cyBpbiBJREVzICovXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG9wYWNpdHk6IDAuODtcbn1cbiJdfQ== */";
4608
4789
  var styles = {"BookEditor":"BookEditor-module_BookEditor__s-0PU","bookEditorContainer":"BookEditor-module_bookEditorContainer__wLMwM","isVerbose":"BookEditor-module_isVerbose__VQ6iL","bookEditorWrapper":"BookEditor-module_bookEditorWrapper__twppD","isBorderRadiusDisabled":"BookEditor-module_isBorderRadiusDisabled__h1I3v","bookEditorBackground":"BookEditor-module_bookEditorBackground__5O4wu","bookEditorHighlight":"BookEditor-module_bookEditorHighlight__vs37t","bookEditorTextarea":"BookEditor-module_bookEditorTextarea__mUURn","bookEditorSerif":"BookEditor-module_bookEditorSerif__QRS7g","bookEditorBar":"BookEditor-module_bookEditorBar__haBDz"};
4609
4790
  styleInject(css_248z);
4610
4791
 
@@ -4675,7 +4856,7 @@ const DEFAULT_BOOK_FONT_CLASS = styles.bookEditorSerif;
4675
4856
  * @private util of `<BookEditor />`
4676
4857
  */
4677
4858
  function BookEditorInner(props) {
4678
- const { className = '', value: controlledValue, onChange, onFileUpload, fontClassName, isVerbose = false, isBorderRadiusDisabled = false, } = props;
4859
+ const { className = '', value: controlledValue, onChange, onFileUpload, fontClassName, isVerbose = false, isBorderRadiusDisabled = false, isFooterShown = false, } = props;
4679
4860
  const [internalValue, setInternalValue] = useState(DEFAULT_BOOK);
4680
4861
  const value = controlledValue !== undefined ? controlledValue : internalValue;
4681
4862
  const effectiveFontClassName = fontClassName || DEFAULT_BOOK_FONT_CLASS;
@@ -4911,15 +5092,25 @@ function BookEditorInner(props) {
4911
5092
  window.removeEventListener('resize', measure);
4912
5093
  };
4913
5094
  }, []);
5095
+ // Comment-like commitments that should be highlighted as gray comments
5096
+ const commentCommitmentTypes = useMemo(() => ['NOTE', 'NOTES', 'COMMENT', 'NONCE'], []);
5097
+ const commentRegex = useMemo(() => {
5098
+ // Pattern to match comment-like commitments (NOTE, NOTES, COMMENT, NONCE) and their content
5099
+ // Matches from the commitment keyword until the next line that starts with a commitment or end of text
5100
+ const pattern = `(^|\\n)\\s*((?:${commentCommitmentTypes
5101
+ .map((t) => escapeRegex(t))
5102
+ .join('|')})\\b[^\\n]*(?:\\n(?!\\s*[A-Z]+\\s)[^\\n]*)*?)`;
5103
+ return new RegExp(pattern, 'gmi');
5104
+ }, [commentCommitmentTypes]);
4914
5105
  const typeRegex = useMemo(() => {
4915
5106
  const allTypes = getAllCommitmentDefinitions().map(({ type }) => String(type));
4916
- // Filter out 'META' from regular commitments since we'll handle it specially
4917
- const nonMetaTypes = allTypes.filter((t) => t !== 'META');
5107
+ // Filter out 'META' and comment-like commitments since we'll handle them specially
5108
+ const nonMetaTypes = allTypes.filter((t) => t !== 'META' && !commentCommitmentTypes.includes(t));
4918
5109
  // Only match commitments at the beginning of lines (after newline or at start of text)
4919
5110
  // This follows the same logic as parsing in createCommitmentRegex.ts
4920
5111
  const pattern = `(^|\\n)\\s*(?:${nonMetaTypes.map((t) => escapeRegex(t)).join('|')})\\b`;
4921
5112
  return new RegExp(pattern, 'gmi');
4922
- }, []);
5113
+ }, [commentCommitmentTypes]);
4923
5114
  const metaRegex = useMemo(() => {
4924
5115
  // Pattern to match META followed by exactly one uppercase word (DRY principle - single pattern for all META commitments)
4925
5116
  // Only match at the beginning of lines, consistent with other commitments and parsing logic
@@ -4990,16 +5181,33 @@ function BookEditorInner(props) {
4990
5181
  let lastIndex = 0;
4991
5182
  let out = '';
4992
5183
  const processedRanges = [];
4993
- // First, handle META commitments (they take priority)
5184
+ // First, handle comment-like commitments (NOTE, COMMENT, NONCE) - they take highest priority
5185
+ // and should be highlighted as gray comments, including their content
5186
+ text.replace(commentRegex, (match, ...args) => {
5187
+ const index = args[args.length - 2];
5188
+ // Adjust index to skip the newline character if present at the beginning of match
5189
+ const adjustedStart = match.startsWith('\n') ? index + 1 : index;
5190
+ const adjustedMatch = match.startsWith('\n') ? match.slice(1) : match;
5191
+ processedRanges.push({ start: adjustedStart, end: adjustedStart + adjustedMatch.length, type: 'comment' });
5192
+ return match;
5193
+ });
5194
+ // Then, handle META commitments (they take priority over regular commitments)
4994
5195
  text.replace(metaRegex, (match, ...args) => {
4995
5196
  const index = args[args.length - 2];
4996
5197
  // Adjust index to skip the newline character if present at the beginning of match
4997
5198
  const adjustedStart = match.startsWith('\n') ? index + 1 : index;
4998
5199
  const adjustedMatch = match.startsWith('\n') ? match.slice(1) : match;
4999
- processedRanges.push({ start: adjustedStart, end: adjustedStart + adjustedMatch.length, type: 'keyword' });
5200
+ const matchEnd = adjustedStart + adjustedMatch.length;
5201
+ // Check if this match overlaps with any existing range (especially comments)
5202
+ const overlaps = processedRanges.some((range) => (adjustedStart >= range.start && adjustedStart < range.end) ||
5203
+ (matchEnd > range.start && matchEnd <= range.end) ||
5204
+ (adjustedStart < range.start && matchEnd > range.end));
5205
+ if (!overlaps) {
5206
+ processedRanges.push({ start: adjustedStart, end: matchEnd, type: 'keyword' });
5207
+ }
5000
5208
  return match;
5001
5209
  });
5002
- // Then handle regular commitment types, avoiding overlaps with META ranges
5210
+ // Then handle regular commitment types, avoiding overlaps with META and comment ranges
5003
5211
  text.replace(typeRegex, (match, ...args) => {
5004
5212
  const index = args[args.length - 2];
5005
5213
  // Adjust index to skip the newline character if present at the beginning of match
@@ -5027,7 +5235,7 @@ function BookEditorInner(props) {
5027
5235
  processedRanges.push({
5028
5236
  start: param.start,
5029
5237
  end: param.end,
5030
- type: 'parameter'
5238
+ type: 'parameter',
5031
5239
  });
5032
5240
  }
5033
5241
  });
@@ -5048,6 +5256,10 @@ function BookEditorInner(props) {
5048
5256
  // Use the unified parameter class, but maintain backward compatibility
5049
5257
  cssClass = 'book-highlight-parameter';
5050
5258
  break;
5259
+ case 'comment':
5260
+ // NOTE, COMMENT, NONCE commitments should be highlighted as gray comments
5261
+ cssClass = 'book-highlight-comment';
5262
+ break;
5051
5263
  default:
5052
5264
  cssClass = 'book-highlight-keyword';
5053
5265
  break;
@@ -5069,7 +5281,7 @@ function BookEditorInner(props) {
5069
5281
  backgroundAttachment: 'local',
5070
5282
  backgroundOrigin: 'padding-box, content-box',
5071
5283
  backgroundClip: 'padding-box, content-box',
5072
- }, dangerouslySetInnerHTML: { __html: highlightedHtml } }), jsx("textarea", { id: "book", ref: textareaRef, value: value, onChange: handleChange, onScroll: handleScroll, onDrop: handleDrop, onDragOver: handleDragOver, onDragEnter: handleDragEnter, onDragLeave: handleDragLeave, className: `${styles.bookEditorTextarea} ${effectiveFontClassName}${isDragOver ? ' ' + styles.isDragOver : ''}`, style: { lineHeight: `${lineHeight}px` }, placeholder: DEFAULT_BOOK, spellCheck: false }), jsxs("div", { className: styles.bookEditorBar, children: [value.split('\n', 2)[0] || DEFAULT_BOOK_TITLE, ' | ', jsxs("a", { href: "https://github.com/webgptorg/book", target: "_blank", rel: "noopener noreferrer", title: `Book Language Version ${BOOK_LANGUAGE_VERSION}`, children: ["\uD83D\uDCD6 ", BOOK_LANGUAGE_VERSION] }), ' | ', jsxs("a", { href: "https://github.com/webgptorg/promptbook", target: "_blank", rel: "noopener noreferrer", title: `Promptbook Engine Version ${PROMPTBOOK_ENGINE_VERSION}`, children: ["\uD83C\uDFED ", PROMPTBOOK_ENGINE_VERSION] })] })] }) }));
5284
+ }, dangerouslySetInnerHTML: { __html: highlightedHtml } }), jsx("textarea", { id: "book", ref: textareaRef, value: value, onChange: handleChange, onScroll: handleScroll, onDrop: handleDrop, onDragOver: handleDragOver, onDragEnter: handleDragEnter, onDragLeave: handleDragLeave, className: `${styles.bookEditorTextarea} ${effectiveFontClassName}${isDragOver ? ' ' + styles.isDragOver : ''}`, style: { lineHeight: `${lineHeight}px` }, placeholder: DEFAULT_BOOK, spellCheck: false }), isFooterShown && (jsxs("div", { className: styles.bookEditorBar, children: [value.split('\n', 2)[0] || DEFAULT_BOOK_TITLE, ' | ', jsxs("a", { href: "https://github.com/webgptorg/book", target: "_blank", rel: "noopener noreferrer", title: `Book Language Version ${BOOK_LANGUAGE_VERSION}`, children: ["\uD83D\uDCD6 ", BOOK_LANGUAGE_VERSION] }), ' | ', jsxs("a", { href: "https://github.com/webgptorg/promptbook", target: "_blank", rel: "noopener noreferrer", title: `Promptbook Engine Version ${PROMPTBOOK_ENGINE_VERSION}`, children: ["\uD83C\uDFED ", PROMPTBOOK_ENGINE_VERSION] })] }))] }) }));
5073
5285
  }
5074
5286
 
5075
5287
  /**
@@ -5154,7 +5366,7 @@ function injectCssModuleIntoShadowRoot(shadowRoot) {
5154
5366
  * @public exported from `@promptbook/components`
5155
5367
  */
5156
5368
  function BookEditor(props) {
5157
- const { className, style, value, onChange, onFileUpload, fontClassName, isVerbose = DEFAULT_IS_VERBOSE, isBorderRadiusDisabled = false, } = props;
5369
+ const { className, style, value, onChange, onFileUpload, fontClassName, isVerbose = DEFAULT_IS_VERBOSE, isBorderRadiusDisabled = false, isFooterShown = false, } = props;
5158
5370
  // Host div that will get a shadow root
5159
5371
  const hostRef = useRef(null);
5160
5372
  const shadowRootRef = useRef(null);
@@ -5178,7 +5390,7 @@ function BookEditor(props) {
5178
5390
  };
5179
5391
  }, [hostRef.current]);
5180
5392
  // Build the internal editor JSX (this will be portalled into the shadow root if available)
5181
- const editorInner = (jsx(BookEditorInner, { className: className, fontClassName: fontClassName, value: value, onChange: onChange, onFileUpload: onFileUpload, isVerbose: isVerbose, isBorderRadiusDisabled: isBorderRadiusDisabled }));
5393
+ const editorInner = (jsx(BookEditorInner, { className: className, fontClassName: fontClassName, value: value, onChange: onChange, onFileUpload: onFileUpload, isVerbose: isVerbose, isBorderRadiusDisabled: isBorderRadiusDisabled, isFooterShown: isFooterShown }));
5182
5394
  // Render: host div stays in the light DOM (so page layout is preserved),
5183
5395
  // but the editor internals are portalled into the shadow root for isolation.
5184
5396
  return (jsx("div", { "data-book-component": "BookEditor", ref: hostRef, className: classNames(styles.BookEditor, isVerbose && styles.isVerbose, className), style: style, children: shadowReady && shadowRootRef.current ? createPortal(editorInner, shadowRootRef.current) : jsx(Fragment, { children: "Loading..." }) }));
@@ -5412,5 +5624,5 @@ function LlmChat(props) {
5412
5624
  return (jsx(Chat, { ...restProps, messages, onReset, tasksProgress, participants, onMessage: handleMessage, onReset: handleReset }));
5413
5625
  }
5414
5626
 
5415
- export { ArrowIcon, AvatarChip, AvatarChipFromSource, AvatarProfile, AvatarProfileFromSource, BOOK_LANGUAGE_VERSION, BookEditor, Chat, DEFAULT_BOOK_FONT_CLASS, LlmChat, MockedChat, PROMPTBOOK_ENGINE_VERSION, ResetIcon, SendIcon, TemplateIcon, isMarkdownContent, renderMarkdown };
5627
+ export { ArrowIcon, AvatarChip, AvatarChipFromSource, AvatarProfile, AvatarProfileFromSource, BOOK_LANGUAGE_VERSION, BookEditor, Chat, DEFAULT_BOOK_FONT_CLASS, LlmChat, MockedChat, PROMPTBOOK_ENGINE_VERSION, ResetIcon, SendIcon, TemplateIcon, isMarkdownContent, parseMessageButtons, renderMarkdown };
5416
5628
  //# sourceMappingURL=index.es.js.map