@codecademy/brand 3.0.0-alpha.3d56920d7b.0 → 3.0.0-alpha.48d7684c2f.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.js +26 -5
  2. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavPanels.d.ts +4 -0
  3. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavPanels.js +98 -0
  4. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavSection.d.ts +15 -0
  5. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/NavSection.js +67 -0
  6. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/consts.d.ts +7 -0
  7. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/consts.js +39 -0
  8. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/index.d.ts +11 -0
  9. package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogSectionVariant/index.js +68 -0
  10. package/dist/Banner/EnhancedBanner.d.ts +1 -1
  11. package/dist/Banner/EnhancedBanner.js +5 -5
  12. package/dist/Banner/index.d.ts +1 -11
  13. package/dist/Banner/index.js +3 -24
  14. package/dist/CareerPathCard/index.d.ts +4 -1
  15. package/dist/CareerPathCard/index.js +15 -7
  16. package/dist/CertificationPathCard/index.d.ts +4 -1
  17. package/dist/CertificationPathCard/index.js +17 -9
  18. package/dist/ContentGroupBaseCard/index.d.ts +5 -3
  19. package/dist/ContentGroupBaseCard/index.js +129 -72
  20. package/dist/ContentGroupBaseCard/shared.js +29 -23
  21. package/dist/CourseCard/index.d.ts +4 -1
  22. package/dist/CourseCard/index.js +15 -11
  23. package/dist/GlobalHeader/GlobalHeaderItems.js +1 -1
  24. package/dist/GlobalHeader/context.d.ts +8 -0
  25. package/dist/GlobalHeader/context.js +9 -0
  26. package/dist/GlobalHeader/index.d.ts +1 -0
  27. package/dist/GlobalHeader/index.js +47 -37
  28. package/dist/GlobalHeader/types.d.ts +1 -0
  29. package/dist/GlobalPage/index.d.ts +2 -2
  30. package/dist/GlobalPage/index.js +2 -2
  31. package/dist/LayoutMenu/AccordionMenu.d.ts +1 -0
  32. package/dist/LayoutMenu/AccordionMenu.js +5 -2
  33. package/dist/LayoutMenu/LayoutMenu.d.ts +2 -1
  34. package/dist/LayoutMenu/LayoutMenu.js +9 -7
  35. package/dist/LayoutMenuVariant/AccordionMenu.js +4 -4
  36. package/dist/LearningOutcomeFlyout/LearningOutcomeCardList.d.ts +2 -1
  37. package/dist/LearningOutcomeFlyout/LearningOutcomeCardList.js +19 -7
  38. package/dist/LearningOutcomeFlyout/index.d.ts +5 -35
  39. package/dist/LearningOutcomeFlyout/index.js +115 -9
  40. package/dist/LearningOutcomeFlyout/types.d.ts +49 -0
  41. package/dist/LearningOutcomeFlyout/types.js +5 -0
  42. package/dist/Logos/shared.d.ts +7 -0
  43. package/dist/Recurly/context/NoProvider.d.ts +8 -0
  44. package/dist/Recurly/context/NoProvider.js +7 -0
  45. package/dist/Recurly/context/elements/index.d.ts +26 -0
  46. package/dist/Recurly/context/elements/index.js +46 -0
  47. package/dist/Recurly/context/index.d.ts +2 -0
  48. package/dist/Recurly/context/index.js +2 -0
  49. package/dist/Recurly/context/recurly/index.d.ts +30 -0
  50. package/dist/Recurly/context/recurly/index.js +50 -0
  51. package/dist/Recurly/context/recurly/loadRecurly.d.ts +6 -0
  52. package/dist/Recurly/context/recurly/loadRecurly.js +22 -0
  53. package/dist/Recurly/context/recurly/w.d.ts +14 -0
  54. package/dist/Recurly/context/recurly/w.js +4 -0
  55. package/dist/Recurly/fields/RecurlyField.d.ts +9 -0
  56. package/dist/Recurly/fields/RecurlyField.js +57 -0
  57. package/dist/Recurly/fields/elements.d.ts +17 -0
  58. package/dist/Recurly/fields/elements.js +106 -0
  59. package/dist/Recurly/fields/elements.test.js +79 -0
  60. package/dist/Recurly/fields/index.d.ts +2 -0
  61. package/dist/Recurly/fields/index.js +2 -0
  62. package/dist/Recurly/index.d.ts +2 -0
  63. package/dist/Recurly/index.js +2 -0
  64. package/dist/SkillPathCard/index.d.ts +4 -1
  65. package/dist/SkillPathCard/index.js +15 -7
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/stories/Molecules/ContentGroupBaseCard.stories.js +3 -1
  69. package/dist/stories/Molecules/CurriculumCards/CareerPathCard.stories.js +3 -1
  70. package/dist/stories/Molecules/CurriculumCards/CertificationPathCard.stories.js +3 -1
  71. package/dist/stories/Molecules/CurriculumCards/CourseCard.stories.js +3 -1
  72. package/dist/stories/Molecules/CurriculumCards/SkillPathCard.stories.js +3 -1
  73. package/dist/stories/Molecules/EnhancedBanner.stories.d.ts +3 -3
  74. package/dist/stories/Molecules/EnhancedBanner.stories.js +2 -12
  75. package/dist/stories/Molecules/LearningOutcomeFlyout.stories.js +13 -0
  76. package/dist/stories/Molecules/Recurly.stories.d.ts +5 -0
  77. package/dist/stories/Molecules/Recurly.stories.js +56 -0
  78. package/package.json +1 -1
@@ -4,8 +4,33 @@ import { SmallCheckIcon } from '@codecademy/gamut-icons';
4
4
  import { css } from '@codecademy/gamut-styles';
5
5
  import { LearningOutcomeAssessmentScores } from '../LearningOutcomeAssessmentScores';
6
6
  import { learningOutcomeLabels, LearningOutcomeLevelBadge, LearningOutcomeLevels, LearningOutcomeLowAssessmentBadge } from '../LearningOutcomeBadges';
7
+ import { LearningOutcomeTile } from '../LearningOutcomeTile';
7
8
  import { LearningOutcomeCardList } from './LearningOutcomeCardList';
8
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ const ChildLearningOutcomeRow = /*#__PURE__*/_styled(FlexBox, {
11
+ target: "e1ylhic52",
12
+ label: "ChildLearningOutcomeRow"
13
+ })(css({
14
+ background: 'white',
15
+ borderColor: 'border-tertiary',
16
+ borderTopWidth: 0,
17
+ borderLeftWidth: 1,
18
+ borderRightWidth: 1,
19
+ borderBottomWidth: 1,
20
+ borderStyle: 'solid',
21
+ padding: '24px 16px',
22
+ alignItems: 'flex-start',
23
+ justifyContent: 'flex-start',
24
+ gap: 16,
25
+ '&:first-of-type': {
26
+ borderTopLeftRadius: '4px',
27
+ borderTopRightRadius: '4px'
28
+ },
29
+ '&:last-of-type': {
30
+ borderBottomLeftRadius: '4px',
31
+ borderBottomRightRadius: '4px'
32
+ }
33
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVGbHlvdXQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdCZ0MiLCJmaWxlIjoiLi4vLi4vc3JjL0xlYXJuaW5nT3V0Y29tZUZseW91dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEZsZXhCb3gsIEZseW91dCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IFNtYWxsQ2hlY2tJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgTGVhcm5pbmdPdXRjb21lQXNzZXNzbWVudFNjb3JlcyB9IGZyb20gJy4uL0xlYXJuaW5nT3V0Y29tZUFzc2Vzc21lbnRTY29yZXMnO1xuaW1wb3J0IHtcbiAgbGVhcm5pbmdPdXRjb21lTGFiZWxzLFxuICBMZWFybmluZ091dGNvbWVMZXZlbEJhZGdlLFxuICBMZWFybmluZ091dGNvbWVMZXZlbHMsXG4gIExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSxcbn0gZnJvbSAnLi4vTGVhcm5pbmdPdXRjb21lQmFkZ2VzJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZVRpbGUgfSBmcm9tICcuLi9MZWFybmluZ091dGNvbWVUaWxlJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZUNhcmRMaXN0IH0gZnJvbSAnLi9MZWFybmluZ091dGNvbWVDYXJkTGlzdCc7XG5pbXBvcnQgeyBMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcywgTGVhcm5pbmdPdXRjb21lU2tpbGwgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgQ2hpbGRMZWFybmluZ091dGNvbWVSb3cgPSBzdHlsZWQoRmxleEJveCkoXG4gIGNzcyh7XG4gICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICBib3JkZXJDb2xvcjogJ2JvcmRlci10ZXJ0aWFyeScsXG4gICAgYm9yZGVyVG9wV2lkdGg6IDAsXG4gICAgYm9yZGVyTGVmdFdpZHRoOiAxLFxuICAgIGJvcmRlclJpZ2h0V2lkdGg6IDEsXG4gICAgYm9yZGVyQm90dG9tV2lkdGg6IDEsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgcGFkZGluZzogJzI0cHggMTZweCcsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgZ2FwOiAxNixcbiAgICAnJjpmaXJzdC1vZi10eXBlJzoge1xuICAgICAgYm9yZGVyVG9wTGVmdFJhZGl1czogJzRweCcsXG4gICAgICBib3JkZXJUb3BSaWdodFJhZGl1czogJzRweCcsXG4gICAgfSxcbiAgICAnJjpsYXN0LW9mLXR5cGUnOiB7XG4gICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiAnNHB4JyxcbiAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAnNHB4JyxcbiAgICB9LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkQW5jaG9yID0gc3R5bGVkKEFuY2hvcikoXG4gIGNzcyh7XG4gICAgY29sb3I6ICd0ZXh0JyxcbiAgICBmb250U2l6ZTogMjYsXG4gICAgZm9udFdlaWdodDogNzAwLFxuICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgJyY6aG92ZXIsICY6Zm9jdXMnOiB7XG4gICAgICBjb2xvcjogJ3RleHQnLFxuICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTa2lsbFRhZyA9IHN0eWxlZChBbmNob3IpKFxuICBjc3Moe1xuICAgIGZvbnRTaXplOiAxNCxcbiAgICBib3JkZXJSYWRpdXM6ICdtZCcsXG4gICAgYm9yZGVyOiAxLFxuICAgIGJvcmRlckNvbG9yOiAnYm9yZGVyLXByaW1hcnknLFxuICAgICcmOmhvdmVyLCAmOmZvY3VzJzoge1xuICAgICAgY29sb3I6ICd0ZXh0JyxcbiAgICAgIGJnOiAnYmFja2dyb3VuZC1ob3ZlcicsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBzb3J0U2tpbGxzQnlDbGFzc2lmaWNhdGlvbiA9IChcbiAgc2tpbGxzPzogTGVhcm5pbmdPdXRjb21lU2tpbGxbXSB8IG51bGxcbikgPT4ge1xuICBpZiAoIXNraWxscz8ubGVuZ3RoKSByZXR1cm4gW107XG4gIGNvbnN0IHNraWxsc0NvcHkgPSBza2lsbHMuc2xpY2UoKTtcblxuICBjb25zdCBzb3J0ZWRTa2lsbHMgPSBza2lsbHNDb3B5Py5zb3J0KChhLCBiKSA9PiB7XG4gICAgaWYgKGE/LmNsYXNzaWZpY2F0aW9uID09PSAnbGFuZ3VhZ2UnKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmIChiPy5jbGFzc2lmaWNhdGlvbiA9PT0gJ3N1YmplY3QnKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH0pO1xuXG4gIHJldHVybiBzb3J0ZWRTa2lsbHM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGVhcm5pbmdPdXRjb21lUGF0aCA9IChpZD86IHN0cmluZykgPT4ge1xuICByZXR1cm4gaWQgPyBgL2xlYXJuaW5nLW91dGNvbWVzLyR7aWR9YCA6ICcvJztcbn07XG5cbmNvbnN0IGdldFNraWxsc0FyZWFQYXRoID0gKHNraWxsU2x1Zz86IHN0cmluZykgPT4ge1xuICByZXR1cm4gc2tpbGxTbHVnID8gYC9za2lsbC1hcmVhcy8ke3NraWxsU2x1Z31gIDogJy8nO1xufTtcblxuZXhwb3J0IGNvbnN0IG1pc2NUcmFja2luZ0RhdGEgPSAoXG4gIGxldmVsPzogTGVhcm5pbmdPdXRjb21lTGV2ZWxzIHwgbnVsbCxcbiAgaWQ/OiBzdHJpbmcsXG4gIGxhdGVzdFNjb3JlPzogbnVtYmVyIHwgbnVsbCxcbiAgb3V0Y29tZT86IHN0cmluZ1xuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbWlzYzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgbGFzdF9hc3Nlc3NlZF9zY29yZTogbGF0ZXN0U2NvcmUsXG4gICAgICBMT19sZXZlbDogbGV2ZWwsXG4gICAgICB0aXRsZTogb3V0Y29tZSxcbiAgICAgIHVuaXF1ZV9pZDogaWQsXG4gICAgfSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgTGVhcm5pbmdPdXRjb21lRmx5b3V0OiBSZWFjdC5GQzxMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcz4gPSAoe1xuICBleHBhbmRlZCxcbiAgbGVhcm5pbmdPdXRjb21lSHJlZixcbiAgbGVhcm5pbmdPdXRjb21lT25DbGljayxcbiAgY2hpbGRMZWFybmluZ091dGNvbWVPbkNsaWNrLFxuICBwYXJlbnRMZWFybmluZ091dGNvbWVPbkNsaWNrLFxuICBsZWFybmluZ091dGNvbWU6IHtcbiAgICBoaWdoZXN0U2NvcmUsXG4gICAgaGlnaGVzdFNjb3JlQWNoaWV2ZWRBdCxcbiAgICBsYXRlc3RTY29yZSxcbiAgICBsYXRlc3RTY29yZUFjaGlldmVkQXQsXG4gICAgbGV2ZWwsXG4gICAgb3V0Y29tZSxcbiAgICBwYXJlbnRMT3MsXG4gICAgcGVyY2VudENvbXBsZXRlLFxuICAgIHNraWxscyxcbiAgICBjaGlsZExlYXJuaW5nT3V0Y29tZXMsXG4gIH0sXG4gIHNraWxsVGFnT25DbGljayxcbiAgb25DbG9zZSxcbn0pID0+IHtcbiAgY29uc3QgcGVyY2VudENvbXBsZXRlUGVyY2VudGFnZSA9XG4gICAgcGVyY2VudENvbXBsZXRlICE9IG51bGwgPyBwZXJjZW50Q29tcGxldGUgOiAwO1xuICBjb25zdCBsZXZlbExhYmVsID0gbGVhcm5pbmdPdXRjb21lTGFiZWxzW2xldmVsXTtcblxuICBjb25zdCBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ID0gQm9vbGVhbihcbiAgICBsYXRlc3RTY29yZSAhPSBudWxsICYmIGxhdGVzdFNjb3JlIDwgNzBcbiAgKTtcblxuICBjb25zdCBzaG93U2tpbGxzID0gISFza2lsbHM/Lmxlbmd0aDtcbiAgY29uc3Qgc29ydGVkU2tpbGxzID0gc29ydFNraWxsc0J5Q2xhc3NpZmljYXRpb24oc2tpbGxzKTtcblxuICBjb25zdCBpc0xldmVsVHdvTGVhcm5pbmdPdXRjb21lID0gbGV2ZWwgPT09IExlYXJuaW5nT3V0Y29tZUxldmVscy5Ud287XG4gIGNvbnN0IHNob3dQYXJlbnRMT3MgPVxuICAgIGxldmVsID09PSBMZWFybmluZ091dGNvbWVMZXZlbHMuVHdvICYmICEhcGFyZW50TE9zICYmIHBhcmVudExPcy5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IHJlbmRlclByb2dyZXNzID0gKCkgPT4gKFxuICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgIHtCb29sZWFuKHBlcmNlbnRDb21wbGV0ZVBlcmNlbnRhZ2UgPT09IDEwMCkgJiYgKFxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIHdpZHRoPXsxNn1cbiAgICAgICAgICBoZWlnaHQ9ezE2fVxuICAgICAgICAgIGJvcmRlclJhZGl1cz1cIm1kXCJcbiAgICAgICAgICBiZz1cInByaW1hcnlcIlxuICAgICAgICAgIG1yPXs4fVxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTbWFsbENoZWNrSWNvbiBzaXplPXsxMX0gY29sb3I9XCJ3aGl0ZVwiIC8+XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgICl9XG4gICAgICA8VGV4dFxuICAgICAgICBjb2xvcj1cInRleHRcIlxuICAgICAgICB2YXJpYW50PVwicC1sYXJnZVwiXG4gICAgICA+e2Ake3BlcmNlbnRDb21wbGV0ZVBlcmNlbnRhZ2V9JSBwcm9ncmVzc2B9PC9UZXh0PlxuICAgIDwvRmxleEJveD5cbiAgKTtcblxuICBjb25zdCByZW5kZXJTa2lsbHMgPSAoKSA9PiB7XG4gICAgLy8gUmVuZGVyIHNraWxscyB3aGVuIHRoZSBkcmF3ZXIgaXMgZmVhdHVyaW5nIGEgbGV2ZWwgMyBvdXRjb21lXG4gICAgcmV0dXJuIDxGbGV4Qm94IGFzPVwidWxcIj5Ta2lsbHMgZ28gaGVyZTwvRmxleEJveD47XG4gIH07XG5cbiAgLy8gUmVuZGVyIHN1YnNraWxscyB3aGVuIHRoZSBkcmF3ZXIgaXMgZmVhdHVyaW5nIGEgbGV2ZWwgMiBvdXRjb21lXG4gIGNvbnN0IHJlbmRlclN1YnNraWxscyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPEZsZXhCb3hcbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICBwPXswfVxuICAgICAgICBib3JkZXJUb3A9ezF9XG4gICAgICAgIGJvcmRlckNvbG9yPVwiYm9yZGVyLXRlcnRpYXJ5XCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwibWRcIlxuICAgICAgPlxuICAgICAgICB7Y2hpbGRMZWFybmluZ091dGNvbWVzPy5tYXAoKGNoaWxkTG8pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGlkLCBvdXRjb21lLCBwcm9ncmVzcywgcGVyY2VudENvbXBsZXRlIH0gPSBjaGlsZExvO1xuICAgICAgICAgIGNvbnN0IHNob3dOZWVkc1Jldmlld0luZGljYXRvciA9XG4gICAgICAgICAgICBwcm9ncmVzcz8ubGF0ZXN0U2NvcmUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIHByb2dyZXNzPy5sYXRlc3RTY29yZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8gcHJvZ3Jlc3MubGF0ZXN0U2NvcmUgPCA3MFxuICAgICAgICAgICAgICA6IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgdHJhY2tpbmdEYXRhID0gbWlzY1RyYWNraW5nRGF0YShcbiAgICAgICAgICAgIExlYXJuaW5nT3V0Y29tZUxldmVscy5PbmUsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHByb2dyZXNzPy5sYXRlc3RTY29yZSxcbiAgICAgICAgICAgIG91dGNvbWVcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDaGlsZExlYXJuaW5nT3V0Y29tZVJvdyByb3cgYXM9XCJsaVwiIGtleT17aWR9PlxuICAgICAgICAgICAgICA8RmxleEJveCBtaW5XaWR0aD17MzJ9IHdpZHRoPXszMn0ganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lVGlsZVxuICAgICAgICAgICAgICAgICAgbGVhcm5pbmdPdXRjb21lRGV0YWlscz17e1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgbGV2ZWw6IExlYXJuaW5nT3V0Y29tZUxldmVscy5PbmUsXG4gICAgICAgICAgICAgICAgICAgIG91dGNvbWUsXG4gICAgICAgICAgICAgICAgICAgIHBlcmNlbnRDb21wbGV0ZSwgLy8gbm90IGN1cnJlbnRseSBnZXR0aW5nIHRoaXMgZnJvbSB0aGUgQVBJXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIHBvcG92ZXI9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICAgPEZsZXhCb3ggY29sdW1uIGdhcD17OH0+XG4gICAgICAgICAgICAgICAgPEFuY2hvclxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICAgICAgICBocmVmPXtnZXRMZWFybmluZ091dGNvbWVQYXRoKGlkKX1cbiAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNoaWxkTGVhcm5pbmdPdXRjb21lT25DbGljaz8uKHRyYWNraW5nRGF0YSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge291dGNvbWV9XG4gICAgICAgICAgICAgICAgPC9BbmNob3I+XG4gICAgICAgICAgICAgICAge3Nob3dOZWVkc1Jldmlld0luZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICA8RmxleEJveD5cbiAgICAgICAgICAgICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSAvPlxuICAgICAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgIDwvQ2hpbGRMZWFybmluZ091dGNvbWVSb3c+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGbHlvdXRcbiAgICAgIGFyaWEtbGFiZWw9e2Ake2xldmVsTGFiZWx9IGRldGFpbHNgfVxuICAgICAgY2xvc2VMYWJlbD17YENsb3NlICR7bGV2ZWxMYWJlbH0gZGV0YWlsc2B9XG4gICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxuICAgICAgb3BlbkZyb209XCJyaWdodFwiXG4gICAgICB0aXRsZT17PFRleHQgdmFyaWFudD1cInRpdGxlLXNtXCI+e2Ake2xldmVsTGFiZWx9IGRldGFpbHNgfTwvVGV4dD59XG4gICAgPlxuICAgICAgPEZsZXhCb3ggZ2FwPXszMn0gbXQ9ezMyfSBteD17MjR9IGNvbHVtbj5cbiAgICAgICAgey8qIEJhZGdlcywgT3V0Y29tZSwgVG9waWMgdGFncywgUHJvZ3Jlc3MgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MjR9IGNvbHVtbj5cbiAgICAgICAgICA8RmxleEJveCBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lTGV2ZWxCYWRnZSBsZXZlbD17bGV2ZWx9IHNpemU9XCJiYXNlXCIgLz5cbiAgICAgICAgICAgIHtoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ICYmIDxMZWFybmluZ091dGNvbWVMb3dBc3Nlc3NtZW50QmFkZ2UgLz59XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICAgIDxTdHlsZWRBbmNob3JcbiAgICAgICAgICAgICAgaHJlZj17bGVhcm5pbmdPdXRjb21lSHJlZn1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbGVhcm5pbmdPdXRjb21lT25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtvdXRjb21lfVxuICAgICAgICAgICAgPC9TdHlsZWRBbmNob3I+XG4gICAgICAgICAgICB7c2hvd1NraWxscyAmJiAoXG4gICAgICAgICAgICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIiBnYXA9ezEyfSBmbGV4V3JhcD1cIndyYXBcIj5cbiAgICAgICAgICAgICAgICB7c29ydGVkU2tpbGxzLm1hcCgoc2tpbGwpID0+IChcbiAgICAgICAgICAgICAgICAgIDxTa2lsbFRhZ1xuICAgICAgICAgICAgICAgICAgICBrZXk9e3NraWxsLmlkfVxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNraWxsLXRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIHB4PXs4fVxuICAgICAgICAgICAgICAgICAgICBweT17NH1cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e2dldFNraWxsc0FyZWFQYXRoKHNraWxsLnNsdWcpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBza2lsbFRhZ09uQ2xpY2s/Lihza2lsbC5zbHVnKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsZXhCb3ggY2VudGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxUZXh0Pntza2lsbC50aXRsZX08L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICAgICAgIDwvU2tpbGxUYWc+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxGbGV4Qm94IGJvcmRlclk9ezF9IGJvcmRlckNvbG9yPVwiYmFja2dyb3VuZC1ob3ZlclwiIHB5PXsxNn0+XG4gICAgICAgICAgICB7cmVuZGVyUHJvZ3Jlc3MoKX1cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogQXNzZXNzbWVudCBzY29yZXMgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwidGl0bGUteHNcIj5FdmFsdWF0aW9uIHJlc3VsdHM8L1RleHQ+XG4gICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUFzc2Vzc21lbnRTY29yZXNcbiAgICAgICAgICAgIGhpZ2hlc3RTY29yZT17aGlnaGVzdFNjb3JlfVxuICAgICAgICAgICAgaGlnaGVzdFNjb3JlQWNoaWV2ZWRBdD17aGlnaGVzdFNjb3JlQWNoaWV2ZWRBdH1cbiAgICAgICAgICAgIGxhdGVzdFNjb3JlPXtsYXRlc3RTY29yZX1cbiAgICAgICAgICAgIGxhdGVzdFNjb3JlQWNoaWV2ZWRBdD17bGF0ZXN0U2NvcmVBY2hpZXZlZEF0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogRm9yIGxldmVsIDIgYW5kIDMgTE9zIG9ubHk6IENoaWxkcmVuIExPcyBnb2VzIGJlbG93IGhlcmUgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwidGl0bGUteHNcIj5cbiAgICAgICAgICAgIHtpc0xldmVsVHdvTGVhcm5pbmdPdXRjb21lID8gYFN1YnNraWxsc2AgOiBgU2tpbGxzYH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAge2lzTGV2ZWxUd29MZWFybmluZ091dGNvbWUgPyByZW5kZXJTdWJza2lsbHMoKSA6IHJlbmRlclNraWxscygpfVxuICAgICAgICA8L0ZsZXhCb3g+XG5cbiAgICAgICAgey8qIEZvciBsZXZlbCAyIExPcyBvbmx5OiBzaG93IFBhcmVudCBMT3MgKi99XG4gICAgICAgIHtzaG93UGFyZW50TE9zICYmIChcbiAgICAgICAgICA8RmxleEJveCBnYXA9ezE2fSBtYj17MTZ9IGNvbHVtbj5cbiAgICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS14c1wiPkJ1aWxkcyB0b3dhcmQuLi48L1RleHQ+XG4gICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lQ2FyZExpc3RcbiAgICAgICAgICAgICAgbGVhcm5pbmdPdXRjb21lcz17cGFyZW50TE9zfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtwYXJlbnRMZWFybmluZ091dGNvbWVPbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICl9XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC9GbHlvdXQ+XG4gICk7XG59O1xuIl19 */");
9
34
  const StyledAnchor = /*#__PURE__*/_styled(Anchor, {
10
35
  target: "e1ylhic51",
11
36
  label: "StyledAnchor"
@@ -18,7 +43,7 @@ const StyledAnchor = /*#__PURE__*/_styled(Anchor, {
18
43
  color: 'text',
19
44
  textDecoration: 'underline'
20
45
  }
21
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVGbHlvdXQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNxQiIsImZpbGUiOiIuLi8uLi9zcmMvTGVhcm5pbmdPdXRjb21lRmx5b3V0L2luZGV4LnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuY2hvciwgRmxleEJveCwgRmx5b3V0LCBUZXh0IH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQnO1xuaW1wb3J0IHsgU21hbGxDaGVja0ljb24gfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1pY29ucyc7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAY29kZWNhZGVteS9nYW11dC1zdHlsZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuXG5pbXBvcnQgeyBMZWFybmluZ091dGNvbWVBc3Nlc3NtZW50U2NvcmVzIH0gZnJvbSAnLi4vTGVhcm5pbmdPdXRjb21lQXNzZXNzbWVudFNjb3Jlcyc7XG5pbXBvcnQge1xuICBsZWFybmluZ091dGNvbWVMYWJlbHMsXG4gIExlYXJuaW5nT3V0Y29tZUxldmVsQmFkZ2UsXG4gIExlYXJuaW5nT3V0Y29tZUxldmVscyxcbiAgTGVhcm5pbmdPdXRjb21lTG93QXNzZXNzbWVudEJhZGdlLFxufSBmcm9tICcuLi9MZWFybmluZ091dGNvbWVCYWRnZXMnO1xuaW1wb3J0IHsgTGVhcm5pbmdPdXRjb21lQ2FyZExpc3QgfSBmcm9tICcuL0xlYXJuaW5nT3V0Y29tZUNhcmRMaXN0JztcblxuY29uc3QgU3R5bGVkQW5jaG9yID0gc3R5bGVkKEFuY2hvcikoXG4gIGNzcyh7XG4gICAgY29sb3I6ICd0ZXh0JyxcbiAgICBmb250U2l6ZTogMjYsXG4gICAgZm9udFdlaWdodDogNzAwLFxuICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgJyY6aG92ZXIsICY6Zm9jdXMnOiB7XG4gICAgICBjb2xvcjogJ3RleHQnLFxuICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTa2lsbFRhZyA9IHN0eWxlZChBbmNob3IpKFxuICBjc3Moe1xuICAgIGZvbnRTaXplOiAxNCxcbiAgICBib3JkZXJSYWRpdXM6ICdtZCcsXG4gICAgYm9yZGVyOiAxLFxuICAgIGJvcmRlckNvbG9yOiAnYm9yZGVyLXByaW1hcnknLFxuICAgICcmOmhvdmVyLCAmOmZvY3VzJzoge1xuICAgICAgY29sb3I6ICd0ZXh0JyxcbiAgICAgIGJnOiAnYmFja2dyb3VuZC1ob3ZlcicsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBlbnVtIFNraWxsQ2xhc3NpZmljYXRpb24ge1xuICBMYW5ndWFnZSA9ICdsYW5ndWFnZScsXG4gIFN1YmplY3QgPSAnc3ViamVjdCcsXG59XG5cbmludGVyZmFjZSBMZWFybmluZ091dGNvbWVTa2lsbCB7XG4gIGlkOiBzdHJpbmc7XG4gIHNsdWc6IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmcgfCBudWxsO1xuICBjbGFzc2lmaWNhdGlvbj86IFNraWxsQ2xhc3NpZmljYXRpb24gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmVudExlYXJuaW5nT3V0Y29tZSB7XG4gIGlkOiBzdHJpbmc7XG4gIG91dGNvbWU6IHN0cmluZztcbiAgbGV2ZWw6IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ7XG59XG5cbmludGVyZmFjZSBMZWFybmluZ091dGNvbWVEZXRhaWxzUHJvcHMge1xuICBsZXZlbDogTGVhcm5pbmdPdXRjb21lTGV2ZWxzO1xuICBvdXRjb21lOiBzdHJpbmc7XG4gIHBlcmNlbnRDb21wbGV0ZTogbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgaGlnaGVzdFNjb3JlOiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsO1xuICBoaWdoZXN0U2NvcmVBY2hpZXZlZEF0OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsO1xuICBsYXRlc3RTY29yZTogbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgbGF0ZXN0U2NvcmVBY2hpZXZlZEF0OiBzdHJpbmcgfCB1bmRlZmluZWQgfCBudWxsO1xuICBwYXJlbnRMT3M/OiBQYXJlbnRMZWFybmluZ091dGNvbWVbXTtcbiAgc2tpbGxzPzogTGVhcm5pbmdPdXRjb21lU2tpbGxbXSB8IG51bGw7XG59XG5cbmludGVyZmFjZSBMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcyB7XG4gIGV4cGFuZGVkOiBib29sZWFuO1xuICBvbkNsb3NlOiAoKSA9PiB2b2lkO1xuICBsZWFybmluZ091dGNvbWU6IExlYXJuaW5nT3V0Y29tZURldGFpbHNQcm9wcztcbiAgbGVhcm5pbmdPdXRjb21lSHJlZjogc3RyaW5nO1xuICBsZWFybmluZ091dGNvbWVPbkNsaWNrPzogKCkgPT4gdm9pZDtcbiAgc2tpbGxUYWdPbkNsaWNrPzogKHNraWxsU2x1Zzogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3Qgc29ydFNraWxsc0J5Q2xhc3NpZmljYXRpb24gPSAoXG4gIHNraWxscz86IExlYXJuaW5nT3V0Y29tZVNraWxsW10gfCBudWxsXG4pID0+IHtcbiAgaWYgKCFza2lsbHM/Lmxlbmd0aCkgcmV0dXJuIFtdO1xuICBjb25zdCBza2lsbHNDb3B5ID0gc2tpbGxzLnNsaWNlKCk7XG5cbiAgY29uc3Qgc29ydGVkU2tpbGxzID0gc2tpbGxzQ29weT8uc29ydCgoYSwgYikgPT4ge1xuICAgIGlmIChhPy5jbGFzc2lmaWNhdGlvbiA9PT0gJ2xhbmd1YWdlJykge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAoYj8uY2xhc3NpZmljYXRpb24gPT09ICdzdWJqZWN0Jykge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICAgIHJldHVybiAwO1xuICB9KTtcblxuICByZXR1cm4gc29ydGVkU2tpbGxzO1xufTtcblxuY29uc3QgZ2V0U2tpbGxzQXJlYVBhdGggPSAoc2tpbGxTbHVnPzogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBza2lsbFNsdWcgPyBgL3NraWxsLWFyZWFzLyR7c2tpbGxTbHVnfWAgOiAnLyc7XG59O1xuXG5leHBvcnQgY29uc3QgTGVhcm5pbmdPdXRjb21lRmx5b3V0OiBSZWFjdC5GQzxMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcz4gPSAoe1xuICBleHBhbmRlZCxcbiAgbGVhcm5pbmdPdXRjb21lSHJlZixcbiAgbGVhcm5pbmdPdXRjb21lT25DbGljayxcbiAgbGVhcm5pbmdPdXRjb21lOiB7XG4gICAgaGlnaGVzdFNjb3JlLFxuICAgIGhpZ2hlc3RTY29yZUFjaGlldmVkQXQsXG4gICAgbGF0ZXN0U2NvcmUsXG4gICAgbGF0ZXN0U2NvcmVBY2hpZXZlZEF0LFxuICAgIGxldmVsLFxuICAgIG91dGNvbWUsXG4gICAgcGFyZW50TE9zLFxuICAgIHBlcmNlbnRDb21wbGV0ZSxcbiAgICBza2lsbHMsXG4gIH0sXG4gIHNraWxsVGFnT25DbGljayxcbiAgb25DbG9zZSxcbn0pID0+IHtcbiAgY29uc3QgcGVyY2VudENvbXBsZXRlUGVyY2VudGFnZSA9XG4gICAgcGVyY2VudENvbXBsZXRlICE9IG51bGwgPyBwZXJjZW50Q29tcGxldGUgOiAwO1xuICBjb25zdCBsZXZlbExhYmVsID0gbGVhcm5pbmdPdXRjb21lTGFiZWxzW2xldmVsXTtcblxuICBjb25zdCBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ID0gQm9vbGVhbihcbiAgICBsYXRlc3RTY29yZSAhPSBudWxsICYmIGxhdGVzdFNjb3JlIDwgNzBcbiAgKTtcblxuICBjb25zdCBzaG93U2tpbGxzID0gISFza2lsbHM/Lmxlbmd0aDtcbiAgY29uc3Qgc29ydGVkU2tpbGxzID0gc29ydFNraWxsc0J5Q2xhc3NpZmljYXRpb24oc2tpbGxzKTtcblxuICBjb25zdCBzaG93UGFyZW50TE9zID1cbiAgICBsZXZlbCA9PT0gTGVhcm5pbmdPdXRjb21lTGV2ZWxzLlR3byAmJiAhIXBhcmVudExPcyAmJiBwYXJlbnRMT3MubGVuZ3RoID4gMDtcblxuICBjb25zdCByZW5kZXJQcm9ncmVzcyA9ICgpID0+IChcbiAgICA8RmxleEJveCBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICB7Qm9vbGVhbihwZXJjZW50Q29tcGxldGVQZXJjZW50YWdlID09PSAxMDApICYmIChcbiAgICAgICAgPEZsZXhCb3hcbiAgICAgICAgICB3aWR0aD17MTZ9XG4gICAgICAgICAgaGVpZ2h0PXsxNn1cbiAgICAgICAgICBib3JkZXJSYWRpdXM9XCJtZFwiXG4gICAgICAgICAgYmc9XCJwcmltYXJ5XCJcbiAgICAgICAgICBtcj17OH1cbiAgICAgICAgICBhbGlnbkl0ZW1zPVwiY2VudGVyXCJcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudD1cImNlbnRlclwiXG4gICAgICAgID5cbiAgICAgICAgICA8U21hbGxDaGVja0ljb24gc2l6ZT17MTF9IGNvbG9yPVwid2hpdGVcIiAvPlxuICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICApfVxuICAgICAgPFRleHRcbiAgICAgICAgY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgdmFyaWFudD1cInAtbGFyZ2VcIlxuICAgICAgPntgJHtwZXJjZW50Q29tcGxldGVQZXJjZW50YWdlfSUgcHJvZ3Jlc3NgfTwvVGV4dD5cbiAgICA8L0ZsZXhCb3g+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Rmx5b3V0XG4gICAgICBhcmlhLWxhYmVsPXtgJHtsZXZlbExhYmVsfSBkZXRhaWxzYH1cbiAgICAgIGNsb3NlTGFiZWw9e2BDbG9zZSAke2xldmVsTGFiZWx9IGRldGFpbHNgfVxuICAgICAgZXhwYW5kZWQ9e2V4cGFuZGVkfVxuICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgIG9wZW5Gcm9tPVwicmlnaHRcIlxuICAgICAgdGl0bGU9ezxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS1zbVwiPntgJHtsZXZlbExhYmVsfSBkZXRhaWxzYH08L1RleHQ+fVxuICAgID5cbiAgICAgIDxGbGV4Qm94IGdhcD17MzJ9IG10PXszMn0gbXg9ezI0fSBjb2x1bW4+XG4gICAgICAgIHsvKiBCYWRnZXMsIE91dGNvbWUsIFRvcGljIHRhZ3MsIFByb2dyZXNzICovfVxuICAgICAgICA8RmxleEJveCBnYXA9ezI0fSBjb2x1bW4+XG4gICAgICAgICAgPEZsZXhCb3gganVzdGlmeUNvbnRlbnQ9XCJzcGFjZS1iZXR3ZWVuXCIgYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUxldmVsQmFkZ2UgbGV2ZWw9e2xldmVsfSBzaXplPVwiYmFzZVwiIC8+XG4gICAgICAgICAgICB7aGFzTG93TGF0ZXN0QXNzZXNzbWVudCAmJiA8TGVhcm5pbmdPdXRjb21lTG93QXNzZXNzbWVudEJhZGdlIC8+fVxuICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICA8RmxleEJveCBnYXA9ezE2fSBjb2x1bW4+XG4gICAgICAgICAgICA8U3R5bGVkQW5jaG9yXG4gICAgICAgICAgICAgIGhyZWY9e2xlYXJuaW5nT3V0Y29tZUhyZWZ9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGxlYXJuaW5nT3V0Y29tZU9uQ2xpY2s/LigpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7b3V0Y29tZX1cbiAgICAgICAgICAgIDwvU3R5bGVkQW5jaG9yPlxuICAgICAgICAgICAge3Nob3dTa2lsbHMgJiYgKFxuICAgICAgICAgICAgICA8RmxleEJveCBhbGlnbkl0ZW1zPVwiY2VudGVyXCIgZ2FwPXsxMn0gZmxleFdyYXA9XCJ3cmFwXCI+XG4gICAgICAgICAgICAgICAge3NvcnRlZFNraWxscy5tYXAoKHNraWxsKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8U2tpbGxUYWdcbiAgICAgICAgICAgICAgICAgICAga2V5PXtza2lsbC5pZH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJza2lsbC10YWdcIlxuICAgICAgICAgICAgICAgICAgICBweD17OH1cbiAgICAgICAgICAgICAgICAgICAgcHk9ezR9XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJpbnRlcmZhY2VcIlxuICAgICAgICAgICAgICAgICAgICBocmVmPXtnZXRTa2lsbHNBcmVhUGF0aChza2lsbC5zbHVnKX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2tpbGxUYWdPbkNsaWNrPy4oc2tpbGwuc2x1Zyl9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxGbGV4Qm94IGNlbnRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8VGV4dD57c2tpbGwudGl0bGV9PC9UZXh0PlxuICAgICAgICAgICAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICAgICAgICAgICA8L1NraWxsVGFnPlxuICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICA8RmxleEJveCBib3JkZXJZPXsxfSBib3JkZXJDb2xvcj1cImJhY2tncm91bmQtaG92ZXJcIiBweT17MTZ9PlxuICAgICAgICAgICAge3JlbmRlclByb2dyZXNzKCl9XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICA8L0ZsZXhCb3g+XG5cbiAgICAgICAgey8qIEFzc2Vzc21lbnQgc2NvcmVzICovfVxuICAgICAgICA8RmxleEJveCBnYXA9ezE2fSBjb2x1bW4+XG4gICAgICAgICAgPFRleHQgdmFyaWFudD1cInRpdGxlLXhzXCI+RXZhbHVhdGlvbiByZXN1bHRzPC9UZXh0PlxuICAgICAgICAgIDxMZWFybmluZ091dGNvbWVBc3Nlc3NtZW50U2NvcmVzXG4gICAgICAgICAgICBoaWdoZXN0U2NvcmU9e2hpZ2hlc3RTY29yZX1cbiAgICAgICAgICAgIGhpZ2hlc3RTY29yZUFjaGlldmVkQXQ9e2hpZ2hlc3RTY29yZUFjaGlldmVkQXR9XG4gICAgICAgICAgICBsYXRlc3RTY29yZT17bGF0ZXN0U2NvcmV9XG4gICAgICAgICAgICBsYXRlc3RTY29yZUFjaGlldmVkQXQ9e2xhdGVzdFNjb3JlQWNoaWV2ZWRBdH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0ZsZXhCb3g+XG5cbiAgICAgICAgey8qIEZvciBsZXZlbCAyIGFuZCAzIExPcyBvbmx5OiBDaGlsZHJlbiBMT3MgZ29lcyBiZWxvdyBoZXJlICovfVxuXG4gICAgICAgIHsvKiBGb3IgbGV2ZWwgMiBMT3Mgb25seTogc2hvdyBQYXJlbnQgTE9zICovfVxuICAgICAgICB7c2hvd1BhcmVudExPcyAmJiAoXG4gICAgICAgICAgPEZsZXhCb3ggZ2FwPXsxNn0gbWI9ezE2fSBjb2x1bW4+XG4gICAgICAgICAgICA8VGV4dCB2YXJpYW50PVwidGl0bGUteHNcIj5CdWlsZHMgdG93YXJkLi4uPC9UZXh0PlxuICAgICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUNhcmRMaXN0IGxlYXJuaW5nT3V0Y29tZXM9e3BhcmVudExPc30gLz5cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICl9XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC9GbHlvdXQ+XG4gICk7XG59O1xuIl19 */");
46
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVGbHlvdXQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdDcUIiLCJmaWxlIjoiLi4vLi4vc3JjL0xlYXJuaW5nT3V0Y29tZUZseW91dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEZsZXhCb3gsIEZseW91dCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IFNtYWxsQ2hlY2tJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgTGVhcm5pbmdPdXRjb21lQXNzZXNzbWVudFNjb3JlcyB9IGZyb20gJy4uL0xlYXJuaW5nT3V0Y29tZUFzc2Vzc21lbnRTY29yZXMnO1xuaW1wb3J0IHtcbiAgbGVhcm5pbmdPdXRjb21lTGFiZWxzLFxuICBMZWFybmluZ091dGNvbWVMZXZlbEJhZGdlLFxuICBMZWFybmluZ091dGNvbWVMZXZlbHMsXG4gIExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSxcbn0gZnJvbSAnLi4vTGVhcm5pbmdPdXRjb21lQmFkZ2VzJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZVRpbGUgfSBmcm9tICcuLi9MZWFybmluZ091dGNvbWVUaWxlJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZUNhcmRMaXN0IH0gZnJvbSAnLi9MZWFybmluZ091dGNvbWVDYXJkTGlzdCc7XG5pbXBvcnQgeyBMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcywgTGVhcm5pbmdPdXRjb21lU2tpbGwgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgQ2hpbGRMZWFybmluZ091dGNvbWVSb3cgPSBzdHlsZWQoRmxleEJveCkoXG4gIGNzcyh7XG4gICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICBib3JkZXJDb2xvcjogJ2JvcmRlci10ZXJ0aWFyeScsXG4gICAgYm9yZGVyVG9wV2lkdGg6IDAsXG4gICAgYm9yZGVyTGVmdFdpZHRoOiAxLFxuICAgIGJvcmRlclJpZ2h0V2lkdGg6IDEsXG4gICAgYm9yZGVyQm90dG9tV2lkdGg6IDEsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgcGFkZGluZzogJzI0cHggMTZweCcsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgZ2FwOiAxNixcbiAgICAnJjpmaXJzdC1vZi10eXBlJzoge1xuICAgICAgYm9yZGVyVG9wTGVmdFJhZGl1czogJzRweCcsXG4gICAgICBib3JkZXJUb3BSaWdodFJhZGl1czogJzRweCcsXG4gICAgfSxcbiAgICAnJjpsYXN0LW9mLXR5cGUnOiB7XG4gICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiAnNHB4JyxcbiAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAnNHB4JyxcbiAgICB9LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkQW5jaG9yID0gc3R5bGVkKEFuY2hvcikoXG4gIGNzcyh7XG4gICAgY29sb3I6ICd0ZXh0JyxcbiAgICBmb250U2l6ZTogMjYsXG4gICAgZm9udFdlaWdodDogNzAwLFxuICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgJyY6aG92ZXIsICY6Zm9jdXMnOiB7XG4gICAgICBjb2xvcjogJ3RleHQnLFxuICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTa2lsbFRhZyA9IHN0eWxlZChBbmNob3IpKFxuICBjc3Moe1xuICAgIGZvbnRTaXplOiAxNCxcbiAgICBib3JkZXJSYWRpdXM6ICdtZCcsXG4gICAgYm9yZGVyOiAxLFxuICAgIGJvcmRlckNvbG9yOiAnYm9yZGVyLXByaW1hcnknLFxuICAgICcmOmhvdmVyLCAmOmZvY3VzJzoge1xuICAgICAgY29sb3I6ICd0ZXh0JyxcbiAgICAgIGJnOiAnYmFja2dyb3VuZC1ob3ZlcicsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBzb3J0U2tpbGxzQnlDbGFzc2lmaWNhdGlvbiA9IChcbiAgc2tpbGxzPzogTGVhcm5pbmdPdXRjb21lU2tpbGxbXSB8IG51bGxcbikgPT4ge1xuICBpZiAoIXNraWxscz8ubGVuZ3RoKSByZXR1cm4gW107XG4gIGNvbnN0IHNraWxsc0NvcHkgPSBza2lsbHMuc2xpY2UoKTtcblxuICBjb25zdCBzb3J0ZWRTa2lsbHMgPSBza2lsbHNDb3B5Py5zb3J0KChhLCBiKSA9PiB7XG4gICAgaWYgKGE/LmNsYXNzaWZpY2F0aW9uID09PSAnbGFuZ3VhZ2UnKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmIChiPy5jbGFzc2lmaWNhdGlvbiA9PT0gJ3N1YmplY3QnKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH0pO1xuXG4gIHJldHVybiBzb3J0ZWRTa2lsbHM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGVhcm5pbmdPdXRjb21lUGF0aCA9IChpZD86IHN0cmluZykgPT4ge1xuICByZXR1cm4gaWQgPyBgL2xlYXJuaW5nLW91dGNvbWVzLyR7aWR9YCA6ICcvJztcbn07XG5cbmNvbnN0IGdldFNraWxsc0FyZWFQYXRoID0gKHNraWxsU2x1Zz86IHN0cmluZykgPT4ge1xuICByZXR1cm4gc2tpbGxTbHVnID8gYC9za2lsbC1hcmVhcy8ke3NraWxsU2x1Z31gIDogJy8nO1xufTtcblxuZXhwb3J0IGNvbnN0IG1pc2NUcmFja2luZ0RhdGEgPSAoXG4gIGxldmVsPzogTGVhcm5pbmdPdXRjb21lTGV2ZWxzIHwgbnVsbCxcbiAgaWQ/OiBzdHJpbmcsXG4gIGxhdGVzdFNjb3JlPzogbnVtYmVyIHwgbnVsbCxcbiAgb3V0Y29tZT86IHN0cmluZ1xuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbWlzYzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgbGFzdF9hc3Nlc3NlZF9zY29yZTogbGF0ZXN0U2NvcmUsXG4gICAgICBMT19sZXZlbDogbGV2ZWwsXG4gICAgICB0aXRsZTogb3V0Y29tZSxcbiAgICAgIHVuaXF1ZV9pZDogaWQsXG4gICAgfSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgTGVhcm5pbmdPdXRjb21lRmx5b3V0OiBSZWFjdC5GQzxMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcz4gPSAoe1xuICBleHBhbmRlZCxcbiAgbGVhcm5pbmdPdXRjb21lSHJlZixcbiAgbGVhcm5pbmdPdXRjb21lT25DbGljayxcbiAgY2hpbGRMZWFybmluZ091dGNvbWVPbkNsaWNrLFxuICBwYXJlbnRMZWFybmluZ091dGNvbWVPbkNsaWNrLFxuICBsZWFybmluZ091dGNvbWU6IHtcbiAgICBoaWdoZXN0U2NvcmUsXG4gICAgaGlnaGVzdFNjb3JlQWNoaWV2ZWRBdCxcbiAgICBsYXRlc3RTY29yZSxcbiAgICBsYXRlc3RTY29yZUFjaGlldmVkQXQsXG4gICAgbGV2ZWwsXG4gICAgb3V0Y29tZSxcbiAgICBwYXJlbnRMT3MsXG4gICAgcGVyY2VudENvbXBsZXRlLFxuICAgIHNraWxscyxcbiAgICBjaGlsZExlYXJuaW5nT3V0Y29tZXMsXG4gIH0sXG4gIHNraWxsVGFnT25DbGljayxcbiAgb25DbG9zZSxcbn0pID0+IHtcbiAgY29uc3QgcGVyY2VudENvbXBsZXRlUGVyY2VudGFnZSA9XG4gICAgcGVyY2VudENvbXBsZXRlICE9IG51bGwgPyBwZXJjZW50Q29tcGxldGUgOiAwO1xuICBjb25zdCBsZXZlbExhYmVsID0gbGVhcm5pbmdPdXRjb21lTGFiZWxzW2xldmVsXTtcblxuICBjb25zdCBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ID0gQm9vbGVhbihcbiAgICBsYXRlc3RTY29yZSAhPSBudWxsICYmIGxhdGVzdFNjb3JlIDwgNzBcbiAgKTtcblxuICBjb25zdCBzaG93U2tpbGxzID0gISFza2lsbHM/Lmxlbmd0aDtcbiAgY29uc3Qgc29ydGVkU2tpbGxzID0gc29ydFNraWxsc0J5Q2xhc3NpZmljYXRpb24oc2tpbGxzKTtcblxuICBjb25zdCBpc0xldmVsVHdvTGVhcm5pbmdPdXRjb21lID0gbGV2ZWwgPT09IExlYXJuaW5nT3V0Y29tZUxldmVscy5Ud287XG4gIGNvbnN0IHNob3dQYXJlbnRMT3MgPVxuICAgIGxldmVsID09PSBMZWFybmluZ091dGNvbWVMZXZlbHMuVHdvICYmICEhcGFyZW50TE9zICYmIHBhcmVudExPcy5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IHJlbmRlclByb2dyZXNzID0gKCkgPT4gKFxuICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgIHtCb29sZWFuKHBlcmNlbnRDb21wbGV0ZVBlcmNlbnRhZ2UgPT09IDEwMCkgJiYgKFxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIHdpZHRoPXsxNn1cbiAgICAgICAgICBoZWlnaHQ9ezE2fVxuICAgICAgICAgIGJvcmRlclJhZGl1cz1cIm1kXCJcbiAgICAgICAgICBiZz1cInByaW1hcnlcIlxuICAgICAgICAgIG1yPXs4fVxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTbWFsbENoZWNrSWNvbiBzaXplPXsxMX0gY29sb3I9XCJ3aGl0ZVwiIC8+XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgICl9XG4gICAgICA8VGV4dFxuICAgICAgICBjb2xvcj1cInRleHRcIlxuICAgICAgICB2YXJpYW50PVwicC1sYXJnZVwiXG4gICAgICA+e2Ake3BlcmNlbnRDb21wbGV0ZVBlcmNlbnRhZ2V9JSBwcm9ncmVzc2B9PC9UZXh0PlxuICAgIDwvRmxleEJveD5cbiAgKTtcblxuICBjb25zdCByZW5kZXJTa2lsbHMgPSAoKSA9PiB7XG4gICAgLy8gUmVuZGVyIHNraWxscyB3aGVuIHRoZSBkcmF3ZXIgaXMgZmVhdHVyaW5nIGEgbGV2ZWwgMyBvdXRjb21lXG4gICAgcmV0dXJuIDxGbGV4Qm94IGFzPVwidWxcIj5Ta2lsbHMgZ28gaGVyZTwvRmxleEJveD47XG4gIH07XG5cbiAgLy8gUmVuZGVyIHN1YnNraWxscyB3aGVuIHRoZSBkcmF3ZXIgaXMgZmVhdHVyaW5nIGEgbGV2ZWwgMiBvdXRjb21lXG4gIGNvbnN0IHJlbmRlclN1YnNraWxscyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPEZsZXhCb3hcbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICBwPXswfVxuICAgICAgICBib3JkZXJUb3A9ezF9XG4gICAgICAgIGJvcmRlckNvbG9yPVwiYm9yZGVyLXRlcnRpYXJ5XCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwibWRcIlxuICAgICAgPlxuICAgICAgICB7Y2hpbGRMZWFybmluZ091dGNvbWVzPy5tYXAoKGNoaWxkTG8pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGlkLCBvdXRjb21lLCBwcm9ncmVzcywgcGVyY2VudENvbXBsZXRlIH0gPSBjaGlsZExvO1xuICAgICAgICAgIGNvbnN0IHNob3dOZWVkc1Jldmlld0luZGljYXRvciA9XG4gICAgICAgICAgICBwcm9ncmVzcz8ubGF0ZXN0U2NvcmUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIHByb2dyZXNzPy5sYXRlc3RTY29yZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8gcHJvZ3Jlc3MubGF0ZXN0U2NvcmUgPCA3MFxuICAgICAgICAgICAgICA6IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgdHJhY2tpbmdEYXRhID0gbWlzY1RyYWNraW5nRGF0YShcbiAgICAgICAgICAgIExlYXJuaW5nT3V0Y29tZUxldmVscy5PbmUsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHByb2dyZXNzPy5sYXRlc3RTY29yZSxcbiAgICAgICAgICAgIG91dGNvbWVcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDaGlsZExlYXJuaW5nT3V0Y29tZVJvdyByb3cgYXM9XCJsaVwiIGtleT17aWR9PlxuICAgICAgICAgICAgICA8RmxleEJveCBtaW5XaWR0aD17MzJ9IHdpZHRoPXszMn0ganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lVGlsZVxuICAgICAgICAgICAgICAgICAgbGVhcm5pbmdPdXRjb21lRGV0YWlscz17e1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgbGV2ZWw6IExlYXJuaW5nT3V0Y29tZUxldmVscy5PbmUsXG4gICAgICAgICAgICAgICAgICAgIG91dGNvbWUsXG4gICAgICAgICAgICAgICAgICAgIHBlcmNlbnRDb21wbGV0ZSwgLy8gbm90IGN1cnJlbnRseSBnZXR0aW5nIHRoaXMgZnJvbSB0aGUgQVBJXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIHBvcG92ZXI9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICAgPEZsZXhCb3ggY29sdW1uIGdhcD17OH0+XG4gICAgICAgICAgICAgICAgPEFuY2hvclxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICAgICAgICBocmVmPXtnZXRMZWFybmluZ091dGNvbWVQYXRoKGlkKX1cbiAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNoaWxkTGVhcm5pbmdPdXRjb21lT25DbGljaz8uKHRyYWNraW5nRGF0YSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge291dGNvbWV9XG4gICAgICAgICAgICAgICAgPC9BbmNob3I+XG4gICAgICAgICAgICAgICAge3Nob3dOZWVkc1Jldmlld0luZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICA8RmxleEJveD5cbiAgICAgICAgICAgICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSAvPlxuICAgICAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgIDwvQ2hpbGRMZWFybmluZ091dGNvbWVSb3c+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGbHlvdXRcbiAgICAgIGFyaWEtbGFiZWw9e2Ake2xldmVsTGFiZWx9IGRldGFpbHNgfVxuICAgICAgY2xvc2VMYWJlbD17YENsb3NlICR7bGV2ZWxMYWJlbH0gZGV0YWlsc2B9XG4gICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxuICAgICAgb3BlbkZyb209XCJyaWdodFwiXG4gICAgICB0aXRsZT17PFRleHQgdmFyaWFudD1cInRpdGxlLXNtXCI+e2Ake2xldmVsTGFiZWx9IGRldGFpbHNgfTwvVGV4dD59XG4gICAgPlxuICAgICAgPEZsZXhCb3ggZ2FwPXszMn0gbXQ9ezMyfSBteD17MjR9IGNvbHVtbj5cbiAgICAgICAgey8qIEJhZGdlcywgT3V0Y29tZSwgVG9waWMgdGFncywgUHJvZ3Jlc3MgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MjR9IGNvbHVtbj5cbiAgICAgICAgICA8RmxleEJveCBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lTGV2ZWxCYWRnZSBsZXZlbD17bGV2ZWx9IHNpemU9XCJiYXNlXCIgLz5cbiAgICAgICAgICAgIHtoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ICYmIDxMZWFybmluZ091dGNvbWVMb3dBc3Nlc3NtZW50QmFkZ2UgLz59XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICAgIDxTdHlsZWRBbmNob3JcbiAgICAgICAgICAgICAgaHJlZj17bGVhcm5pbmdPdXRjb21lSHJlZn1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbGVhcm5pbmdPdXRjb21lT25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtvdXRjb21lfVxuICAgICAgICAgICAgPC9TdHlsZWRBbmNob3I+XG4gICAgICAgICAgICB7c2hvd1NraWxscyAmJiAoXG4gICAgICAgICAgICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIiBnYXA9ezEyfSBmbGV4V3JhcD1cIndyYXBcIj5cbiAgICAgICAgICAgICAgICB7c29ydGVkU2tpbGxzLm1hcCgoc2tpbGwpID0+IChcbiAgICAgICAgICAgICAgICAgIDxTa2lsbFRhZ1xuICAgICAgICAgICAgICAgICAgICBrZXk9e3NraWxsLmlkfVxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNraWxsLXRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIHB4PXs4fVxuICAgICAgICAgICAgICAgICAgICBweT17NH1cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e2dldFNraWxsc0FyZWFQYXRoKHNraWxsLnNsdWcpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBza2lsbFRhZ09uQ2xpY2s/Lihza2lsbC5zbHVnKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsZXhCb3ggY2VudGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxUZXh0Pntza2lsbC50aXRsZX08L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICAgICAgIDwvU2tpbGxUYWc+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxGbGV4Qm94IGJvcmRlclk9ezF9IGJvcmRlckNvbG9yPVwiYmFja2dyb3VuZC1ob3ZlclwiIHB5PXsxNn0+XG4gICAgICAgICAgICB7cmVuZGVyUHJvZ3Jlc3MoKX1cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogQXNzZXNzbWVudCBzY29yZXMgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwidGl0bGUteHNcIj5FdmFsdWF0aW9uIHJlc3VsdHM8L1RleHQ+XG4gICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUFzc2Vzc21lbnRTY29yZXNcbiAgICAgICAgICAgIGhpZ2hlc3RTY29yZT17aGlnaGVzdFNjb3JlfVxuICAgICAgICAgICAgaGlnaGVzdFNjb3JlQWNoaWV2ZWRBdD17aGlnaGVzdFNjb3JlQWNoaWV2ZWRBdH1cbiAgICAgICAgICAgIGxhdGVzdFNjb3JlPXtsYXRlc3RTY29yZX1cbiAgICAgICAgICAgIGxhdGVzdFNjb3JlQWNoaWV2ZWRBdD17bGF0ZXN0U2NvcmVBY2hpZXZlZEF0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogRm9yIGxldmVsIDIgYW5kIDMgTE9zIG9ubHk6IENoaWxkcmVuIExPcyBnb2VzIGJlbG93IGhlcmUgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwidGl0bGUteHNcIj5cbiAgICAgICAgICAgIHtpc0xldmVsVHdvTGVhcm5pbmdPdXRjb21lID8gYFN1YnNraWxsc2AgOiBgU2tpbGxzYH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAge2lzTGV2ZWxUd29MZWFybmluZ091dGNvbWUgPyByZW5kZXJTdWJza2lsbHMoKSA6IHJlbmRlclNraWxscygpfVxuICAgICAgICA8L0ZsZXhCb3g+XG5cbiAgICAgICAgey8qIEZvciBsZXZlbCAyIExPcyBvbmx5OiBzaG93IFBhcmVudCBMT3MgKi99XG4gICAgICAgIHtzaG93UGFyZW50TE9zICYmIChcbiAgICAgICAgICA8RmxleEJveCBnYXA9ezE2fSBtYj17MTZ9IGNvbHVtbj5cbiAgICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS14c1wiPkJ1aWxkcyB0b3dhcmQuLi48L1RleHQ+XG4gICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lQ2FyZExpc3RcbiAgICAgICAgICAgICAgbGVhcm5pbmdPdXRjb21lcz17cGFyZW50TE9zfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtwYXJlbnRMZWFybmluZ091dGNvbWVPbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICl9XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC9GbHlvdXQ+XG4gICk7XG59O1xuIl19 */");
22
47
  const SkillTag = /*#__PURE__*/_styled(Anchor, {
23
48
  target: "e1ylhic50",
24
49
  label: "SkillTag"
@@ -31,12 +56,7 @@ const SkillTag = /*#__PURE__*/_styled(Anchor, {
31
56
  color: 'text',
32
57
  bg: 'background-hover'
33
58
  }
34
- }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVGbHlvdXQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTJCaUIiLCJmaWxlIjoiLi4vLi4vc3JjL0xlYXJuaW5nT3V0Y29tZUZseW91dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEZsZXhCb3gsIEZseW91dCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IFNtYWxsQ2hlY2tJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgTGVhcm5pbmdPdXRjb21lQXNzZXNzbWVudFNjb3JlcyB9IGZyb20gJy4uL0xlYXJuaW5nT3V0Y29tZUFzc2Vzc21lbnRTY29yZXMnO1xuaW1wb3J0IHtcbiAgbGVhcm5pbmdPdXRjb21lTGFiZWxzLFxuICBMZWFybmluZ091dGNvbWVMZXZlbEJhZGdlLFxuICBMZWFybmluZ091dGNvbWVMZXZlbHMsXG4gIExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSxcbn0gZnJvbSAnLi4vTGVhcm5pbmdPdXRjb21lQmFkZ2VzJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZUNhcmRMaXN0IH0gZnJvbSAnLi9MZWFybmluZ091dGNvbWVDYXJkTGlzdCc7XG5cbmNvbnN0IFN0eWxlZEFuY2hvciA9IHN0eWxlZChBbmNob3IpKFxuICBjc3Moe1xuICAgIGNvbG9yOiAndGV4dCcsXG4gICAgZm9udFNpemU6IDI2LFxuICAgIGZvbnRXZWlnaHQ6IDcwMCxcbiAgICB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLFxuICAgICcmOmhvdmVyLCAmOmZvY3VzJzoge1xuICAgICAgY29sb3I6ICd0ZXh0JyxcbiAgICAgIHRleHREZWNvcmF0aW9uOiAndW5kZXJsaW5lJyxcbiAgICB9LFxuICB9KVxuKTtcblxuY29uc3QgU2tpbGxUYWcgPSBzdHlsZWQoQW5jaG9yKShcbiAgY3NzKHtcbiAgICBmb250U2l6ZTogMTQsXG4gICAgYm9yZGVyUmFkaXVzOiAnbWQnLFxuICAgIGJvcmRlcjogMSxcbiAgICBib3JkZXJDb2xvcjogJ2JvcmRlci1wcmltYXJ5JyxcbiAgICAnJjpob3ZlciwgJjpmb2N1cyc6IHtcbiAgICAgIGNvbG9yOiAndGV4dCcsXG4gICAgICBiZzogJ2JhY2tncm91bmQtaG92ZXInLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5leHBvcnQgZW51bSBTa2lsbENsYXNzaWZpY2F0aW9uIHtcbiAgTGFuZ3VhZ2UgPSAnbGFuZ3VhZ2UnLFxuICBTdWJqZWN0ID0gJ3N1YmplY3QnLFxufVxuXG5pbnRlcmZhY2UgTGVhcm5pbmdPdXRjb21lU2tpbGwge1xuICBpZDogc3RyaW5nO1xuICBzbHVnOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcbiAgY2xhc3NpZmljYXRpb24/OiBTa2lsbENsYXNzaWZpY2F0aW9uIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXJlbnRMZWFybmluZ091dGNvbWUge1xuICBpZDogc3RyaW5nO1xuICBvdXRjb21lOiBzdHJpbmc7XG4gIGxldmVsOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xufVxuXG5pbnRlcmZhY2UgTGVhcm5pbmdPdXRjb21lRGV0YWlsc1Byb3BzIHtcbiAgbGV2ZWw6IExlYXJuaW5nT3V0Y29tZUxldmVscztcbiAgb3V0Y29tZTogc3RyaW5nO1xuICBwZXJjZW50Q29tcGxldGU6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIGhpZ2hlc3RTY29yZTogbnVtYmVyIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgaGlnaGVzdFNjb3JlQWNoaWV2ZWRBdDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgbGF0ZXN0U2NvcmU6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIGxhdGVzdFNjb3JlQWNoaWV2ZWRBdDogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgcGFyZW50TE9zPzogUGFyZW50TGVhcm5pbmdPdXRjb21lW107XG4gIHNraWxscz86IExlYXJuaW5nT3V0Y29tZVNraWxsW10gfCBudWxsO1xufVxuXG5pbnRlcmZhY2UgTGVhcm5pbmdPdXRjb21lRmx5b3V0UHJvcHMge1xuICBleHBhbmRlZDogYm9vbGVhbjtcbiAgb25DbG9zZTogKCkgPT4gdm9pZDtcbiAgbGVhcm5pbmdPdXRjb21lOiBMZWFybmluZ091dGNvbWVEZXRhaWxzUHJvcHM7XG4gIGxlYXJuaW5nT3V0Y29tZUhyZWY6IHN0cmluZztcbiAgbGVhcm5pbmdPdXRjb21lT25DbGljaz86ICgpID0+IHZvaWQ7XG4gIHNraWxsVGFnT25DbGljaz86IChza2lsbFNsdWc6IHN0cmluZykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHNvcnRTa2lsbHNCeUNsYXNzaWZpY2F0aW9uID0gKFxuICBza2lsbHM/OiBMZWFybmluZ091dGNvbWVTa2lsbFtdIHwgbnVsbFxuKSA9PiB7XG4gIGlmICghc2tpbGxzPy5sZW5ndGgpIHJldHVybiBbXTtcbiAgY29uc3Qgc2tpbGxzQ29weSA9IHNraWxscy5zbGljZSgpO1xuXG4gIGNvbnN0IHNvcnRlZFNraWxscyA9IHNraWxsc0NvcHk/LnNvcnQoKGEsIGIpID0+IHtcbiAgICBpZiAoYT8uY2xhc3NpZmljYXRpb24gPT09ICdsYW5ndWFnZScpIHtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgaWYgKGI/LmNsYXNzaWZpY2F0aW9uID09PSAnc3ViamVjdCcpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICByZXR1cm4gMDtcbiAgfSk7XG5cbiAgcmV0dXJuIHNvcnRlZFNraWxscztcbn07XG5cbmNvbnN0IGdldFNraWxsc0FyZWFQYXRoID0gKHNraWxsU2x1Zz86IHN0cmluZykgPT4ge1xuICByZXR1cm4gc2tpbGxTbHVnID8gYC9za2lsbC1hcmVhcy8ke3NraWxsU2x1Z31gIDogJy8nO1xufTtcblxuZXhwb3J0IGNvbnN0IExlYXJuaW5nT3V0Y29tZUZseW91dDogUmVhY3QuRkM8TGVhcm5pbmdPdXRjb21lRmx5b3V0UHJvcHM+ID0gKHtcbiAgZXhwYW5kZWQsXG4gIGxlYXJuaW5nT3V0Y29tZUhyZWYsXG4gIGxlYXJuaW5nT3V0Y29tZU9uQ2xpY2ssXG4gIGxlYXJuaW5nT3V0Y29tZToge1xuICAgIGhpZ2hlc3RTY29yZSxcbiAgICBoaWdoZXN0U2NvcmVBY2hpZXZlZEF0LFxuICAgIGxhdGVzdFNjb3JlLFxuICAgIGxhdGVzdFNjb3JlQWNoaWV2ZWRBdCxcbiAgICBsZXZlbCxcbiAgICBvdXRjb21lLFxuICAgIHBhcmVudExPcyxcbiAgICBwZXJjZW50Q29tcGxldGUsXG4gICAgc2tpbGxzLFxuICB9LFxuICBza2lsbFRhZ09uQ2xpY2ssXG4gIG9uQ2xvc2UsXG59KSA9PiB7XG4gIGNvbnN0IHBlcmNlbnRDb21wbGV0ZVBlcmNlbnRhZ2UgPVxuICAgIHBlcmNlbnRDb21wbGV0ZSAhPSBudWxsID8gcGVyY2VudENvbXBsZXRlIDogMDtcbiAgY29uc3QgbGV2ZWxMYWJlbCA9IGxlYXJuaW5nT3V0Y29tZUxhYmVsc1tsZXZlbF07XG5cbiAgY29uc3QgaGFzTG93TGF0ZXN0QXNzZXNzbWVudCA9IEJvb2xlYW4oXG4gICAgbGF0ZXN0U2NvcmUgIT0gbnVsbCAmJiBsYXRlc3RTY29yZSA8IDcwXG4gICk7XG5cbiAgY29uc3Qgc2hvd1NraWxscyA9ICEhc2tpbGxzPy5sZW5ndGg7XG4gIGNvbnN0IHNvcnRlZFNraWxscyA9IHNvcnRTa2lsbHNCeUNsYXNzaWZpY2F0aW9uKHNraWxscyk7XG5cbiAgY29uc3Qgc2hvd1BhcmVudExPcyA9XG4gICAgbGV2ZWwgPT09IExlYXJuaW5nT3V0Y29tZUxldmVscy5Ud28gJiYgISFwYXJlbnRMT3MgJiYgcGFyZW50TE9zLmxlbmd0aCA+IDA7XG5cbiAgY29uc3QgcmVuZGVyUHJvZ3Jlc3MgPSAoKSA9PiAoXG4gICAgPEZsZXhCb3ggYWxpZ25JdGVtcz1cImNlbnRlclwiPlxuICAgICAge0Jvb2xlYW4ocGVyY2VudENvbXBsZXRlUGVyY2VudGFnZSA9PT0gMTAwKSAmJiAoXG4gICAgICAgIDxGbGV4Qm94XG4gICAgICAgICAgd2lkdGg9ezE2fVxuICAgICAgICAgIGhlaWdodD17MTZ9XG4gICAgICAgICAgYm9yZGVyUmFkaXVzPVwibWRcIlxuICAgICAgICAgIGJnPVwicHJpbWFyeVwiXG4gICAgICAgICAgbXI9ezh9XG4gICAgICAgICAgYWxpZ25JdGVtcz1cImNlbnRlclwiXG4gICAgICAgICAganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIlxuICAgICAgICA+XG4gICAgICAgICAgPFNtYWxsQ2hlY2tJY29uIHNpemU9ezExfSBjb2xvcj1cIndoaXRlXCIgLz5cbiAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgKX1cbiAgICAgIDxUZXh0XG4gICAgICAgIGNvbG9yPVwidGV4dFwiXG4gICAgICAgIHZhcmlhbnQ9XCJwLWxhcmdlXCJcbiAgICAgID57YCR7cGVyY2VudENvbXBsZXRlUGVyY2VudGFnZX0lIHByb2dyZXNzYH08L1RleHQ+XG4gICAgPC9GbGV4Qm94PlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPEZseW91dFxuICAgICAgYXJpYS1sYWJlbD17YCR7bGV2ZWxMYWJlbH0gZGV0YWlsc2B9XG4gICAgICBjbG9zZUxhYmVsPXtgQ2xvc2UgJHtsZXZlbExhYmVsfSBkZXRhaWxzYH1cbiAgICAgIGV4cGFuZGVkPXtleHBhbmRlZH1cbiAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICBvcGVuRnJvbT1cInJpZ2h0XCJcbiAgICAgIHRpdGxlPXs8VGV4dCB2YXJpYW50PVwidGl0bGUtc21cIj57YCR7bGV2ZWxMYWJlbH0gZGV0YWlsc2B9PC9UZXh0Pn1cbiAgICA+XG4gICAgICA8RmxleEJveCBnYXA9ezMyfSBtdD17MzJ9IG14PXsyNH0gY29sdW1uPlxuICAgICAgICB7LyogQmFkZ2VzLCBPdXRjb21lLCBUb3BpYyB0YWdzLCBQcm9ncmVzcyAqL31cbiAgICAgICAgPEZsZXhCb3ggZ2FwPXsyNH0gY29sdW1uPlxuICAgICAgICAgIDxGbGV4Qm94IGp1c3RpZnlDb250ZW50PVwic3BhY2UtYmV0d2VlblwiIGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgIDxMZWFybmluZ091dGNvbWVMZXZlbEJhZGdlIGxldmVsPXtsZXZlbH0gc2l6ZT1cImJhc2VcIiAvPlxuICAgICAgICAgICAge2hhc0xvd0xhdGVzdEFzc2Vzc21lbnQgJiYgPExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSAvPn1cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICAgPEZsZXhCb3ggZ2FwPXsxNn0gY29sdW1uPlxuICAgICAgICAgICAgPFN0eWxlZEFuY2hvclxuICAgICAgICAgICAgICBocmVmPXtsZWFybmluZ091dGNvbWVIcmVmfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBsZWFybmluZ091dGNvbWVPbkNsaWNrPy4oKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge291dGNvbWV9XG4gICAgICAgICAgICA8L1N0eWxlZEFuY2hvcj5cbiAgICAgICAgICAgIHtzaG93U2tpbGxzICYmIChcbiAgICAgICAgICAgICAgPEZsZXhCb3ggYWxpZ25JdGVtcz1cImNlbnRlclwiIGdhcD17MTJ9IGZsZXhXcmFwPVwid3JhcFwiPlxuICAgICAgICAgICAgICAgIHtzb3J0ZWRTa2lsbHMubWFwKChza2lsbCkgPT4gKFxuICAgICAgICAgICAgICAgICAgPFNraWxsVGFnXG4gICAgICAgICAgICAgICAgICAgIGtleT17c2tpbGwuaWR9XG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2tpbGwtdGFnXCJcbiAgICAgICAgICAgICAgICAgICAgcHg9ezh9XG4gICAgICAgICAgICAgICAgICAgIHB5PXs0fVxuICAgICAgICAgICAgICAgICAgICB2YXJpYW50PVwiaW50ZXJmYWNlXCJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj17Z2V0U2tpbGxzQXJlYVBhdGgoc2tpbGwuc2x1Zyl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNraWxsVGFnT25DbGljaz8uKHNraWxsLnNsdWcpfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RmxleEJveCBjZW50ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFRleHQ+e3NraWxsLnRpdGxlfTwvVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgICAgICAgPC9Ta2lsbFRhZz5cbiAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICAgPEZsZXhCb3ggYm9yZGVyWT17MX0gYm9yZGVyQ29sb3I9XCJiYWNrZ3JvdW5kLWhvdmVyXCIgcHk9ezE2fT5cbiAgICAgICAgICAgIHtyZW5kZXJQcm9ncmVzcygpfVxuICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgPC9GbGV4Qm94PlxuXG4gICAgICAgIHsvKiBBc3Nlc3NtZW50IHNjb3JlcyAqL31cbiAgICAgICAgPEZsZXhCb3ggZ2FwPXsxNn0gY29sdW1uPlxuICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS14c1wiPkV2YWx1YXRpb24gcmVzdWx0czwvVGV4dD5cbiAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lQXNzZXNzbWVudFNjb3Jlc1xuICAgICAgICAgICAgaGlnaGVzdFNjb3JlPXtoaWdoZXN0U2NvcmV9XG4gICAgICAgICAgICBoaWdoZXN0U2NvcmVBY2hpZXZlZEF0PXtoaWdoZXN0U2NvcmVBY2hpZXZlZEF0fVxuICAgICAgICAgICAgbGF0ZXN0U2NvcmU9e2xhdGVzdFNjb3JlfVxuICAgICAgICAgICAgbGF0ZXN0U2NvcmVBY2hpZXZlZEF0PXtsYXRlc3RTY29yZUFjaGlldmVkQXR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GbGV4Qm94PlxuXG4gICAgICAgIHsvKiBGb3IgbGV2ZWwgMiBhbmQgMyBMT3Mgb25seTogQ2hpbGRyZW4gTE9zIGdvZXMgYmVsb3cgaGVyZSAqL31cblxuICAgICAgICB7LyogRm9yIGxldmVsIDIgTE9zIG9ubHk6IHNob3cgUGFyZW50IExPcyAqL31cbiAgICAgICAge3Nob3dQYXJlbnRMT3MgJiYgKFxuICAgICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IG1iPXsxNn0gY29sdW1uPlxuICAgICAgICAgICAgPFRleHQgdmFyaWFudD1cInRpdGxlLXhzXCI+QnVpbGRzIHRvd2FyZC4uLjwvVGV4dD5cbiAgICAgICAgICAgIDxMZWFybmluZ091dGNvbWVDYXJkTGlzdCBsZWFybmluZ091dGNvbWVzPXtwYXJlbnRMT3N9IC8+XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICApfVxuICAgICAgPC9GbGV4Qm94PlxuICAgIDwvRmx5b3V0PlxuICApO1xufTtcbiJdfQ== */");
35
- export let SkillClassification = /*#__PURE__*/function (SkillClassification) {
36
- SkillClassification["Language"] = "language";
37
- SkillClassification["Subject"] = "subject";
38
- return SkillClassification;
39
- }({});
59
+ }), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9MZWFybmluZ091dGNvbWVGbHlvdXQvaW5kZXgudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFEaUIiLCJmaWxlIjoiLi4vLi4vc3JjL0xlYXJuaW5nT3V0Y29tZUZseW91dC9pbmRleC50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbmNob3IsIEZsZXhCb3gsIEZseW91dCwgVGV4dCB9IGZyb20gJ0Bjb2RlY2FkZW15L2dhbXV0JztcbmltcG9ydCB7IFNtYWxsQ2hlY2tJY29uIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtaWNvbnMnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGNvZGVjYWRlbXkvZ2FtdXQtc3R5bGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuaW1wb3J0IHsgTGVhcm5pbmdPdXRjb21lQXNzZXNzbWVudFNjb3JlcyB9IGZyb20gJy4uL0xlYXJuaW5nT3V0Y29tZUFzc2Vzc21lbnRTY29yZXMnO1xuaW1wb3J0IHtcbiAgbGVhcm5pbmdPdXRjb21lTGFiZWxzLFxuICBMZWFybmluZ091dGNvbWVMZXZlbEJhZGdlLFxuICBMZWFybmluZ091dGNvbWVMZXZlbHMsXG4gIExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSxcbn0gZnJvbSAnLi4vTGVhcm5pbmdPdXRjb21lQmFkZ2VzJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZVRpbGUgfSBmcm9tICcuLi9MZWFybmluZ091dGNvbWVUaWxlJztcbmltcG9ydCB7IExlYXJuaW5nT3V0Y29tZUNhcmRMaXN0IH0gZnJvbSAnLi9MZWFybmluZ091dGNvbWVDYXJkTGlzdCc7XG5pbXBvcnQgeyBMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcywgTGVhcm5pbmdPdXRjb21lU2tpbGwgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgQ2hpbGRMZWFybmluZ091dGNvbWVSb3cgPSBzdHlsZWQoRmxleEJveCkoXG4gIGNzcyh7XG4gICAgYmFja2dyb3VuZDogJ3doaXRlJyxcbiAgICBib3JkZXJDb2xvcjogJ2JvcmRlci10ZXJ0aWFyeScsXG4gICAgYm9yZGVyVG9wV2lkdGg6IDAsXG4gICAgYm9yZGVyTGVmdFdpZHRoOiAxLFxuICAgIGJvcmRlclJpZ2h0V2lkdGg6IDEsXG4gICAgYm9yZGVyQm90dG9tV2lkdGg6IDEsXG4gICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgcGFkZGluZzogJzI0cHggMTZweCcsXG4gICAgYWxpZ25JdGVtczogJ2ZsZXgtc3RhcnQnLFxuICAgIGp1c3RpZnlDb250ZW50OiAnZmxleC1zdGFydCcsXG4gICAgZ2FwOiAxNixcbiAgICAnJjpmaXJzdC1vZi10eXBlJzoge1xuICAgICAgYm9yZGVyVG9wTGVmdFJhZGl1czogJzRweCcsXG4gICAgICBib3JkZXJUb3BSaWdodFJhZGl1czogJzRweCcsXG4gICAgfSxcbiAgICAnJjpsYXN0LW9mLXR5cGUnOiB7XG4gICAgICBib3JkZXJCb3R0b21MZWZ0UmFkaXVzOiAnNHB4JyxcbiAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAnNHB4JyxcbiAgICB9LFxuICB9KVxuKTtcblxuY29uc3QgU3R5bGVkQW5jaG9yID0gc3R5bGVkKEFuY2hvcikoXG4gIGNzcyh7XG4gICAgY29sb3I6ICd0ZXh0JyxcbiAgICBmb250U2l6ZTogMjYsXG4gICAgZm9udFdlaWdodDogNzAwLFxuICAgIHRleHREZWNvcmF0aW9uOiAnbm9uZScsXG4gICAgJyY6aG92ZXIsICY6Zm9jdXMnOiB7XG4gICAgICBjb2xvcjogJ3RleHQnLFxuICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnLFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTa2lsbFRhZyA9IHN0eWxlZChBbmNob3IpKFxuICBjc3Moe1xuICAgIGZvbnRTaXplOiAxNCxcbiAgICBib3JkZXJSYWRpdXM6ICdtZCcsXG4gICAgYm9yZGVyOiAxLFxuICAgIGJvcmRlckNvbG9yOiAnYm9yZGVyLXByaW1hcnknLFxuICAgICcmOmhvdmVyLCAmOmZvY3VzJzoge1xuICAgICAgY29sb3I6ICd0ZXh0JyxcbiAgICAgIGJnOiAnYmFja2dyb3VuZC1ob3ZlcicsXG4gICAgfSxcbiAgfSlcbik7XG5cbmV4cG9ydCBjb25zdCBzb3J0U2tpbGxzQnlDbGFzc2lmaWNhdGlvbiA9IChcbiAgc2tpbGxzPzogTGVhcm5pbmdPdXRjb21lU2tpbGxbXSB8IG51bGxcbikgPT4ge1xuICBpZiAoIXNraWxscz8ubGVuZ3RoKSByZXR1cm4gW107XG4gIGNvbnN0IHNraWxsc0NvcHkgPSBza2lsbHMuc2xpY2UoKTtcblxuICBjb25zdCBzb3J0ZWRTa2lsbHMgPSBza2lsbHNDb3B5Py5zb3J0KChhLCBiKSA9PiB7XG4gICAgaWYgKGE/LmNsYXNzaWZpY2F0aW9uID09PSAnbGFuZ3VhZ2UnKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmIChiPy5jbGFzc2lmaWNhdGlvbiA9PT0gJ3N1YmplY3QnKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgcmV0dXJuIDA7XG4gIH0pO1xuXG4gIHJldHVybiBzb3J0ZWRTa2lsbHM7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGVhcm5pbmdPdXRjb21lUGF0aCA9IChpZD86IHN0cmluZykgPT4ge1xuICByZXR1cm4gaWQgPyBgL2xlYXJuaW5nLW91dGNvbWVzLyR7aWR9YCA6ICcvJztcbn07XG5cbmNvbnN0IGdldFNraWxsc0FyZWFQYXRoID0gKHNraWxsU2x1Zz86IHN0cmluZykgPT4ge1xuICByZXR1cm4gc2tpbGxTbHVnID8gYC9za2lsbC1hcmVhcy8ke3NraWxsU2x1Z31gIDogJy8nO1xufTtcblxuZXhwb3J0IGNvbnN0IG1pc2NUcmFja2luZ0RhdGEgPSAoXG4gIGxldmVsPzogTGVhcm5pbmdPdXRjb21lTGV2ZWxzIHwgbnVsbCxcbiAgaWQ/OiBzdHJpbmcsXG4gIGxhdGVzdFNjb3JlPzogbnVtYmVyIHwgbnVsbCxcbiAgb3V0Y29tZT86IHN0cmluZ1xuKSA9PiB7XG4gIHJldHVybiB7XG4gICAgbWlzYzogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgbGFzdF9hc3Nlc3NlZF9zY29yZTogbGF0ZXN0U2NvcmUsXG4gICAgICBMT19sZXZlbDogbGV2ZWwsXG4gICAgICB0aXRsZTogb3V0Y29tZSxcbiAgICAgIHVuaXF1ZV9pZDogaWQsXG4gICAgfSksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgTGVhcm5pbmdPdXRjb21lRmx5b3V0OiBSZWFjdC5GQzxMZWFybmluZ091dGNvbWVGbHlvdXRQcm9wcz4gPSAoe1xuICBleHBhbmRlZCxcbiAgbGVhcm5pbmdPdXRjb21lSHJlZixcbiAgbGVhcm5pbmdPdXRjb21lT25DbGljayxcbiAgY2hpbGRMZWFybmluZ091dGNvbWVPbkNsaWNrLFxuICBwYXJlbnRMZWFybmluZ091dGNvbWVPbkNsaWNrLFxuICBsZWFybmluZ091dGNvbWU6IHtcbiAgICBoaWdoZXN0U2NvcmUsXG4gICAgaGlnaGVzdFNjb3JlQWNoaWV2ZWRBdCxcbiAgICBsYXRlc3RTY29yZSxcbiAgICBsYXRlc3RTY29yZUFjaGlldmVkQXQsXG4gICAgbGV2ZWwsXG4gICAgb3V0Y29tZSxcbiAgICBwYXJlbnRMT3MsXG4gICAgcGVyY2VudENvbXBsZXRlLFxuICAgIHNraWxscyxcbiAgICBjaGlsZExlYXJuaW5nT3V0Y29tZXMsXG4gIH0sXG4gIHNraWxsVGFnT25DbGljayxcbiAgb25DbG9zZSxcbn0pID0+IHtcbiAgY29uc3QgcGVyY2VudENvbXBsZXRlUGVyY2VudGFnZSA9XG4gICAgcGVyY2VudENvbXBsZXRlICE9IG51bGwgPyBwZXJjZW50Q29tcGxldGUgOiAwO1xuICBjb25zdCBsZXZlbExhYmVsID0gbGVhcm5pbmdPdXRjb21lTGFiZWxzW2xldmVsXTtcblxuICBjb25zdCBoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ID0gQm9vbGVhbihcbiAgICBsYXRlc3RTY29yZSAhPSBudWxsICYmIGxhdGVzdFNjb3JlIDwgNzBcbiAgKTtcblxuICBjb25zdCBzaG93U2tpbGxzID0gISFza2lsbHM/Lmxlbmd0aDtcbiAgY29uc3Qgc29ydGVkU2tpbGxzID0gc29ydFNraWxsc0J5Q2xhc3NpZmljYXRpb24oc2tpbGxzKTtcblxuICBjb25zdCBpc0xldmVsVHdvTGVhcm5pbmdPdXRjb21lID0gbGV2ZWwgPT09IExlYXJuaW5nT3V0Y29tZUxldmVscy5Ud287XG4gIGNvbnN0IHNob3dQYXJlbnRMT3MgPVxuICAgIGxldmVsID09PSBMZWFybmluZ091dGNvbWVMZXZlbHMuVHdvICYmICEhcGFyZW50TE9zICYmIHBhcmVudExPcy5sZW5ndGggPiAwO1xuXG4gIGNvbnN0IHJlbmRlclByb2dyZXNzID0gKCkgPT4gKFxuICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgIHtCb29sZWFuKHBlcmNlbnRDb21wbGV0ZVBlcmNlbnRhZ2UgPT09IDEwMCkgJiYgKFxuICAgICAgICA8RmxleEJveFxuICAgICAgICAgIHdpZHRoPXsxNn1cbiAgICAgICAgICBoZWlnaHQ9ezE2fVxuICAgICAgICAgIGJvcmRlclJhZGl1cz1cIm1kXCJcbiAgICAgICAgICBiZz1cInByaW1hcnlcIlxuICAgICAgICAgIG1yPXs4fVxuICAgICAgICAgIGFsaWduSXRlbXM9XCJjZW50ZXJcIlxuICAgICAgICAgIGp1c3RpZnlDb250ZW50PVwiY2VudGVyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxTbWFsbENoZWNrSWNvbiBzaXplPXsxMX0gY29sb3I9XCJ3aGl0ZVwiIC8+XG4gICAgICAgIDwvRmxleEJveD5cbiAgICAgICl9XG4gICAgICA8VGV4dFxuICAgICAgICBjb2xvcj1cInRleHRcIlxuICAgICAgICB2YXJpYW50PVwicC1sYXJnZVwiXG4gICAgICA+e2Ake3BlcmNlbnRDb21wbGV0ZVBlcmNlbnRhZ2V9JSBwcm9ncmVzc2B9PC9UZXh0PlxuICAgIDwvRmxleEJveD5cbiAgKTtcblxuICBjb25zdCByZW5kZXJTa2lsbHMgPSAoKSA9PiB7XG4gICAgLy8gUmVuZGVyIHNraWxscyB3aGVuIHRoZSBkcmF3ZXIgaXMgZmVhdHVyaW5nIGEgbGV2ZWwgMyBvdXRjb21lXG4gICAgcmV0dXJuIDxGbGV4Qm94IGFzPVwidWxcIj5Ta2lsbHMgZ28gaGVyZTwvRmxleEJveD47XG4gIH07XG5cbiAgLy8gUmVuZGVyIHN1YnNraWxscyB3aGVuIHRoZSBkcmF3ZXIgaXMgZmVhdHVyaW5nIGEgbGV2ZWwgMiBvdXRjb21lXG4gIGNvbnN0IHJlbmRlclN1YnNraWxscyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPEZsZXhCb3hcbiAgICAgICAgYXM9XCJ1bFwiXG4gICAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICBwPXswfVxuICAgICAgICBib3JkZXJUb3A9ezF9XG4gICAgICAgIGJvcmRlckNvbG9yPVwiYm9yZGVyLXRlcnRpYXJ5XCJcbiAgICAgICAgYm9yZGVyUmFkaXVzPVwibWRcIlxuICAgICAgPlxuICAgICAgICB7Y2hpbGRMZWFybmluZ091dGNvbWVzPy5tYXAoKGNoaWxkTG8pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGlkLCBvdXRjb21lLCBwcm9ncmVzcywgcGVyY2VudENvbXBsZXRlIH0gPSBjaGlsZExvO1xuICAgICAgICAgIGNvbnN0IHNob3dOZWVkc1Jldmlld0luZGljYXRvciA9XG4gICAgICAgICAgICBwcm9ncmVzcz8ubGF0ZXN0U2NvcmUgIT09IG51bGwgJiZcbiAgICAgICAgICAgIHByb2dyZXNzPy5sYXRlc3RTY29yZSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8gcHJvZ3Jlc3MubGF0ZXN0U2NvcmUgPCA3MFxuICAgICAgICAgICAgICA6IGZhbHNlO1xuXG4gICAgICAgICAgY29uc3QgdHJhY2tpbmdEYXRhID0gbWlzY1RyYWNraW5nRGF0YShcbiAgICAgICAgICAgIExlYXJuaW5nT3V0Y29tZUxldmVscy5PbmUsXG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIHByb2dyZXNzPy5sYXRlc3RTY29yZSxcbiAgICAgICAgICAgIG91dGNvbWVcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxDaGlsZExlYXJuaW5nT3V0Y29tZVJvdyByb3cgYXM9XCJsaVwiIGtleT17aWR9PlxuICAgICAgICAgICAgICA8RmxleEJveCBtaW5XaWR0aD17MzJ9IHdpZHRoPXszMn0ganVzdGlmeUNvbnRlbnQ9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lVGlsZVxuICAgICAgICAgICAgICAgICAgbGVhcm5pbmdPdXRjb21lRGV0YWlscz17e1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgbGV2ZWw6IExlYXJuaW5nT3V0Y29tZUxldmVscy5PbmUsXG4gICAgICAgICAgICAgICAgICAgIG91dGNvbWUsXG4gICAgICAgICAgICAgICAgICAgIHBlcmNlbnRDb21wbGV0ZSwgLy8gbm90IGN1cnJlbnRseSBnZXR0aW5nIHRoaXMgZnJvbSB0aGUgQVBJXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgICAgICAgIHBvcG92ZXI9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICAgPEZsZXhCb3ggY29sdW1uIGdhcD17OH0+XG4gICAgICAgICAgICAgICAgPEFuY2hvclxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICAgICAgICBocmVmPXtnZXRMZWFybmluZ091dGNvbWVQYXRoKGlkKX1cbiAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlPVwibm9ybWFsXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNoaWxkTGVhcm5pbmdPdXRjb21lT25DbGljaz8uKHRyYWNraW5nRGF0YSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge291dGNvbWV9XG4gICAgICAgICAgICAgICAgPC9BbmNob3I+XG4gICAgICAgICAgICAgICAge3Nob3dOZWVkc1Jldmlld0luZGljYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgICA8RmxleEJveD5cbiAgICAgICAgICAgICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUxvd0Fzc2Vzc21lbnRCYWRnZSAvPlxuICAgICAgICAgICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgIDwvQ2hpbGRMZWFybmluZ091dGNvbWVSb3c+XG4gICAgICAgICAgKTtcbiAgICAgICAgfSl9XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGbHlvdXRcbiAgICAgIGFyaWEtbGFiZWw9e2Ake2xldmVsTGFiZWx9IGRldGFpbHNgfVxuICAgICAgY2xvc2VMYWJlbD17YENsb3NlICR7bGV2ZWxMYWJlbH0gZGV0YWlsc2B9XG4gICAgICBleHBhbmRlZD17ZXhwYW5kZWR9XG4gICAgICBvbkNsb3NlPXtvbkNsb3NlfVxuICAgICAgb3BlbkZyb209XCJyaWdodFwiXG4gICAgICB0aXRsZT17PFRleHQgdmFyaWFudD1cInRpdGxlLXNtXCI+e2Ake2xldmVsTGFiZWx9IGRldGFpbHNgfTwvVGV4dD59XG4gICAgPlxuICAgICAgPEZsZXhCb3ggZ2FwPXszMn0gbXQ9ezMyfSBteD17MjR9IGNvbHVtbj5cbiAgICAgICAgey8qIEJhZGdlcywgT3V0Y29tZSwgVG9waWMgdGFncywgUHJvZ3Jlc3MgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MjR9IGNvbHVtbj5cbiAgICAgICAgICA8RmxleEJveCBqdXN0aWZ5Q29udGVudD1cInNwYWNlLWJldHdlZW5cIiBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lTGV2ZWxCYWRnZSBsZXZlbD17bGV2ZWx9IHNpemU9XCJiYXNlXCIgLz5cbiAgICAgICAgICAgIHtoYXNMb3dMYXRlc3RBc3Nlc3NtZW50ICYmIDxMZWFybmluZ091dGNvbWVMb3dBc3Nlc3NtZW50QmFkZ2UgLz59XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICAgIDxTdHlsZWRBbmNob3JcbiAgICAgICAgICAgICAgaHJlZj17bGVhcm5pbmdPdXRjb21lSHJlZn1cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gbGVhcm5pbmdPdXRjb21lT25DbGljaz8uKCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtvdXRjb21lfVxuICAgICAgICAgICAgPC9TdHlsZWRBbmNob3I+XG4gICAgICAgICAgICB7c2hvd1NraWxscyAmJiAoXG4gICAgICAgICAgICAgIDxGbGV4Qm94IGFsaWduSXRlbXM9XCJjZW50ZXJcIiBnYXA9ezEyfSBmbGV4V3JhcD1cIndyYXBcIj5cbiAgICAgICAgICAgICAgICB7c29ydGVkU2tpbGxzLm1hcCgoc2tpbGwpID0+IChcbiAgICAgICAgICAgICAgICAgIDxTa2lsbFRhZ1xuICAgICAgICAgICAgICAgICAgICBrZXk9e3NraWxsLmlkfVxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cInNraWxsLXRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIHB4PXs4fVxuICAgICAgICAgICAgICAgICAgICBweT17NH1cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cImludGVyZmFjZVwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9e2dldFNraWxsc0FyZWFQYXRoKHNraWxsLnNsdWcpfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBza2lsbFRhZ09uQ2xpY2s/Lihza2lsbC5zbHVnKX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEZsZXhCb3ggY2VudGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxUZXh0Pntza2lsbC50aXRsZX08L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICAgICAgIDwvU2tpbGxUYWc+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvRmxleEJveD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9GbGV4Qm94PlxuICAgICAgICAgIDxGbGV4Qm94IGJvcmRlclk9ezF9IGJvcmRlckNvbG9yPVwiYmFja2dyb3VuZC1ob3ZlclwiIHB5PXsxNn0+XG4gICAgICAgICAgICB7cmVuZGVyUHJvZ3Jlc3MoKX1cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogQXNzZXNzbWVudCBzY29yZXMgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwidGl0bGUteHNcIj5FdmFsdWF0aW9uIHJlc3VsdHM8L1RleHQ+XG4gICAgICAgICAgPExlYXJuaW5nT3V0Y29tZUFzc2Vzc21lbnRTY29yZXNcbiAgICAgICAgICAgIGhpZ2hlc3RTY29yZT17aGlnaGVzdFNjb3JlfVxuICAgICAgICAgICAgaGlnaGVzdFNjb3JlQWNoaWV2ZWRBdD17aGlnaGVzdFNjb3JlQWNoaWV2ZWRBdH1cbiAgICAgICAgICAgIGxhdGVzdFNjb3JlPXtsYXRlc3RTY29yZX1cbiAgICAgICAgICAgIGxhdGVzdFNjb3JlQWNoaWV2ZWRBdD17bGF0ZXN0U2NvcmVBY2hpZXZlZEF0fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRmxleEJveD5cblxuICAgICAgICB7LyogRm9yIGxldmVsIDIgYW5kIDMgTE9zIG9ubHk6IENoaWxkcmVuIExPcyBnb2VzIGJlbG93IGhlcmUgKi99XG4gICAgICAgIDxGbGV4Qm94IGdhcD17MTZ9IGNvbHVtbj5cbiAgICAgICAgICA8VGV4dCB2YXJpYW50PVwidGl0bGUteHNcIj5cbiAgICAgICAgICAgIHtpc0xldmVsVHdvTGVhcm5pbmdPdXRjb21lID8gYFN1YnNraWxsc2AgOiBgU2tpbGxzYH1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAge2lzTGV2ZWxUd29MZWFybmluZ091dGNvbWUgPyByZW5kZXJTdWJza2lsbHMoKSA6IHJlbmRlclNraWxscygpfVxuICAgICAgICA8L0ZsZXhCb3g+XG5cbiAgICAgICAgey8qIEZvciBsZXZlbCAyIExPcyBvbmx5OiBzaG93IFBhcmVudCBMT3MgKi99XG4gICAgICAgIHtzaG93UGFyZW50TE9zICYmIChcbiAgICAgICAgICA8RmxleEJveCBnYXA9ezE2fSBtYj17MTZ9IGNvbHVtbj5cbiAgICAgICAgICAgIDxUZXh0IHZhcmlhbnQ9XCJ0aXRsZS14c1wiPkJ1aWxkcyB0b3dhcmQuLi48L1RleHQ+XG4gICAgICAgICAgICA8TGVhcm5pbmdPdXRjb21lQ2FyZExpc3RcbiAgICAgICAgICAgICAgbGVhcm5pbmdPdXRjb21lcz17cGFyZW50TE9zfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtwYXJlbnRMZWFybmluZ091dGNvbWVPbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0ZsZXhCb3g+XG4gICAgICAgICl9XG4gICAgICA8L0ZsZXhCb3g+XG4gICAgPC9GbHlvdXQ+XG4gICk7XG59O1xuIl19 */");
40
60
  export const sortSkillsByClassification = skills => {
41
61
  if (!skills?.length) return [];
42
62
  const skillsCopy = skills.slice();
@@ -51,13 +71,28 @@ export const sortSkillsByClassification = skills => {
51
71
  });
52
72
  return sortedSkills;
53
73
  };
74
+ export const getLearningOutcomePath = id => {
75
+ return id ? `/learning-outcomes/${id}` : '/';
76
+ };
54
77
  const getSkillsAreaPath = skillSlug => {
55
78
  return skillSlug ? `/skill-areas/${skillSlug}` : '/';
56
79
  };
80
+ export const miscTrackingData = (level, id, latestScore, outcome) => {
81
+ return {
82
+ misc: JSON.stringify({
83
+ last_assessed_score: latestScore,
84
+ LO_level: level,
85
+ title: outcome,
86
+ unique_id: id
87
+ })
88
+ };
89
+ };
57
90
  export const LearningOutcomeFlyout = ({
58
91
  expanded,
59
92
  learningOutcomeHref,
60
93
  learningOutcomeOnClick,
94
+ childLearningOutcomeOnClick,
95
+ parentLearningOutcomeOnClick,
61
96
  learningOutcome: {
62
97
  highestScore,
63
98
  highestScoreAchievedAt,
@@ -67,7 +102,8 @@ export const LearningOutcomeFlyout = ({
67
102
  outcome,
68
103
  parentLOs,
69
104
  percentComplete,
70
- skills
105
+ skills,
106
+ childLearningOutcomes
71
107
  },
72
108
  skillTagOnClick,
73
109
  onClose
@@ -77,6 +113,7 @@ export const LearningOutcomeFlyout = ({
77
113
  const hasLowLatestAssessment = Boolean(latestScore != null && latestScore < 70);
78
114
  const showSkills = !!skills?.length;
79
115
  const sortedSkills = sortSkillsByClassification(skills);
116
+ const isLevelTwoLearningOutcome = level === LearningOutcomeLevels.Two;
80
117
  const showParentLOs = level === LearningOutcomeLevels.Two && !!parentLOs && parentLOs.length > 0;
81
118
  const renderProgress = () => /*#__PURE__*/_jsxs(FlexBox, {
82
119
  alignItems: "center",
@@ -98,6 +135,67 @@ export const LearningOutcomeFlyout = ({
98
135
  children: `${percentCompletePercentage}% progress`
99
136
  })]
100
137
  });
138
+ const renderSkills = () => {
139
+ // Render skills when the drawer is featuring a level 3 outcome
140
+ return /*#__PURE__*/_jsx(FlexBox, {
141
+ as: "ul",
142
+ children: "Skills go here"
143
+ });
144
+ };
145
+
146
+ // Render subskills when the drawer is featuring a level 2 outcome
147
+ const renderSubskills = () => {
148
+ return /*#__PURE__*/_jsx(FlexBox, {
149
+ as: "ul",
150
+ flexDirection: "column",
151
+ p: 0,
152
+ borderTop: 1,
153
+ borderColor: "border-tertiary",
154
+ borderRadius: "md",
155
+ children: childLearningOutcomes?.map(childLo => {
156
+ const {
157
+ id,
158
+ outcome,
159
+ progress,
160
+ percentComplete
161
+ } = childLo;
162
+ const showNeedsReviewIndicator = progress?.latestScore !== null && progress?.latestScore !== undefined ? progress.latestScore < 70 : false;
163
+ const trackingData = miscTrackingData(LearningOutcomeLevels.One, id, progress?.latestScore, outcome);
164
+ return /*#__PURE__*/_jsxs(ChildLearningOutcomeRow, {
165
+ row: true,
166
+ as: "li",
167
+ children: [/*#__PURE__*/_jsx(FlexBox, {
168
+ minWidth: 32,
169
+ width: 32,
170
+ justifyContent: "center",
171
+ children: /*#__PURE__*/_jsx(LearningOutcomeTile, {
172
+ learningOutcomeDetails: {
173
+ id,
174
+ level: LearningOutcomeLevels.One,
175
+ outcome,
176
+ percentComplete // not currently getting this from the API
177
+ },
178
+ size: "small",
179
+ popover: false
180
+ })
181
+ }), /*#__PURE__*/_jsxs(FlexBox, {
182
+ column: true,
183
+ gap: 8,
184
+ children: [/*#__PURE__*/_jsx(Anchor, {
185
+ variant: "interface",
186
+ href: getLearningOutcomePath(id),
187
+ target: "_blank",
188
+ whiteSpace: "normal",
189
+ onClick: () => childLearningOutcomeOnClick?.(trackingData),
190
+ children: outcome
191
+ }), showNeedsReviewIndicator && /*#__PURE__*/_jsx(FlexBox, {
192
+ children: /*#__PURE__*/_jsx(LearningOutcomeLowAssessmentBadge, {})
193
+ })]
194
+ })]
195
+ }, id);
196
+ })
197
+ });
198
+ };
101
199
  return /*#__PURE__*/_jsx(Flyout, {
102
200
  "aria-label": `${levelLabel} details`,
103
201
  closeLabel: `Close ${levelLabel} details`,
@@ -167,6 +265,13 @@ export const LearningOutcomeFlyout = ({
167
265
  latestScore: latestScore,
168
266
  latestScoreAchievedAt: latestScoreAchievedAt
169
267
  })]
268
+ }), /*#__PURE__*/_jsxs(FlexBox, {
269
+ gap: 16,
270
+ column: true,
271
+ children: [/*#__PURE__*/_jsx(Text, {
272
+ variant: "title-xs",
273
+ children: isLevelTwoLearningOutcome ? `Subskills` : `Skills`
274
+ }), isLevelTwoLearningOutcome ? renderSubskills() : renderSkills()]
170
275
  }), showParentLOs && /*#__PURE__*/_jsxs(FlexBox, {
171
276
  gap: 16,
172
277
  mb: 16,
@@ -175,7 +280,8 @@ export const LearningOutcomeFlyout = ({
175
280
  variant: "title-xs",
176
281
  children: "Builds toward..."
177
282
  }), /*#__PURE__*/_jsx(LearningOutcomeCardList, {
178
- learningOutcomes: parentLOs
283
+ learningOutcomes: parentLOs,
284
+ onClick: parentLearningOutcomeOnClick
179
285
  })]
180
286
  })]
181
287
  })
@@ -0,0 +1,49 @@
1
+ import { LearningOutcomeLevels } from '../LearningOutcomeBadges';
2
+ export declare enum SkillClassification {
3
+ Language = "language",
4
+ Subject = "subject"
5
+ }
6
+ export interface LearningOutcomeSkill {
7
+ id: string;
8
+ slug: string;
9
+ title?: string | null;
10
+ classification?: SkillClassification | null;
11
+ }
12
+ export interface ParentLearningOutcome {
13
+ id: string;
14
+ outcome: string;
15
+ level: number | null | undefined;
16
+ }
17
+ interface LearningOutcomeDetailsProps {
18
+ level: LearningOutcomeLevels;
19
+ outcome: string;
20
+ percentComplete: number | undefined | null;
21
+ highestScore: number | undefined | null;
22
+ highestScoreAchievedAt: string | undefined | null;
23
+ latestScore: number | undefined | null;
24
+ latestScoreAchievedAt: string | undefined | null;
25
+ parentLOs?: ParentLearningOutcome[];
26
+ skills?: LearningOutcomeSkill[] | null;
27
+ childLearningOutcomes?: {
28
+ id: string;
29
+ outcome: string;
30
+ percentComplete?: number | undefined | null;
31
+ progress?: {
32
+ latestScore?: number | null;
33
+ covered: boolean | undefined | null;
34
+ coveredAt?: string | null;
35
+ highestScore?: number | null;
36
+ };
37
+ }[];
38
+ }
39
+ export interface LearningOutcomeFlyoutProps {
40
+ expanded: boolean;
41
+ onClose: () => void;
42
+ learningOutcome: LearningOutcomeDetailsProps;
43
+ learningOutcomeHref: string;
44
+ learningOutcomeOnClick?: () => void;
45
+ skillTagOnClick?: (skillSlug: string) => void;
46
+ childLearningOutcomeOnClick?: (misc: Record<string, string>) => void;
47
+ parentLearningOutcomeOnClick?: (misc: Record<string, string>) => void;
48
+ }
49
+ export {};
@@ -0,0 +1,5 @@
1
+ export let SkillClassification = /*#__PURE__*/function (SkillClassification) {
2
+ SkillClassification["Language"] = "language";
3
+ SkillClassification["Subject"] = "subject";
4
+ return SkillClassification;
5
+ }({});
@@ -46,6 +46,9 @@ declare const logoStyles: import("@codecademy/variance/dist/types/config").Parse
46
46
  readonly gridArea: {
47
47
  readonly property: "gridArea";
48
48
  };
49
+ readonly containerType: {
50
+ readonly property: "containerType";
51
+ };
49
52
  readonly display: {
50
53
  readonly property: "display";
51
54
  };
@@ -227,6 +230,9 @@ declare const composedLogoStyles: import("@codecademy/variance/dist/types/config
227
230
  readonly gridArea: {
228
231
  readonly property: "gridArea";
229
232
  };
233
+ readonly containerType: {
234
+ readonly property: "containerType";
235
+ };
230
236
  readonly display: {
231
237
  readonly property: "display";
232
238
  };
@@ -454,6 +460,7 @@ export declare const StyledSVGWrapper: import("@emotion/styled").StyledComponent
454
460
  gridArea?: import("@codecademy/variance/dist/types/config").Scale<{
455
461
  readonly property: "gridArea";
456
462
  }>;
463
+ containerType?: unknown;
457
464
  display?: import("@codecademy/variance/dist/types/config").Scale<{
458
465
  readonly property: "display";
459
466
  }>;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * A symbol used as the default value for contexts that require a provider. When
3
+ * calling useContext, we can throw an error if we find this symbol rather than
4
+ * a provided value. This is useful in cases where we want to consider null or
5
+ * undefined as valid provided values.
6
+ */
7
+ export declare const NO_PROVIDER: unique symbol;
8
+ export type NoProvider = typeof NO_PROVIDER;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A symbol used as the default value for contexts that require a provider. When
3
+ * calling useContext, we can throw an error if we find this symbol rather than
4
+ * a provided value. This is useful in cases where we want to consider null or
5
+ * undefined as valid provided values.
6
+ */
7
+ export const NO_PROVIDER = Symbol('no provider');
@@ -0,0 +1,26 @@
1
+ import type { ElementsInstance } from '@recurly/recurly-js';
2
+ import { PropsWithChildren } from 'react';
3
+ /**
4
+ * A provider that provides the Elements instance via context.
5
+ *
6
+ * If used outside of a RecurlyProvider, it will throw an error.
7
+ */
8
+ export declare function Elements({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
9
+ /**
10
+ * A hook that returns the Elements instance from context.
11
+ *
12
+ * If used outside of an Elements provider, it will throw an error.
13
+ *
14
+ * Within an Elements provider:
15
+ * - If used on the server, it will return undefined.
16
+ * - If used on the client, it will initially return undefined and then return
17
+ * the provided Elements instance once the Recurly library is loaded.
18
+ *
19
+ * @param options - An object to provide an alternate contextual error message
20
+ * to use if one tries to use this hook outside of an Elements provider.
21
+ *
22
+ * @returns The Elements instance.
23
+ */
24
+ export declare function useElements(options?: {
25
+ noProviderError?: string;
26
+ }): ElementsInstance | undefined;
@@ -0,0 +1,46 @@
1
+ import { createContext, useContext, useMemo } from 'react';
2
+ import { NO_PROVIDER } from '../NoProvider';
3
+ import { useRecurly } from '../recurly';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const ElementCtx = /*#__PURE__*/createContext(NO_PROVIDER);
6
+
7
+ /**
8
+ * A provider that provides the Elements instance via context.
9
+ *
10
+ * If used outside of a RecurlyProvider, it will throw an error.
11
+ */
12
+ export function Elements({
13
+ children
14
+ }) {
15
+ const recurly = useRecurly({
16
+ noProviderError: 'Elements must be used within a RecurlyProvider.'
17
+ });
18
+ const elements = useMemo(() => recurly?.Elements(), [recurly]);
19
+ return /*#__PURE__*/_jsx(ElementCtx.Provider, {
20
+ value: elements,
21
+ children: children
22
+ });
23
+ }
24
+
25
+ /**
26
+ * A hook that returns the Elements instance from context.
27
+ *
28
+ * If used outside of an Elements provider, it will throw an error.
29
+ *
30
+ * Within an Elements provider:
31
+ * - If used on the server, it will return undefined.
32
+ * - If used on the client, it will initially return undefined and then return
33
+ * the provided Elements instance once the Recurly library is loaded.
34
+ *
35
+ * @param options - An object to provide an alternate contextual error message
36
+ * to use if one tries to use this hook outside of an Elements provider.
37
+ *
38
+ * @returns The Elements instance.
39
+ */
40
+ export function useElements(options) {
41
+ const elements = useContext(ElementCtx);
42
+ if (elements === NO_PROVIDER) {
43
+ throw new Error(options?.noProviderError ?? 'useElements must be used within a Elements provider.');
44
+ }
45
+ return elements;
46
+ }
@@ -0,0 +1,2 @@
1
+ export * from './recurly';
2
+ export * from './elements';
@@ -0,0 +1,2 @@
1
+ export * from './recurly';
2
+ export * from './elements';
@@ -0,0 +1,30 @@
1
+ import type { Recurly } from '@recurly/recurly-js';
2
+ import { PropsWithChildren } from 'react';
3
+ import { RecurlyConfig } from './loadRecurly';
4
+ export type RecurlyProviderProps = PropsWithChildren<RecurlyConfig>;
5
+ /**
6
+ * A provider that:
7
+ * - loads the Recurly library
8
+ * - ensures that only a single instance of the library is loaded
9
+ * - configures the library with the provided public key
10
+ * - provides the library instance via context
11
+ */
12
+ export declare function RecurlyProvider({ children, ...config }: RecurlyProviderProps): import("react/jsx-runtime").JSX.Element;
13
+ /**
14
+ * A hook that returns the Recurly instance from context.
15
+ *
16
+ * If used outside of a RecurlyProvider, it will throw an error.
17
+ *
18
+ * Within a RecurlyProvider:
19
+ * - If used on the server, it will return undefined.
20
+ * - If used on the client, it will initially return undefined and then return
21
+ * the provided Recurly instance once it is loaded.
22
+ *
23
+ * @param options - An object to provide an alternate contextual error message
24
+ * to use if one tries to use this hook outside of a RecurlyProvider.
25
+ *
26
+ * @returns The Recurly instance.
27
+ */
28
+ export declare function useRecurly(options?: {
29
+ noProviderError?: string;
30
+ }): Recurly | undefined;
@@ -0,0 +1,50 @@
1
+ import { createContext, useContext, useEffect, useState } from 'react';
2
+ import { NO_PROVIDER } from '../NoProvider';
3
+ import { loadRecurly } from './loadRecurly';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ const RecurlyCtx = /*#__PURE__*/createContext(NO_PROVIDER);
6
+ /**
7
+ * A provider that:
8
+ * - loads the Recurly library
9
+ * - ensures that only a single instance of the library is loaded
10
+ * - configures the library with the provided public key
11
+ * - provides the library instance via context
12
+ */
13
+ export function RecurlyProvider({
14
+ children,
15
+ ...config
16
+ }) {
17
+ const [recurly, setRecurly] = useState(undefined);
18
+ useEffect(() => {
19
+ loadRecurly(config)?.then(setRecurly);
20
+ // Exclude `config` dependency as it should be treated as static.
21
+ // eslint-disable-next-line react-hooks/exhaustive-deps
22
+ }, []);
23
+ return /*#__PURE__*/_jsx(RecurlyCtx.Provider, {
24
+ value: recurly,
25
+ children: children
26
+ });
27
+ }
28
+
29
+ /**
30
+ * A hook that returns the Recurly instance from context.
31
+ *
32
+ * If used outside of a RecurlyProvider, it will throw an error.
33
+ *
34
+ * Within a RecurlyProvider:
35
+ * - If used on the server, it will return undefined.
36
+ * - If used on the client, it will initially return undefined and then return
37
+ * the provided Recurly instance once it is loaded.
38
+ *
39
+ * @param options - An object to provide an alternate contextual error message
40
+ * to use if one tries to use this hook outside of a RecurlyProvider.
41
+ *
42
+ * @returns The Recurly instance.
43
+ */
44
+ export function useRecurly(options) {
45
+ const recurly = useContext(RecurlyCtx);
46
+ if (recurly === NO_PROVIDER) {
47
+ throw new Error(options?.noProviderError ?? 'useRecurly must be used within a RecurlyProvider');
48
+ }
49
+ return recurly;
50
+ }
@@ -0,0 +1,6 @@
1
+ import type { Recurly } from '@recurly/recurly-js';
2
+ export type RecurlyConfig = {
3
+ publicKey: string;
4
+ required: string[];
5
+ };
6
+ export declare function loadRecurly(config: RecurlyConfig): Promise<Recurly> | undefined;
@@ -0,0 +1,22 @@
1
+ import { w } from './w';
2
+ export function loadRecurly(config) {
3
+ if (w && w._recurlyPromise) {
4
+ w._recurlyPromise = new Promise(resolve => {
5
+ const script = w.document.createElement('script');
6
+ script.src = 'https://js.recurly.com/v4/recurly.js';
7
+ script.async = true;
8
+ script.onload = () => {
9
+ const {
10
+ recurly
11
+ } = w;
12
+ if (!recurly) {
13
+ throw new Error('Recurly was not loaded by recurly.js');
14
+ }
15
+ recurly.configure(config);
16
+ resolve(recurly);
17
+ };
18
+ w.document.head.appendChild(script);
19
+ });
20
+ }
21
+ return w?._recurlyPromise;
22
+ }
@@ -0,0 +1,14 @@
1
+ import type { Recurly } from '@recurly/recurly-js';
2
+ type Doc = {
3
+ createElement: Document['createElement'];
4
+ head: {
5
+ appendChild: Document['head']['appendChild'];
6
+ };
7
+ };
8
+ export type W = {
9
+ recurly?: Recurly;
10
+ _recurlyPromise?: Promise<Recurly>;
11
+ document: Doc;
12
+ };
13
+ export declare const w: W | undefined;
14
+ export {};
@@ -0,0 +1,4 @@
1
+ // By importing/exporting w as a window object, we can easily mock it in tests.
2
+
3
+ // Exported for easy mocking
4
+ export const w = typeof window === 'undefined' ? undefined : window;
@@ -0,0 +1,9 @@
1
+ import { InputWrapperProps } from '@codecademy/gamut';
2
+ export type RecurlyFieldProps = InputWrapperProps & {
3
+ label: string;
4
+ };
5
+ /**
6
+ * A wrapper around a Recurly element (or two elements in the case of MM/YY) to
7
+ * add Gamut border styling and a label.
8
+ */
9
+ export declare function RecurlyField({ label, children, ...props }: RecurlyFieldProps): import("react/jsx-runtime").JSX.Element;