source dump of claude code
at main 167 lines 15 kB view raw
1import { c as _c } from "react/compiler-runtime"; 2import React, { useEffect } from 'react'; 3import { type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, logEvent } from 'src/services/analytics/index.js'; 4import type { TeleportRemoteResponse } from 'src/utils/conversationRecovery.js'; 5import type { CodeSession } from 'src/utils/teleport/api.js'; 6import { type TeleportSource, useTeleportResume } from '../hooks/useTeleportResume.js'; 7import { Box, Text } from '../ink.js'; 8import { useKeybinding } from '../keybindings/useKeybinding.js'; 9import { ResumeTask } from './ResumeTask.js'; 10import { Spinner } from './Spinner.js'; 11interface TeleportResumeWrapperProps { 12 onComplete: (result: TeleportRemoteResponse) => void; 13 onCancel: () => void; 14 onError?: (error: string, formattedMessage?: string) => void; 15 isEmbedded?: boolean; 16 source: TeleportSource; 17} 18 19/** 20 * Wrapper component that manages the full teleport resume flow, 21 * including session selection, loading state, and error handling 22 */ 23export function TeleportResumeWrapper(t0) { 24 const $ = _c(25); 25 const { 26 onComplete, 27 onCancel, 28 onError, 29 isEmbedded: t1, 30 source 31 } = t0; 32 const isEmbedded = t1 === undefined ? false : t1; 33 const { 34 resumeSession, 35 isResuming, 36 error, 37 selectedSession 38 } = useTeleportResume(source); 39 let t2; 40 let t3; 41 if ($[0] !== source) { 42 t2 = () => { 43 logEvent("tengu_teleport_started", { 44 source: source as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS 45 }); 46 }; 47 t3 = [source]; 48 $[0] = source; 49 $[1] = t2; 50 $[2] = t3; 51 } else { 52 t2 = $[1]; 53 t3 = $[2]; 54 } 55 useEffect(t2, t3); 56 let t4; 57 if ($[3] !== error || $[4] !== onComplete || $[5] !== onError || $[6] !== resumeSession) { 58 t4 = async session => { 59 const result = await resumeSession(session); 60 if (result) { 61 onComplete(result); 62 } else { 63 if (error) { 64 if (onError) { 65 onError(error.message, error.formattedMessage); 66 } 67 } 68 } 69 }; 70 $[3] = error; 71 $[4] = onComplete; 72 $[5] = onError; 73 $[6] = resumeSession; 74 $[7] = t4; 75 } else { 76 t4 = $[7]; 77 } 78 const handleSelect = t4; 79 let t5; 80 if ($[8] !== onCancel) { 81 t5 = () => { 82 logEvent("tengu_teleport_cancelled", {}); 83 onCancel(); 84 }; 85 $[8] = onCancel; 86 $[9] = t5; 87 } else { 88 t5 = $[9]; 89 } 90 const handleCancel = t5; 91 const t6 = !!error && !onError; 92 let t7; 93 if ($[10] !== t6) { 94 t7 = { 95 context: "Global", 96 isActive: t6 97 }; 98 $[10] = t6; 99 $[11] = t7; 100 } else { 101 t7 = $[11]; 102 } 103 useKeybinding("app:interrupt", handleCancel, t7); 104 if (isResuming && selectedSession) { 105 let t8; 106 if ($[12] === Symbol.for("react.memo_cache_sentinel")) { 107 t8 = <Box flexDirection="row"><Spinner /><Text bold={true}>Resuming session</Text></Box>; 108 $[12] = t8; 109 } else { 110 t8 = $[12]; 111 } 112 let t9; 113 if ($[13] !== selectedSession.title) { 114 t9 = <Box flexDirection="column" padding={1}>{t8}<Text dimColor={true}>Loading "{selectedSession.title}"</Text></Box>; 115 $[13] = selectedSession.title; 116 $[14] = t9; 117 } else { 118 t9 = $[14]; 119 } 120 return t9; 121 } 122 if (error && !onError) { 123 let t8; 124 if ($[15] === Symbol.for("react.memo_cache_sentinel")) { 125 t8 = <Text bold={true} color="error">Failed to resume session</Text>; 126 $[15] = t8; 127 } else { 128 t8 = $[15]; 129 } 130 let t9; 131 if ($[16] !== error.message) { 132 t9 = <Text dimColor={true}>{error.message}</Text>; 133 $[16] = error.message; 134 $[17] = t9; 135 } else { 136 t9 = $[17]; 137 } 138 let t10; 139 if ($[18] === Symbol.for("react.memo_cache_sentinel")) { 140 t10 = <Box marginTop={1}><Text dimColor={true}>Press <Text bold={true}>Esc</Text> to cancel</Text></Box>; 141 $[18] = t10; 142 } else { 143 t10 = $[18]; 144 } 145 let t11; 146 if ($[19] !== t9) { 147 t11 = <Box flexDirection="column" padding={1}>{t8}{t9}{t10}</Box>; 148 $[19] = t9; 149 $[20] = t11; 150 } else { 151 t11 = $[20]; 152 } 153 return t11; 154 } 155 let t8; 156 if ($[21] !== handleCancel || $[22] !== handleSelect || $[23] !== isEmbedded) { 157 t8 = <ResumeTask onSelect={handleSelect} onCancel={handleCancel} isEmbedded={isEmbedded} />; 158 $[21] = handleCancel; 159 $[22] = handleSelect; 160 $[23] = isEmbedded; 161 $[24] = t8; 162 } else { 163 t8 = $[24]; 164 } 165 return t8; 166} 167//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsIkFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMiLCJsb2dFdmVudCIsIlRlbGVwb3J0UmVtb3RlUmVzcG9uc2UiLCJDb2RlU2Vzc2lvbiIsIlRlbGVwb3J0U291cmNlIiwidXNlVGVsZXBvcnRSZXN1bWUiLCJCb3giLCJUZXh0IiwidXNlS2V5YmluZGluZyIsIlJlc3VtZVRhc2siLCJTcGlubmVyIiwiVGVsZXBvcnRSZXN1bWVXcmFwcGVyUHJvcHMiLCJvbkNvbXBsZXRlIiwicmVzdWx0Iiwib25DYW5jZWwiLCJvbkVycm9yIiwiZXJyb3IiLCJmb3JtYXR0ZWRNZXNzYWdlIiwiaXNFbWJlZGRlZCIsInNvdXJjZSIsIlRlbGVwb3J0UmVzdW1lV3JhcHBlciIsInQwIiwiJCIsIl9jIiwidDEiLCJ1bmRlZmluZWQiLCJyZXN1bWVTZXNzaW9uIiwiaXNSZXN1bWluZyIsInNlbGVjdGVkU2Vzc2lvbiIsInQyIiwidDMiLCJ0NCIsInNlc3Npb24iLCJtZXNzYWdlIiwiaGFuZGxlU2VsZWN0IiwidDUiLCJoYW5kbGVDYW5jZWwiLCJ0NiIsInQ3IiwiY29udGV4dCIsImlzQWN0aXZlIiwidDgiLCJTeW1ib2wiLCJmb3IiLCJ0OSIsInRpdGxlIiwidDEwIiwidDExIl0sInNvdXJjZXMiOlsiVGVsZXBvcnRSZXN1bWVXcmFwcGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICB0eXBlIEFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMsXG4gIGxvZ0V2ZW50LFxufSBmcm9tICdzcmMvc2VydmljZXMvYW5hbHl0aWNzL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBUZWxlcG9ydFJlbW90ZVJlc3BvbnNlIH0gZnJvbSAnc3JjL3V0aWxzL2NvbnZlcnNhdGlvblJlY292ZXJ5LmpzJ1xuaW1wb3J0IHR5cGUgeyBDb2RlU2Vzc2lvbiB9IGZyb20gJ3NyYy91dGlscy90ZWxlcG9ydC9hcGkuanMnXG5pbXBvcnQge1xuICB0eXBlIFRlbGVwb3J0U291cmNlLFxuICB1c2VUZWxlcG9ydFJlc3VtZSxcbn0gZnJvbSAnLi4vaG9va3MvdXNlVGVsZXBvcnRSZXN1bWUuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5nIH0gZnJvbSAnLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB7IFJlc3VtZVRhc2sgfSBmcm9tICcuL1Jlc3VtZVRhc2suanMnXG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi9TcGlubmVyLmpzJ1xuXG5pbnRlcmZhY2UgVGVsZXBvcnRSZXN1bWVXcmFwcGVyUHJvcHMge1xuICBvbkNvbXBsZXRlOiAocmVzdWx0OiBUZWxlcG9ydFJlbW90ZVJlc3BvbnNlKSA9PiB2b2lkXG4gIG9uQ2FuY2VsOiAoKSA9PiB2b2lkXG4gIG9uRXJyb3I/OiAoZXJyb3I6IHN0cmluZywgZm9ybWF0dGVkTWVzc2FnZT86IHN0cmluZykgPT4gdm9pZFxuICBpc0VtYmVkZGVkPzogYm9vbGVhblxuICBzb3VyY2U6IFRlbGVwb3J0U291cmNlXG59XG5cbi8qKlxuICogV3JhcHBlciBjb21wb25lbnQgdGhhdCBtYW5hZ2VzIHRoZSBmdWxsIHRlbGVwb3J0IHJlc3VtZSBmbG93LFxuICogaW5jbHVkaW5nIHNlc3Npb24gc2VsZWN0aW9uLCBsb2FkaW5nIHN0YXRlLCBhbmQgZXJyb3IgaGFuZGxpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIFRlbGVwb3J0UmVzdW1lV3JhcHBlcih7XG4gIG9uQ29tcGxldGUsXG4gIG9uQ2FuY2VsLFxuICBvbkVycm9yLFxuICBpc0VtYmVkZGVkID0gZmFsc2UsXG4gIHNvdXJjZSxcbn06IFRlbGVwb3J0UmVzdW1lV3JhcHBlclByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgeyByZXN1bWVTZXNzaW9uLCBpc1Jlc3VtaW5nLCBlcnJvciwgc2VsZWN0ZWRTZXNzaW9uIH0gPVxuICAgIHVzZVRlbGVwb3J0UmVzdW1lKHNvdXJjZSlcblxuICAvLyBMb2cgd2hlbiB0ZWxlcG9ydCBmbG93IHN0YXJ0cyAoZm9yIGZ1bm5lbCB0cmFja2luZylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsb2dFdmVudCgndGVuZ3VfdGVsZXBvcnRfc3RhcnRlZCcsIHtcbiAgICAgIHNvdXJjZTpcbiAgICAgICAgc291cmNlIGFzIEFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMsXG4gICAgfSlcbiAgfSwgW3NvdXJjZV0pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0ID0gYXN5bmMgKHNlc3Npb246IENvZGVTZXNzaW9uKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzdW1lU2Vzc2lvbihzZXNzaW9uKVxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIG9uQ29tcGxldGUocmVzdWx0KVxuICAgIH0gZWxzZSBpZiAoZXJyb3IpIHtcbiAgICAgIC8vIElmIHRoZXJlJ3MgYW4gZXJyb3IgaGFuZGxlciBwcm92aWRlZCwgdXNlIGl0XG4gICAgICBpZiAob25FcnJvcikge1xuICAgICAgICBvbkVycm9yKGVycm9yLm1lc3NhZ2UsIGVycm9yLmZvcm1hdHRlZE1lc3NhZ2UpXG4gICAgICB9XG4gICAgICAvLyBPdGhlcndpc2UgdGhlIGVycm9yIHdpbGwgYmUgZGlzcGxheWVkIGluIHRoZSBVSVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNhbmNlbCA9ICgpID0+IHtcbiAgICBsb2dFdmVudCgndGVuZ3VfdGVsZXBvcnRfY2FuY2VsbGVkJywge30pXG4gICAgb25DYW5jZWwoKVxuICB9XG5cbiAgLy8gQWxsb3cgRXNjIHRvIGRpc21pc3MgdGhlIGVycm9yIHN0YXRlXG4gIHVzZUtleWJpbmRpbmcoJ2FwcDppbnRlcnJ1cHQnLCBoYW5kbGVDYW5jZWwsIHtcbiAgICBjb250ZXh0OiAnR2xvYmFsJyxcbiAgICBpc0FjdGl2ZTogISFlcnJvciAmJiAhb25FcnJvcixcbiAgfSlcblxuICAvLyBTaG93IGxvYWRpbmcgc3Bpbm5lciB3aGVuIHJlc3VtaW5nXG4gIGlmIChpc1Jlc3VtaW5nICYmIHNlbGVjdGVkU2Vzc2lvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBwYWRkaW5nPXsxfT5cbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwicm93XCI+XG4gICAgICAgICAgPFNwaW5uZXIgLz5cbiAgICAgICAgICA8VGV4dCBib2xkPlJlc3VtaW5nIHNlc3Npb27igKY8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8VGV4dCBkaW1Db2xvcj5Mb2FkaW5nICZxdW90O3tzZWxlY3RlZFNlc3Npb24udGl0bGV9JnF1b3Q74oCmPC9UZXh0PlxuICAgICAgPC9Cb3g+XG4gICAgKVxuICB9XG5cbiAgLy8gU2hvdyBlcnJvciBpZiB0aGVyZSB3YXMgYSBwcm9ibGVtIHJlc3VtaW5nXG4gIGlmIChlcnJvciAmJiAhb25FcnJvcikge1xuICAgIHJldHVybiAoXG4gICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBwYWRkaW5nPXsxfT5cbiAgICAgICAgPFRleHQgYm9sZCBjb2xvcj1cImVycm9yXCI+XG4gICAgICAgICAgRmFpbGVkIHRvIHJlc3VtZSBzZXNzaW9uXG4gICAgICAgIDwvVGV4dD5cbiAgICAgICAgPFRleHQgZGltQ29sb3I+e2Vycm9yLm1lc3NhZ2V9PC9UZXh0PlxuICAgICAgICA8Qm94IG1hcmdpblRvcD17MX0+XG4gICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICBQcmVzcyA8VGV4dCBib2xkPkVzYzwvVGV4dD4gdG8gY2FuY2VsXG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L0JveD5cbiAgICAgIDwvQm94PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFJlc3VtZVRhc2tcbiAgICAgIG9uU2VsZWN0PXtoYW5kbGVTZWxlY3R9XG4gICAgICBvbkNhbmNlbD17aGFuZGxlQ2FuY2VsfVxuICAgICAgaXNFbWJlZGRlZD17aXNFbWJlZGRlZH1cbiAgICAvPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFNBQVMsUUFBUSxPQUFPO0FBQ3hDLFNBQ0UsS0FBS0MsMERBQTBELEVBQy9EQyxRQUFRLFFBQ0gsaUNBQWlDO0FBQ3hDLGNBQWNDLHNCQUFzQixRQUFRLG1DQUFtQztBQUMvRSxjQUFjQyxXQUFXLFFBQVEsMkJBQTJCO0FBQzVELFNBQ0UsS0FBS0MsY0FBYyxFQUNuQkMsaUJBQWlCLFFBQ1osK0JBQStCO0FBQ3RDLFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLFdBQVc7QUFDckMsU0FBU0MsYUFBYSxRQUFRLGlDQUFpQztBQUMvRCxTQUFTQyxVQUFVLFFBQVEsaUJBQWlCO0FBQzVDLFNBQVNDLE9BQU8sUUFBUSxjQUFjO0FBRXRDLFVBQVVDLDBCQUEwQixDQUFDO0VBQ25DQyxVQUFVLEVBQUUsQ0FBQ0MsTUFBTSxFQUFFWCxzQkFBc0IsRUFBRSxHQUFHLElBQUk7RUFDcERZLFFBQVEsRUFBRSxHQUFHLEdBQUcsSUFBSTtFQUNwQkMsT0FBTyxDQUFDLEVBQUUsQ0FBQ0MsS0FBSyxFQUFFLE1BQU0sRUFBRUMsZ0JBQXlCLENBQVIsRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJO0VBQzVEQyxVQUFVLENBQUMsRUFBRSxPQUFPO0VBQ3BCQyxNQUFNLEVBQUVmLGNBQWM7QUFDeEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLFNBQUFnQixzQkFBQUMsRUFBQTtFQUFBLE1BQUFDLENBQUEsR0FBQUMsRUFBQTtFQUErQjtJQUFBWCxVQUFBO0lBQUFFLFFBQUE7SUFBQUMsT0FBQTtJQUFBRyxVQUFBLEVBQUFNLEVBQUE7SUFBQUw7RUFBQSxJQUFBRSxFQU1UO0VBRjNCLE1BQUFILFVBQUEsR0FBQU0sRUFBa0IsS0FBbEJDLFNBQWtCLEdBQWxCLEtBQWtCLEdBQWxCRCxFQUFrQjtFQUdsQjtJQUFBRSxhQUFBO0lBQUFDLFVBQUE7SUFBQVgsS0FBQTtJQUFBWTtFQUFBLElBQ0V2QixpQkFBaUIsQ0FBQ2MsTUFBTSxDQUFDO0VBQUEsSUFBQVUsRUFBQTtFQUFBLElBQUFDLEVBQUE7RUFBQSxJQUFBUixDQUFBLFFBQUFILE1BQUE7SUFHakJVLEVBQUEsR0FBQUEsQ0FBQTtNQUNSNUIsUUFBUSxDQUFDLHdCQUF3QixFQUFFO1FBQUFrQixNQUFBLEVBRS9CQSxNQUFNLElBQUluQjtNQUNkLENBQUMsQ0FBQztJQUFBLENBQ0g7SUFBRThCLEVBQUEsSUFBQ1gsTUFBTSxDQUFDO0lBQUFHLENBQUEsTUFBQUgsTUFBQTtJQUFBRyxDQUFBLE1BQUFPLEVBQUE7SUFBQVAsQ0FBQSxNQUFBUSxFQUFBO0VBQUE7SUFBQUQsRUFBQSxHQUFBUCxDQUFBO0lBQUFRLEVBQUEsR0FBQVIsQ0FBQTtFQUFBO0VBTFh2QixTQUFTLENBQUM4QixFQUtULEVBQUVDLEVBQVEsQ0FBQztFQUFBLElBQUFDLEVBQUE7RUFBQSxJQUFBVCxDQUFBLFFBQUFOLEtBQUEsSUFBQU0sQ0FBQSxRQUFBVixVQUFBLElBQUFVLENBQUEsUUFBQVAsT0FBQSxJQUFBTyxDQUFBLFFBQUFJLGFBQUE7SUFFU0ssRUFBQSxTQUFBQyxPQUFBO01BQ25CLE1BQUFuQixNQUFBLEdBQWUsTUFBTWEsYUFBYSxDQUFDTSxPQUFPLENBQUM7TUFDM0MsSUFBSW5CLE1BQU07UUFDUkQsVUFBVSxDQUFDQyxNQUFNLENBQUM7TUFBQTtRQUNiLElBQUlHLEtBQUs7VUFFZCxJQUFJRCxPQUFPO1lBQ1RBLE9BQU8sQ0FBQ0MsS0FBSyxDQUFBaUIsT0FBUSxFQUFFakIsS0FBSyxDQUFBQyxnQkFBaUIsQ0FBQztVQUFBO1FBQy9DO01BRUY7SUFBQSxDQUNGO0lBQUFLLENBQUEsTUFBQU4sS0FBQTtJQUFBTSxDQUFBLE1BQUFWLFVBQUE7SUFBQVUsQ0FBQSxNQUFBUCxPQUFBO0lBQUFPLENBQUEsTUFBQUksYUFBQTtJQUFBSixDQUFBLE1BQUFTLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFULENBQUE7RUFBQTtFQVhELE1BQUFZLFlBQUEsR0FBcUJILEVBV3BCO0VBQUEsSUFBQUksRUFBQTtFQUFBLElBQUFiLENBQUEsUUFBQVIsUUFBQTtJQUVvQnFCLEVBQUEsR0FBQUEsQ0FBQTtNQUNuQmxDLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUN4Q2EsUUFBUSxDQUFDLENBQUM7SUFBQSxDQUNYO0lBQUFRLENBQUEsTUFBQVIsUUFBQTtJQUFBUSxDQUFBLE1BQUFhLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFiLENBQUE7RUFBQTtFQUhELE1BQUFjLFlBQUEsR0FBcUJELEVBR3BCO0VBS1csTUFBQUUsRUFBQSxJQUFDLENBQUNyQixLQUFpQixJQUFuQixDQUFZRCxPQUFPO0VBQUEsSUFBQXVCLEVBQUE7RUFBQSxJQUFBaEIsQ0FBQSxTQUFBZSxFQUFBO0lBRmNDLEVBQUE7TUFBQUMsT0FBQSxFQUNsQyxRQUFRO01BQUFDLFFBQUEsRUFDUEg7SUFDWixDQUFDO0lBQUFmLENBQUEsT0FBQWUsRUFBQTtJQUFBZixDQUFBLE9BQUFnQixFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBaEIsQ0FBQTtFQUFBO0VBSERkLGFBQWEsQ0FBQyxlQUFlLEVBQUU0QixZQUFZLEVBQUVFLEVBRzVDLENBQUM7RUFHRixJQUFJWCxVQUE2QixJQUE3QkMsZUFBNkI7SUFBQSxJQUFBYSxFQUFBO0lBQUEsSUFBQW5CLENBQUEsU0FBQW9CLE1BQUEsQ0FBQUMsR0FBQTtNQUczQkYsRUFBQSxJQUFDLEdBQUcsQ0FBZSxhQUFLLENBQUwsS0FBSyxDQUN0QixDQUFDLE9BQU8sR0FDUixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUosS0FBRyxDQUFDLENBQUMsaUJBQWlCLEVBQTNCLElBQUksQ0FDUCxFQUhDLEdBQUcsQ0FHRTtNQUFBbkIsQ0FBQSxPQUFBbUIsRUFBQTtJQUFBO01BQUFBLEVBQUEsR0FBQW5CLENBQUE7SUFBQTtJQUFBLElBQUFzQixFQUFBO0lBQUEsSUFBQXRCLENBQUEsU0FBQU0sZUFBQSxDQUFBaUIsS0FBQTtNQUpSRCxFQUFBLElBQUMsR0FBRyxDQUFlLGFBQVEsQ0FBUixRQUFRLENBQVUsT0FBQyxDQUFELEdBQUMsQ0FDcEMsQ0FBQUgsRUFHSyxDQUNMLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBUixLQUFPLENBQUMsQ0FBQyxTQUFlLENBQUFiLGVBQWUsQ0FBQWlCLEtBQUssQ0FBRSxFQUFPLEVBQTFELElBQUksQ0FDUCxFQU5DLEdBQUcsQ0FNRTtNQUFBdkIsQ0FBQSxPQUFBTSxlQUFBLENBQUFpQixLQUFBO01BQUF2QixDQUFBLE9BQUFzQixFQUFBO0lBQUE7TUFBQUEsRUFBQSxHQUFBdEIsQ0FBQTtJQUFBO0lBQUEsT0FOTnNCLEVBTU07RUFBQTtFQUtWLElBQUk1QixLQUFpQixJQUFqQixDQUFVRCxPQUFPO0lBQUEsSUFBQTBCLEVBQUE7SUFBQSxJQUFBbkIsQ0FBQSxTQUFBb0IsTUFBQSxDQUFBQyxHQUFBO01BR2ZGLEVBQUEsSUFBQyxJQUFJLENBQUMsSUFBSSxDQUFKLEtBQUcsQ0FBQyxDQUFPLEtBQU8sQ0FBUCxPQUFPLENBQUMsd0JBRXpCLEVBRkMsSUFBSSxDQUVFO01BQUFuQixDQUFBLE9BQUFtQixFQUFBO0lBQUE7TUFBQUEsRUFBQSxHQUFBbkIsQ0FBQTtJQUFBO0lBQUEsSUFBQXNCLEVBQUE7SUFBQSxJQUFBdEIsQ0FBQSxTQUFBTixLQUFBLENBQUFpQixPQUFBO01BQ1BXLEVBQUEsSUFBQyxJQUFJLENBQUMsUUFBUSxDQUFSLEtBQU8sQ0FBQyxDQUFFLENBQUE1QixLQUFLLENBQUFpQixPQUFPLENBQUUsRUFBN0IsSUFBSSxDQUFnQztNQUFBWCxDQUFBLE9BQUFOLEtBQUEsQ0FBQWlCLE9BQUE7TUFBQVgsQ0FBQSxPQUFBc0IsRUFBQTtJQUFBO01BQUFBLEVBQUEsR0FBQXRCLENBQUE7SUFBQTtJQUFBLElBQUF3QixHQUFBO0lBQUEsSUFBQXhCLENBQUEsU0FBQW9CLE1BQUEsQ0FBQUMsR0FBQTtNQUNyQ0csR0FBQSxJQUFDLEdBQUcsQ0FBWSxTQUFDLENBQUQsR0FBQyxDQUNmLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBUixLQUFPLENBQUMsQ0FBQyxNQUNQLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBSixLQUFHLENBQUMsQ0FBQyxHQUFHLEVBQWIsSUFBSSxDQUFnQixVQUM3QixFQUZDLElBQUksQ0FHUCxFQUpDLEdBQUcsQ0FJRTtNQUFBeEIsQ0FBQSxPQUFBd0IsR0FBQTtJQUFBO01BQUFBLEdBQUEsR0FBQXhCLENBQUE7SUFBQTtJQUFBLElBQUF5QixHQUFBO0lBQUEsSUFBQXpCLENBQUEsU0FBQXNCLEVBQUE7TUFUUkcsR0FBQSxJQUFDLEdBQUcsQ0FBZSxhQUFRLENBQVIsUUFBUSxDQUFVLE9BQUMsQ0FBRCxHQUFDLENBQ3BDLENBQUFOLEVBRU0sQ0FDTixDQUFBRyxFQUFvQyxDQUNwQyxDQUFBRSxHQUlLLENBQ1AsRUFWQyxHQUFHLENBVUU7TUFBQXhCLENBQUEsT0FBQXNCLEVBQUE7TUFBQXRCLENBQUEsT0FBQXlCLEdBQUE7SUFBQTtNQUFBQSxHQUFBLEdBQUF6QixDQUFBO0lBQUE7SUFBQSxPQVZOeUIsR0FVTTtFQUFBO0VBRVQsSUFBQU4sRUFBQTtFQUFBLElBQUFuQixDQUFBLFNBQUFjLFlBQUEsSUFBQWQsQ0FBQSxTQUFBWSxZQUFBLElBQUFaLENBQUEsU0FBQUosVUFBQTtJQUdDdUIsRUFBQSxJQUFDLFVBQVUsQ0FDQ1AsUUFBWSxDQUFaQSxhQUFXLENBQUMsQ0FDWkUsUUFBWSxDQUFaQSxhQUFXLENBQUMsQ0FDVmxCLFVBQVUsQ0FBVkEsV0FBUyxDQUFDLEdBQ3RCO0lBQUFJLENBQUEsT0FBQWMsWUFBQTtJQUFBZCxDQUFBLE9BQUFZLFlBQUE7SUFBQVosQ0FBQSxPQUFBSixVQUFBO0lBQUFJLENBQUEsT0FBQW1CLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFuQixDQUFBO0VBQUE7RUFBQSxPQUpGbUIsRUFJRTtBQUFBIiwiaWdub3JlTGlzdCI6W119